This is a community goal for Ocata. We're already not using any of
the code, but there are some other files and references left over.
Partial-Bug: #1639103
Change-Id: I2afd263ddc480e2512e3be77a03ffe5ae16e17a5
Extract all the common utils from common_db_mixin.py in preparation
for moving them to neutron-lib.
This is a preliminary step in preparation for refactoring the
CommonDbMixin class and moving it to neutron-lib also.
Partial Blueprint: neutron-lib
Change-Id: I3cba375a8162cb68e8f988f22f5c8b1ce7915180
Commit Ifb70a118cef48c3c4cd313e22e907aa47bc51ad0 intended to remove some
classes, but without DeprecationWarnings. To prevent from possible
problems, if it would be now removed, added Warnings and included info,
about future removal.
Change-Id: Iacb93abc363bf638efc3acb5b29c02a7508bc43a
Related-Bug: #1444112
Now that fullstack uses a modern OVS we may finally have
an OVS ARP responder test. The code will now have implicit
coverage. It previously was not run in any functional or
integration test.
Change-Id: I3db3185a08b7cc546dee9e711f5bda9143752f86
Related-Bug: #1623849
This adds a way for standard attribute models to declare
the API resources they show up in. It then adds a utility
function to the standard_attr module to grab a map of all
API resources and their corresponding models.
This can be used by any processing code that wants to add
fields to standard attribute resources.
This also adjusts the existing extensions to leverage this
new functionality.
Partially-Implements: blueprint add-neutron-extension-resource-timestamp
Change-Id: Idc8923d0e983fcb0690f8cb5b55a5aff8690154f
Now that the bulk of the code is in place, and we are about
to see the finish line, it is time to prepare the release
notes for this feature.
This patch refines docstrings that recently went in and
makes sure the code is in sync with the agent's devref.
Implements: blueprint vlan-aware-vms
Change-Id: Idb9379046aeb07354a170a361da777140a2a028e
Now that release folks automated release process for independent
projects, we should be safe to offload the whole release management
process to openstack/releases machinery. Actually, leaving it up to
neutron-release team is error prone (f.e. we made mistakes before with
missing information in pushed git tags that held off email
announcements).
The idea of the change comes from Doug Hellmann. Quoting:
(in reference to no announcement email for networking-sfc 2.0.0)
> the email was skipped because you tagged the release by hand and the
> script didn't have the metadata it needed [...]
> this is why I want you to let us tag the releases.
Change-Id: Idc7f85fa860b3699d457ba00e800208acecb15de
Removed guideline on how to pack release tarballs because all releases
are now automated and do the right job.
Changed the example link to PyPI to a /simple/ one that lists all
releases, not just the latest.
Removed the step that requires sending an announcement email because it
should be automated by openstack/releases repo.
Change-Id: I0d57cecd88ef2da19034fe433fc41c1e861aee3f
Retrying mutating operations at the API layer caused a
couple of problems. First, when components would call
the core plugin using the neutron manager, they would
have to handle the retriable failures on their own or
undo any work they had done so far and allow retriable
failures to be propagated up to the API. Second, retrying
at the API makes composite operations (e.g. auto allocate,
add_router_interface, etc) painful because they have to
consider if exceptions are retriable before raising
fatal exceptions on failures of core plugin calls.
This patch begins the process of moving them down to the
core operations with a new decorator called
'retry_if_session_inactive', which ensures that the
retry logic isn't triggered if there is an ongoing transaction
since retrying inside of a transaction is normally ineffective.
Follow-up patches apply them to various parts of the code-base.
Additionally, the args and kwargs of the method are automatically
deep copied in retries to ensure that any mangling the methods
do to their arguments don't impact their retriability.
Finally, since we are leaving the API decorators in place for now,
the retry logic will not be triggered by another decorator if an
exception has already been retried. This prevents an exponential
explosion of retries on nested retry decorators.
The ultimate goal will be to get rid of the API decorators entirely
so retries are up to each individual plugin.
Partial-Bug: #1596075
Partial-Bug: #1612798
Change-Id: I7b8a4a105aabfa1b5f5dd7a638099007b0933e66
The L3 agent extensions devref was not properly included into the
documentation tree, so it would not appear in the online devref. Also,
there were a few updates to the agent extensions documentation to
properly show the updated file names.
Change-Id: I5f55f68d2c251dfa993668024ee312085b605a8a
In L2 agent extensions, when the agent extension needed access to a
datastructure within the L2 agent, an agent extension API object was created.
This API object would be the interface permitting agent extensions to have
access to those objects internal to the L2 agent.
This change implements a similar agent extension API object for the L3 agent
extensions. This is necessary to allow L3 agent extensions to have access to
the RouterInfo class, so that they can do lookups on it, for example
determining the namespace for a specific router. Without this API object, the
L3 agent extension would not have access to this structure.
Co-Authored-By: Margaret Frances <margaret_frances@cable.comcast.com>
Partially-Implements: blueprint l3-agent-extensions
Change-Id: I85f89accbeefd820130335674fd56cb54f1449de
The model_base file is going to move to Neutron lib in
I2087c6f5f66154cdaa4d8fa3d86f5e493f1d24d9. This will mainly leave
behind only the standard attributes related stuff so the name
'model_base' won't make much sense. This moves the standard attribute
related things into its own module so model_base can conceivably be
eliminated entirely.
Change-Id: Icaf3220fbc5723f2b5421a494371ef274d7073c7
This patch introduces the front end implementation for QoS
minimum bandwidth rule.
APIImpact: New type of parameter for QoS rule in neutron API
DocImpact
Change-Id: I6b619a96a2bfde164646c71409b671352bc6ce7d
Partial-Bug: #1560963
This patch updates this section to reflect what was agreed on
and sealed in [1]. More iterations will happen as we learn
how effectively the process works.
[1] I689d765fe88ed244e2f6116d0a7d7e4b4f03d08b
Change-Id: I82c35a474a2eccdecafa446b825daa2b8992180f
The db_models.rst file was not referenced by any other document. This
was generating warnings during the creation of documentation.
Change-Id: I432aabb3c22b12faa29ca88e13392e6c2d0e33d8
Closes-Bug: #1611546
This patch will add devref for relocating db models and
it also explains why that change is required. It will also
add a directory named models under tree neutron/db/.
Change-Id: I160cecb76fb736307e5937122c84cdc0546207b6
Related-Bug: #1597913
This adds a check to each of the core methods that other callers
(e.g. service plugins) may use to manipulate core resources. This
check prevents them from passing in a context that is already part
of an ongoing DB session because we do not want DB rollbacks to be
allowed after the ML2 plugin calls postcommit methods on drivers.
All of the core methods are protected except for create_port and
update_port. This was left out because of a few particularily deeply
nested calls to the port methods from the L3 code that will be
addressed in change I5aa099c2264636336ab0b76c0826b506e2dc44b6.
For more details, read the devref added by this patch.
Partial-Bug: #1540844
Change-Id: I9924600c57648f7eccaa5abb6979419d9547a2ff
There are usage patterns which would benefit from having
the capability to send a list of resources in bulk instead
of using individual fanout messages.
From now on, the rpc callback subscriber receives a list of
resources (single or multiple), and the pushers must always
push a list.
Backwards compatibility for QoSPolicy consumers in mitaka
is provided by calling push with "resource" parameter for
single item lists during one release cycle. That will be
dropped when Ocata opens.
Partially-implements: blueprint vlan-aware-vms
Change-Id: I1117925360a29ecbd1902fa527b2f24f94ce81ec
The openstack/releases repository is open for all official deliverables
(including stable releases for previous cycles), not just
release-with-milestone ones, and we are expected to update the repo in
addition to pushing signed git tags.
http://lists.openstack.org/pipermail/openstack-dev/2016-May/095225.html
With that, streamlined the release request process to avoid Launchpad
from the release scheme: new release requests are tracked and managed in
gerrit only. A new request now starts with a patch for
openstack/releases that should be handled by neutron-release team
members and approved by release liaison before merged by global
OpenStack release team.
Branch creation/expiration is still funneled through LP.
While at it, also suggest switching version numbering to SemVer at
earliest convenience.
Change-Id: Ifcae4b596bc27f7fc8a315e3807144ea03fbb83c
We start to maintain the networking API reference in our repo
(neutron-lib), so we need a way to tag bugs related to API ref.
Change-Id: Iea53cc9675d79de1a812782b191e66468dd3c4cb