We've seen this a few times but have not gotten to the root cause. When we've seen this, it appears to be related to an AMQPConnectionException (trace below).
2013-04-26 18:32:00 ERROR [quantum.api.v2.resource] create failed
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/quantum/api/v2/resource.py", line 82, in resource
result = method(request=request, **args)
File "/usr/lib/python2.7/dist-packages/quantum/api/v2/base.py", line 370, in create
return notify({self._resource: self._view(obj)})
File "/usr/lib/python2.7/dist-packages/quantum/api/v2/base.py", line 350, in notify
notifier_method)
File "/usr/lib/python2.7/dist-packages/quantum/api/v2/base.py", line 234, in _send_dhcp_notification
self._dhcp_agent_notifier.notify(context, data, methodname)
File "/usr/lib/python2.7/dist-packages/quantum/api/rpc/agentnotifiers/dhcp_rpc_agent_api.py", line 131, in notify
self._notification(context, methodname, data, network_id)
File "/usr/lib/python2.7/dist-packages/quantum/api/rpc/agentnotifiers/dhcp_rpc_agent_api.py", line 82, in _notification
topic='%s.%s' % (topic, host))
File "/usr/lib/python2.7/dist-packages/quantum/openstack/common/rpc/proxy.py", line 113, in cast
rpc.cast(context, self._get_topic(topic), msg)
File "/usr/lib/python2.7/dist-packages/quantum/openstack/common/rpc/_init_.py", line 158, in cast
return _get_impl().cast(CONF, context, topic, msg)
File "/usr/lib/python2.7/dist-packages/quantum/openstack/common/rpc/impl_kombu.py", line 805, in cast
rpc_amqp.get_connection_pool(conf, Connection))
File "/usr/lib/python2.7/dist-packages/quantum/openstack/common/rpc/amqp.py", line 625, in cast
conn.topic_send(topic, rpc_common.serialize_msg(msg))
File "/usr/lib/python2.7/dist-packages/quantum/openstack/common/rpc/amqp.py", line 152, in _exit_
self._done()
File "/usr/lib/python2.7/dist-packages/quantum/openstack/common/rpc/amqp.py", line 141, in _done
self.connection.reset()
File "/usr/lib/python2.7/dist-packages/quantum/openstack/common/rpc/impl_kombu.py", line 596, in reset
self.channel = self.connection.channel()
File "/usr/lib/python2.7/dist-packages/kombu/connection.py", line 159, in channel
chan = self.transport.create_channel(self.connection)
File "/usr/lib/python2.7/dist-packages/kombu/transport/pyamqplib.py", line 235, in create_channel
return connection.channel()
File "/usr/lib/python2.7/dist-packages/kombu/transport/pyamqplib.py", line 144, in channel
return Channel(self, channel_id)
File "/usr/lib/python2.7/dist-packages/kombu/transport/pyamqplib.py", line 183, in _init_
super(Channel, self)._init_(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/amqplib/client_0_8/channel.py", line 82, in _init_
self._x_open()
File "/usr/lib/python2.7/dist-packages/amqplib/client_0_8/channel.py", line 471, in _x_open
(20, 11), # Channel.open_ok
File "/usr/lib/python2.7/dist-packages/amqplib/client_0_8/abstract_channel.py", line 95, in wait
self.channel_id, allowed_methods)
File "/usr/lib/python2.7/dist-packages/amqplib/client_0_8/connection.py", line 231, in _wait_method
self.wait()
File "/usr/lib/python2.7/dist-packages/amqplib/client_0_8/abstract_channel.py", line 97, in wait
return self.dispatch_method(method_sig, args, content)
File "/usr/lib/python2.7/dist-packages/amqplib/client_0_8/abstract_channel.py", line 115, in dispatch_method
return amqp_method(self, args)
File "/usr/lib/python2.7/dist-packages/amqplib/client_0_8/connection.py", line 380, in _close
raise AMQPConnectionException(reply_code, reply_text, (class_id, method_id))
AMQPConnectionException: (503, u"COMMAND_INVALID - second 'channel.open' seen", (20, 10), 'Channel.open')
We've seen this a few times but have not gotten to the root cause. When we've seen this, it appears to be related to an AMQPConnectionE xception (trace below).
2013-04-26 18:32:00 ERROR [quantum. api.v2. resource] create failed python2. 7/dist- packages/ quantum/ api/v2/ resource. py", line 82, in resource request= request, **args) python2. 7/dist- packages/ quantum/ api/v2/ base.py" , line 370, in create {self._ resource: self._view(obj)}) python2. 7/dist- packages/ quantum/ api/v2/ base.py" , line 350, in notify python2. 7/dist- packages/ quantum/ api/v2/ base.py" , line 234, in _send_dhcp_ notification agent_notifier. notify( context, data, methodname) python2. 7/dist- packages/ quantum/ api/rpc/ agentnotifiers/ dhcp_rpc_ agent_api. py", line 131, in notify ion(context, methodname, data, network_id) python2. 7/dist- packages/ quantum/ api/rpc/ agentnotifiers/ dhcp_rpc_ agent_api. py", line 82, in _notification python2. 7/dist- packages/ quantum/ openstack/ common/ rpc/proxy. py", line 113, in cast topic(topic) , msg) python2. 7/dist- packages/ quantum/ openstack/ common/ rpc/_init_ .py", line 158, in cast ).cast( CONF, context, topic, msg) python2. 7/dist- packages/ quantum/ openstack/ common/ rpc/impl_ kombu.py" , line 805, in cast get_connection_ pool(conf, Connection)) python2. 7/dist- packages/ quantum/ openstack/ common/ rpc/amqp. py", line 625, in cast send(topic, rpc_common. serialize_ msg(msg) ) python2. 7/dist- packages/ quantum/ openstack/ common/ rpc/amqp. py", line 152, in _exit_ python2. 7/dist- packages/ quantum/ openstack/ common/ rpc/amqp. py", line 141, in _done .reset( ) python2. 7/dist- packages/ quantum/ openstack/ common/ rpc/impl_ kombu.py" , line 596, in reset .channel( ) python2. 7/dist- packages/ kombu/connectio n.py", line 159, in channel create_ channel( self.connection ) python2. 7/dist- packages/ kombu/transport /pyamqplib. py", line 235, in create_channel channel( ) python2. 7/dist- packages/ kombu/transport /pyamqplib. py", line 144, in channel python2. 7/dist- packages/ kombu/transport /pyamqplib. py", line 183, in _init_ python2. 7/dist- packages/ amqplib/ client_ 0_8/channel. py", line 82, in _init_ python2. 7/dist- packages/ amqplib/ client_ 0_8/channel. py", line 471, in _x_open python2. 7/dist- packages/ amqplib/ client_ 0_8/abstract_ channel. py", line 95, in wait python2. 7/dist- packages/ amqplib/ client_ 0_8/connection. py", line 231, in _wait_method python2. 7/dist- packages/ amqplib/ client_ 0_8/abstract_ channel. py", line 97, in wait method( method_ sig, args, content) python2. 7/dist- packages/ amqplib/ client_ 0_8/abstract_ channel. py", line 115, in dispatch_method python2. 7/dist- packages/ amqplib/ client_ 0_8/connection. py", line 380, in _close xception( reply_code, reply_text, (class_id, method_id)) xception: (503, u"COMMAND_INVALID - second 'channel.open' seen", (20, 10), 'Channel.open')
Traceback (most recent call last):
File "/usr/lib/
result = method(
File "/usr/lib/
return notify(
File "/usr/lib/
notifier_method)
File "/usr/lib/
self._dhcp_
File "/usr/lib/
self._notificat
File "/usr/lib/
topic='%s.%s' % (topic, host))
File "/usr/lib/
rpc.cast(context, self._get_
File "/usr/lib/
return _get_impl(
File "/usr/lib/
rpc_amqp.
File "/usr/lib/
conn.topic_
File "/usr/lib/
self._done()
File "/usr/lib/
self.connection
File "/usr/lib/
self.channel = self.connection
File "/usr/lib/
chan = self.transport.
File "/usr/lib/
return connection.
File "/usr/lib/
return Channel(self, channel_id)
File "/usr/lib/
super(Channel, self)._init_(*args, **kwargs)
File "/usr/lib/
self._x_open()
File "/usr/lib/
(20, 11), # Channel.open_ok
File "/usr/lib/
self.channel_id, allowed_methods)
File "/usr/lib/
self.wait()
File "/usr/lib/
return self.dispatch_
File "/usr/lib/
return amqp_method(self, args)
File "/usr/lib/
raise AMQPConnectionE
AMQPConnectionE
From the rabbitmq server log we see:
=ERROR REPORT==== 26-Apr- 2013::18: 32:00 === command_ invalid, "second 'channel.open' seen",' channel. open'}
connection <0.4636.4664>, channel 1 - error:
{amqp_error,
=INFO REPORT==== 26-Apr- 2013::18: 32:00 ===
closing TCP connection <0.4636.4664> from 10.14.4.10:43696
=INFO REPORT==== 26-Apr- 2013::18: 32:00 ===
accepted TCP connection on [::]:5672 from 10.14.4.10:56491
=INFO REPORT==== 26-Apr- 2013::18: 32:00 ===
starting TCP connection <0.1651.4844> from 10.14.4.10:56491