Fix Python 3 dictionary incompatibilities
There were two instances of abusing old Python 2 behaviors around dictionary keys that Python 3 no longer allows. These are both fixed. Change-Id: I5865ee3becf52fca590a1c0c897bcd968210ac9d
This commit is contained in:
parent
ed7032f8be
commit
fa5336ca36
@ -829,12 +829,20 @@ def _parse_global_variables(user_cidr, inventory, user_defined_config):
|
|||||||
)
|
)
|
||||||
logger.debug("Applied global_overrides")
|
logger.debug("Applied global_overrides")
|
||||||
|
|
||||||
kept_vars = user_defined_config['global_overrides'].keys()
|
# NOTE (palendae): wrapped in a list to support python3,
|
||||||
|
# which uses `dict_keys` objects that can't be appended
|
||||||
|
kept_vars = list(user_defined_config['global_overrides'].keys())
|
||||||
kept_vars.append('container_cidr')
|
kept_vars.append('container_cidr')
|
||||||
|
|
||||||
# Remove global overrides that were deleted from inventory, too
|
# Remove global overrides that were deleted from inventory, too
|
||||||
|
# We use the to_delete list due to Python 3 disallowing dict
|
||||||
|
# size mutation during iteration
|
||||||
|
to_delete = []
|
||||||
for key in inventory['all']['vars'].keys():
|
for key in inventory['all']['vars'].keys():
|
||||||
if key not in kept_vars:
|
if key not in kept_vars:
|
||||||
|
to_delete.append(key)
|
||||||
|
|
||||||
|
for key in to_delete:
|
||||||
logger.debug("Deleting key %s from inventory", key)
|
logger.debug("Deleting key %s from inventory", key)
|
||||||
del inventory['all']['vars'][key]
|
del inventory['all']['vars'][key]
|
||||||
|
|
||||||
|
@ -988,8 +988,13 @@ class TestOverridingEnvVars(OverridingEnvBase):
|
|||||||
# a partial override file
|
# a partial override file
|
||||||
|
|
||||||
vol = self.cinder_config['container_skel']['cinder_volumes_container']
|
vol = self.cinder_config['container_skel']['cinder_volumes_container']
|
||||||
|
keys = vol.keys()
|
||||||
|
to_delete = []
|
||||||
for key in vol.keys():
|
for key in vol.keys():
|
||||||
if not key == 'properties':
|
if not key == 'properties':
|
||||||
|
to_delete.append(key)
|
||||||
|
|
||||||
|
for key in to_delete:
|
||||||
del vol[key]
|
del vol[key]
|
||||||
|
|
||||||
self.write_override_env()
|
self.write_override_env()
|
||||||
|
Loading…
Reference in New Issue
Block a user