Replay parameters:
- switch_heartbeat_time = 30
- switch_replay_count = 3
While the Nexus switch is rebooting, delete the last VM of a tenant network.
- VM fails to be deleted completely; in ERROR status.
- mysql database entry does get removed.
- Traceback is logged in server.log.
- When the Nexus switch boots up, the replay code does not configured the VLAN associated with that network.
- Have to issue the delete command again to cleanly remove the VM.
[root@bxb-ds-46 ~]# nova list
+--------------------------------------+----------------+--------+------------+-------------+------------------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+----------------+--------+------------+-------------+------------------------------+
| d4fa9abf-7349-4a7e-af68-41b53b701dbe | ds47-net43-vm1 | ERROR | - | Running | test_network_43=192.168.43.2 |
+--------------------------------------+----------------+--------+------------+-------------+------------------------------+
2015-06-22 17:44:43.690 19406 ERROR neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus [req-a400cff5-5a5d-41b9-91b7-2f6eea07fbef None] Nexus Driver cisco_nexus failed in disable_vlan_on_trunk_int
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus Traceback (most recent call last):
2015-06-22 17:44:43.690 19406 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 5
90, in _delete_switch_entry
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus vlan_id, intf_type, nexus_port)
2015-06-22 17:44:43.690 19406 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", li
ne 325, in disable_vlan_on_trunk_int
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus self._edit_config(nexus_host, target='running', config=confstr)
2015-06-22 17:44:43.690 19406 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", li
ne 119, in _edit_config
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus exc=e)
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus NexusConfigFailed: Failed to configure Nexus switch: 10.86.7.59 XML:
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus <config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus <configure>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus <__XML__MODE__exec_configure>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus <interface>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus <port-channel>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus <interface>2</interface>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus <__XML__MODE_if-ethernet-switch>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus <switchport></switchport>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus <switchport>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus <trunk>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus <allowed>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus <vlan>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus <remove>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus <vlan>544</vlan>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus </remove>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus </vlan>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus </allowed>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus </trunk>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus </switchport>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus </__XML__MODE_if-ethernet-switch>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus </port-channel>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus </interface>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus </__XML__MODE__exec_configure>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus </configure>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus </config>
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus . Reason: .
2015-06-22 17:44:43.690 19406 TRACE neutron.plugins.ml2.drivers.cisco.nexus.mech_cisco_nexus
2015-06-22 17:44:43.691 19406 DEBUG neutron.plugins.ml2.drivers.cisco.nexus.nexus_db_v2 [req-a400cff5-5a5d-41b9-91b7-2f6eea07fbef None] get_port_vlan_switch_binding() called get_port_vlan_switch_binding
/usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/cisco/nexus/nexus_db_v2.py:107
2015-06-22 17:44:43.694 19406 DEBUG neutron.plugins.ml2.drivers.cisco.nexus.nexus_network_driver [req-a400cff5-5a5d-41b9-91b7-2f6eea07fbef None] NexusDriver edit config:
<config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
<configure>
<__XML__MODE__exec_configure>
<interface>
<port-channel>
<interface>2</interface>
<__XML__MODE_if-ethernet-switch>
<switchport></switchport>
<switchport>
<trunk>
<allowed>
<vlan>
<remove>
<vlan>544</vlan>
</remove>
</vlan>
</allowed>
</trunk>
</switchport>
</__XML__MODE_if-ethernet-switch>
</port-channel>
</interface>
</__XML__MODE__exec_configure>
</configure>
</config>
_edit_config /usr/lib/python2.7/site-packages/neutron/plugins/ml2/drivers/cisco/nexus/nexus_network_driver.py:102