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
_______________________________________________
OpenStack-dev mailing list
[email protected]
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev