Initial implementation
Changes in the mechanism driver:
* Automatically create a port with device_owner=network:dhcp to
serve metadata and eventually DHCP.
* Auto-allocate an IP for the metadata port on subnet creation.
* Push static route for 169.254.169.254 in DHCP options.
* Wait until metadata service is provisioned in the chassis where
a port resides before sending the event to Nova.
Agent:
* Implementation of [0].
Devstack plugin:
* Starts networking-ovn-agent with the proper config files.
* Disables config drive in nova.conf for tempest against master
branch.
* Enables TEMPEST_RUN_VALIDATION for tempest against master branch.
In order to test this patch out we need to make these changes to
nova.conf:
* [DEFAULT] section:
force_config_drive = False
* [neutron] section:
service_metadata_proxy = True
This patch depends on [1] and [2] (already merged into OVS master).
NOTE: Metadata tests are only enabled for the non-voting tempest job
which runs against OVS master branch. The release job runs against
OVS 2.7 which doesn't include [1][2] so those tests are disabled
until OVS 2.8 is released.
[0]
https://docs.openstack.org/developer/networking-ovn/design/metadata_api.html
[1] https://patchwork.ozlabs.org/patch/767369/
[2] https://patchwork.ozlabs.org/patch/771297/
Change-Id: Ife2fd18f2f88050429e70c7e557fa41d2d54b034
This change removes the now unused "warnerrors" setting,
which is replaced by "warning-is-error" in sphinx
releases >= 1.5 [1].
[1] http://lists.openstack.org/pipermail/openstack-dev/
2017-March/113085.html
Change-Id: I439392b79de5a09699b566c3f544c7ae19e8326c
This patch contains the skeleton for migration scripts which will later
be used as base for introducing new database tables for networking-ovn.
Partial-Bug: #1605089
Change-Id: Ie5b62bdb40e46b1856ac67a9519dbbf417c05784
Adapt new QoS driver to fix devstack failure.
Override test_floatingip_update_subnet_gateway_disabled to fix unit
test.
Change mapping_dict.keys() to list(mapping_dict.keys()) in
_get_chassis_physnets to fix python3.5 dsvm functional test
Closes-Bug: #1683722
Closes-Bug: #1659821
Change-Id: Ic51ca5e396a34197cdc60844a9eaaa605041ccc5
The gating on python 3.4 is restricted to <= Mitaka. This is due to
the change from Ubuntu Trusty to Xenial, where only python3.5 is
available. There is no need to continue to keep these settings.
Change-Id: I4aa30dfc2ee5097d541acb31ef0183a22d0cfd02
Python 3.3 is not supported from Mitaka, as per Infra.
This patch removes the support for the same.
Change-Id: I0c23960c413d74433b5cc96473b9e61ae6112577
Now that there is a passing gate job, we can claim support for
Python 3.5 in the classifier. This patch also adds the convenience
py35 venv.
Change-Id: Id237932288d61b3e1121eb26e5734aedb88e8fad
Add OVN NB sync support for ML2. The OVN NB synchronizer
was update to support ML2 while maintaining the core plugin
support. TODOs were added to the code for items to handle
when the core plugin is removed.
The OVN NB synchronizer also works from the command line tool.
This patch set also fixes router sync to only apply when
OVN L3 is enabled.
Change-Id: I9d16301c3f85586def78898545a57c9a74a1594c
Partial-Bug: #1578198
Add QoS support to the OVN ML2 mechanism driver. Since OVN does not
have an neutron L2 agent, the Qos agent extension driver framework can
not be used.
All of the QoS logic has been moved out of the mechanism driver and into
a separate module to make it easier to maintain.
Done/tested:
- Create port with qos policy
- Update port with qos policy
- Update network with qos policy
- Update qos policy
- Unit tests
Change-Id: I888d86f00a53ba6d204905fe69cbae7bc1d3f9da
Partial-Bug: #1578198
This patch set adds the initial ML2 mechanism driver
suport while maintaining the core plugin support.
Deployments will continue to use the core plugin
by default. However, the core plugin will be removed
as part of a follow-on patch set which will complete
the conversion to ML2. In the meantime, dual maintenance
will be required once this patch merges.
This patch set supports the following:
- ML2 create, update, delete network
- ML2 create, update, delete subnet
- ML2 create, update, bind, delete port
- ML2 segments
- OVN worker and logical port events
- Security group callbacks and OVN ACLs
- L3 create, update, delete router
- L3 add and remove router interface
- Basic unit tests for ML2 and ACLs
A follow-on patch set will complete the remaining
conversion work which includes the following:
- DevStack and Vagrant deployment updates for ML2
- Documentation and release note updates for ML2
- OVN DB sync support
- QoS support
- Additional unit tests
Co-Authored-By: Richard Theis <rtheis@us.ibm.com>
Co-Authored-By: John Kasperski <jckasper@us.ibm.com>
Change-Id: I6143be464d4897b9fb22837797347746d82c41b0
Partial-Bug: #1578198
This patch provides an utility to sync the ovn northbound db
with the neutron db. It uses the Neutron plugin class and
ovn_nb_sync.OvnNbSynchronizer class to sync the db.
This utility can be invoked any time to sync the db.
Closes-bug: #1540944
Change-Id: Ica81dc143f0d5150d5e43b404400f0788414aad3
Implement the doc8 linter for RST documentation, convert
errors to warnings for the '-docs' gate job, and fix any
files that fail checks.
Change-Id: I98f135e446034ccef31f07a8d6ba0f25a197c9fa
Follow new infra setup for translations, see spec
http://specs.openstack.org/openstack-infra/infra-specs/specs/translation_setup.html
for full details.
This basically renames
networking-ovn/locale/networking-ovn.pot to
networking_ovn/locale/networking_ovn.pot.
For this we need to update setup.cfg.
Update also domain name in _i18n.py.
Let's remove the po and pot files in the outdated paths.
The updated scripts work without them. So, we can just
delete the files and once the infra script runs,
an updated pot file together with translations
will be imported automatically.
Change-Id: Ifbed433e705bd8c10fed35f629f090c3671c5bb6
OpenStack projects are no longer being tested under Python 2.6, so
remove the trove classifier implying that this project supports 2.6.
Change-Id: I4617f3a551a4414f6138667b7d2617993942b816
To start translation, we need to initially import the translation
file - and place it at the proper place so that the usual CI
scripts can handle it. The proper place is for all python
projects $PROJECT/locale/$PROJECT.pot - see setup.cfg.
Further imports will be done by the OpenStack Proposal bot.
Change-Id: I6c5c8944d357b82f47d763da7c6933356aaaced7
This change takes a number of steps to include and use a config
file for OVN.
a) It leverages [1] to generate the project config files on the fly;
b) It fixes DevStack's support to use the plugin's config file; both
when generating db migrations and when running the service.
[1] http://docs.openstack.org/developer/oslo.config/generator.html
Closes-bug: #1493128
Closes-bug: #1493127
Depends-on: I4997b8eae1f433b1c23f20c06ba254568ac4982b
Change-Id: Ic6a5356191d42168bd0cda968032d64e1d6c6663
The rootwrap filter was needed to let this code run ovn-nbctl, but
that command is no longer used, so we can drop the rootwrap filter, as
well.
Change-Id: Ie79c4206cb8fd97f4012c9f02590af54934380c7
This patch updates the devstack integration to install ovs+ovn from
source. It creates the ovs, ovn, and ovn-nb databases and runs
ovsdb-server and ovs-vswitchd. Once ovn-nbd and ovn-controller exist,
they will be run, as well.
This also includes some other assorted changes made while I was
getting this to work.
Change-Id: I8eb4f88aed2101f60382fb8307265154066dc482
Set this to 2015.1.1 since this will be the first release and we're
likely to make this release happen in 2015.
Change-Id: I03a107259b75aa139e42b97eca84d587b634a490
Add entry point definitions for the ovn ml2 mechanism driver and the
l3 service plugin. This makes configuration to use these drivers
easier.
Change-Id: Ibcfcab49514177acd8200bc726642d6b1f5fa0e1