Since pyroute 0.6.2, this dependency is not needed anymore. The
pyroute version is bumped both in requirements and doc/requirements.
This patch bumps the pyroute2 version to 0.6.4 (newest version
provided in upper-requirements).
Change-Id: I627e902e32fe59c6829c3bc92af19abff4b70f9a
Related-Bug: #1928913
Service type resource don't have "project_id" so using "PROJECT_*"
rules wasn't working fine.
And this resource should be available for all users so this patch
switches its check_str to be "role:reader" which works for all
types of SYSTEM and PROJECT scope users.
Related-blueprint: bp/secure-rbac-roles
Change-Id: If28e70252c1f9ec76502699fad2d5a2aece8f4fb
Since version 0.6.2, pyroute2 library dynamically imports the needed
modules when loaded. A static analysis will fail when checking the
import references.
Change-Id: I5aaf9494a2d5c2533199e6b92d4df8fe785f83a3
Closes-Bug: #1930750
This patch switches over to payload style of callbacks for the remaining
ADDRESS_GROUP based callback events.
Change-Id: I7aafd00211d66b0d1cc3bbdc79efc344c2acc700
The assertItemsEqual has been replaced with assertCountEqual
since I7c20fec08e5dc9f67b34100c925ea6724bbd25f0 .
However the hacking check has not been enabled.
This patch enables the hacking check
and replace remaining assertItemsEqual with assertCountEqual.
Signed-off-by: Takashi Natsume <takanattie@gmail.com>
Change-Id: I86202f36f1b7c0bce8b29558ad1e377c336b7258
After switch of the default Neutron backend to the ML2/OVN
in the Devstack we had 2 rally jobs running actually with the
same Neutron backend.
This patch configures explicitly ML2/OVS as a backend in the
'neutron-rally-task' job so it is like it was before the change in
the Devstack repo.
In order to fix the CI, this patch also skips "test_models_sync" test
cases. Once [1] is fixed and released, we'll be able to create SQL
tables specifying the "_constraints_included" flag. When creating a
table, this flag should be set to "False" in order to be able to set
the "index" and "unique" parameters for each column in the table
definition, as we do now.
"test_update_router_admin_state" is excluded from
"neutron-ovn-tempest-slow" until LP#1890445 is fixed.
Set "test_restart_wsgi_on_sighup_multiple_workers" as unstable.
CI job "neutron-ovn-tempest-slow" has been set to non-voting until
LP#1930402 is fixed.
Related-Bug: #1929518
Related-Bug: #1890445
Related-Bug: #1930402
Related-Bug: #1930367
[1]https://github.com/sqlalchemy/alembic/issues/848
Change-Id: I38ed7931169434fecbbefa3762f51a522ef3c509
Attempting to terminate a vxlan on the lo interface with
multiple ip addresses fails. This seems to be because only
the first ip address on the interface is used. If this address
is invalid for vxlan creation (ie. 127.0.0.1), the vxlan
interface will be created, but will not have a source ip
address, and will therefore be non-functional. To remedy this
issue, when L2population is used, we can set the local
argument to the local_ip, thus ensuring the intended ip
address is configured.
Closes-Bug: 1929998
Change-Id: I9c54a268fc4ef9705637556ecba161bd6523a047
Signed-off-by: Anthony Timmins <atimmins@datto.com>
In python3.9, ipaddress.IPv4Interface does not support defining an
IP address with leading zeroes. E.g.:
>>> ipaddress.IPv4Interface('00.0.0.0/0')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.9/ipaddress.py", line 1390, in __init__
IPv4Address.__init__(self, addr)
File "/usr/lib/python3.9/ipaddress.py", line 1307, in __init__
self._ip = self._ip_int_from_string(addr_str)
File "/usr/lib/python3.9/ipaddress.py", line 1199, in
_ip_int_from_string
raise AddressValueError("%s in %r" % (exc, ip_str)) from None
ipaddress.AddressValueError: Leading zeros are not permitted in '00' in
'00.0.0.0'
Change-Id: I29137b22c158e979e81be9e41464948aa99f5498
Closes-Bug: #1930222
Verify if concurrently delete neutron DB records will
encounter the StaleDataError which suggest us to add
"confirm_deleted_rows=False" to mapper configuration.
Depends-On: https://review.opendev.org/c/openstack/neutron-lib/+/777581
Change-Id: Ia8935d5dd87402bedfd7aa9df9dfcb0ce06f8e39
Related-Bug: #1916889
- pass network dict from ml2 plugin to _create_subnet_postcommit
- skip ipam subnet fetch for non ipv6 auto-address subnets
- don't count subnets (DB request) if subnet has no segment
Change-Id: Iaecfda2700c5316cb25a93496d24ece366e40a4a
- don't re-fetch subnet object from DB
- network is not used in SubnetContext when deleting subnet
Above gives ~35% improvement
Change-Id: I34f850782092f771482a297ae1e68a63ffb027c1
Mitogen is dependency of the pyroute2 and was added link to it
the docs in pyroute2 0.6.1. Due to the missing mitogen in our
docs venv, docs job was failing.
So let's install mitogen as docs env requirement, at least for now
to unblock our gate.
Later we can think about better solution as e.g. adding it properly to
the requirements or report and fix the issue in the pyroute2.
Change-Id: Iba37581916842bb5fc9f42f7f483d3431747bf8d
Closes-Bug: #1928913
SIGHUP signal command to stop those processes does not return and
the test (and eventually the whole testsuit) timeouts.
Until a proper fix is implemented, these tests will be skipped
temporarily.
Change-Id: I592d8b7bb2afe5cd93cbb0d0ea7062f1b724ff2a
Related-Bug: #1921154
This new quota driver, ``DbQuotaNoLockDriver``, does not create a lock
per (resource, project_id) but retrieves the instant (resource,
project_id) usage and the current (resource, project_id) reservations.
If the requested number of resources fit the available quota, a new
``Reservation`` register is created with the amount of units requested.
All those operations are done inside a DB transaction context. That
means the amount of resources and reservations is guaranteed inside
this transaction (depending on the DB backend isolation level defined)
and the new reservation created will not clash with other DB transation.
That will guarantee the number of resources and instant reservations
never exceed the quota limits defined for this (resource, project_id).
NOTES:
- This change tries to be as unobtrusive as possible. The new driver
uses the same ``DbQuotaDriver`` dabatase tables (except for
``QuotaUsage``) and the same Quota engine API, located in
``neutron.quota``. However, the Quota engine resources implements some
particular API actions like "dirty", that are not used in the new
driver.
- The Pecan Quota enforcement hooks,
``neutron.pecan_wgsi.hooks.quota_enforcement``, execute actions like
"resync", "mark_resources_dirty" or "set_resources_dirty", that has
no meaning in the new driver.
- The isolation between the Quota engine and the Pecan hook, and the
driver itself is not clearly defined. A refactor of the Quota engine,
Quota service, Quota drivers and a common API between the driver and
the engine is needed.
- If ``DbQuotaDriver`` is deprecated, ``CountableResource`` and
``TrackedResource`` will be joined in a single class. This resource
class will have a count method (countable) or a hard dependency on a
database table (tracked resource). The only difference will be the
"count" method implementation.
Closes-Bug: #1926787
Change-Id: I4f98c6fcd781459fd7150aff426d19c7fdfa98c1
By adding this library to the doc requirements file, tox will install
it limiting the upper version according to
"requirements/upper-constraints.txt".
"pyroute2" is called in tox doc job as mentioned in [1]. Since version
0.6.0, the library structure changed. To keep backwards compatibility,
all modules are imported from the main namespace. As reported in the
referred bug, the library "mitogen" must be installed first.
In stable releases that use older "pyroute2" versions, this library is
not needed but this patch should enforce the upper library version.
Related-Bug: #1928913
[1]2a4074918c/doc/source/conf.py (L33-L40)
Change-Id: I0cf458f4532d313e593a943653e8310b93ac1e9c