RPC callback failure happens in metaplugin

Bug #1267330 reported by Itsuro Oda
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Medium
Itsuro Oda

Bug Description

Each target plugin under metaplugin opens topics.PLUGIN (q-plugin) consumer.
RPC call from an agent is recieved one of target plugin randomly.
Fortunately most of RPC callbacks are common for plugins but if an RPC is not supported by the received plugin, the following error occurs for example.

---
ERROR neutron.openstack.common.rpc.amqp [req-be2e4111-3b81-46eb-9200-f4ff7d75984a None None] Exception during message handling
TRACE neutron.openstack.common.rpc.amqp Traceback (most recent call last):
TRACE neutron.openstack.common.rpc.amqp File "/usr/local/lib/python2.7/dist-packages/neutron/openstack/common/rpc/amqp.py", line 438, in _process_data
TRACE neutron.openstack.common.rpc.amqp **args)
TRACE neutron.openstack.common.rpc.amqp File "/usr/local/lib/python2.7/dist-packages/neutron/common/rpc.py", line 45, in dispatch
TRACE neutron.openstack.common.rpc.amqp neutron_ctxt, version, method, namespace, **kwargs)
TRACE neutron.openstack.common.rpc.amqp File "/usr/local/lib/python2.7/dist-packages/neutron/openstack/common/rpc/dispatcher.py", line 176, in dispatch
TRACE neutron.openstack.common.rpc.amqp raise AttributeError("No such RPC function '%s'" % method)
TRACE neutron.openstack.common.rpc.amqp AttributeError: No such RPC function 'security_group_rules_for_devices'
---

Revision history for this message
Itsuro Oda (oda-g) wrote :

This is one of risk when using metaplugin.
Fundamental fix of this problem is very difficult.
But I will propose a fix which relaxes the risk.

Changed in neutron:
assignee: nobody → Itsuro Oda (oda-g)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.openstack.org/79858

Changed in neutron:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.openstack.org/79858
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=b98704e80b030f3a7db60cf244e29521008e94f2
Submitter: Jenkins
Branch: master

commit b98704e80b030f3a7db60cf244e29521008e94f2
Author: Itsuro Oda <email address hidden>
Date: Tue Dec 17 10:16:51 2013 +0900

    Enable to select an RPC handling plugin under Metaplugin

    Multiple plugins under metaplugin become 'q-plugin' topic
    consumers and a request from an agent is handled by one of
    them randomly. Fortunatly most of RPC callbacks are common
    for plugins but a problem occurs if an RPC is not supported
    by the received plugin.

    This is one of risks when using metaplugin. Fundamental fix
    of this problem (such as RPC delegation handling of metaplugin)
    is difficult since each plugin needs to modify.
    But when only one plugin has plugin specific RPCs and other
    RPCs are independet of plugins, if the plugin can be selected
    for RPC handling, the problem does not happen. Typical use
    case of metaplugin such as combination of an agent-based
    plugin and a controller-based plugin often applies to this
    condition.

    This patch adds 'rpc_flavor' configuration parameter to
    select an RPC handling plugin. If 'rpc_flavor' is specified,
    only the specified plugin becomes 'q-plugin' topic consumer.
    If 'rpc_flavor' is not specified, the behavior is same as
    previous one.

    Change-Id: If133b054bba53829cebe63c1e0ebe6099eb1fd95
    Closes-bug: #1267330
    DocImpact

Changed in neutron:
status: In Progress → Fix Committed
Akihiro Motoki (amotoki)
Changed in neutron:
milestone: none → icehouse-rc1
importance: Undecided → Medium
Thierry Carrez (ttx)
Changed in neutron:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in neutron:
milestone: icehouse-rc1 → 2014.1
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.