[openstack-dev] [neutron][oslo][all] publisher/subscriber mechanism for resources (fanout+versioned objects)
Miguel Angel Ajo
mangelajo at redhat.com
Thu Jun 25 11:35:45 UTC 2015
Within the neutron/QoS design I've been working on the messaging
bits trying to design
an architecture  which allowed (in combination with oslo versioned
objects) easy distribution
of resource changes across interested subscribers.
Our use case is neutron-server (or service plugins) as producer(s)
and, the agents, as consumers
of such resources.
The simplest example are security group members. Ideally, when there
is an update to the member
ports of a security group, a single fanout message from the server may
serve all agents needing
to update their ip lists and/or low level resources. Same happens for
SG-rules, or QoS policies/rules.
The idea of this design is relying on vo's ability to
downgrade/upgrade objects to cover rolling upgrades
(see that section with different options).
We'd like to explore this mechanism within neutron if it makes sense
as it is, and once tested we believe
it could be exported either as a new oslo library, an extension of the
messaging library, or the versioned
objects library. And this is why Ihar pushed me a bit to ask for wider
feedback, so we can converge
into a better solution from the start.
Please note, we're planning to develop this (or step back to our
traditional "add more rpc calls for new resources"
...) during the neutron coding sprint happening Jul 30 to Jun 2 in
More information about the OpenStack-dev