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