[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

Hi all,

    Within the neutron/QoS design I've been working on the messaging 
bits trying to design
an architecture [1][2] 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 
Israel [3].

Best regards,
Miguel Ángel.

[1] https://review.openstack.org/#/c/190635/
[3] https://etherpad.openstack.org/p/neutron-liberty-qos-code-sprint

More information about the OpenStack-dev mailing list