UnboundLocalError during ostf connectivity with of_interface=native

Bug #1585677 reported by Inessa Vasilevskaya
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mirantis OpenStack
Status tracked in 10.0.x
10.0.x
Fix Committed
High
Inessa Vasilevskaya
9.x
Fix Released
High
Inessa Vasilevskaya

Bug Description

This is part of a lot more complicated problem (arp storm with native of_interface).
Keep in mind that it is not the default deployment of neutron-openvswitch-agent.

Env:
Mos 9.0, 3 controllers/1 compute.
Custom neutron configuration:
/etc/neutron/plugins/ml2/openvswitch_agent.ini has of_interface=native

Steps to reproduce:
restart OVS agent on all controllers and compute, run OSTF Connectivity test.

Result: ARP storm with the following in the logs (apart from hundreds of other errors)

2016-05-25 14:57:28 ERR ryu.lib.hub [req-6efe2697-b494-4c54-97dc-4d8d1f43cab6 - - - - -] hub: uncaught exception: Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/ryu/lib/hub.py", line 52, in _launch
    func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/ovs_ryuapp.py", line 35, in agent_main_wrapper
    ovs_agent.main(bridge_classes)
  File "/usr/lib/python2.7/dist-packages/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py", line 2118, in main
    agent.daemon_loop()
  File "/usr/lib/python2.7/dist-packages/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py", line 2041, in daemon_loop
    self.rpc_loop(polling_manager=pm)
  File "/usr/lib/python2.7/dist-packages/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py", line 1910, in rpc_loop
    ovs_status = self.check_ovs_status()
  File "/usr/lib/python2.7/dist-packages/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py", line 1718, in check_ovs_status
    status = self.int_br.check_canary_table()
  File "/usr/lib/python2.7/dist-packages/neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/br_int.py", line 52, in check_canary_table
    flows = self.dump_flows(constants.CANARY_TABLE)
  File "/usr/lib/python2.7/dist-packages/neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/ofswitch.py", line 125, in dump_flows
    (dp, ofp, ofpp) = self._get_dp()
  File "/usr/lib/python2.7/dist-packages/neutron/plugins/ml2/drivers/openvswitch/agent/openflow/native/ovs_bridge.py", line 61, in _get_dp
    if new_dpid_str != dpid_str:
UnboundLocalError: local variable 'dpid_str' referenced before assignment

description: updated
Revision history for this message
Alexander Ignatov (aignatov) wrote :

This bug is applicable only for MOS 10.0 since of_interface=native option will be applied only there even though this scenario was checked against 9.0.

Changed in mos:
status: New → Confirmed
importance: Undecided → High
assignee: nobody → MOS Neutron (mos-neutron)
milestone: none → 10.0
tags: added: area-neutron
Changed in mos:
assignee: MOS Neutron (mos-neutron) → Inessa Vasilevskaya (ivasilevskaya)
Revision history for this message
Inessa Vasilevskaya (ivasilevskaya) wrote :

UnboundLocalError will be fixed in upstream by https://review.openstack.org/#/c/324078/

tags: added: wait-for-stable
Revision history for this message
Inessa Vasilevskaya (ivasilevskaya) wrote :
tags: added: on-verification
Revision history for this message
Alexander Zatserklyany (zatserklyany) wrote :

Verified on 9.1

sed -ir 's/of_interface = ovs-ofctl/of_interface = native/' /etc/neutron/plugins/ml2/openvswitch_agent.ini
ssh node-1
crm resource restart clone_neutron-openvswitch-agent

Check network connectivity from instance via floating IP 139.4 OK

tags: removed: on-verification
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.