Neutron agent port population

asked 2014-10-30 08:01:01 -0500

Sam Whitlock gravatar image

I'm writing a Neutron agent that is different from the other main agents (e.g. OVS, Linux bridge, SR-IOV) in 2 ways

  • It does not run on a compute node (it has a separate control channel to another network switch; as long as it can talk to AMQP and this other control channel, it can reside anywhere)
  • It needs to have all the firewall rules for all networks and ports.

The most often used agents (OVS) poll for local changes to detect new ports: Nova will plug a port into the integration bridge, and then Neutron will notice it on an OVSDB query and request port information for it.

I need my agent to get updates from Neutron server of all port updates, or at least the 'device' attribute so I can make a query through the security group API. The port_update channel in AMQP never receives messages (or so it seems, when I watched it with amqp-spy), and I need the port info so I can respond when I receive a notification on the security rules update channel (which only pushes the UUID of the security group).

Any ideas on how I might populate/retrieve this info?

I think I may be missing some AMQP topic subscription, or something else in the server <-> agent API, but I'm having a hard time searching for solutions.

edit retag flag offensive close merge delete