[openstack-dev] [openstack][Multi-Node][ML2][MechanismDriver] How to load mechanism driver on compute nodes

2014-03-12 Thread Nader Lahouti
Hi All,

I installed multi nodes openstack (using devstack)  with ML2 as core
plugin. I need to perform a task when update_port_pre/post_commit methods
is called during installation of VM.
As I enabled q-svc and q-agt on control and only q-agt on the compute node,
compute node won't run neutron-server so no mechanism driver is loaded.
I see the port event on compute node with this failure shown below.

Is there anyway to load mechanism driver for compute nodes?

2014-03-12 10:35:05.418 TRACE
neutron.plugins.openvswitch.agent.ovs_neutron_agent   File
/opt/stack/neutron/neutron/openstack/common/rpc/amqp.py, line 516, in
__iter__

2014-03-12 10:35:05.418 TRACE
neutron.plugins.openvswitch.agent.ovs_neutron_agent raise result

2014-03-12 10:35:05.418 TRACE
neutron.plugins.openvswitch.agent.ovs_neutron_agent RemoteError: Remote
error: MechanismDriverError update_port_postcommit failed.

2014-03-12 10:35:05.418 TRACE
neutron.plugins.openvswitch.agent.ovs_neutron_agent [u'Traceback (most
recent call last):\n', u'  File
/opt/stack/neutron/neutron/openstack/common/rpc/amqp.py, line 438, in
_process_data\n**args)\n', u'  File
/opt/stack/neutron/neutron/common/rpc.py, line 44, in dispatch\n
neutron_ctxt, version, method, namespace, **kwargs)\n', u'  File
/opt/stack/neutron/neutron/openstack/common/rpc/dispatcher.py, line 172,
in dispatch\nresult = getattr(proxyobj, method)(ctxt, **kwargs)\n', u'
File /opt/stack/neutron/neutron/plugins/ml2/rpc.py, line 192, in
update_device_up\nq_const.PORT_STATUS_ACTIVE)\n', u'  File
/opt/stack/neutron/neutron/plugins/ml2/plugin.py, line 681, in
update_port_status\n
self.mechanism_manager.update_port_postcommit(mech_context)\n', u'  File
/opt/stack/neutron/neutron/plugins/ml2/managers.py, line 395, in
update_port_postcommit\nself._call_on_drivers(update_port_postcommit,
context)\n', u'  File /opt/stack/neutron/neutron/plugins/ml2/managers.py,
line 167, in _call_on_drivers\nmethod=method_name\n',
u'MechanismDriverError: update_port_postcommit failed.\n'].


Regards,

Nader
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [openstack][Multi-Node][ML2][MechanismDriver] How to load mechanism driver on compute nodes

2014-03-12 Thread Sławek Kapłoński
Hello,

Maybe I'm not an expert but You probably should use agent (like openvswitch 
agent) and send such messages from neutron server to compute nodes via RPC.
This is how I do such things (I'm using openvswitch agent which is modified by 
me a little bit)

--
Pozdrawiam
Sławek Kapłoński

Dnia środa, 12 marca 2014 14:27:01 Nader Lahouti pisze:
 Hi All,
 
 I installed multi nodes openstack (using devstack)  with ML2 as core
 plugin. I need to perform a task when update_port_pre/post_commit methods
 is called during installation of VM.
 As I enabled q-svc and q-agt on control and only q-agt on the compute node,
 compute node won't run neutron-server so no mechanism driver is loaded.
 I see the port event on compute node with this failure shown below.
 
 Is there anyway to load mechanism driver for compute nodes?
 
 2014-03-12 10:35:05.418 TRACE
 neutron.plugins.openvswitch.agent.ovs_neutron_agent   File
 /opt/stack/neutron/neutron/openstack/common/rpc/amqp.py, line 516, in
 __iter__
 
 2014-03-12 10:35:05.418 TRACE
 neutron.plugins.openvswitch.agent.ovs_neutron_agent raise result
 
 2014-03-12 10:35:05.418 TRACE
 neutron.plugins.openvswitch.agent.ovs_neutron_agent RemoteError: Remote
 error: MechanismDriverError update_port_postcommit failed.
 
 2014-03-12 10:35:05.418 TRACE
 neutron.plugins.openvswitch.agent.ovs_neutron_agent [u'Traceback (most
 recent call last):\n', u'  File
 /opt/stack/neutron/neutron/openstack/common/rpc/amqp.py, line 438, in
 _process_data\n**args)\n', u'  File
 /opt/stack/neutron/neutron/common/rpc.py, line 44, in dispatch\n
 neutron_ctxt, version, method, namespace, **kwargs)\n', u'  File
 /opt/stack/neutron/neutron/openstack/common/rpc/dispatcher.py, line 172,
 in dispatch\nresult = getattr(proxyobj, method)(ctxt, **kwargs)\n', u'
 File /opt/stack/neutron/neutron/plugins/ml2/rpc.py, line 192, in
 update_device_up\nq_const.PORT_STATUS_ACTIVE)\n', u'  File
 /opt/stack/neutron/neutron/plugins/ml2/plugin.py, line 681, in
 update_port_status\n
 self.mechanism_manager.update_port_postcommit(mech_context)\n', u'  File
 /opt/stack/neutron/neutron/plugins/ml2/managers.py, line 395, in
 update_port_postcommit\nself._call_on_drivers(update_port_postcommit,
 context)\n', u'  File /opt/stack/neutron/neutron/plugins/ml2/managers.py,
 line 167, in _call_on_drivers\nmethod=method_name\n',
 u'MechanismDriverError: update_port_postcommit failed.\n'].
 
 
 Regards,
 
 Nader

___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev