Serialize only active configs

DeploymentLCMSerializer should return only active OpenstackConfigs

Change-Id: I2adee9e8a40f4295e807a5ff7a2e060793e55b24
Closes-bug: 1632235
This commit is contained in:
Sergey Abramov 2016-10-31 18:45:37 +03:00 committed by Dmitry Pyzhov
parent ccac8ae8ed
commit 6266d27f15
2 changed files with 38 additions and 2 deletions

View File

@ -682,8 +682,9 @@ class DeploymentLCMSerializer(DeploymentHASerializer90):
def initialize(self, cluster):
super(DeploymentLCMSerializer, self).initialize(cluster)
self._configs = sorted(
objects.OpenstackConfigCollection.filter_by(
None, cluster_id=cluster.id
objects.OpenstackConfigCollection.find_configs_for_nodes(
cluster,
cluster.nodes or [],
),
key=lambda x: self._priorities[x.config_type]
)

View File

@ -755,6 +755,9 @@ class TestDeploymentLCMSerialization90(
self.node = self.env.create_node(
cluster_id=self.cluster_db.id, roles=['compute']
)
self.initialize_serrializer()
def initialize_serrializer(self):
self.serializer = self.create_serializer(self.cluster_db)
@classmethod
@ -822,6 +825,38 @@ class TestDeploymentLCMSerialization90(
[consts.TASK_ROLES.master], serialized['nodes'][1]['roles']
)
def test_inactive_cluster_attributes_in_serialized(self):
objects.OpenstackConfig.create({
"cluster_id": self.cluster_db.id,
"node_id": self.node.id,
"node_role": "ceph-osd",
"configuration": {},
})
objects.OpenstackConfig.disable_by_nodes([self.node])
self.initialize_serrializer()
objects.Cluster.prepare_for_deployment(self.cluster_db)
serialized = self.serializer.serialize(self.cluster_db, [self.node])
release = self.cluster_db.release
release_info = {
'name': release.name,
'version': release.version,
'operating_system': release.operating_system,
}
cluster_info = {
"id": self.cluster_db.id,
"name": self.cluster_db.name,
"fuel_version": self.cluster_db.fuel_version,
"status": self.cluster_db.status,
"mode": self.cluster_db.mode
}
self.assertEqual(cluster_info, serialized['common']['cluster'])
self.assertEqual(release_info, serialized['common']['release'])
self.assertEqual(['compute'], serialized['nodes'][0]['roles'])
self.assertEqual(
[consts.TASK_ROLES.master], serialized['nodes'][1]['roles']
)
@mock.patch.object(
plugins.adapters.PluginAdapterBase, 'repo_files',
mock.MagicMock(return_value=True)