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

Sławek Kapłoński slawek at kaplonski.pl
Wed Mar 12 21:35:05 UTC 2014


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\n    result = getattr(proxyobj, method)(ctxt, **kwargs)\n', u'
> File "/opt/stack/neutron/neutron/plugins/ml2/rpc.py", line 192, in
> update_device_up\n    q_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\n    self._call_on_drivers("update_port_postcommit",
> context)\n', u'  File "/opt/stack/neutron/neutron/plugins/ml2/managers.py",
> line 167, in _call_on_drivers\n    method=method_name\n',
> u'MechanismDriverError: update_port_postcommit failed.\n'].
> 
> 
> Regards,
> 
> Nader



More information about the OpenStack-dev mailing list