Move normalize_flavors to _normalize

Also, add a normalize_flavor - which makes two places of completely
ridiculous looking code cease looking completely ridiculous.

Change-Id: I196166a1526a01f12669ec1e5c1c4a497342fffc
This commit is contained in:
Monty Taylor 2016-10-03 20:07:06 -05:00
parent 5171f7957b
commit b30ff5538f
No known key found for this signature in database
GPG Key ID: 7BAE94BC7141A594
5 changed files with 32 additions and 28 deletions

View File

@ -42,6 +42,34 @@ class Normalizer(object):
reasons.
'''
def _normalize_flavors(self, flavors):
""" Normalize a list of flavor objects """
ret = []
for flavor in flavors:
ret.append(self._normalize_flavor(flavor))
return ret
def _normalize_flavor(self, flavor):
""" Normalize a flavor object """
flavor.pop('links', None)
flavor.pop('NAME_ATTR', None)
flavor.pop('HUMAN_ID', None)
flavor.pop('human_id', None)
if 'extra_specs' not in flavor:
flavor['extra_specs'] = {}
ephemeral = flavor.pop('OS-FLV-EXT-DATA:ephemeral', 0)
is_public = flavor.pop('os-flavor-access:is_public', True)
disabled = flavor.pop('OS-FLV-DISABLED:disabled', False)
# Make sure both the extension version and a sane version are present
flavor['OS-FLV-DISABLED:disabled'] = disabled
flavor['disabled'] = disabled
flavor['OS-FLV-EXT-DATA:ephemeral'] = ephemeral
flavor['ephemeral'] = ephemeral
flavor['os-flavor-access:is_public'] = is_public
flavor['is_public'] = is_public
return flavor
def _normalize_images(self, images):
ret = []
for image in images:

View File

@ -457,29 +457,6 @@ def normalize_stacks(stacks):
return stacks
def normalize_flavors(flavors):
""" Normalize a list of flavor objects """
for flavor in flavors:
flavor.pop('links', None)
flavor.pop('NAME_ATTR', None)
flavor.pop('HUMAN_ID', None)
flavor.pop('human_id', None)
if 'extra_specs' not in flavor:
flavor['extra_specs'] = {}
ephemeral = flavor.pop('OS-FLV-EXT-DATA:ephemeral', 0)
is_public = flavor.pop('os-flavor-access:is_public', True)
disabled = flavor.pop('OS-FLV-DISABLED:disabled', False)
# Make sure both the extension version and a sane version are present
flavor['OS-FLV-DISABLED:disabled'] = disabled
flavor['disabled'] = disabled
flavor['OS-FLV-EXT-DATA:ephemeral'] = ephemeral
flavor['ephemeral'] = ephemeral
flavor['os-flavor-access:is_public'] = is_public
flavor['is_public'] = is_public
return flavors
def normalize_cluster_templates(cluster_templates):
"""Normalize Magnum cluster_templates."""
for cluster_template in cluster_templates:

View File

@ -1481,7 +1481,7 @@ class OpenStackCloud(_normalize.Normalizer):
'Fetching extra specs for flavor failed:'
' {msg}'.format(msg=str(e)))
return _utils.normalize_flavors(flavors)
return self._normalize_flavors(flavors)
@_utils.cache_on_arguments(should_cache_fn=_no_pending_stacks)
def list_stacks(self):

View File

@ -1493,7 +1493,7 @@ class OperatorCloud(openstackcloud.OpenStackCloud):
is_public=is_public)
)
return _utils.normalize_flavors([flavor])[0]
return self._normalize_flavor(flavor)
def delete_flavor(self, name_or_id):
"""Delete a flavor

View File

@ -292,9 +292,8 @@ class TestMemoryCache(base.TestCase):
self.assertEqual([], self.cloud.list_flavors())
fake_flavor = fakes.FakeFlavor('555', 'vanilla', 100)
fake_flavor_dict = _utils.normalize_flavors(
[meta.obj_to_dict(fake_flavor)]
)[0]
fake_flavor_dict = self.cloud._normalize_flavor(
meta.obj_to_dict(fake_flavor))
nova_mock.flavors.list.return_value = [fake_flavor]
self.cloud.list_flavors.invalidate(self.cloud)
self.assertEqual([fake_flavor_dict], self.cloud.list_flavors())