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:kmest...@cisco.com] Sent: Friday, November 29, 2013 7:57 PM To: Sayaji Patil Cc: <openstack@lists.openstack.org> Subject: Re: [Openstack] Error in ml2 with cisco_nexus driver On Nov 29, 2013, at 1:11 PM, Sayaji Patil <sayaj...@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@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@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@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@lists.openstack.org Unsubscribe : http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack