In Zed cycle, we have dropped the python 3.6/3.7[1] testing
and its support. Add release notes and update the python
classifier for the same.
[1] https://governance.openstack.org/tc/reference/runtimes/zed.html
Change-Id: Icf6beac7ee3150b719392c0b44c474510398b70a
Setuptools v54.1.0 introduces a warning that the use of dash-separated
options in 'setup.cfg' will not be supported in a future version [1].
Get ahead of the issue by replacing the dashes with underscores. Without
this, we see 'UserWarning' messages like the following on new enough
versions of setuptools:
UserWarning: Usage of dash-separated 'description-file' will not be
supported in future versions. Please use the underscore name
'description_file' instead
[1] https://github.com/pypa/setuptools/commit/a2e9ae4cb
Change-Id: Ic0804368ce43d875dc5575900d5d19d0b06b4dc1
These translation sections are not needed anymore, Babel can
generate translation files without them.
Change-Id: Iabd5a7c74c3e09175919bbd4fd62b834667b961c
Make a few cleanups:
- Remove python 2.7 stanza from setup.py
- Add requires on python >= 3.6 to setup.cfg so that pypi and pip
know about the requirement
- Remove obsolete sections from setup.cfg:
* Wheel is not needed for python 3 only repo
* Some other sections are obsolete
- Update classifiers
- Update requirements, no need for python_version anymore
Change-Id: Ic5d22bbc3d1ece72a7611e023d54d456f6f1a211
Commit I94a443c92fe2317ba2591ae3a227ec8df82ec294 removed the tempest
tests from this project.
This commit remove some leftover pathes to the tempest tests.
Change-Id: Ifd48004e26beedd92231ee730aa897ceb2945d84
This commit converts the existing neutron-dynamic-routing policy.json
into policy-in-code.
Partially Implements: blueprint neutron-policy-in-code
Change-Id: I4f99739ca8b979ddf69c52c3f1b36e320326db8d
Adding neutron.service_plugins for "entry_points" in file "setup.cfg"
After Installing neutron-dynamic-routing,we need to set service_plugins for
"neutron_dynamic_routing.services.bgp.bgp_plugin.BgpPlugin" in neutron.conf.
It is more reasonable to add neutron.service_plugins for "entry_points"
in file "setup.cfg",and set "bgp" for
"neutron_dynamic_routing.services.bgp.bgp_plugin:BgpPlugin".
Change-Id: Icea1e085102e78c8bdf0e61d0b4f3f7b5ea209e2
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: I6b74811ef13caa3006a52e331346acc59eaca017
This patch adds the devstack plugin for neutron-dynamic-routing,
allowing the API tests here to be run in check jobs and under the
tempest framework. It also cleans up the API tests so they execute
properly after being spun out of the main repository.
Change-Id: I0ed82282037fa6c571dd73c8d9900d8e5d0c93c7
Implements: blueprint bgp-spinout
neutron-bgp-dragent will be added to "/usr/local/bin" by install
script automatically when it's defined in entry_points section
Change-Id: I7592de868602db8f0c09756246a044cbe73d4800
Implements: blueprint bgp-spinout
Partial-Bug: #1560003
This patch moves the BGP service plugin, agent, driver, and
tests out of the neutron repository and into the
neutron-dynamic-routing repository.
Partially-Implements: blueprint bgp-spinout
Partial-Bug: #1560003
Co-Authored-By: vikram.choudhary <vikram.choudhary@huawei.com>
Change-Id: I80ea28a51d7b18e67d6ed4cd2da22520f950300f
This patch adds alembic DB migration framework required by
neutron-dynamic-routing repository for defining new data
models to realize BGP dynamic routing functionality in neutron.
Below changes are done as part of this patch-set:
- Added new alembic migration framework.
- PEP8 changes for alembic migration check.
Change-Id: I395ca9541bceda40bbc0c0870e58c18231ba44e9
Implements: blueprint bgp-spinout
Partial-Bug: #1560003
This patch-set prepares the basic code structure with all
the tools required for running static and unit tests.
Note: All the imported code from the seed repo is being removed
temporarily and will be added after the required re-factoring
needed as per the new repo in the subsequent patch-sets.
Co-Authored-By: Ryan Tidwell <ryan.tidwell@hpe.com>
Implements: blueprint bgp-spinout
Partial-Bug: #1560003
Change-Id: I9bff3d916279c4f335b309e7a2c2e943ac6f6cde
No config generator hooks should ever be registered with a name that
belongs to another project. In this case, using oslo.middleware.cors
means that *every other project* that loads the middleware gets neutron's
defaults when the generator is run on a system with everything installed
(such as a dev box with devstack). Use the name neutron instead, to
ensure that the defaults are only set when neutron's sample config and
documentation are being generated.
Change-Id: I6a8c7d44b9db9325003ff2fdb667b0ced7739e96
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Currently, neutron core resources (like net, subnet, port and subnetpool)
do not save time-stamps upon their creation and updation. This
information can be critical for debugging purposes.
This patch introduces a new extension called "timestamp" extending existing
the neutron core resources to allow their creation and modification times
to be record. Now this patch add this resource schema and the functions which
listen db events to add timestamp fields.
APIImpact
DocImpact: Neutron core resources now contain 'timestamp' fields like
'created_at' and 'updated_at'
Change-Id: I24114b464403435d9c1e1e123d2bc2f37c8fc6ea
Partially-Implements: blueprint add-port-timestamp
Introduce a generic mechanism to allow the user to set tags
on Neutron resources. This patch adds the function for "network"
resource with tags.
APIImpact
DocImpact: allow users to set tags on network resources
Partial-Implements: blueprint add-tags-to-core-resources
Related-Bug: #1489291
Change-Id: I4d9e80d2c46d07fc22de8015eac4bd3dacf4c03a
The default values needed for neutron's implementation of cors
middleware have been moved from paste.ini into the configuration
hooks provided by oslo.config. Furthermore, these values have been
added to neutron's default configuration parsing. This ensures
that if a value remains unset in neutron.conf, it will be set to use
sane defaults, and that an operator modifying the configuration
file will be presented with a default set of necessary sane headers.
Change-Id: I327d1d7ce50dd4a20d781e6251a5af81c57e6ca1
Closes-Bug: 1551836
There is a new QoS extension driver for the linuxbridge agent
being added. This driver provides support for QoS configuring
on the linuxbridge agent.
This patch introduces two new config options for Linuxbridge agent:
kernel_hz - HZ value of host kernel,
tbf_latency - value of latency in tbf qdisc to calculate size of queue.
Co-Authored-By: vikram.choudhary <vikram.choudhary@huawei.com>
Change-Id: I457ca2569b5d4a916ba09e71040505cd0ad3257b
Closes-Bug: #1500012
Closes-Bug: #1550514
DocImpact Update agent configuration to show settings related to
QoS and bandwidth limiting
Implements an API extension for reporting availibility of IP
addresses on Neutron networks/subnets based on the blueprint
proposed at https://review.openstack.org/#/c/180803/
This provides an easy way for operators to count the number of
used and total IP addresses on any or all networks and/or
subnets.
Co-Authored-By: David Bingham <dbingham@godaddy.com>
Co-Authored-By: Craig Jellick <craig.jellick@gmail.com>
APIImpact
DocImpact: As a new API, will need all new docs. See devref for details.
Implements: blueprint network-ip-usage-api
Closes-Bug: 1457986
Change-Id: I81406054d46b2c0e0ffcd56e898e329f943ba46f
This agent is required by the macvtap ml2 driver to support
macvtap attachments for libvirt qemu/kvm instances. It introduces
a new configuration option MACVTAP.physical_interface_mappings.
The review is submitted in three parts:
- Part 1
Common functions that are used by the ml2 driver and the agent
- Part 2
The Mechanism Driver to support port binding for macvtap attachments
- Part 3 (this part)
The Macvtap L2 Agent.
DocImpact
New ML2 mech driver + l2 agent
New config option "macvtap.physical_interface_mappings"
Change-Id: I219d80b4c704ac2f41edd3501f4b2198925778d6
Closes-Bug: #1480979
This patch implements a new agent named "BgpDrAgent". The new agent
will host different BGP speaking drivers and makes the required BGP
peering session/s for neutron. The agent takes the needed "peer/s and
route/s" information from the BGP speaker entity and synchronize the
same to the registerd driver.
For realizing HA, two BgpDrAgents should host the same BGP speaker.
Partially-Implements: blueprint bgp-dynamic-routing
Co-Authored-By: Ryan Tidwell <ryan.tidwell@hpe.com>
Co-Authored-By: Jaume Devesa <devvesa@gmail.com>
Co-Authored-By: Numan Siddique <nusiddiq@redhat.com>
Change-Id: I3217795bdd0fa2d9d4b39274f4f95fc013c8d29d
This driver uses the vif_type 'macvtap'. It enriches the vif_details
with the corresponding attributes required by nova [1] to support
macvtap attachments for libvirt qemu/kvm guests.
The review is submitted in three parts:
- Part 1
Common functions that are used by the ml2 driver and the agent
- Part 2 (this part)
The Mechanism Driver to support port binding for macvtap attachments
- Part 3
The Macvtap L2 Agent.
[1] https://review.openstack.org/#/c/182283
Change-Id: I206f58a21c36e55de957d8a23993aa9bc26d1595
Partial-Bug: #1480979
This firewall requires OVS 2.5+ version supporting conntrack and kernel
conntrack datapath support (kernel>=4.3). For more information, see
https://github.com/openvswitch/ovs/blob/master/FAQ.md
As part of this new entry points for current reference firewalls were
added.
Configuration:
in openvswitch_agent.ini:
- in securitygroup section set firewall_driver to openvswitch
DocImpact
Closes-bug: #1461000
Co-Authored-By: Miguel Angel Ajo Pelayo <mangelajo@redhat.com>
Co-Authored-By: Amir Sadoughi <amir.sadoughi@rackspace.com>
Change-Id: I13e5cda8b5f3a13a60b14d80e54f198f32d7a529
This patch enables basic CRUD on BGP dynamic routing
entities bgp_speaker and bgp_peer, as well as
bgp_speaker-bgp_peer and bgp_speaker-network
bindings.
An admin user can create BgpSpeakers and configure
peering entities (BgpPeers) for BgpSpeakers. BgpSpeaker
to BgpPeer association is n-to-n. An admin user can
also associate networks with BgpSpeakers. Relationship
between BgpSpeaker and Network is 1-to-n.
This patch provides BGP-related functionality only to
the admin users.
Partially-Implements: blueprint bgp-dynamic-routing
Co-Authored-By: Ryan Tidwell <ryan.tidwell@hpe.com>
Co-Authored-By: Jaume Devesa <devvesa@gmail.com>
Co-Authored-By: vikram.choudhary <vikram.choudhary@huawei.com>
Change-Id: I2412c1689683da9d7ec884a4cea506d4eed99453
Service plugins are a great way of adding functionality in a
cohesive way. Some plugins (e.g. network ip availability or
auto_allocate) extend the capabilities of the Neutron server
by being completely orthogonal to the core plugin, and yet may
be considered an integral part of functionality available in
any Neutron deployment. For this reason, it makes sense to
include them seamlessly in the service plugin loading process.
This patch, in particular, introduces the 'auto_allocate' service
plugin for default loading, as we'd want this feature to be enabled
for Nova to use irrespective of the chosen underlying core plugin.
The feature requires subnetpools, external_net and router, while
the first is part of the core, the others can be plugin specific
and they must be explicitly advertised. That said, they all are
features that any deployment can hardly live without.
DocImpact: The "get-me-a-network" feature simplifies the process
for launching an instance with basic network connectivity (via an
externally connected private tenant network).
Once leveraged by Nova, a tenant/admin is no longer required to
provision networking resources ahead of boot process in order to
successfully launch an instance.
Implements: blueprint get-me-a-network
Change-Id: Ia35e8a946bf0ac0bb085cde46b675d17b0bb2f51
Some spring cleaning:
- Remove obsolete cisco vpn configs
- Remove obsolete references from UT check script
- Remove obsolete script for cleaning up plugins
- Remove obsolete mock of heleosapi module
Change-Id: I0051e0b75b17279ffb61de328d7ccc7a12dc99dc
An interface with an external DNS service is defined for Neutron. A reference
implementation is also included, based on Designate. The interface and the
driver will enable users to publish in the external DNS service the dns_name
and dns_domain attributes associated with floating ips, ports and networks. As
a consequence, the floating ips and networks api is extended to manage dns_name
and dns_domain attributes. The dns_name attribute was added to ports in a
preceding commit
DocImpact: Introduce config option external_dns_driver to specify a driver
for external dns integration. For more info, see
doc/source/devref/external_dns_integration.rst
APIImpact
Implements: blueprint external-dns-resolution
Change-Id: Ic298ad2558410ab9a614f22e1757d1fc8b22c482
Launch pecan server instead of home-grown wsgi server using
a new config option. This will make it easier to test out
pecan without invasive changes to devstack.
Related Blueprint: wsgi-pecan-switch
Change-Id: I99261e6bfc9b16c0d601828f97553a9192804216
OVS agent already supports GMR, but LinuxBridge and SR-IOV agents don't.
To enable them for those agents, we should move their main() entry
points under neutron/cmd/, so that __init__.py code that initializes
them is triggered on their invocation.
Since we put their entrypoints under neutron/cmd/eventlet/, there is now
also no need to explicitly monkey patch stdlib for eventlet in the
agents code (neutron/cmd/eventlet/__init__.py already does it for us).
With that, there is no more code in the tree that directly patches
stdlib except neutron/cmd/eventlet/__init__.py.
Also removed a way to execute agent modules as scripts since it's not a
supported way to invoke them (instead, stevedore generated console
scripts should always be used).
Change-Id: I9b823d07a41b575334e52065eed7e6be2741e79d
Implements: blueprint guru-meditation-report
All 3rd-party code is required to be removed from the neutron tree.
This change removes definition for ofagent mechanism driver from
neutron repository.
Change-Id: Ia21387eeaed71f38822356e22e4adbd237c1e64c
Closes-Bug: #1524164
Depends-On: I04c741daf12e7628e2c1e2d1b81b2b2ce1310542
setup_rpc func need the eventlet monkey_patch,
otherwise the main process will be blocked.
Change-Id: I9f4a0b7c957b7dc7740e3cf6e75f18778ad562d0
Closes-Bug: #1522681