EMC-POC: Nexus plugin: enhancement request to have the replay code run in multi threads

Bug #1468843 reported by Danny Choi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
networking-cisco
New
Undecided
Unassigned

Bug Description

Currently the replay code runs in single thread. As such, with multiple switches, it will replay config serially.

For example, both Nexus switches reboot. The first switch comes online will get the replay config served. Until all the config is replayed successfully, then the plugin will move onto the second switch.

If for some reason the replay for the first switch fails during the replay process, it will wait till the timeout expires (switch_heartbeat_time = 30) before it serves the second switch.

Tags: ml2 nexus cisco
Revision history for this message
Danny Choi (dannchoi) wrote :
Download full text (5.8 KiB)

Example

Replay fails at 13:18:24.572 at switch #1.
30 seconds later, at 13:18:54.984, it establishes connection with switch #2.

2015-06-25 13:18:24.571 38580 ERROR neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus [-] Nexus Driver cisco_nexus failed in replay _configure_port_binding
2015-06-25 13:18:24.571 38580 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus Traceback (most recent call last):
2015-06-25 13:18:24.571 38580 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus File "/usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/cisco/nexus/mech_cisco_nexus.py", line 526, in configure_switch_entries
2015-06-25 13:18:24.571 38580 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus port.vni)
2015-06-25 13:18:24.571 38580 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus File "/usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/cisco/nexus/mech_cisco_nexus.py", line 434, in _configure_port_binding
2015-06-25 13:18:24.571 38580 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus vni)
2015-06-25 13:18:24.571 38580 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus File "/usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/cisco/nexus/nexus_network_driver.py", line 334, in create_and_trunk_vlan
2015-06-25 13:18:24.571 38580 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus nexus_port)
2015-06-25 13:18:24.571 38580 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus File "/usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/cisco/nexus/nexus_network_driver.py", line 297, in enable_vlan_on_trunk_int
2015-06-25 13:18:24.571 38580 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus intf_type, interface)
2015-06-25 13:18:24.571 38580 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus File "/usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/cisco/nexus/nexus_network_driver.py", line 188, in get_interface_switch_trunk_allowed
2015-06-25 13:18:24.571 38580 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus response = self._get_config(nexus_host, confstr)
2015-06-25 13:18:24.571 38580 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus File "/usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/cisco/nexus/nexus_network_driver.py", line 78, in _get_config
2015-06-25 13:18:24.571 38580 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus exc=e)
2015-06-25 13:18:24.571 38580 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus NexusConfigFailed: Failed to configure Nexus switch: 10.86.1.128 XML:
2015-06-25 13:18:24.571 38580 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus <cmd>show running-config interface ethernet 1/22</cmd>
2015-06-25 13:18:24.571 38580 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus . Reason: .
2015-06-25 13:18:24.571 38580 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus
2015-06-25 13:18:24.572 38580 ERROR neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus [-] Failed to configure port binding for switch 10.86.1.128, vlan 540 ...

Read more...

Danny Choi (dannchoi)
tags: added: cisco ml2 nexus
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.