This does not work in Python3, so we have to store the items first.
Change-Id: I7d8641f980fe62d2900559433d5060a6281a97f8
Blueprint: neutron-python3
def _remove_unused_sg_members(self):
"""Remove sg_member entries where no IPv4 or IPv6 is associated."""
- for sg_id in self.sg_members.keys():
+ for sg_id in list(self.sg_members.keys()):
sg_has_members = (self.sg_members[sg_id][constants.IPv4] or
self.sg_members[sg_id][constants.IPv6])
if not sg_has_members:
# is made in a whole iteration
while exts_to_process:
processed_ext_count = len(processed_exts)
- for ext_name, ext in exts_to_process.items():
+ for ext_name, ext in list(exts_to_process.items()):
if not hasattr(ext, 'get_extended_resources'):
del exts_to_process[ext_name]
continue
bridge_name)
def remove_empty_bridges(self):
- for network_id in self.network_map.keys():
+ for network_id in list(self.network_map.keys()):
bridge_name = self.get_bridge_name(network_id)
if not self.get_tap_devices_count(bridge_name):
self.delete_vlan_bridge(bridge_name)
break
# If not, remove it
else:
- for remote_ip, ofport in self.tun_br_ofports[tunnel_type].items():
+ items = list(self.tun_br_ofports[tunnel_type].items())
+ for remote_ip, ofport in items:
if ofport == tun_ofport:
port_name = '%s-%s' % (tunnel_type,
self.get_ip_in_hex(remote_ip))