neutron-dynamic-routing/doc/source/admin/agent-scheduler.rst
Ryan Tidwell 34655a8e6e
Migrate neutron-dynamic-routing from Ryu to os-ken
This change causes neutron-dynamic-routing to stop consuming Ryu
in favor of os-ken. os-ken becomes the reference implementation
for BGP services and neutron-dynamic-routing no longer has a
dependency on Ryu.

Partially-Implements: blueprint ryu-framework-maintenace-transition
Change-Id: I4a68440809cad5de2d6d191f7211d68b542672e5
2018-12-18 14:03:13 -06:00

4.6 KiB

Agent

Neutron-dynamic-routing implements a new agent named "DRAgent". The agent talks to the neutron-dynamic-routing plugin which resides in the neutron server to get routing entity configuration. DRAgent interacts with the back-end driver to realize the required dynamic routing protocol functionality. For details, please refer to the system design document system-design

Note

One DRAgent can support multiple drivers but currently ONLY os-ken is integrated successfully.

Scheduler

Neutron-dynamic-routing scheduler, schedules a routing entity to a proper DRAgent.

BGP Scheduler

BGP Speaker and DRAgent has 1:N association which means one BGP speaker can be scheduled on multiple DRAgents.

Here is an example to associate/disassociate a BGP Speaker to/from a DRAgent.

(neutron) bgp-speaker-list
+--------------------------------------+------+----------+------------+
| id                                   | name | local_as | ip_version |
+--------------------------------------+------+----------+------------+
| 0967eb04-59e5-4ca6-a0b0-d584d8d4a132 | bgp2 |      200 |          4 |
| a73432c3-a3fc-4b1e-9be2-6c32a61df579 | bgp1 |      100 |          4 |
+--------------------------------------+------+----------+------------+

(neutron) agent-list
+--------------------------------------+---------------------------+---------------------+-------------------+-------+----------------+---------------------------+
| id                                   | agent_type                | host                | availability_zone | alive | admin_state_up | binary                    |
+--------------------------------------+---------------------------+---------------------+-------------------+-------+----------------+---------------------------+
| 0c21a829-4fd6-4375-8e65-36db4dc434ac | DHCP agent                | steve-devstack-test | nova              | :-)   | True           | neutron-dhcp-agent        |
| 0f9d6886-910d-4af4-b248-673b22eb9e78 | Metadata agent            | steve-devstack-test |                   | :-)   | True           | neutron-metadata-agent    |
| 5908a304-b9d9-4e8c-a0af-96a066a7c87e | Open vSwitch agent        | steve-devstack-test |                   | :-)   | True           | neutron-openvswitch-agent |
| ae74e375-6a75-4ebe-b85c-6628d2baf02f | L3 agent                  | steve-devstack-test | nova              | :-)   | True           | neutron-l3-agent          |
| dbd9900e-9d16-444d-afc4-8d0035df5ed5 | BGP dynamic routing agent | steve-devstack-test |                   | :-)   | True           | neutron-bgp-dragent       |
+--------------------------------------+---------------------------+---------------------+-------------------+-------+----------------+---------------------------+

(neutron) bgp-dragent-speaker-add dbd9900e-9d16-444d-afc4-8d0035df5ed5 bgp1
Associated BGP speaker bgp1 to the Dynamic Routing agent.

(neutron) bgp-speaker-list-on-dragent dbd9900e-9d16-444d-afc4-8d0035df5ed5
+--------------------------------------+------+----------+------------+
| id                                   | name | local_as | ip_version |
+--------------------------------------+------+----------+------------+
| a73432c3-a3fc-4b1e-9be2-6c32a61df579 | bgp1 |      100 |          4 |
+--------------------------------------+------+----------+------------+

(neutron) bgp-dragent-speaker-remove dbd9900e-9d16-444d-afc4-8d0035df5ed5 bgp1
Disassociated BGP speaker bgp1 from the Dynamic Routing agent.

(neutron) bgp-speaker-list-on-dragent dbd9900e-9d16-444d-afc4-8d0035df5ed5

(neutron)

Note

Currently, auto-scheduling is not supported.

ReST API's for neutron-dynamic-routing scheduler is defined in the API document /reference/index