Send the list of all enabled plugins into astute
Hiera plugin extension needs a way to get a list of all enabled plugins in cluster from astute.yaml during the deployment. Change-Id: I819bf8e547ecd8eeabffefda4579c2a3e73d0fcf Closes-Bug: #1528212
This commit is contained in:
parent
fe53afff95
commit
0af2161acd
|
@ -137,6 +137,8 @@ class DeploymentMultinodeSerializer(object):
|
|||
net_common_attrs = net_serializer.get_common_attrs(cluster, attrs)
|
||||
attrs = utils.dict_merge(attrs, net_common_attrs)
|
||||
|
||||
self.inject_list_of_plugins(attrs, cluster)
|
||||
|
||||
return attrs
|
||||
|
||||
def current_release(self, cluster):
|
||||
|
@ -327,6 +329,10 @@ class DeploymentMultinodeSerializer(object):
|
|||
for node in serialized_nodes:
|
||||
node['tasks'] = self.task_graph.deploy_task_serialize(node)
|
||||
|
||||
def inject_list_of_plugins(self, attributes, cluster):
|
||||
plugins = objects.ClusterPlugins.get_enabled(cluster.id)
|
||||
attributes['plugins'] = [p['name'] for p in plugins]
|
||||
|
||||
|
||||
class DeploymentHASerializer(DeploymentMultinodeSerializer):
|
||||
"""Serializer for HA mode."""
|
||||
|
|
|
@ -101,7 +101,8 @@ class TestHandlers(BaseIntegrationTest):
|
|||
'deployment_id': cluster_db.id,
|
||||
'openstack_version_prev': None,
|
||||
'openstack_version': cluster_db.release.version,
|
||||
'fuel_version': cluster_db.fuel_version
|
||||
'fuel_version': cluster_db.fuel_version,
|
||||
'plugins': []
|
||||
}
|
||||
cluster_attrs = objects.Attributes.merged_attrs_values(
|
||||
cluster_db.attributes
|
||||
|
@ -465,7 +466,8 @@ class TestHandlers(BaseIntegrationTest):
|
|||
'openstack_version_prev': None,
|
||||
'openstack_version': cluster_db.release.version,
|
||||
'fuel_version': cluster_db.fuel_version,
|
||||
'tasks': []
|
||||
'tasks': [],
|
||||
'plugins': []
|
||||
}
|
||||
|
||||
cluster_attrs = objects.Attributes.merged_attrs_values(
|
||||
|
@ -952,7 +954,8 @@ class TestHandlers(BaseIntegrationTest):
|
|||
'deployment_id': cluster_db.id,
|
||||
'openstack_version_prev': None,
|
||||
'openstack_version': cluster_db.release.version,
|
||||
'fuel_version': cluster_db.fuel_version
|
||||
'fuel_version': cluster_db.fuel_version,
|
||||
'plugins': []
|
||||
}
|
||||
cluster_attrs = objects.Attributes.merged_attrs_values(
|
||||
cluster_db.attributes
|
||||
|
|
|
@ -344,8 +344,39 @@ class TestDeploymentAttributesSerialization80(
|
|||
self.cluster_db, self.cluster_db.nodes)
|
||||
for node in serialized_for_astute:
|
||||
self.assertIn("node_volumes", node)
|
||||
self.assertEqual(expected_node_volumes_hash,
|
||||
node["node_volumes"])
|
||||
self.assertItemsEqual(
|
||||
expected_node_volumes_hash, node["node_volumes"])
|
||||
|
||||
def test_attributes_contains_plugins(self):
|
||||
self.env.create_plugin(
|
||||
cluster=self.cluster_db,
|
||||
name='plugin_1',
|
||||
package_version='4.0.0',
|
||||
fuel_version=['8.0'])
|
||||
self.env.create_plugin(
|
||||
cluster=self.cluster_db,
|
||||
name='plugin_2',
|
||||
package_version='4.0.0',
|
||||
fuel_version=['8.0'])
|
||||
self.env.create_plugin(
|
||||
cluster=self.cluster_db,
|
||||
enabled=False,
|
||||
name='plugin_3',
|
||||
package_version='4.0.0',
|
||||
fuel_version=['8.0'])
|
||||
|
||||
expected_plugins_list = ['plugin_1', 'plugin_2']
|
||||
self.env.create_node(
|
||||
cluster_id=self.cluster_db.id,
|
||||
roles=['compute']
|
||||
)
|
||||
objects.Cluster.prepare_for_deployment(self.cluster_db)
|
||||
serialized_for_astute = self.serializer.serialize(
|
||||
self.cluster_db, self.cluster_db.nodes)
|
||||
for node in serialized_for_astute:
|
||||
self.assertIn('plugins', node)
|
||||
self.assertItemsEqual(
|
||||
expected_plugins_list, node['plugins'])
|
||||
|
||||
|
||||
class TestMultiNodeGroupsSerialization80(BaseDeploymentSerializer):
|
||||
|
|
Loading…
Reference in New Issue