Make a few places tolerant of sys_meta being a dict
This will be necessary as we start to introduce objects with real dicts in system_metadata. These are the common spots that need to be ready ahead of time. The rest are at the actual use sites and can/will be replaced when individual uses are converted to objects. Related to bp/unified-internal-objects Change-Id: I8314e0d52ec2ae800765f60ce58ce9b309d7d513
This commit is contained in:
@@ -288,8 +288,7 @@ def info_from_instance(context, instance_ref, network_info,
|
||||
instance_type_name = instance_type.get('name', '')
|
||||
|
||||
if system_metadata is None:
|
||||
system_metadata = utils.metadata_to_dict(
|
||||
instance_ref['system_metadata'])
|
||||
system_metadata = utils.instance_sys_meta(instance_ref)
|
||||
|
||||
instance_info = dict(
|
||||
# Owner properties
|
||||
|
||||
@@ -1032,6 +1032,13 @@ def dict_to_metadata(metadata):
|
||||
return result
|
||||
|
||||
|
||||
def instance_sys_meta(instance):
|
||||
if isinstance(instance['system_metadata'], dict):
|
||||
return instance['system_metadata']
|
||||
else:
|
||||
return metadata_to_dict(instance['system_metadata'])
|
||||
|
||||
|
||||
def get_wrapped_function(function):
|
||||
"""Get the method at the bottom of a stack of decorators."""
|
||||
if not hasattr(function, 'func_closure') or not function.func_closure:
|
||||
|
||||
Reference in New Issue
Block a user