Update the call to merge.parse_scaling

The internal structure changed, to verify this doesn't happen again we
now use parse_scaling to generate the structure for us.

Change-Id: I8c737a968d5ae8794a578b375241de429b2ef89e
This commit is contained in:
Dougal Matthews 2014-08-14 10:41:49 +01:00
parent ff467c8f00
commit 02ca4a55c5
2 changed files with 17 additions and 9 deletions

View File

@ -57,17 +57,17 @@ def generate_scaling_params(overcloud_roles):
""" """
# Default values, merge.py needs also the 0 counts. # Default values, merge.py needs also the 0 counts.
scaling = {'NovaCompute0': 0, 'SwiftStorage0': 0, 'BlockStorage0': 0, } scaling_defaults = ['NovaCompute=0', 'SwiftStorage=0', 'BlockStorage=0']
scaling = merge.parse_scaling(scaling_defaults)
for overcloud_role, count in overcloud_roles.items(): for overcloud_role, count in overcloud_roles.items():
overcloud_role = overcloud_role.lower() overcloud_role = overcloud_role.lower()
if overcloud_role in ROLES: if overcloud_role in ROLES:
scale_str = "%s=%s" % ( scale_str = "%s=%s" % (
ROLES[overcloud_role]['template_param'], count) ROLES[overcloud_role]['template_param'], count)
scaling = dict( scaling.update(merge.parse_scaling([scale_str]))
scaling.items() +
merge.parse_scaling([scale_str]).items()
)
return scaling return scaling

View File

@ -29,7 +29,9 @@ class TemplateToolsTests(unittest.TestCase):
template_tools.generate_scaling_params(overcloud_roles) template_tools.generate_scaling_params(overcloud_roles)
# Verify # Verify
mock_parse_scaling.assert_called_once_with(['NovaCompute=12']) # Called once internally for the defaults and once with NovaCompute=12
self.assertEqual(mock_parse_scaling.call_count, 2)
mock_parse_scaling.assert_called_with(['NovaCompute=12'])
@mock.patch('tripleo_heat_merge.merge.merge') @mock.patch('tripleo_heat_merge.merge.merge')
def test_merge_templates_compute(self, mock_merge): def test_merge_templates_compute(self, mock_merge):
@ -53,7 +55,9 @@ class TemplateToolsTests(unittest.TestCase):
None, None,
None, None,
scaling={ scaling={
'NovaCompute0': 12, 'SwiftStorage0': 0, 'BlockStorage0': 0, 'NovaCompute0': (12, frozenset()),
'SwiftStorage0': (0, frozenset()),
'BlockStorage0': (0, frozenset()),
}, },
included_template_dir='/etc/tuskar/tripleo-heat-templates/' included_template_dir='/etc/tuskar/tripleo-heat-templates/'
) )
@ -80,7 +84,9 @@ class TemplateToolsTests(unittest.TestCase):
None, None,
None, None,
scaling={ scaling={
'NovaCompute0': 0, 'SwiftStorage0': 0, 'BlockStorage0': 12, 'NovaCompute0': (0, frozenset()),
'SwiftStorage0': (0, frozenset()),
'BlockStorage0': (12, frozenset()),
}, },
included_template_dir='/etc/tuskar/tripleo-heat-templates/' included_template_dir='/etc/tuskar/tripleo-heat-templates/'
) )
@ -107,7 +113,9 @@ class TemplateToolsTests(unittest.TestCase):
None, None,
None, None,
scaling={ scaling={
'NovaCompute0': 0, 'SwiftStorage0': 12, 'BlockStorage0': 0, 'NovaCompute0': (0, frozenset()),
'SwiftStorage0': (12, frozenset()),
'BlockStorage0': (0, frozenset()),
}, },
included_template_dir='/etc/tuskar/tripleo-heat-templates/' included_template_dir='/etc/tuskar/tripleo-heat-templates/'
) )