Bind the Overcloud ID to the Overcloud Role

Infer the Overcloud ID and bind it to the Overcloud Role during
creation.

Change-Id: Ia9372b0fa583949ce7734a76f714b3f6ebc38141
Closes-Bug: #1278409
This commit is contained in:
Dougal Matthews 2014-02-10 17:53:34 +00:00
parent 2e3f91455a
commit 38c37959ee
2 changed files with 10 additions and 5 deletions

View File

@ -138,6 +138,14 @@ class Overcloud(Base):
# Counts
if self.counts != wtypes.Unset:
db_model.counts = [c.to_db_model() for c in self.counts]
translated = []
for count in self.counts:
translated.append(db_models.OvercloudRoleCount(
num_nodes=count.num_nodes,
overcloud_role_id=count.overcloud_role_id,
overcloud_id=self.id
))
db_model.counts = translated
return db_model

View File

@ -107,13 +107,11 @@ class OvercloudModelTests(unittest.TestCase):
api_models.OvercloudRoleCount(
id=10,
overcloud_role_id=2,
overcloud_id=1,
num_nodes=50,
),
api_models.OvercloudRoleCount(
id=11,
overcloud_role_id=3,
overcloud_id=1,
num_nodes=15,
),
]
@ -148,8 +146,7 @@ class OvercloudModelTests(unittest.TestCase):
for d_count, a_count in zip(db_model.counts, api_model.counts):
self.assertTrue(isinstance(d_count,
db_models.OvercloudRoleCount))
self.assertEqual(d_count.id, a_count.id)
self.assertEqual(d_count.overcloud_role_id,
a_count.overcloud_role_id)
self.assertEqual(d_count.overcloud_id, a_count.overcloud_id)
self.assertEqual(d_count.overcloud_id, api_model.id)
self.assertEqual(d_count.num_nodes, a_count.num_nodes)