Merge "Move change_env_settings function from octane to cluster upgrade extension"
This commit is contained in:
commit
8573c98921
|
@ -98,8 +98,16 @@ class TestUpgradeHelperCloneCluster(base_tests.BaseCloneClusterTest):
|
|||
|
||||
self.helper.copy_attributes(self.src_cluster, new_cluster)
|
||||
|
||||
self.assertEqual(self.src_cluster.generated_attrs,
|
||||
new_cluster.generated_attrs)
|
||||
self.assertNotEqual(new_cluster.generated_attrs.get('provision'),
|
||||
self.src_cluster.generated_attrs.get('provision'))
|
||||
|
||||
# We make image_data in src_cluster and in new_cluster the same
|
||||
# to validate that all other generated attributes are equal
|
||||
generated_attrs = copy.deepcopy(self.src_cluster.generated_attrs)
|
||||
generated_attrs['provision']['image_data'] = \
|
||||
new_cluster.generated_attrs['provision']['image_data']
|
||||
|
||||
self.assertEqual(generated_attrs, new_cluster.generated_attrs)
|
||||
editable_attrs = self.src_cluster.editable_attrs
|
||||
for section, params in six.iteritems(new_cluster.editable_attrs):
|
||||
if section == "repo_setup":
|
||||
|
@ -212,3 +220,22 @@ class TestUpgradeHelperCloneCluster(base_tests.BaseCloneClusterTest):
|
|||
self.helper.copy_attributes(self.src_cluster, new_cluster)
|
||||
self._check_dns_and_ntp_list_values(
|
||||
new_cluster, ["4", "5", "6"], ["1", "2", "3"])
|
||||
|
||||
def test_change_env_settings(self):
|
||||
new_cluster = self.helper.create_cluster_clone(self.src_cluster,
|
||||
self.data)
|
||||
self.helper.copy_attributes(self.src_cluster, new_cluster)
|
||||
attrs = new_cluster.attributes
|
||||
self.helper.change_env_settings(self.src_cluster, new_cluster)
|
||||
self.assertEqual('image',
|
||||
attrs['editable']['provision']['method']['value'])
|
||||
|
||||
def test_change_env_settings_no_editable_provision(self):
|
||||
new_cluster = self.helper.create_cluster_clone(self.src_cluster,
|
||||
self.data)
|
||||
self.helper.copy_attributes(self.src_cluster, new_cluster)
|
||||
attrs = new_cluster.attributes
|
||||
attrs['editable']['provision']['method']['value'] = 'cobbler'
|
||||
self.helper.change_env_settings(self.src_cluster, new_cluster)
|
||||
self.assertEqual('image',
|
||||
attrs['editable']['provision']['method']['value'])
|
||||
|
|
|
@ -54,6 +54,13 @@ def merge_attributes(a, b):
|
|||
return attrs
|
||||
|
||||
|
||||
def merge_generated_attrs(new_attrs, orig_attrs):
|
||||
# skip attributes that should be generated for new cluster
|
||||
attrs = copy.deepcopy(orig_attrs)
|
||||
attrs.pop('provision', None)
|
||||
return utils.dict_merge(new_attrs, attrs)
|
||||
|
||||
|
||||
def merge_nets(a, b):
|
||||
new_settings = copy.deepcopy(b)
|
||||
source_networks = dict((n["name"], n) for n in a["networks"])
|
||||
|
@ -91,6 +98,7 @@ class UpgradeHelper(object):
|
|||
cls.copy_network_config(orig_cluster, new_cluster)
|
||||
relations.UpgradeRelationObject.create_relation(orig_cluster.id,
|
||||
new_cluster.id)
|
||||
cls.change_env_settings(orig_cluster, new_cluster)
|
||||
return new_cluster
|
||||
|
||||
@classmethod
|
||||
|
@ -111,13 +119,18 @@ class UpgradeHelper(object):
|
|||
# version to another. A set of this kind of steps
|
||||
# should define an upgrade path of a particular
|
||||
# cluster.
|
||||
new_cluster.generated_attrs = utils.dict_merge(
|
||||
new_cluster.generated_attrs = merge_generated_attrs(
|
||||
new_cluster.generated_attrs,
|
||||
orig_cluster.generated_attrs)
|
||||
new_cluster.editable_attrs = merge_attributes(
|
||||
orig_cluster.editable_attrs,
|
||||
new_cluster.editable_attrs)
|
||||
|
||||
@classmethod
|
||||
def change_env_settings(cls, orig_cluster, new_cluster):
|
||||
attrs = new_cluster.attributes
|
||||
attrs['editable']['provision']['method']['value'] = 'image'
|
||||
|
||||
@classmethod
|
||||
def transform_vips_for_net_groups_70(cls, vips):
|
||||
"""Rename or remove types of VIPs for 7.0 network groups.
|
||||
|
|
Loading…
Reference in New Issue