Add L3 Extension for Distributed Routers
This patch introduces the model and extension framework for implementing distributed virtual routing on top of Open vSwitch. A new admin-only 'distributed' (as opposed to a 'centralized' or legacy-mode) attribute is added to the API router resource. It is possible to convert an existing (centralized) router to a distributed one; the opposite conversion, even though allowed by the API, may not be honored by the underlying plugin implementation and an appropriate error will be reported. When creating a router (regardless of the user role), Neutron will rely on a system wide configuration, whose default currently allows to create 'centralized' routers. Tests are added for basic unit coverage; when the first building blocks for neutron-testing-refactor are complete, functional testing will be added. This is because we should be moving away from how extension tests have been done up until now. Partially-implements: blueprint neutron-ovs-dvr DocImpact Change-Id: I7227fbe2718eba6665a5afb5dcaaaa77b341091f Authored-by: Swaminathan Vasudevan <swaminathan.vasudevan@hp.com> Co-Authored-By: Armando Migliaccio <armamig@gmail.com>
This commit is contained in:
parent
21055b9b29
commit
00c2f0e00e
|
@ -63,7 +63,9 @@
|
|||
"delete_port": "rule:admin_or_owner",
|
||||
|
||||
"create_router:external_gateway_info:enable_snat": "rule:admin_only",
|
||||
"create_router:distributed": "rule:admin_only",
|
||||
"update_router:external_gateway_info:enable_snat": "rule:admin_only",
|
||||
"update_router:distributed": "rule:admin_only",
|
||||
|
||||
"create_firewall": "",
|
||||
"get_firewall": "rule:admin_or_owner",
|
||||
|
@ -104,6 +106,7 @@
|
|||
|
||||
"create_router": "rule:regular_user",
|
||||
"get_router": "rule:admin_or_owner",
|
||||
"get_router:distributed": "rule:admin_only",
|
||||
"update_router:add_router_interface": "rule:admin_or_owner",
|
||||
"update_router:remove_router_interface": "rule:admin_or_owner",
|
||||
"delete_router": "rule:admin_or_owner",
|
||||
|
|
|
@ -29,6 +29,7 @@ from neutron.db import extradhcpopt_db # noqa
|
|||
from neutron.db import extraroute_db # noqa
|
||||
from neutron.db.firewall import firewall_db # noqa
|
||||
from neutron.db import l3_agentschedulers_db # noqa
|
||||
from neutron.db import l3_attrs_db # noqa
|
||||
from neutron.db import l3_db # noqa
|
||||
from neutron.db import l3_gwmode_db # noqa
|
||||
from neutron.db.loadbalancer import loadbalancer_db # noqa
|
||||
|
|
Loading…
Reference in New Issue