yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #34625
[Bug 1458709] Re: ovs agent can't startup in some abnormal condition
** Changed in: neutron
Status: Fix Committed => Fix Released
** Changed in: neutron
Milestone: None => liberty-1
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1458709
Title:
ovs agent can't startup in some abnormal condition
Status in OpenStack Neutron (virtual network service):
Fix Released
Bug description:
when ovs agent restart, it will restore the local vlan map in function
'_restore_local_vlan_map',
def _restore_local_vlan_map(self):
cur_ports = self.int_br.get_vif_ports()
for port in cur_ports:
local_vlan_map = self.int_br.db_get_val("Port", port.port_name,
"other_config")
local_vlan = self.int_br.db_get_val("Port", port.port_name, "tag")
net_uuid = local_vlan_map.get('net_uuid')
if (net_uuid and net_uuid not in self.local_vlan_map
and local_vlan != DEAD_VLAN_TAG):
self.provision_local_vlan(local_vlan_map['net_uuid'],
local_vlan_map['network_type'],
local_vlan_map['physical_network'],
local_vlan_map['segmentation_id'],
local_vlan)
in some abnormal condition, if a device does not be set tag in ovsdb,
the 'self.int_br.db_get_val("Port", port.port_name, "tag")' will
return a empty list, so in function 'provision_local_vlan' will raise
exception:
def provision_local_vlan(self, net_uuid, network_type, physical_network,
segmentation_id,local_vlan=None:
lvm = self.local_vlan_map.get(net_uuid)
if lvm:
lvid = lvm.vlan
else:
if local_vlan in self.available_local_vlans:
lvid = local_vlan
self.available_local_vlans.remove(local_vlan)
this line will raise exception 'if local_vlan in
self.available_local_vlans'
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1458709/+subscriptions
References