[Openstack] Error in ml2 with cisco_nexus driver

Qin, Xiaohong Xiaohong.Qin at emc.com
Wed Apr 2 17:28:56 UTC 2014


Hi Kyle,

I was also trying to use this Nexus driver with Ml2/VXLAN deployment in devstack. But for some reason, it didn't invoke the nexus driver code and didn't do anything on my Nexus switch. I have followed the instructions posted in this link,

https://wiki.openstack.org/wiki/Neutron/ML2/MechCiscoNexus

Did I miss anything here? I have pulled the latest OpenStack code from the main branch. 

Thanks.

Dennis Qin (aka Xiaohong Qin)

-----Original Message-----
From: Kyle Mestery (kmestery) [mailto:kmestery at cisco.com] 
Sent: Friday, November 29, 2013 7:57 PM
To: Sayaji Patil
Cc: <openstack at lists.openstack.org>
Subject: Re: [Openstack] Error in ml2 with cisco_nexus driver

On Nov 29, 2013, at 1:11 PM, Sayaji Patil <sayaji15 at gmail.com> wrote:
> 
> Hi,
>      I have set up an all-in-one installation using devstack. When I 
> try to create an instance, I get this error when the plugin tries to 
> create a vlan on the nexus switch
> 
> 2013-11-27 16:38:29.752 ^[[00;32mDEBUG ncclient.transport.ssh 
> [^[[00;36m-^[[00;32m] ^[[01;35m^[[00;32mstarting thread (client mode): 
> 0x4509ed0L^[[00m ^[[00;33mfrom (pid=13833) _log 
> /usr/lib/python2.6/site-packages/paramiko/transport.py:1406^[[00m
> 2013-11-27 16:38:29.753 ^[[01;31mERROR ncclient.transport.ssh 
> [^[[00;36m-^[[01;31m] ^[[01;35m^[[01;31mException: Error reading SSH 
> protocol banner^[[00m
> 2013-11-27 16:38:29.753 ^[[01;31mERROR ncclient.transport.ssh 
> [^[[00;36m-^[[01;31m] ^[[01;35m^[[01;31mTraceback (most recent call 
> last):^[[00m
> 2013-11-27 16:38:29.753 ^[[01;31mERROR ncclient.transport.ssh [^[[00;36m-^[[01;31m] ^[[01;35m^[[01;31m  File "/usr/lib/python2.6/site-packages/paramiko/transport.py", line 1557, in run^[[00m
> 2013-11-27 16:38:29.753 ^[[01;31mERROR ncclient.transport.ssh [^[[00;36m-^[[01;31m] ^[[01;35m^[[01;31m    self._check_banner()^[[00m
> 2013-11-27 16:38:29.754 ^[[01;31mERROR ncclient.transport.ssh [^[[00;36m-^[[01;31m] ^[[01;35m^[[01;31m  File "/usr/lib/python2.6/site-packages/paramiko/transport.py", line 1683, in _check_banner^[[00m
> 2013-11-27 16:38:29.754 ^[[01;31mERROR ncclient.transport.ssh [^[[00;36m-^[[01;31m] ^[[01;35m^[[01;31m    raise SSHException('Error reading SSH protocol banner' + str(x))^[[00m
> 2013-11-27 16:38:29.754 ^[[01;31mERROR ncclient.transport.ssh 
> [^[[00;36m-^[[01;31m] ^[[01;35m^[[01;31mSSHException: Error reading 
> SSH protocol banner^[[00m
> 2013-11-27 16:38:29.754 ^[[01;31mERROR ncclient.transport.ssh 
> [^[[00;36m-^[[01;31m] ^[[01;35m^[[01;31m^[[00m
> 2013-11-27 16:38:29.754 ^[[01;31mERROR neutron.plugins.ml2.managers 
> [^[[01;36mreq-b51e27b6-2808-47ad-95db-e9d0113fcfe1 ^[[00;36mNone 
> None^[[01;31m] ^[[01;35m^[[01;31mMechanism driver 'cisco_nexus' failed 
> in update_port_postcommit^[[00m
> ^[[01;31m2013-11-27 16:38:29.754 TRACE neutron.plugins.ml2.managers ^[[01;35m^[[00mTraceback (most recent call last):
> ^[[01;31m2013-11-27 16:38:29.754 TRACE neutron.plugins.ml2.managers ^[[01;35m^[[00m  File "/opt/stack/neutron/neutron/plugins/ml2/managers.py", line 156, in _call_on_drivers
> ^[[01;31m2013-11-27 16:38:29.754 TRACE neutron.plugins.ml2.managers ^[[01;35m^[[00m    getattr(driver.obj, method_name)(context)
> ^[[01;31m2013-11-27 16:38:29.754 TRACE neutron.plugins.ml2.managers ^[[01;35m^[[00m  File "/opt/stack/neutron/neutron/plugins/ml2/drivers/cisco/mech_cisco_nexus.py", line 159, in update_port_postcommit
> ^[[01;31m2013-11-27 16:38:29.754 TRACE neutron.plugins.ml2.managers ^[[01;35m^[[00m    self._invoke_nexus_on_port_event(context)
> ^[[01;31m2013-11-27 16:38:29.754 TRACE neutron.plugins.ml2.managers ^[[01;35m^[[00m  File "/opt/stack/neutron/neutron/plugins/ml2/drivers/cisco/mech_cisco_nexus.py", line 149, in _invoke_nexus_on_port_event
> ^[[01;31m2013-11-27 16:38:29.754 TRACE neutron.plugins.ml2.managers ^[[01;35m^[[00m    self._manage_port(vlan_name, vlan_id, host_id, instance_id)
> ^[[01;31m2013-11-27 16:38:29.754 TRACE neutron.plugins.ml2.managers ^[[01;35m^[[00m  File "/opt/stack/neutron/neutron/plugins/ml2/drivers/cisco/mech_cisco_nexus.py", line 114, in _manage_port
> ^[[01;31m2013-11-27 16:38:29.754 TRACE neutron.plugins.ml2.managers ^[[01;35m^[[00m    vlan_name, port_id)
> ^[[01;31m2013-11-27 16:38:29.754 TRACE neutron.plugins.ml2.managers ^[[01;35m^[[00m  File "/opt/stack/neutron/neutron/plugins/ml2/drivers/cisco/nexus_network_driver.py", line 194, in create_and_trunk_vlan
> ^[[01;31m2013-11-27 16:38:29.754 TRACE neutron.plugins.ml2.managers ^[[01;35m^[[00m    self.create_vlan(nexus_host, vlan_id, vlan_name)
> ^[[01;31m2013-11-27 16:38:29.754 TRACE neutron.plugins.ml2.managers ^[[01;35m^[[00m  File "/opt/stack/neutron/neutron/plugins/ml2/drivers/cisco/nexus_network_driver.py", line 131, in create_vlan
> ^[[01;31m2013-11-27 16:38:29.754 TRACE neutron.plugins.ml2.managers ^[[01;35m^[[00m    self._edit_config(nexus_host, target='running', config=confstr)
> ^[[01;31m2013-11-27 16:38:29.754 TRACE neutron.plugins.ml2.managers ^[[01;35m^[[00m  File "/opt/stack/neutron/neutron/plugins/ml2/drivers/cisco/nexus_network_driver.py", line 68, in _edit_config
> ^[[01;31m2013-11-27 16:38:29.754 TRACE neutron.plugins.ml2.managers ^[[01;35m^[[00m    mgr = self.nxos_connect(nexus_host)
> ^[[01;31m2013-11-27 16:38:29.754 TRACE neutron.plugins.ml2.managers ^[[01;35m^[[00m  File "/opt/stack/neutron/neutron/plugins/ml2/drivers/cisco/nexus_network_driver.py", line 114, in nxos_connect
> ^[[01;31m2013-11-27 16:38:29.754 TRACE neutron.plugins.ml2.managers ^[[01;35m^[[00m    raise cexc.NexusConnectFailed(nexus_host=nexus_host, exc=e)
> ^[[01;31m2013-11-27 16:38:29.754 TRACE neutron.plugins.ml2.managers ^[[01;35m^[[00mNexusConnectFailed: Unable to connect to Nexus 172.25.31.82. Reason: Negotiation failed.
> ^[[01;31m2013-11-27 16:38:29.754 TRACE neutron.plugins.ml2.managers 
> ^[[01;35m^[[00m
> 2013-11-27 16:38:29.755 ^[[01;31mERROR 
> neutron.openstack.common.rpc.amqp 
> [^[[01;36mreq-b51e27b6-2808-47ad-95db-e9d0113fcfe1 ^[[00;36mNone 
> None^[[01;31m] ^[[01;35m^[[01;31mException during message 
> handling^[[00m
> ^[[01;31m2013-11-27 16:38:29.755 TRACE neutron.openstack.common.rpc.amqp ^[[01;35m^[[00mTraceback (most recent call last):
> ^[[01;31m2013-11-27 16:38:29.755 TRACE neutron.openstack.common.rpc.amqp ^[[01;35m^[[00m  File "/opt/stack/neutron/neutron/openstack/common/rpc/amqp.py", line 438, in _process_data
> ^[[01;31m2013-11-27 16:38:29.755 TRACE neutron.openstack.common.rpc.amqp ^[[01;35m^[[00m    **args)
> ^[[01;31m2013-11-27 16:38:29.755 TRACE neutron.openstack.common.rpc.amqp ^[[01;35m^[[00m  File "/opt/stack/neutron/neutron/common/rpc.py", line 44, in dispatch
> ^[[01;31m2013-11-27 16:38:29.755 TRACE neutron.openstack.common.rpc.amqp ^[[01;35m^[[00m    neutron_ctxt, version, method, namespace, **kwargs)
> ^[[01;31m2013-11-27 16:38:29.755 TRACE neutron.openstack.common.rpc.amqp ^[[01;35m^[[00m  File "/opt/stack/neutron/neutron/openstack/common/rpc/dispatcher.py", line 172, in dispatch
> ^[[01;31m2013-11-27 16:38:29.755 TRACE neutron.openstack.common.rpc.amqp ^[[01;35m^[[00m    result = getattr(proxyobj, method)(ctxt, **kwargs)
> ^[[01;31m2013-11-27 16:38:29.755 TRACE neutron.openstack.common.rpc.amqp ^[[01;35m^[[00m  File "/opt/stack/neutron/neutron/plugins/ml2/rpc.py", line 192, in update_device_up
> ^[[01;31m2013-11-27 16:38:29.755 TRACE neutron.openstack.common.rpc.amqp ^[[01;35m^[[00m    q_const.PORT_STATUS_ACTIVE)
> ^[[01;31m2013-11-27 16:38:29.755 TRACE neutron.openstack.common.rpc.amqp ^[[01;35m^[[00m  File "/opt/stack/neutron/neutron/plugins/ml2/plugin.py", line 690, in update_port_status
> ^[[01;31m2013-11-27 16:38:29.755 TRACE neutron.openstack.common.rpc.amqp ^[[01;35m^[[00m    self.mechanism_manager.update_port_postcommit(mech_context)
> ^[[01;31m2013-11-27 16:38:29.755 TRACE neutron.openstack.common.rpc.amqp ^[[01;35m^[[00m  File "/opt/stack/neutron/neutron/plugins/ml2/managers.py", line 395, in update_port_postcommit
> ^[[01;31m2013-11-27 16:38:29.755 TRACE neutron.openstack.common.rpc.amqp ^[[01;35m^[[00m    self._call_on_drivers("update_port_postcommit", context)
> ^[[01;31m2013-11-27 16:38:29.755 TRACE neutron.openstack.common.rpc.amqp ^[[01;35m^[[00m  File "/opt/stack/neutron/neutron/plugins/ml2/managers.py", line 167, in _call_on_drivers
> ^[[01;31m2013-11-27 16:38:29.755 TRACE neutron.openstack.common.rpc.amqp ^[[01;35m^[[00m    method=method_name
> ^[[01;31m2013-11-27 16:38:29.755 TRACE neutron.openstack.common.rpc.amqp ^[[01;35m^[[00mMechanismDriverError: update_port_postcommit failed.
> 
> Also now when I try to manually ssh to the switch, I get this error
> 
> [root at openstackcoi logs]# ssh 172.25.31.82 -l admin
> ssh_exchange_identification: Connection closed by remote host
> 
> This is my ml2_conf_cisco.ini
> 
> [ml2_mech_cisco_nexus:172.25.31.82]
> openstackcoi=1/1
> ssh_port=22
> username=admin
> password=*******
> 
> Regards,
> Sayaji
> 
Sayali:

Can you try ensuring you've done an ssh to the switch using the same username you are running devstack as? I believe you have to do this for the ssh to work, and only need to do this once. Let me know if this solves your problem.

Thanks,
Kyle

> 
> 
> _______________________________________________
> Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
> Post to     : openstack at lists.openstack.org
> Unsubscribe : 
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack



_______________________________________________
Mailing list: http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack
Post to     : openstack at lists.openstack.org
Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack





More information about the Openstack mailing list