142 Commits

Author SHA1 Message Date
e41d82e374 Bump lower-constraints for eventlet to 0.26.1
eventlet before 0.32.0 have issues with
dnspython>=2.0.0, eventlet-0.26.1+[1] have
pinned dnspython for this, so let's use that
version instead for lower-constraints.

This should help with timeouts seen in
openstack-tox-lower-constraints job.

[1] https://github.com/eventlet/eventlet/commit/4236143

Change-Id: I09826681cf61eb0ff6c82421e8e85a2044e95a4a
2021-11-24 11:44:01 +00:00
Rodolfo Alonso Hernandez
4909c8c18d Bump neutron-lib to 2.17.0
Remove the QoS constants from Neutron code. QoS constants are now
located in ``neutron_lib.services.qos.constants``.

This patch also reverts [1]. This patch was merged in order to
allow a newer neutron-lib release in "requirements". This test
was failing because the element order of the "VALID_RULE_TYPES"
list was different between Neutron and neutron-lib. That was
modifying the "QosRuleType" OVO hash.

[1]https://review.opendev.org/c/openstack/neutron/+/817940

Closes-Bug: #1950977
Related-Bug: #1922237
Change-Id: I31edea3cc0f4a284a773a35302997ca6069efc95
2021-11-17 10:09:14 +00:00
Rodolfo Alonso Hernandez
d4d90fb6d7 Improve "get_collection_count" calls
Reduce the object retrieval to one single field to improve the
collection count.

Bumped neutron-lib to 2.16.0. This version contains [1], needed for
this patch.

[1]https://review.opendev.org/c/openstack/neutron-lib/+/807686

Related-Bug: #1942863

Change-Id: I160e8084e97b23a2bacb49ceb40efbac2d0715be
2021-10-18 07:56:13 +00:00
Slawek Kaplonski
5665fc437b Bump os-ken to 2.2.0
Related-Bug: #1944201
Change-Id: Ib699fd096cf7e7d5df83ee4942e287eecf5a0b8f
2021-10-12 17:53:16 +02:00
Rodolfo Alonso Hernandez
42fda206e9 Replace "Inspector.from_engine()" with "sqlalchemy.inspect()"
Since SQLAlchemy 1.4, the method "Inspector.from_engine()" is
deprecated.

Error message:
"The from_engine() method on Inspector is deprecated and will be removed
in a future release.  Please use the sqlalchemy.inspect() function on an
Engine or Connection in order to acquire an Inspector. (deprecated
since: 1.4)"

Minimum version of SQLAlchemy required is bumped to 1.4.23.

Change-Id: I6cf5944ccb3a0532cbf123ddc0d7df6b6de80af1
Closes-Bug: #1943155
2021-09-23 13:41:50 +00:00
elajkat
781edc8f64 req: Bump some dependencies
Neutron's lower-constraint job started to fail and
bump of the following packages seems to solve the issue:
* decorator to 4.1.0
* Mako to 1.0.7

Change-Id: I31d20cc0dc1fc0e745e16718e6c7c8dc896da855
2021-09-17 15:48:59 +00:00
Rodolfo Alonso Hernandez
82f72896db Add pagging and sorting support for "network_ip_availability"
Added pagging and sorting support for the extension
"network_ip_availability".

Closes-Bug: #1940518

Change-Id: Ic520ceb060c4a914d72ef66f58eeaa667382c53b
2021-09-02 16:51:08 +02:00
Zuul
dd46eb69fc Merge "Bump neutron-lib to 2.13.0" 2021-09-02 14:39:44 +00:00
Przemyslaw Szczerbik
31c09cd3b7 Bump os-resource-classes lib to 1.1.0
Newer version provides access to packet rate related resource classes:

* NET_PACKET_RATE_KILOPACKET_PER_SEC
* NET_PACKET_RATE_EGR_KILOPACKET_PER_SEC
* NET_PACKET_RATE_IGR_KILOPACKET_PER_SEC

Related-Bug: #1922237
See-Also: https://review.opendev.org/785236
Change-Id: I505911412fd903d351f39ebb733ef8e872cb16fb
2021-08-24 11:00:22 +02:00
Slawek Kaplonski
5ee9325fcc Bump neutron-lib to 2.13.0
Change-Id: I96100d3f62835d66f6ddf252c7ef638aca1f487b
2021-08-09 07:15:00 +00:00
Przemyslaw Szczerbik
2356f0eb87 Bump oslo.log to version 4.5.0
In this version versionutils were updated for Xena release.

Related-bug: #1922237
Change-Id: I89f52929cec067bbe55b183f5dcdbc64a92805de
2021-08-02 10:59:32 +02:00
Przemyslaw Szczerbik
26b06d246a Use os-resource-classes lib for resource classes names
The os-resource-classes lib is the official source of the standard
placement resource classes. Currently, the neutron-lib contains a copy
of those constants. However, they are already marked as deprecated and
are going to be removed with next major release.

Related-Bug: #1934256
Change-Id: I33ecd6f32410f9b7ab1e87a6640201ea157bc383
2021-07-07 09:33:54 +02:00
Zuul
8a1fdddc5c Merge "Bump minimal ovsdbapp version to 1.11.0" 2021-06-25 14:34:28 +00:00
Zuul
7070538db4 Merge "Update version of doc8" 2021-06-25 07:02:21 +00:00
LIU Yulong
2ea7d66216 Bump neutron-lib to 2.12.0
Related-bug: #1912460
Change-Id: If86e42c7c56bb0fc571d68818febf54a29a31aa2
2021-06-22 09:43:04 +08:00
Ihar Hrachyshka
8954b33576 Bump minimal ovsdbapp version to 1.11.0
This is to make sure stateless-security-groups API extension works
for OVN. (The new ovsdbapp version contains support for
allow-stateless ACL verb.)

Change-Id: I812b7e8669bf1ef7b30a3670612d14bc65a93190
2021-06-17 21:32:47 -04:00
Zuul
87fd945119 Merge "Bump os-ken to 2.0.0" 2021-06-11 01:15:48 +00:00
Zuul
fd80100437 Merge "Remove "mitogen" library installation from "docs" job" 2021-06-10 18:13:50 +00:00
Rodolfo Alonso Hernandez
e3bb98c7e7 Bump os-ken to 2.0.0
That will avoid problems with eventlet 0.31.0 version, as seen during
the requirements upgrade.

Change-Id: I9a6798a6b0438149af8190dc90c70f79735bb01d
Closes-Bug: #1930195
2021-06-10 14:45:58 +00:00
Zuul
b7299c1571 Merge "Bump alembic to 1.6.5" 2021-06-09 15:06:09 +00:00
Rodolfo Alonso Hernandez
a660f77d38 Remove "mitogen" library installation from "docs" job
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
2021-06-07 12:39:28 +00:00
Rodolfo Alonso Hernandez
6afdff8494 Bump lower version of evenlet to 0.25.1
That fixes the lower-constraints job with pyroute >=0.6.2.

Change-Id: I849d777903b10a809947f0564205deb73e668c3c
Closes-Bug: #1931098
2021-06-07 12:38:27 +00:00
Rodolfo Alonso Hernandez
c915b93e76 Bump alembic to 1.6.5
This version fixes the problem reported in LP#1929518 as described
in [1].

[1]acc82bff39

Change-Id: I894eb3524681a3abaca5eeca0aa47028e7f1ff44
Closes-Bug: #1929518
2021-06-07 08:23:18 +00:00
Rodolfo Alonso Hernandez
f9bda4b1e4 Set the default `Backend.lookup` timeout to 2 seconds
In order to broadly cover the issue described in the referred bug,
this patch sets a default timeout of 2 seconds in the
``ovs_idl.Backend.lookup`` method.

This timeout should cover most of the situations where the IDL local
cache update is delayed. This patch does not change the default
behavior, except it will not fail if the DB cache is synchronized
within 2 seconds.

If we don't pass the notify handler or the backend does not implement
one, in case of not finding the requested register, the method will
raise like before.

ovsdbapp library is bumped to version 1.10.0 to receive the change
that introduces the active wait in ``Backend.lookup`` and adds the
timeout parameter to the method signature.

Change-Id: Ib40eabd6a8e9d59896e0e20383d8061eb4b5c710
Related-Bug: #1922934
2021-05-17 07:46:02 +00:00
Zuul
b4812af4ee Merge "Improve "objects.db.api.count" method" 2021-04-29 17:31:15 +00:00
Rodolfo Alonso Hernandez
9911d414c6 Improve "objects.db.api.count" method
Two improvements are implemented in this method:
- Add a query limit number parameter. This parameter is used by
  "NeutronDbObject.objects_exist" to limit the number of registers
  retrieved to 1.
- Add a query field parameter. This is the name (string) of the
  "obj_cls.fields" list. That will reduce the columns to be
  retrieved to only one. To check the existence of a DB register,
  there is not need to retrieve the full DB model including the back
  references.
  In case of not passing any value, the first "obj_cls.primary_keys"
  value will be used instead.

Closes-Bug: #1925528

Change-Id: I9fd5e306e293102c366d89c01bbe8b13721d59b0
2021-04-28 07:50:56 +00:00
Rodolfo Alonso Hernandez
8b39060ddf Fix SQLAlchemy backref warnings for viewonly columns
Fixed backref warning for two view only relationship defined in the
ORM, "QosNetworkPolicyBinding.port" and "Tag.standard_attr".

Change-Id: I7fcb1268f4fc637e7f39eae4fcde33f82cb9772c
Closes-Bug: #1925841
2021-04-26 16:06:16 +00:00
Zuul
79452ab892 Merge "Bump neutron-lib to 2.10.1" 2021-03-24 01:23:40 +00:00
Zuul
793f147291 Merge "Move policy rules "deprecated_*" params to the DeprecatedRule" 2021-03-22 17:48:52 +00:00
Slawek Kaplonski
67a9f46d80 Move policy rules "deprecated_*" params to the DeprecatedRule
Oslo policy moved those parameters to the DeprecatedRule object in [1]
and deprecated it in DocumentedRule object.
To avoid many deprecation warnings e.g. in our tests, this patch moves
"deprecated_since" and "deprecated_reason" parameters to the
DeprecatedRule object.

That change requires also bump of the oslo_policy to the 3.7.0 version
as change [1] isn't available in oslo_policy 3.6.2.

Additionally this patch also changes simple string "Wallaby" to
oslo_log.versionutils constant.

[1] https://review.opendev.org/c/openstack/oslo.policy/+/766628

Change-Id: I3234e04f417171db0d90e3e70661cc69bff8a4b1
2021-03-18 21:31:56 +01:00
Slawek Kaplonski
c3427ca292 Bump neutron-lib to 2.10.1
Change-Id: I48a66b434bea7f7551f9631982eef70a2df369b3
2021-03-18 10:09:23 +01:00
Rodolfo Alonso Hernandez
f628905279 Fix VLAN driver tests
Since [1], the physical network VLAN ranges parser populates the
ranges for those entries without a defined range, allowing all
valid VLAN ranges ([1, 4094]).

Some VLAN driver tests, relying on the previous implementation,
considered that the physical network without a defined VLAN
range does not have segments to allocated (those segments
are created on the fly by
"SegmentTypeDriverallocate_fully_specified_segment).

Since [1], all physical network segments are stored in the
"ml2_vlan_allocations" table and set as non allocated.

This patch also reverts [2]. When the physical networks are defined
in "network_vlan_ranges", there is no distinction between tenant
and provided networks; the physical network segments are assigned
by the user. It is possible to create a provider network without
defining the segmentation ID, it will be provided by the Neutron
VLAN driver, if there are free segments for the required physical
network.

[1]https://review.opendev.org/c/openstack/neutron-lib/+/779515
[2]1376df7873c2ac77c256ab2fed928de41a2c1d58

Closes-Bug: #1919280
Related-Bug: #1918274
Related-Bug: #1649750

Change-Id: I191e020ddb97dcf8fb41139d35bfd699e125379b
2021-03-16 15:43:33 +00:00
Zuul
1f74030e66 Merge "Follow-up: Move linters dependencies to tox.ini" 2021-03-08 17:44:12 +00:00
Zuul
47eecd9b67 Merge "Use agent chassis table based on schema" 2021-02-21 14:31:31 +00:00
Slawek Kaplonski
86c03faa23 Bump neutron-lib to 2.9.0
Change-Id: Ifbb368d4e4c497079a3c3d7a8b9ca0df43bee65d
2021-02-16 12:21:35 +01:00
Lance Bragstad
924c40975a Bump oslo.policy to 3.6.2
Prior to oslo.policy version 3.6.2, the Enforcer() object would load and
update the deprecated rules for a check regardless of it already being
done.

A recent change to oslo.policy updated the Enforcer() to be smarter
about this case and it was released in oslo.policy version 3.6.2:

  https://review.opendev.org/c/openstack/oslo.policy/+/773414

This became prevalent in neutron's usage of deprecated rules to update
their policies for secure RBAC personas since the Enforcer() object is
used extensively for APIs, resource, and attribute protection.

This should restore neutron's API performance to what it was prior to
the mass deprecation default policy rules.

Depends-On: https://review.opendev.org/c/openstack/requirements/+/774290
Closes-Bug: 1913718
Change-Id: Ia0e283f09c80605d6920843450b88cbc061996d5
2021-02-15 11:08:56 +00:00
Jakub Libosvar
da8e655963 Use agent chassis table based on schema
The patch determines a table that should be used for the agent API
in the runtime, based on the current available schema. It means OVN
database can be updated or downgraded while neutron-server is running
and agents will always report its liveness based on currently available
tables.

Change-Id: I679945b68acf391901c8602fb1828c46cd1eec55
Closes-bug: #1901527
Signed-off-by: Jakub Libosvar <libosvar@redhat.com>
2021-02-09 12:38:33 +00:00
Rodolfo Alonso Hernandez
8912ea5575 Add port device profile extension
Added a new port extension: device profile (``port_device_profile``).
This extension adds the "device_profile" parameter to the "port" API
and specifies the device profile per port. This parameter is a
string.

This parameter is passed to Nova and Nova retrieves the requested
device profile from Cyborg. Reference:
  https://docs.openstack.org/api-ref/accelerator/v2/index.html#
    device-profiles

For backwards compatibility, this parameter will be "None" by
default.

Closes-Bug: #1906602
Depends-On: https://review.opendev.org/c/openstack/neutron-lib/+/767586

Change-Id: I1202a8388e64ae4270ef4ca118993504ae7c1731
2021-01-22 16:17:30 +00:00
Zuul
fe61e29fd1 Merge "[goal] Deprecate the JSON formatted policy file" 2021-01-19 16:31:51 +00:00
Terry Wilson
ab6d4afd95 Avoid race condition when processing RowEvents
In https://review.opendev.org/#/c/753824/ ovsdbapp adds the ability
to pass a "frozen" object to the RowEventHandler so that if a
transaction is started from the main thread that changes the row,
it won't step on the values that the Event is trying to process.

This patch switches to using the ovs_idl backend-specific
RowEventHandler which converts the row to a frozen_row.

Change-Id: I87489596e2ff224431f7e83f43a1725172ee0953
Related-Bug: #1896816
2021-01-10 05:13:34 +00:00
Ghanshyam Mann
fe413fe01d [goal] Deprecate the JSON formatted policy file
As per the community goal of migrating the policy file
the format from JSON to YAML[1], we need to do two things:

1. Change the default value of '[oslo_policy] policy_file''
config option from 'policy.json' to 'policy.yaml' with
upgrade checks.

2. Deprecate the JSON formatted policy file on the project side
via warning in doc and releasenotes.

Also replace policy.json to policy.yaml ref from doc and tests.

[1]https://governance.openstack.org/tc/goals/selected/wallaby/migrate-policy-format-from-json-to-yaml.html

Change-Id: I0dbb8484e749e645627756e88ec79c1b26a6414a
2021-01-08 09:10:49 +00:00
wangzihao
3347e11572 Update version of doc8
The doc8 lib supports Py36 starting from version 0.8.1

Change-Id: Iba04ac4c82b3b56ccdb0f20102fe4ea5ca822bff
2021-01-08 15:54:42 +08:00
Akihiro Motoki
d64c25c019 Follow-up: Move linters dependencies to tox.ini
After commit 89e2fad8ef856f0e3651e4ea5784d28bc9aeb229,
pep8/bandit/bashate tox envs have different dependencies than
the default tox env. If tox envs with different dependencies share
some common envdir, tox env will be recreated every time a different
tox env is specified. (For example, "tox -e cover" after "tox -e pep8"
recreates the tox env.)

To address it, this commit introduces a new common envdir for linters
(envdir = {toxworkdir}/lint). It also moves deependencies of bashate
and bandit envs to pep8 env to ensure these three tox envs have the
same dependencies.

Cleanups are also made in test-requirements and lower-constraints.
* astroid and isort can be dropped from test-requirements.txt
  as pylint has proper version cappings for astroid and isort.
  (These cappings are available in pylint 2.5 and later.)
* reno is a document dependency, so it is unnecessary in test-requirements.
* reno, astroid and isort are dropped from lower-constraints
  as they are not installed in lower-constraints tests.

Change-Id: Iaa3168764d050875e3d08784aee2dfba809e53be
2021-01-07 04:26:07 +09:00
Bernard Cafarelli
89e2fad8ef
Move linters dependencies to tox.ini
Another item noted with the new pip resolver [1], linters dependencies
in test-requirements.txt may cause resolver issues (trying to pull in
enum34), conflicting requirements and cause them to be installed for all
test jobs. Move them to tox.ini as was done for some projects already
(this may be backported/squashed with pip resolver fix in stable
branches depending on how fixing these will go).

[1] http://lists.openstack.org/pipermail/openstack-discuss/2020-December/019362.html

Change-Id: I0111c41bea6a6caf5ffba1f5c34489854d9c9747
2020-12-17 11:32:03 +01:00
Rodolfo Alonso Hernandez
a6dbf97242 Deprecate XenAPI support
The configuration options are now marked as deprecated for
removal in X release.

Any related code is deleted. Neutron does not support XenAPI,
same as Nova [1][2].

[1]https://review.opendev.org/#/c/749304/
[2]https://review.opendev.org/#/c/749309/

Change-Id: Ifdb2200a5dac3508fdf8907bdd1f4547dff35341
Story: #2007686
Task: #41269
2020-12-09 20:15:39 +00:00
Bernard Cafarelli
8d6c301301
Update requirements for recent pip failures
Bump astroid test requirement to 2.4.0
Older versions trigger an error on wrapt dependency:
https://github.com/PyCQA/astroid/issues/755

Bump pylint accordingly to new astroid

Fix some new PEP8 warnings appearing with new versions, and filter out
the larget I202 "Additional newline in a group of imports" one for now

Drop psutil from functional requirements, it indicated an old version
and we have it in common requirements now

Bump a series of lower-constraints and requirements to work with new pip
resolver, testing with steps outlined at:
http://lists.openstack.org/pipermail/openstack-discuss/2020-December/019285.html
This includes eventlet 0.22.1, previous versions triggered a hard to
track error on enum34
Cap cryptography in lower-constraints to prevent discovery failure in
relevant job (other jobs have it capped via upper-constraints)

Change-Id: Ie74ea517a403e6e2a7a4e0a245dd20e5281339e8
Closes-Bug: #1907242
2020-12-09 13:17:51 +01:00
Slawek Kaplonski
e55f5e136b Bump requirements to perpare for secure RBAC
To implement proper scope checking, we need some updated libraries that
properly handle tokens and relay that information to the underlying
service. This commit updates the oslo.policy, oslo.context, oslo.log,
and keystonemiddleware requirements to versions that understand all the
various scopes so that we can update the default policies.

Partially-Implements blueprint: secure-bac-roles

Change-Id: I567c11152d27155ab4297cf7e6851965fb9f8516
2020-12-03 21:21:47 +00:00
Rodolfo Alonso Hernandez
fd335b4037 Import packaging.version explicitly
"packaging.version" should be imported explicitly to avoid the
following error:
  >>> import packaging
  >>> packaging.version
  Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
  AttributeError: module 'packaging' has no attribute 'version'

This patch also inclues "packaging" in the requirements file.

Change-Id: Ibd277e2fcc152fcf7c81ef7470e3beb0c668575c
Closes-Bug: #1904854
2020-11-19 10:17:24 +00:00
Rodolfo Alonso Hernandez
aa2f058701 Implement "get_process_count_by_name" natively
Use Python native libraries instead of shell calls.

Closes-Bug: #1900269

Change-Id: If6eafb7f5f26ab127ab5432ce85096d052a20b0c
2020-10-19 10:21:54 +00:00
Slawek Kaplonski
b965b1ec4c Bump neutron-lib to 2.6.1
Change-Id: I367dbcc4e6ca1f14a6c304686326f8c24914c048
2020-10-05 15:42:43 +02:00