rpc callback mechanism does not support upgrades
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:/
Implementation is being developed on this topic: https:/
Changed in neutron: | |
importance: | Undecided → High |
assignee: | nobody → Miguel Angel Ajo (mangelajo) |
importance: | High → Medium |
Reviewed: https:/ /review. openstack. org/265347 /git.openstack. org/cgit/ openstack/ neutron/ commit/ ?id=cb188817700 f5caeac57577455 cbb7d77b23e823
Committed: https:/
Submitter: Jenkins
Branch: master
commit cb188817700f5ca eac57577455cbb7 d77b23e823
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 8e5f2f3e7631f0e 4b90f7c17ad
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 I02b694137eb2d5
Related-Bug: #1535247
Change-Id: I3fb49ae6fe237a 926225b508bc8f0 286426bf532