337 Commits

Author SHA1 Message Date
Lajos Katona
7e116fe70e Revert "Updating the pecan version requirement"
This reverts commit e92193d246c8ea30d42a064297bb7a1955c62a98.

With pecan 1.4.0 aodh and ceilometer has issues, so for now better to
revert this change.
Closes-Bug: #1894864

Change-Id: I32b667b9fcc8bd6909d58c8fb60797f961ab9b44
2020-09-15 16:40:17 +02:00
elajkat
53625d0bcc Bump neutron-lib version to 2.6.0
Change-Id: I8103a4f352c8be225d352082b6f59ae9e4a244b7
2020-09-11 06:18:31 +02:00
Bernard Cafarelli
db4ff00175
Bump eventlet/oslo.messaging requirements
With older versions, lower-constraints job fails on Focal as seen in DNM
patch https://review.opendev.org/#/c/738163/

Change-Id: I05e0f3a3ad0abc02f97a89d63af9f58d5fa00549
Closes-Bug: #1894857
2020-09-08 17:41:01 +02:00
Zuul
d3c939e88a Merge "Bump some lower constraints for Focal migration" 2020-09-06 12:55:32 +00:00
Bence Romsics
a818c41c25 metadata-ipv6: Accept link local address in X-Forwarded-For
In the spec we said:
"""
When the metadata proxy processes a request, it gathers the L2 addresses
of a VM, and the source interface, and passes it to the metadata service.

The Metadata service, instead of using the VM IP, uses the "VM MAC" and
"Gateway MAC" to identify the instance.
"""

But since we switched from the home-grown metadata-ns-proxy to haproxy
we no longer control some of the headers included, like X-Forwarded-For.
haproxy allows us to turn X-Forwarded-For on or off, but it cannot
give us an X-Forwarded-For-MAC header.

Instead it seems we have to rely on the source address being the IPv6
link local address generated from the NIC's MAC address as specified
in RFC 4291:
https://tools.ietf.org/html/rfc4291#section-2.5.6
https://tools.ietf.org/html/rfc4291#appendix-A

Note that means you cannot use IPv6 Privacy Extensions:
https://tools.ietf.org/html/rfc4941

Change-Id: Ife592fcfc69e26f61ec1f45c06821cb025cc7cf2
Closes-Bug: #1460177
2020-08-31 13:02:49 +02:00
Bernard Cafarelli
671c3978a1
Bump some lower constraints for Focal migration
As seen in focal testing failure [1], lower constraints fail on
some packages (fixing one, another may appear). This bumps a series of
packages after local testing to pass on Focal.

Also sync requirements on these new versions

[1] https://review.opendev.org/#/c/734304/

Change-Id: I3abf86d90ed5cb1c4434746860b53c676eecbfd3
2020-08-27 09:27:45 +02:00
Zuul
bf23b9c4bf Merge "Updating the pecan version requirement" 2020-08-21 02:35:09 +00:00
Slawek Kaplonski
95247da614 Bump neutron-lib version to 2.5.0
Change-Id: I29136a58472e3156fc0a0407976d1a03b51aeb85
2020-08-11 21:20:18 +00:00
Dan Radez
e92193d246 Updating the pecan version requirement
There's a fix in pecan 1.4 to handle accept headers that have
extra parameters included.

Closes-Bug: #1829042
Change-Id: Id7d78d77da8dfd1620936e437d862c1d60e8eb25
2020-08-11 14:45:07 +00:00
Zuul
77e9a52e52 Merge "Specify C shared library in Pyroute2 namespace context" 2020-08-07 06:26:22 +00:00
Rodolfo Alonso Hernandez
ce1eebbf57 Bump oslo.privsep to 2.3.0
This new version contains [1]. The aim of this patch is to remove
any eventlet patch in the root daemon, trying to avoid the recurrent
evenlet timeout we detect in the CI jobs (mainly functional and
fullstack ones).

[1]https://review.opendev.org/#/c/740970/

Change-Id: Ide2081e8de032752c3aae940ed7d2a8380dd4b3d
2020-08-04 10:45:19 +00:00
Zuul
08863de754 Merge "Remove "six" library" 2020-07-30 00:35:59 +00:00
Rodolfo Alonso Hernandez
68e5e1b8fe Specify C shared library in Pyroute2 namespace context
Since [1], it's possible to specify the shared library to be used
when creating a Pyroute2 namespace context.

As commented in [2], "privsep" library makes use of eventlet to
implement multitasking. If the method executed returns the GIL,
nothing guarantees that the "eventlet" executor will return it
again to this task. This could lead to timeouts during the
execution of those methods.

From https://docs.python.org/3.6/library/ctypes.html#ctypes.PyDLL:
  "Instances of this class behave like CDLL instances, except that
   the Python GIL is not released during the function call, and
   after the function execution the Python error flag is checked."

[1]https://github.com/svinota/pyroute2/issues/702
[2]https://review.opendev.org/#/c/717017/

Change-Id: I6c9f9adba8b4433cc96704bb69dd4e0d4b154ebd
Related-Bug: #1870352
2020-07-29 12:28:46 +00:00
Rodolfo Alonso Hernandez
ddd5832323 Remove "six" library
Last step to remove "six" library usage in Neutron.

Change-Id: Idd42e0c51c8c3bd598c9cf91602596be238bccae
2020-07-28 16:55:52 +00:00
Rodolfo Alonso Hernandez
de4c10882f Set OVS manager command timeout and inactiviy probe
When creating the OVS manager, define the command timeout
(CONF.OVS.ovsdb_timeout) and inactivity probe time
(CONF.OVS.of_inactivity_probe)

NOTE: CONF.OVS.of_inactivity_probe is defined in seconds but the
parameter should be passed to ovs-vsctl in milliseconds [1].

[1]http://www.openvswitch.org/support/dist-docs/ovs-vswitchd.conf.db.5.txt

Depends-On: https://review.opendev.org/#/c/720785

Change-Id: I8ed1fc85c2f78710bf6589ba3deca518471339b8
Closes-Bug: #1868686
2020-07-16 15:56:27 +00:00
Brian Haley
0ffaac1db2
Use the correct value for the DHCP client port number
Version 2.4.0 of neutron-lib has the DHCP port numbers
correct, so start using them.

Also updated other code in linux/dhcp.py to use the
constants as well, instead of re-defining them.

Closes-bug: #1882588

Change-Id: I5dc1d8e7bcc94efd1fab68d980d60e3130d5e5bc
2020-07-01 12:28:25 +02:00
Brian Haley
4be0baa8cd Bump oslo.log to version 4.2.1
There were a couple of versions of oslo.log that were
not backwards-compatible. Now that a fixed version was
released, bump lower-constraints to require it and
remove the temporary workaround.

Change-Id: If38105ceaa48a0520ae8243982b736d0bc99ec3a
Related-bug: #1871840
2020-06-05 14:45:55 -04:00
Brian Haley
1a3811448d Bump oslo.log to version 4.1.2
Versions of oslo.log >= 4.1.2 require a second argument when
initializing the OSJournalHandler class. While I've started
a review to fix that regression [0], bump oslo.log to a later
version that requires this new flag and pass it to fix the
gate.

Also had to blacklist the OVN tempest IPv6 hotplug test
since it is failing too much to pass the check jobs.

[0] https://review.opendev.org/732457

Change-Id: Ic9bbb43aa832ad6cc45d57328b40afe4468ddfca
Related-bug: #1871840
Related-bug: #1881558
2020-06-02 15:26:15 -04:00
Zuul
e2b248f5ee Merge "Install "wmi" library in "win32" systems" 2020-05-26 18:04:26 +00:00
Akihiro Motoki
52e3fee5ef Switch to hacking 3.0.1
In hacking 2.0 or later, local-check-factory was removed as it is not
compatible with flake8 3.x and it is advised to use flake8's local
plugins [1]. neutron-lib provided a factory to register common hacking
rules, but it no longer works with hacking 2, so we need to define rules
defined in neutron-lib as flake8 local check plugin [2] explicitly.
This needs to be done in each neutron related project, so it is the
downside of the migration to hacking 2.x (I explored a way to continue
to use the factory but failed to find a good way to achieve this) but
I believe it is good to migrate the newer libraries.

* flake8ext decorator in neutron/hacking/checks.py is also replaced with
  hacking.core.flake8ext to avoid the copy-and-paste code.
* neutron-lib dependency is updated as neutron-lib 2.3 added hacking 3 support.
* Python modules related to coding style checks (listed in blacklist.txt in
  openstack/requirements repo) are dropped from lower-constraints.txt
  as they are not actually used in tests (other than pep8).
* HackingDocTestCase is now converted into normal test cases.
  HackingDocTestCase depends on the internal of hacking and pycodestyle
  so it looks better to use normal style of writing tests.

[1] https://docs.openstack.org/releasenotes/hacking/unreleased.html#relnotes-2-0-0
[2] https://flake8.pycqa.org/en/3.7.0/user/configuration.html#using-local-plugins

Change-Id: I92cf50a84bb587a0649a7cffee15cce4ce37d086
2020-05-12 16:58:41 -04:00
Rodolfo Alonso Hernandez
01b9e1106d Install "wmi" library in "win32" systems
Change-Id: Ifb2af895e0d0f1935c63950fcae4480c090d1356
Closes-Bug: #1872713
2020-04-30 11:15:10 +00:00
Slawek Kaplonski
8108db2c6f Bump neutron-lib to 2.2.0
Depends-On: https://review.opendev.org/#/c/711600/
Change-Id: I2d4bf3ad409d5fc2d4a01868ba9622f40a35f0a3
2020-03-10 14:14:15 +00:00
Bence Romsics
ee01ea950d Bump neutron-lib to 2.1.0
Change-Id: I3cb746cd55d27d422bddac80f25a5a706fed2445
Depends-On: https://review.opendev.org/707388
2020-02-13 17:01:13 +01:00
Daniel Bengtsson
f8a3b2c589 Stop configuring install_command in tox.
Currently, we are overriding 'install_command' to use 'pip'. This is
considered poor behavior and 'python -m pip' should be used instead:

https://snarky.ca/why-you-should-use-python-m-pip/

It turns out that this is the the default value provided by tox:

https://tox.readthedocs.io/en/latest/config.html#conf-install_command

So we can remove the line and simply use the default value.
This change showed we needed a newer version of debtcollector in lower
constraints, aliging with the version required by os-vif. This change
showed we needed also a newer version of cffi and keystoneauth1 in lower
constraints. Update also the requirements file for debtcollector and
keystoneauth1.

Change-Id: I5e190c3db8bed0a264b911cdf425aa4c9b51f768
2020-01-28 11:07:40 +01:00
Flavio Fernandes
9283738843 [OVN] Bump ovsdbapp requirements to 1.0.0
Contains fixes for functional tests needed after the networking-ovn has
moved to Neutron and OVN splitting from the OVS repository upstream.

Depends-On: https://review.opendev.org/#/c/704176/

Change-Id: If3d6a04bf47f7e308530a3e1abb20ebfc184451f
Related-Blueprint: neutron-ovn-merge
2020-01-24 15:07:36 -05:00
Zuul
3b03b509ee Merge "[OVN] Add missing pyOpenSSL requirement" 2020-01-21 05:21:11 +00:00
Maciej Józefczyk
3acf0812a2 [OVN] Add missing pyOpenSSL requirement
In OVN we can configure connection to NBDB and SBDB to be under
SSL. We forgot to add this requirement during move.

There is a TestPortBindingOverSsl functional test case that
is failing because of this missing requirement.

Related-Blueprint: neutron-ovn-merge
Change-Id: I664f721e9b7edbf3358749e3d31e8e1632123b05
2020-01-16 12:20:26 +01:00
Slawek Kaplonski
84658a96b3 Bump neutron-lib to 2.0.0
Change-Id: I6968da1d0f8dbf0ddb1b5d8b0796f2357a2a505e
2020-01-12 17:56:05 +00:00
Zuul
0115f71af8 Merge "Bump min pyroute2 version to 0.5.7" 2019-12-20 14:48:53 +00:00
Slawek Kaplonski
04e391ba3e Bump neutron-lib to 1.30.0
Change-Id: I41f6625cf6384e7607b07a203a5920ff83f704ac
2019-12-13 12:34:17 +00:00
Slawek Kaplonski
fc4e3b95d8 Bump min pyroute2 version to 0.5.7
Change-Id: I2de57a79b63f3baa92f90fc0dcf8df69bbb63586
2019-12-13 10:49:48 +01:00
Maciej Józefczyk
9267966628 [OVN] Sync requirements with OVN
This patch sync requirements from OVN requirements.

Change-Id: I988e506e9593e7c0856ef9e2955ec04b37f2ba3b
Related-Blueprint: neutron-ovn-merge
2019-11-27 12:23:56 +00:00
Brian Haley
6842465260 Stop testing python 2
Since it's no longer supported past Train, lets stop
running the tests.

Updated docs and made some pep8 code tweaks as well.

Change-Id: I1c171ab906a3b4c66558163ad26947ebf710a276
2019-10-25 18:50:08 +00:00
Riccardo Pittau
c6ff9c922e Use openstacksdk for ironic notifiers
This patch removes the dependency from ironicclient for the ironic
event notifiers in favor of openstacksdk.
Also, increasing minimum required versions for mock and
openstacksdk.

Change-Id: Ib76e19d29f0ae3db6d181578b638da699181f60d
2019-09-19 06:56:24 +00:00
Bence Romsics
2cb24490c0 bump neutron-lib to 1.29.1
Bump neutron-lib to 1.29.1 [1] in requirements and lower-constraints.

[1] https://review.opendev.org/680619

Change-Id: I95ed02087e7cd6cc757f9a1578a1e4590458a714
2019-09-11 07:24:19 +00:00
Bence Romsics
1c27dc05d7 bump neutron-lib to 1.29.0
Bump neutron-lib to 1.29.0 [1] in requirements and lower-constraints.

[1] https://review.opendev.org/677314

Change-Id: Ia243c7d64f99ca222ad3b9c583fe4a64b01beb43
2019-08-22 14:45:13 +02:00
Bence Romsics
45e59e3a18 Propagate profiler info into BatchNotifier threads
While working on improving the osprofiler report in neutron I'm finding
various places where the profiling can be extended by propagating the
profiler info further then before.

This change starts to profile BatchNotifier threads (e.g. various
callbacks to nova) when the code starting the thread was already
profiled (it's not at the moment, but that will be another change).

In this change we use osprofiler.profiler.clean(). Since that has became
part of the public interface of osprofiler in version 2.3.0, we bump
osprofiler version to 2.3.0 both in lower-constraints and requirements.

Change-Id: Ibd08e097b6f8457c50f8ba9e4a63b96e7e3182bc
Partial-Bug: #1833674
2019-07-09 13:28:33 +02:00
Boden R
4b8790ed20 bump neutron-lib to 1.28.0
Bump up neutron-lib to 1.28.0 [1] in requirements and lower-constraints.

[1] https://review.opendev.org/#/c/668928/

Change-Id: I57efc19d67826698cfafbf03d735c5e8978ca745
2019-07-04 10:48:57 -06:00
Boden R
0d943added bump neutron-lib to 1.27.0
Change-Id: I4e0f53e770211ae072bec5b8684649743479dd5b
2019-06-18 06:21:08 -06:00
LIU Yulong
975143fd08 Add a generic coordination lock mechanism
For various synchronized scenarios, this decorator
allows flexible lock name with parameters and names
of underlying functions.
For instance:
    @synchronized('{f_name}-{resource.id}-{snap[name]}')
    def foo(self, resource, snap):

Change-Id: I4bf75be2902cd598a5a5a2c5887d4b4262f3e042
Related-Bug: #1824911
2019-06-06 09:56:58 +08:00
翟小君
e71adfde06 Exclude broken ironicclient versions 2.7.1
Depends-On:https://review.opendev.org/#/c/659612/
Change-Id: I832fa869ec1eee4ab616d1f205a416cbc61f816a
2019-06-04 11:30:24 +08:00
Zuul
0e2508c8b1 Merge "Notify ironic on port status changes" 2019-06-01 02:07:46 +00:00
Harald Jensås
afff649a39 Notify ironic on port status changes
This patch adds an ironic notifier that sends notifications
to ironic endpoint /v1/events. The events are triggered by
port updates and deletions. Only ports with vnic_type
baremetal are honored.

Story: 1304673
Task: 22263
Closes-Bug: #1828367
Implements: blueprint event-notifier-ironic
Authored-By: Vasyl Saienko <vsaienko@mirantis.com>
Co-Authored-By: Harald Jensås <hjensas@redhat.com>
Co-Authored-By: Julia Kreger <juliaashleykreger@gmail.com>
Change-Id: I0bb3187a88a7f20adb8c60e24945db159afb83f1
2019-05-27 13:38:42 +02:00
Hamdy Khader
b4243ad3f7 Add Smart NIC representor port to integration bridge
In case of Smart NIC vNIC type neutron should mimic nova-compute
that plug the port to the ovs bridge.

Extend the Neutron OVS mechanism driver and Neutron OVS Agent to bind
the Neutron port for the baremetal host with Smart NIC. This will allow
the Neutron OVS Agent to configure the pipeline of the OVS running on
the Smart NIC and leverage the pipeline features such as: VXLAN,
Security Groups and ARP Responder.

Story: #2003346
Closes-Bug: #1785608
Change-Id: I6d520d3bac2e9ceb30b5b6197c6eb0f958cc3659
2019-05-23 10:54:36 +03:00
YAMAMOTO Takashi
4353d1b06c Revert "Bump Pyroute2 version to 0.5.5"
This reverts commit d2d57371dc7dd35b1f66eb6390d96dfc512eeca1.

Change-Id: Ic04adae9cd27ce18324d5a2b2ec1966b38eddc2b
Closes-Bug: #1829239
2019-05-15 13:52:59 +00:00
Rodolfo Alonso Hernandez
d2d57371dc Bump Pyroute2 version to 0.5.5
Pyroute2 is modifying the default logger, adding NullHandler to it. If
the logger is not properly configured, like in any service or agent
spawn in Neutron, the only handler will be NullHandler. This prevents
from rendering the message passed, as when StreamHandler is used.

This issue is present only in version 0.5.4 and 0.5.5. Current Pyroute2
master version implements a new logger which removes this problem.

[1]https://github.com/svinota/pyroute2/blob/0.5.5/pyroute2/__init__.py#L78-L79

Change-Id: Ic89d8503e9d1a7f622f0c3a148bf78766b92ed08
Related-Bug: #1811515
2019-05-10 11:24:18 +00:00
Boden R
130dad25b6 bump neutron-lib to 1.26.0
Bump up the required and lower constraint for neutron-lib to use the
latest release 1.26.0. Also see https://review.opendev.org/#/c/653887/

Change-Id: I55344c117793ddce91ad95401e1306d6605ee586
2019-04-29 09:44:54 -06:00
Doug Wiegley
1e9086f6e2
Use dynamic lazy mode for fetching security group rules
In conjunction with the prior fix to only get a subset of fields
when needed, this makes the querying of non-rules SG objects
very very fast.

Before the two fixes, if you have about ten security groups with 2000 rules each:

list all: 14s
list all, just 'id' field: 14s
list one: 0.6s
list one, just 'id' field: 0.6s

With just the previous partial fix:

list all: 14s
list all, just 'id' field: 6s
list one: 0.6s
list one, just 'id' field: 0.2s

Now with this change:

list all: 14s
list all, just 'id' field: 0.04s
list one: 0.6s
list one, just 'id' field: 0.03s

Closes-Bug: #1810563
Change-Id: I15df276ba7dbcb3763ab20b63b26cddf2d594954
2019-03-14 16:23:53 -06:00
Zuul
04ecd43e38 Merge "Bump neutron-lib requirement to 1.25.0" 2019-03-02 06:40:55 +00:00
Ben Nemec
1cf30c552d Add oslo.privsep to config-generator list
We recently exposed the privsep opts for config generator use, so
projects that depend on oslo.privsep should include them in their
sample configs.

Change-Id: Ibaef2e2848855cd8ef987ec58457220911ad7c69
2019-03-01 16:54:20 +00:00