yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #33098
[Bug 1458709] [NEW] ovs agent can't startup in some abnormal condition
Public bug reported:
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'
** Affects: neutron
Importance: Undecided
Assignee: shihanzhang (shihanzhang)
Status: New
** Description changed:
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 _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)
- 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'
+ 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'
** Changed in: neutron
Assignee: (unassigned) => shihanzhang (shihanzhang)
--
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):
New
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
Follow ups
References