Added list of packages to provision info
Provision info already contains list of packages as string, but fa_builder expects list and conversion from string to list was done by using yaql expression. This patch moves this conversion to nailgun side. Change-Id: I1ad44b7f2e69edbb8b8e28fd7840010af2594cd7 Closes-Bug: 1630275
This commit is contained in:
parent
78fbccc9ac
commit
b7b2dfffbf
|
@ -62,7 +62,7 @@ from nailgun.orchestrator.nova_serializers import \
|
|||
from nailgun.orchestrator.nova_serializers import \
|
||||
NovaNetworkDeploymentSerializer70
|
||||
from nailgun.orchestrator.provisioning_serializers import \
|
||||
ProvisioningSerializer90
|
||||
ProvisionLCMSerializer
|
||||
|
||||
|
||||
class DeploymentMultinodeSerializer(object):
|
||||
|
@ -742,7 +742,7 @@ class DeploymentLCMSerializer(DeploymentHASerializer90):
|
|||
),
|
||||
key=lambda x: self._priorities[x.config_type]
|
||||
)
|
||||
self._provision_serializer = ProvisioningSerializer90()
|
||||
self._provision_serializer = ProvisionLCMSerializer()
|
||||
|
||||
def finalize(self):
|
||||
self._configs = None
|
||||
|
|
|
@ -479,3 +479,15 @@ class ProvisioningSerializer90(ProvisioningSerializer80):
|
|||
serialized_node['ks_meta']['user_accounts'].append(root_user_dict)
|
||||
|
||||
return serialized_node
|
||||
|
||||
|
||||
class ProvisionLCMSerializer(ProvisioningSerializer90):
|
||||
@classmethod
|
||||
def serialize_cluster(cls, cluster, cluster_attrs):
|
||||
cluster_info = super(ProvisionLCMSerializer, cls).serialize_cluster(
|
||||
cluster, cluster_attrs
|
||||
)
|
||||
cluster_info['packages'] = cls._make_provisioning_package_list(
|
||||
cluster_attrs['provision']
|
||||
)
|
||||
return cluster_info
|
||||
|
|
|
@ -637,10 +637,13 @@ class TestDeploymentLCMSerialization90(
|
|||
node_info = next(x for x in serialized['nodes']
|
||||
if x['uid'] == self.node.uid)
|
||||
self.assertIn('provision', node_info)
|
||||
provision_info = node_info['provision']
|
||||
node_provision_info = node_info['provision']
|
||||
# check that key options present in provision section
|
||||
self.assertIn('ks_meta', provision_info)
|
||||
self.assertIn('ks_meta', node_provision_info)
|
||||
self.assertIn('engine', serialized['common']['provision'])
|
||||
provision_info = serialized['common']['provision']
|
||||
self.assertIn('packages', provision_info)
|
||||
self.assertIsInstance(provision_info['packages'], list)
|
||||
|
||||
def test_deleted_field_present_only_for_deleted_nodes(self):
|
||||
objects.Cluster.prepare_for_deployment(self.cluster_db)
|
||||
|
|
Loading…
Reference in New Issue