rpc callback mechanism does not support upgrades

Bug #1535247 reported by Miguel Angel Ajo
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Medium
Miguel Angel Ajo

Bug Description

Liberty introduced the RPC callback mechanism, which is mainly used by QoS so far, and planned
to be reused in general as notification for neutron versioned objects, when we have those more
widely implemented.

The mechanism relies on updating agents with fanout notifications per object version, as versioned
objects have the ability to downgrade themselves before serialization, allowing older agents
to still understand such objects.

We lack a mechanism to identify the running agent versions, and calculate, on realtime, the version
set that we need to fanout for every resource type we push through the API to the RPC callback
subscribers.

A devref with the logic was merged here: https://review.openstack.org/#/c/241154/

Implementation is being developed on this topic: https://review.openstack.org/#/q/topic:rpccallback-upgrades

Changed in neutron:
importance: Undecided → High
assignee: nobody → Miguel Angel Ajo (mangelajo)
importance: High → Medium
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to neutron (master)

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

commit cb188817700f5caeac57577455cbb7d77b23e823
Author: Miguel Angel Ajo <email address hidden>
Date: Fri Jan 8 17:47:01 2016 +0100

    RPC Callback rolling upgrades logic

    Introduces a version manager in the callbacks rpc, which tracks
    the agents' known resource versions across the distributed system,
    making rpc callback push notifications smart about which resource
    versions need to be serialized and sent over the wire during a
    cloud upgrade process.

    Subsequent patches will implement the callback to fetch agent
    resource versions from database, the status updates with
    agent resource versions included, and the fast path agent to
    neutron-servers fanout call with version details as defined
    in change I02b694137eb2d58e5f2f3e7631f0e4b90f7c17ad

    Related-Bug: #1535247

    Change-Id: I3fb49ae6fe237a926225b508bc8f0286426bf532

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

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

commit 97a272a892fcf488949eeec4959156618caccae8
Author: Miguel Angel Ajo <email address hidden>
Date: Thu Jan 14 17:13:56 2016 +0100

    RPC Callback rolling upgrades reporting, and integration

    This is the second patch to allow upgrades on RPC versioned
    objects callbacks.

    This enables resource version notifications from agents to all
    neutron servers via fanout for updating the version sets in
    memory, and via agent status updates for DB storage, so any
    neutron server can retrieve such information at boot.

    Closes-Bug: #1535247

    Change-Id: I67c1323267aaf7e49f4a359ff50b94e52dba4380

Changed in neutron:
status: In Progress → Fix Released
Revision history for this message
Thierry Carrez (ttx) wrote : Fix included in openstack/neutron 8.0.0.0b3

This issue was fixed in the openstack/neutron 8.0.0.0b3 development milestone.

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.