]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commit
Add L3 Extension for Distributed Routers
authorSwaminathan Vasudevan <swaminathan.vasudevan@hp.com>
Mon, 31 Mar 2014 19:19:03 +0000 (12:19 -0700)
committerarmando-migliaccio <armamig@gmail.com>
Wed, 16 Jul 2014 14:33:43 +0000 (07:33 -0700)
commit1caa51ea68ba9844ed6e48b3714b742c9096c0af
treec24e941ace61bd59099216c32400ce84d669316c
parentfb6e0653acfba9654c9119427ada0ad6c7211813
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>
16 files changed:
etc/neutron.conf
etc/policy.json
neutron/api/v2/attributes.py
neutron/common/constants.py
neutron/db/l3_attrs_db.py [new file with mode: 0644]
neutron/db/l3_db.py
neutron/db/l3_dvr_db.py [new file with mode: 0644]
neutron/db/l3_rpc_base.py
neutron/db/migration/alembic_migrations/versions/3927f7f7c456_l3_extension_distributed_mode.py [new file with mode: 0644]
neutron/db/migration/alembic_migrations/versions/HEAD
neutron/db/migration/models/head.py
neutron/extensions/dvr.py [new file with mode: 0644]
neutron/services/l3_router/l3_router_plugin.py
neutron/tests/unit/db/test_l3_dvr_db.py [new file with mode: 0644]
neutron/tests/unit/test_l3_plugin.py
neutron/tests/unit/vmware/test_nsx_plugin.py