Release-announce
Threads by month
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- 1 participants
- 17236 discussions
We enthusiastically announce the release of:
sahara-plugin-ambari 4.0.0: Ambari Plugin for Sahara Project
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/sahara-plugin-ambari
Download the package from:
https://tarballs.openstack.org/sahara-plugin-ambari/
Please report issues through:
https://storyboard.openstack.org/#!/project/1101
For more details, please see below.
Changes in sahara-plugin-ambari 3.0.0..4.0.0
--------------------------------------------
9a42107 drop mock from lower-constraints
af11145 Stop to use the __future__ module.
00c40f3 Switch to newer openstackdocstheme and reno versions
ef3769a Fix hacking min version to 3.0.1
4db6b98 Imported Translations from Zanata
70730fa Imported Translations from Zanata
19ddf63 Bump default tox env from py37 to py38
9ae8ecb Add py38 package metadata
b8fbfd5 Add Python3 victoria unit tests
5980748 Update master for stable/ussuri
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 2 +-
lower-constraints.txt | 6 -
releasenotes/source/conf.py | 7 +-
releasenotes/source/index.rst | 1 +
.../source/locale/de/LC_MESSAGES/releasenotes.po | 21 ++-
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 58 +++++++
releasenotes/source/ussuri.rst | 6 +
.../en_GB/LC_MESSAGES/sahara_plugin_ambari.po | 166 +++++++++++++++++++++
.../plugins/ambari/resources/generate_config.py | 1 -
setup.cfg | 1 +
test-requirements.txt | 2 +-
tox.ini | 2 +-
14 files changed, 265 insertions(+), 24 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index 06966da..f3621b2 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -5 +5 @@
-hacking>=3.0,<3.1.0 # Apache-2.0
+hacking>=3.0.1,<3.1.0 # Apache-2.0
1
0
We eagerly announce the release of:
openstack-placement 4.0.0: Resource provider inventory usage and
allocation service
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/openstack-placement
Download the package from:
https://pypi.org/project/openstack-placement
For more details, please see below.
Changes in openstack-placement 3.0.0..4.0.0
-------------------------------------------
fcc5ebc7 Bump default tox env from py37 to py38
b1ff4aff Correct spell error from `seperate` to `separate`
0a1d21ff [goal] Migrate testing to ubuntu focal
e070925b Cap jsonschema 3.2.0 as the minimal version
10d7895d Remove translation sections from setup.cfg
6774a750 Replace assertItemsEqual with assertCountEqual
4b95c078 Update perfload jobs for python3
fa9ae579 Add DEBUG logs to help troubleshoot no allocation candidates
ffb9d5fd Update for os-traits 2.4.0
f58c3d9f Update verification for Python3
9a60198d Remove all usage of six library
3cfb47c9 drop mock from lower-constraints
b15617a9 Stop to use the __future__ module.
2009e613 Switch to newer openstackdocstheme and reno versions
37a01df4 Switch to new grenade job name
e164881b Use unittest.mock instead of third party mock
11fa34f5 Add py38 package metadata
bf926c5e Add Python3 victoria unit tests
a43144e0 Update master for stable/ussuri
ae202d23 [Community goal] Update contributor documentation
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 8 +++---
CONTRIBUTING.rst | 25 ++++++++---------
api-ref/source/conf.py | 26 ++++--------------
babel.cfg | 2 --
.../approved/2005473-support-consumer-types.rst | 2 +-
gate/perfload-nested-runner.sh | 2 +-
gate/perfload-runner.sh | 2 +-
gate/perfload-server.sh | 6 ++--
lower-constraints.txt | 17 +++++-------
placement/cmd/manage.py | 4 +--
placement/conf/__init__.py | 1 -
placement/conf/database.py | 1 -
placement/conf/placement.py | 1 -
placement/db/sqlalchemy/alembic/env.py | 3 --
placement/direct.py | 3 +-
placement/fault_wrap.py | 3 +-
placement/handler.py | 2 +-
placement/handlers/allocation.py | 8 +++---
placement/handlers/allocation_candidate.py | 3 +-
placement/handlers/resource_class.py | 2 +-
placement/objects/allocation_candidate.py | 4 ---
placement/objects/inventory.py | 3 +-
placement/objects/research_context.py | 13 +++++++--
placement/objects/resource_class.py | 3 +-
placement/objects/trait.py | 7 ++---
.../functional/db/test_allocation_candidates.py | 3 +-
.../unit/objects/test_allocation_candidate.py | 2 +-
releasenotes/source/conf.py | 7 +++--
releasenotes/source/index.rst | 1 +
releasenotes/source/ussuri.rst | 6 ++++
requirements.txt | 5 ++--
setup.cfg | 1 +
test-requirements.txt | 10 +++++--
tools/test-setup.sh | 4 +--
tox.ini | 2 +-
64 files changed, 175 insertions(+), 213 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 9783ba95..bdbe52cb 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -10 +10 @@ WebOb>=1.8.2 # MIT
-jsonschema>=2.6.0 # MIT
+jsonschema>=3.2.0 # MIT
@@ -12 +11,0 @@ requests>=2.14.2 # Apache-2.0
-six>=1.10.0 # MIT
@@ -26 +25 @@ os-resource-classes>=0.5.0 # Apache-2.0
-os-traits>=2.2.0 # Apache-2.0
+os-traits>=2.4.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 9e7bd915..890d52e8 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -5,0 +6,5 @@ hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
+# remove this pyflakes from here once you bump the
+# hacking to 3.2.0 or above. hacking 3.2.0 takes
+# care of pyflakes version compatibilty.
+pyflakes>=2.1.1
+
@@ -8 +12,0 @@ fixtures>=3.0.0 # Apache-2.0/BSD
-mock>=2.0.0 # BSD
@@ -13,2 +17,2 @@ mock>=2.0.0 # BSD
-psycopg2>=2.7 # LGPL/ZPL
-PyMySQL>=0.7.6 # MIT License
+psycopg2>=2.8 # LGPL/ZPL
+PyMySQL>=0.8.0 # MIT License
1
0
We are excited to announce the release of:
sahara-dashboard 13.0.0: Sahara Management Dashboard
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/sahara-dashboard
Download the package from:
https://tarballs.openstack.org/sahara-dashboard/
Please report issues through:
https://storyboard.openstack.org/#!/project/openstack/sahara-
dashboard
For more details, please see below.
Changes in sahara-dashboard 12.0.0.0rc1..13.0.0
-----------------------------------------------
3fc494d [goal] Migrate testing to ubuntu focal
0a891cf Imported Translations from Zanata
d1fa66b Stop to use the __future__ module.
eb7c891 Switch to newer openstackdocstheme and reno versions
76fea14 Fix hacking min version to 3.0.1
b3f0a63 Imported Translations from Zanata
d5b9b25 Imported Translations from Zanata
944da81 Cleanup py27 support
6b3638e Bump default tox env from py37 to py38
f44bf9a Add py38 package metadata
bb1a09c Add Python3 victoria unit tests
2fa6e13 Update master for stable/ussuri
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 2 +-
bindep.txt | 1 -
lower-constraints.txt | 14 ++++----
releasenotes/source/conf.py | 7 ++--
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 11 ++++---
releasenotes/source/ussuri.rst | 6 ++++
requirements.txt | 2 +-
sahara_dashboard/api/manila.py | 2 --
.../locale/ko_KR/LC_MESSAGES/django.po | 37 ++++++++++++++++++++--
setup.cfg | 12 +++----
setup.py | 9 ------
test-requirements.txt | 2 +-
tox.ini | 10 +++---
15 files changed, 73 insertions(+), 49 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index ec35933..6fec3b5 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6 +6 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0
-keystoneauth1>=3.4.0 # Apache-2.0
+keystoneauth1>=3.8.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index d70e795..4ab8e38 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -5 +5 @@
-hacking>=3.0,<3.1.0 # Apache-2.0
+hacking>=3.0.1,<3.1.0 # Apache-2.0
1
0
We are pleased to announce the release of:
sahara-plugin-storm 4.0.0: Storm Plugin for Sahara Project
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/sahara-plugin-storm
Download the package from:
https://tarballs.openstack.org/sahara-plugin-storm/
Please report issues through:
https://storyboard.openstack.org/#!/project/1105
For more details, please see below.
Changes in sahara-plugin-storm 3.0.0..4.0.0
-------------------------------------------
a0f41ee Use unittest.mock instead of mock
d9c7835 Switch to newer openstackdocstheme and reno versions
cbf77a5 Fix hacking min version to 3.0.1
4ceb9a8 Imported Translations from Zanata
25a253c Bump default tox env from py37 to py38
9b3f682 Add py38 package metadata
24d193d Add Python3 victoria unit tests
a18ba18 Update master for stable/ussuri
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 2 +-
lower-constraints.txt | 6 ------
releasenotes/source/conf.py | 7 +++----
releasenotes/source/index.rst | 1 +
.../source/locale/de/LC_MESSAGES/releasenotes.po | 21 +++++++++++++++++++--
releasenotes/source/ussuri.rst | 6 ++++++
setup.cfg | 1 +
test-requirements.txt | 3 +--
tox.ini | 2 +-
13 files changed, 44 insertions(+), 26 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index c572e69..f3621b2 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -5 +5 @@
-hacking>=3.0,<3.1.0 # Apache-2.0
+hacking>=3.0.1,<3.1.0 # Apache-2.0
@@ -12 +11,0 @@ fixtures>=3.0.0 # Apache-2.0/BSD
-mock>=2.0.0 # BSD
1
0
We are happy to announce the release of:
qinling-dashboard 4.0.0: Qinling Management Dashboard
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/qinling-dashboard
Download the package from:
https://tarballs.openstack.org/qinling-dashboard/
Please report issues through:
https://storyboard.openstack.org/#!/project/openstack/qinling-
dashboard
For more details, please see below.
Changes in qinling-dashboard 3.0.0..4.0.0
-----------------------------------------
14da97e Imported Translations from Zanata
8b8e223 Cleanup for Refactor-error-messages
a4bdaf3 Remove references to mox3 lib
a118f06 Switch to newer openstackdocstheme and reno versions
47e017f Use unittest.mock instead of third party mock
Diffstat (except docs and test files)
-------------------------------------
qinling_dashboard/content/executions/forms.py | 4 +-
qinling_dashboard/content/functions/forms.py | 7 +-
.../locale/en_GB/LC_MESSAGES/django.po | 31 +++++---
.../locale/ko_KR/LC_MESSAGES/django.po | 9 +--
qinling_dashboard/test/helpers.py | 85 +---------------------
releasenotes/source/conf.py | 9 +--
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 10 ++-
test-requirements.txt | 1 -
14 files changed, 54 insertions(+), 132 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index ddef5fc..611f5e2 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -16 +15,0 @@ flake8-import-order==0.12 # LGPLv3
-mock>=2.0.0 # BSD
1
0
We are gleeful to announce the release of:
senlin 10.0.0: OpenStack Clustering
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/senlin
Download the package from:
https://tarballs.openstack.org/senlin/
Please report issues through:
https://bugs.launchpad.net/senlin/+bugs
For more details, please see below.
Changes in senlin 9.0.0.0rc1..10.0.0
------------------------------------
aca5b42d Pass in correct port id parameter
e887e91d Fix Flake F811 for microversioned methods
349c4737 Find security group profiles by project scope
585bd14c Remove neutron-fwaas from the jobs' required project
a46245e7 Fix devstack problems causing failed CI tests
29aa71da Cap jsonschema 3.2.0 as the minimal version
c4d9ae77 Switch to newer openstackdocstheme and reno versions
bf379ee6 tox: Keeping going with docs
6ffcd010 Fix hacking min version to 3.0.1
27b7b209 Remove Babel requirement
a9839024 Remove all usage of six library
666fd70b Monkey patch original current_thread _active
bd4ae048 Imported Translations from Zanata
d45b0d42 Add Python3 victoria unit tests
26fb70b4 Update master for stable/ussuri
1fa7b5ed Use unittest.mock instead of third party mock
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 3 +-
babel.cfg | 1 -
contrib/kubernetes/kube/base.py | 23 ++++---
contrib/kubernetes/kube/master.py | 5 +-
contrib/kubernetes/kube/worker.py | 7 +--
contrib/vdu/vdu/server.py | 67 ++++++++++-----------
devstack/lib/senlin | 4 +-
lower-constraints.txt | 7 +--
releasenotes/source/conf.py | 8 +--
releasenotes/source/index.rst | 1 +
releasenotes/source/ussuri.rst | 6 ++
requirements.txt | 3 +-
senlin/api/openstack/v1/webhooks.py | 2 +-
senlin/cmd/__init__.py | 6 ++
senlin/drivers/os/neutron_v2.py | 11 +++-
senlin/locale/de/LC_MESSAGES/senlin.po | 70 +++++++---------------
senlin/profiles/os/nova/server.py | 10 +++-
.../unit/api/middleware/test_middleware_filters.py | 3 +-
.../api/middleware/test_version_negotiation.py | 3 +-
.../unit/api/openstack/v1/test_cluster_policies.py | 3 +-
.../unit/api/openstack/v1/test_policy_types.py | 3 +-
.../unit/api/openstack/v1/test_profile_types.py | 3 +-
.../unit/conductor/service/test_cluster_op.py | 3 +-
.../conductor/service/test_cluster_policies.py | 3 +-
.../unit/conductor/service/test_credentials.py | 2 +-
.../unit/conductor/service/test_policy_types.py | 3 +-
.../unit/conductor/service/test_profile_types.py | 3 +-
.../unit/engine/actions/test_attach_policy.py | 2 +-
.../unit/engine/actions/test_cluster_action.py | 2 +-
.../unit/engine/actions/test_replace_nodes.py | 2 +-
.../unit/engine/actions/test_update_policy.py | 2 +-
.../engine/notifications/test_heat_endpoint.py | 2 +-
.../unit/engine/notifications/test_message.py | 2 +-
.../engine/notifications/test_nova_endpoint.py | 2 +-
.../unit/profiles/test_nova_server_validate.py | 34 ++++++++++-
setup.cfg | 13 ----
test-requirements.txt | 3 +-
tox.ini | 6 +-
153 files changed, 358 insertions(+), 286 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index d00039c1..9ddd083b 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6 +5,0 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0
-Babel!=2.4.0,>=2.3.4 # BSD
@@ -10 +9 @@ jsonpath-rw<2.0,>=1.2.0 # Apache-2.0
-jsonschema>=2.6.0 # MIT
+jsonschema>=3.2.0 # MIT
diff --git a/test-requirements.txt b/test-requirements.txt
index d5aa6062..e7855eb3 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -6 +6 @@
-hacking>=3.0,<4.0.0 # Apache-2.0
+hacking>=3.0.1,<3.1.0 # Apache-2.0
@@ -8 +7,0 @@ coverage!=4.4,>=4.0 # Apache-2.0
-mock>=2.0.0 # BSD
1
0
We are chuffed to announce the release of:
solum 9.0.0: Application Lifecycle Management for OpenStack
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/solum
Download the package from:
https://tarballs.openstack.org/solum/
Please report issues through:
https://bugs.launchpad.net/solum/+bugs
For more details, please see below.
Changes in solum 8.0.0..9.0.0
-----------------------------
6d689be [goal] Migrate testing to ubuntu focal
369f4d2 Fix lower-constraints.
ab62db2 Use uwsgi binary from path
e17ac20 drop mock from lower-constraints
6049b6b Imported Translations from Zanata
968395a Switch to newer openstackdocstheme and reno versions
7c859a4 Fix hacking min version to 3.0.1
28330e9 Cleanup py27 support
9d34c4d Bump default tox env from py37 to py38
355c85e Add py38 package metadata
c8d75bb Fix py38 error
480e68e Add Python3 victoria unit tests
19e1280 Update master for stable/ussuri
406afaa Replace safe_utils.getcallargs with inspect.getcallargs
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 2 +-
babel.cfg | 1 -
devstack/plugin.sh | 2 +-
lower-constraints.txt | 21 +++----
releasenotes/source/conf.py | 13 ++--
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 70 +++++++++++++++++++++-
releasenotes/source/ussuri.rst | 6 ++
requirements.txt | 6 +-
setup.cfg | 15 +----
solum/common/exception.py | 4 +-
solum/common/safe_utils.py | 53 ----------------
solum/locale/en_GB/LC_MESSAGES/solum.po | 8 ++-
solum/objects/registry.py | 3 +-
test-requirements.txt | 2 +-
tox.ini | 9 ++-
20 files changed, 120 insertions(+), 124 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index fdb2e95..21afdef 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -10,2 +10,2 @@ iso8601>=0.1.12 # MIT
-kombu>=4.1.0 # BSD
-netaddr>=0.7.19 # BSD
+kombu>=4.3.0 # BSD
+netaddr>=0.7.20 # BSD
@@ -14 +14 @@ oslo.context>=2.21.0 # Apache-2.0
-oslo.db>=4.35.0 # Apache-2.0
+oslo.db>=4.40.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 6d51702..25a3564 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-hacking>=3.0,<3.1.0 # Apache-2.0
+hacking>=3.0.1,<3.1.0 # Apache-2.0
1
0
We are tickled pink to announce the release of:
octavia-dashboard 6.0.0: Horizon panels for Octavia
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/octavia-dashboard
Download the package from:
https://pypi.org/project/octavia-dashboard
Please report issues through:
https://storyboard.openstack.org/#!/project/openstack/octavia-
dashboard
For more details, please see below.
Changes in octavia-dashboard 5.0.0.0rc1..6.0.0
----------------------------------------------
3b3f917 Imported Translations from Zanata
f9622dc Update TOX_CONSTRAINTS_FILE for stable/victoria
f4a5f19 Update .gitreview for stable/victoria
8a2b852 [goal] Migrate testing to ubuntu focal
6a8f880 Add proxy protocol v2 support to dashboard
d70f7b1 Fix up display of selected Availability zone in workflow.
323c3a7 Imported Translations from Zanata
6db692e Bump the minimum openstacksdk version
4f9ffa1 drop mock from lower-constraints
b51aa8a Cleanup py27 support
27aa53d Switch to newer openstackdocstheme and reno versions
771dcae Switch to hacking 3.0
49fc8d9 Imported Translations from Zanata
03a5595 Add py38 package metadata
782322f Imported Translations from Zanata
51bf129 Imported Translations from Zanata
ecb04e4 Add Python3 victoria unit tests
3452adb Update master for stable/ussuri
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
bindep.txt | 4 +
lower-constraints.txt | 13 +-
octavia_dashboard/api/rest/lbaasv2.py | 2 +-
octavia_dashboard/karma.conf.js | 2 +-
.../locale/de/LC_MESSAGES/djangojs.po | 16 +-
.../locale/en_AU/LC_MESSAGES/djangojs.po | 608 ---------------------
.../locale/en_GB/LC_MESSAGES/djangojs.po | 18 +-
.../locale/id/LC_MESSAGES/djangojs.po | 11 +-
.../locale/ja/LC_MESSAGES/djangojs.po | 11 +-
.../locale/ko_KR/LC_MESSAGES/djangojs.po | 20 +-
.../locale/zh_CN/LC_MESSAGES/djangojs.po | 9 +-
.../loadbalancer/loadbalancer.controller.js | 2 +-
.../loadbalancer/loadbalancer.controller.spec.js | 2 +-
.../project/lbaasv2/workflow/model.service.js | 6 +-
.../project/lbaasv2/workflow/model.service.spec.js | 1 +
.../project/lbaasv2/workflow/pool/pool.help.html | 2 +-
.../notes/Add-ProxyV2-b5537c092737fe41.yaml | 4 +
releasenotes/source/conf.py | 7 +-
releasenotes/source/index.rst | 1 +
.../source/locale/de/LC_MESSAGES/releasenotes.po | 86 ---
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 333 -----------
.../source/locale/id/LC_MESSAGES/releasenotes.po | 318 -----------
.../locale/ko_KR/LC_MESSAGES/releasenotes.po | 307 -----------
.../locale/zh_CN/LC_MESSAGES/releasenotes.po | 197 -------
.../locale/zh_TW/LC_MESSAGES/releasenotes.po | 197 -------
releasenotes/source/ussuri.rst | 6 +
requirements.txt | 2 +-
setup.cfg | 30 +-
setup.py | 9 -
test-requirements.txt | 2 +-
tox.ini | 13 +-
zuul.d/projects.yaml | 2 +-
35 files changed, 89 insertions(+), 2176 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 3ba3763..e455f2e 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -7 +7 @@ Babel!=2.4.0,>=2.3.4 # BSD
-openstacksdk>=0.24.0 # Apache-2.0
+openstacksdk>=0.46.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 123e9ee..80bcf62 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -5 +5 @@
-hacking>=1.1.0,<1.2.0 # Apache-2.0
+hacking>=3.0.1,<3.1.0 # Apache-2.0
1
0
We are ecstatic to announce the release of:
neutron 17.0.0: OpenStack Networking
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/neutron
Download the package from:
https://tarballs.openstack.org/neutron/
Please report issues through:
https://bugs.launchpad.net/neutron/+bugs
For more details, please see below.
Changes in neutron 16.0.0.0rc1..17.0.0
--------------------------------------
0562335908 Fix dhcp_release when client_id is specified
341401d916 Add source_ip_prefix and destination_ip_prefix to metering label rules
f25f05959a [OVN] update_port should not remove values from external_ids
a88f5438b9 Migrate tempest jobs to Focal
685903e099 Update TOX_CONSTRAINTS_FILE for stable/victoria
d861efcd92 Update .gitreview for stable/victoria
0817c42799 ovn: Document gap about IPv6 PD in OVN
0a785e90c3 [OVN] Fix get/update/delete of non-OVN agents
2a12737d18 [OVN] Zuul: Copy OVSDB logs and DBs
4b89e87959 [ovn]: Use assertCountEqual instead of assertEqual when appropriate
f2643f27fb [OVN] Fix test_add_interface_in_use negative test
7e116fe70e Revert "Updating the pecan version requirement"
3cae952b72 [OVN] Updates to tools/migrate_names.txt
a1d89e6f0e Remove install unnecessary packages
53625d0bcc Bump neutron-lib version to 2.6.0
4b30dc2330 ovn migration: Fix neutron server container name
f3a8e1547d [OVN][OVS] Different metadata_workers default based on driver
a84462f698 ovn: Always use UTC for Hash ring timestamps
db4ff00175 Bump eventlet/oslo.messaging requirements
d4ae3f75a5 Change "propagate_uplink_status" default value to True
1d13b20c94 [OVN] Updates to tools/migrate_names.txt
3f30727c0a Use metadata constants from n-lib
bd1467b47c Granular metering data in neutron-metering-agent
30747a5aac Revert "Squash alchemy Liberty branch"
0c6ea20ba5 [ovn]: port forwarding -- move documentation to better place
0deec6621e [ovn]: port forwarding -- functional tests for maintenance task
7f494fa3ae Show cmd detail when execute linux command failed
4216e43f96 [OVN] Do not fail to when deleting PG if it's already gone
6fc24afd9a Use MagicMock for Connection object
72b3fc5745 Move pylint disable comment to an effective place
ca36dbde10 Rename networking-ovn-metadata-agent to neutron-ovn-metadata-agent
40918cdb9b [OVN] Gap: Add QoS minimum bandwidth allocation in Placement API
a818c41c25 metadata-ipv6: Accept link local address in X-Forwarded-For
a1f4ee3ade metadata-ipv6: Router namespace
a0b18d553d metadata-ipv6: DHCP namespace
5a39be9cb8 Fix R1720 pylint error in test_utils
827c5878d3 Simplify OVN Agent API implementation
b64a9c177f Force ncat install for functional/fullstack jobs
e1582e39a1 Don't directly access the in-memory DB for NB_Global row
3ae3c080db Disable "no-value-for-parameter" pep8 error in DictModel
eafa4ae6c8 Switch to new enginefacade in uplink_status_propagation UT module
5b4630913e Switch to new engine facade in OVN trunk driver module
671c3978a1 Bump some lower constraints for Focal migration
513c3652b4 Update IPv6 Prefix Delegation docs
68ec29abf0 [OVN] Use the OVN DevStack module
a08893368a Don't raise FileNotFoundError during disabling keepalived
7fd2725cb1 Do not skip ports with ofport unset or invalid
a4e04a7f8b Fix get_ipv6_llas method in the interface driver
81d375d39a Handle properly existing LLA address during l3 agent restart
1dddbbfc92 [OVN] Use the Chassis_Private table for agents healthcheck
13b894288e Fix deletion of subnet_id from pd_subnets
055036ba2b Improve terminology in the Neutron tree
b0c6cb35e7 Announce deprecation of `remote_ip_prefix` in metering label rules
ee50f7cfcf Raise minimal greenlet version
5eca44bfa8 Ensure fip ip rules deleted when fip removed
6a9fce39d6 "round" may bump 1 second to 2 if sleep takes more than 1.49 sec
7abe0ee34c Add 'keepalived_use_no_track' config option
dd20cab371 Support Address Group CRUD as extensions
361b485318 [ovn]: port forwarding -- feature support under ovn_db_sync
7f551db9be [OVN] Update sample local.conf to support segments
3000f3c541 Promote -uwsgi jobs to be gating
95247da614 Bump neutron-lib version to 2.5.0
d74f409c82 [ovn]: port forwarding -- core changes
e92193d246 Updating the pecan version requirement
cc54a1c38e Fix port can not be created with the sg of other project
5f9b5dd861 port_forwarding: validate args before invoking db update (cont.)
cebdd77af8 Bump pylint version to support python 3.8
4ad21fd23a migration: Restart OVS after setting protocols
e5ce193189 Support pyroute2 0.5.13
31a95c085f Use ebtables-legacy on Ubuntu Focal
ce1eebbf57 Bump oslo.privsep to 2.3.0
63322d12e4 Add "neutron" devstack plugin to all tempest jobs
c9242f9a88 Allow RBAC on Neutron quotas
6723f4a485 Clean up some of the OVN agent API methods
38c7fd7cef Fix validation of IPv6 subnets with external RAs
605de6d968 [ovn]: port forwarding -- Functional test for IDL changes
68e5e1b8fe Specify C shared library in Pyroute2 namespace context
0c55ab9c78 [Functional] Add logging to the check test file function
17f2ba3afb [ovn] Use normalized remote prefix IPs in OVN driver
e2060a2f0b [ovn]: port forwarding -- documentation
ddd5832323 Remove "six" library
fc5a8ee1b8 Use "replace" to remove a section of a string
3bc718e1a0 Change some tempest tests to explicitly use ML2/OVS
2172f19e76 [Trivial]Add missing space between words
597bb0d187 [ovn]: port forwarding -- IDL changes
6da9936814 Remove "vf_management" and "vf_extended_management" checks
d0c9cc4c8f Remove DbBasePluginCommon._get_subnet unused method
fe440bdd6b [ovn]: gracefully handle logical switch ports with tag set to None
8c4b23f812 [OVN] Extra DHCP options validation: Log invalid options
b11dd3836e Remove some unnecessary usages of verify()
afd63d0b36 ovn migration: Support stack name
164755264b [OVN] Bump OVN version to v20.06.1
8d1512afb0 [OVN] Allow IP allocation with different segments for OVN service ports
294720fcd2 Fix neutron-ovn-tempest-ovs-master-fedora job
9df1ca82c5 [OVN] Add segments to ML2_SUPPORTED_API_EXTENSIONS
ccbebfeacc [OVN] Fix logic issue while deleting port with QoS
a418d55bc2 ovn-migration-mtu: Support migrating MTU of GRE networks
c6574321ba ovn-migration-mtu: Support providing project/user domain by name
f0be5f1a83 Squash alchemy Liberty branch
bc99e56515 Import "oslo_config.cfg" before "eventlet"
0eebd002cc [OVS][FW] Remote SG IDs left behind when a SG is removed
f379740348 port_forwarding: validate args before invoking db update
39ac4247c5 Remove timecost profiling for port get_objects
de4c10882f Set OVS manager command timeout and inactiviy probe
e7df43395c [OVN] DevStack: Make the transition of DevStack module easier
61bf68de31 [ovn]: port forwarding -- extend support for OVN usage (cont.)
c1a77ef8b7 Ensure drop flows on br-int at agent startup for DVR too
7a56b8f3bc String to byte conversion should provide the encoding type
7ebd1d16eb Install python-openvswitch from PyPI using requirements
57f89ae777 Stop disabling peakmem_tracker
554b5c2267 Support gateway which is not in subnet CIDR in ha_router
622714b63e Optionally use admin powers when deleting DNS records
34b6833caa Remove tempest-integrated-networking job from neutron queue
b2b40b6a8c [OVN] Use new distributed device_owner for OVN distributed services
da45bbbff4 Auto-delete dhcp ports on segment delete
a3ecaf6a10 Better document router requirements for IPv6
5a0693da8d Increase singlenode tempest jobs' timeout to 10800 seconds
db6ebd22e1 Update cirros image to cirros-0.5.1-x86_64 globally
193df8279d [OVN] Stop using neutron_tempest_plugin in OVN singlenode job
fb2806f808 [OVN] Unify OVN/OVS compilation
7a427bcd2a Remove _router_exists method
b52e2e6f16 Migrate "ethtool" to oslo.privsep
38286dbd2e [DVR] Related routers should be included if are requested
75970c4cda Fix pep8 job
f43f5dc64f Use network.external DB model parameter when creating a floating IP
24b379ad4d Implement "BridgeDevice" with Pyroute2
6fa6e4135c Relocate _delete_expired_default_network_segment_ranges
528e0d382e [OVN] Fix devstack module for OpenSuse
aa6491a9d9 migration: Use ansible-inventory to parse tripleo inventory
8dee0d9a4e [L3] Delete DvrFipGatewayPortAgentBindings after no gw ports
5ce0595803 Set process name for agents
0ffaac1db2 Use the correct value for the DHCP client port number
206ce24676 [OVN] Allow use of ovn-sync mechanism driver
4c04e60d45 Config privsep in the macvtap agent
ebd5480e90 Fix metadata address usage
598e0376c6 [OVN] Wait for WaitForDataPathBindingCreateEvent event in functional tests
3ac63422ea Improve log message when port losts its vlan tag
e94511cd25 Add config option ``http_retries``
72d95d40d4 Provide integer number to arping "-w" parameter
3754bba806 Validate that snat namespace exits in _create_dvr_gateway
58d1d0dbdd [OVN] Fix db-sync-util Traceback when port security not enabled
0e597a36d3 ovn-migration: Remove docker references
e661a6b641 [OVN] rename get_port_groups to get_sg_port_groups
72f39226e0 Update neutron-dynamic-routing lieutenants
2bb514f2d7 L3 agent scheduler should return a valid index if manual scheduling
f14a1b332d [OVN] Add router availability zones documentation
fb44416c05 Deprecate use_veth_interconnection config option
1e9a3bffd2 [Fullstack] SG test - first wait until all vms can ping each other
a42d0d0301 Trivial: Change Health-check from filter to app_factory
d669dff1dc [OVN] Add support for router availability zones
ed56429548 DhcpFilter should always return a valid index if "force_scheduling"
b64d934964 Stop installing Octavia in OVN jobs
e2d1c2869a [OVS] Make QoS OVS agent deletion operations more resilient
7019c5cf50 Make _ensure_default_security_group method atomic
56f519f472 [OVN] Load segments plugin in case not loaded in maintanance task
c646978f1b Add singlenode tempest job with neutron-lib from master branch
0f4db58773 Enable bridge debugging services on the tempest and grenade jobs
e3e1d994d8 [OVN] Updates to tools/migrate_names.txt
94d6e38fa0 Fix the wrong value for QoS rate conversion to bytes/s
5fdfd4cbfc [L3] Check agent gateway port robustly
e09d4d6dd0 [OVN] Avoid unnecessary DB writes during agent liveness check
0c1818fbb0 Migrate "netstat" to oslo.privsep
86e90bfce2 Add ensure-tox in functional job
2592fdb584 Move "get_cdll" to a common place in privileged.agent.linux
d086058895 ovn: Use newer OVS
b2748250f1 Remove unneeded argment in "_read_leases_file_leases"
8eb4955bb6 Fixes dnsmasq host file parsing with "addr6_list"
90212b12cd Do not block connection between br-int and br-phys on startup
8c3441e856 Change service_plugins documentation in QoS to steevedore entries
3df1679658 Use unittest.mock instead of mock
8913461aa9 Refactor assertEqual statement that includes 'True'
954f2f28da Configure privsep in SR-IOV agent
4d198aa68c Use correct device_owner prefix in functional tests
26f6b90930 [OVN] OVN driver to adapt to enable_distributed_floating_ip changes
397a5177bd Fix a typo in the OVN manual install guide
7143f2be1f Remove "find" rootwrap filter
96f3b37b43 Make neutron functional uwsgi jobs usable by other projects.
e748f3f2d8 ovn: Remove UpdateACLsCommand
b9c428a2db ovn: Add TODO to remove Port Groups migration
d0daa49d6e [OVN] List a few missing feature parity gaps
a83d1bf5ae Remove OVN floating IP deletion of associated LSP
9cbbd8de53 ovn: Remove is_port_groups_supported() code
998b22b383 Implement "RouterInfo.update_routing_table" with Pyroute2
483f468fdd [OVN] Create localnet port for each created segment
e332054d63 Migrate "dhcp_release" to oslo.privsep
eb46081150 port_forwarding: extend support for OVN usage (cont.)
cd721a7dcb Make DVR router support FLAT network for ovs-agent
4be0baa8cd Bump oslo.log to version 4.2.1
795aa6b9fa Limit ml2_vlan_allocations.vlan_id value in DB backend
ea13f2e83f Sync the dns-assignment with the actual designate dns-domain
559ae06bdf [OVN] Override notify_nova config in neutron-ovn-db-sync-util
236a0c4081 Stop to use the __future__ module.
dc655cabcb Remove OVO unneeded compatibility conversions
d8eac6fa50 Fix iptables rules comments
e6023ecb48 [OVN] Don't set virtual port type on ports with similar addresses
178227c8b6 Make NeutronOvsdbIdl singleton
d57735ae0f Fix Traceback when running neutron-ipset-cleanup tool
1a3811448d Bump oslo.log to version 4.1.2
edfe7daf04 No rpc_response_max_timeout in LB-agent
132261aa70 [OVN] Updates to tools/migrate_names.txt
0402337c15 Fix ssh to nodes during ML2/OVS to ML2/OVN migration
a32464464d [OVN] Blacklist test_port_security_macspoofing_port test
c5d8fd6329 Use pyroute2 for SRIOV VF commands
57fc472b33 Remove translation sections from setup.cfg
2a16944453 Mock command execution in "test_hybrid_plug_flag_based_on_firewall" UT
45482e300a Don't check if any bridges were recrected when OVS was restarted
91f0bf3c85 [DVR] Reconfigure re-created physical bridges for dvr routers
bd5c98e25b Mock command execution in "test_iptables.TestHelper" UTs
60723a48f8 Remove unnecessary check if agent object from db is not None
f6010f6042 [OVN] Enhance port's extra DHCP options support
7f40e626d6 Delete segment RPs when network is deleted
e748e01656 [Fullstack] Mark security groups test as unstable
dcd2e79c00 ovn: Fix use_new_ovn_repository
ee47dd9770 All Neutron ML2 drivers use Allocation/Endpoints OVO
4f10c3bd3f Remove usage of six.text_type and six.string_type
a2a2301675 Remove usage of six.PY2
08a60f7483 Remove usage of six.add_metaclass
231529e85f [OVN] DOC Migration Strategy: Adjust formatting in code-block
f5c3910771 ovn: Override clean_hash_ring for sync util
8ddf794b8d ovn: Enable DVR for multinode jobs
2d1cd99311 [OVN][DOC] Update path to L3RouterPlugin
9b1ea6cd75 ovn: Enable debugging services on subnodes
d46228b0b3 Switch to newer openstackdocstheme and reno versions
162c5572df Fix broken unit tests related to ovsdbapp indexing
8411bfb83a Promote functional uwsgi job to be voting
30d573d5ab Allow usage of legacy 3rd-party interface drivers
9760f123aa Catch additional invalid mock import statement
21405378f0 Fix neutron-ovn-db-sync-util issues
a2561fa480 Add sg name in after delete event kwargs
ccb0cddd4a Fix mock.patch.stopall issue with ovsdbapp
740ab628f4 Remove usage of the "firewall_driver" in the neutron server
faead08d8f Fix neutron tests
63c45b3766 Ensure that stale flows are cleaned from phys_bridges
1f018514d7 Optimize QoS bound objects queries
4d5b9a62b9 ovn-migration: Stop ml2/ovs agents before installing OVN resources
9ae865a5b5 Add Rocky milestone tag for alembic migration revisions
52e3fee5ef Switch to hacking 3.0.1
0e8ebf133d Remove unneeded DB register retrieval and refresh in network update
0ba08d7eb4 Skip OVS module compilation for kernels newer than 5.5
09bf28aa88 Time port fetches
c05bac8c40 Set class ovsdb_conection to None
0a4b95eec2 Fix some pep8 errors
e0e3086b46 Default OVN_BRANCH and OVS_BRANCH to latest stable
8cfe41fa6b Add "qos_policy_id" field to "FloatingIP" OVO
11838a2bc5 Workaround for TCP checksum issue with ovs-dpdk and veth pair
102c442bcf port_forwarding: extend support for OVN usage
ba16d2fc74 [ovn] devstack needs to support openflow15
f951871430 Use dhcp-host tag support when supported
8268222968 Update QoS docs with info about OVN driver
c9eeb5debd [OVN] Bump up transaction timeout for functional tests
98b326f0e4 [ci] Fix several rally task arguments
8b234d8786 [OVN]: Make _delete_port() more error-resilent
18dd0d4e55 Fix ovn-db-sync-util after removing l3 ovsdb connection
f1cc1bb281 [ovn]: Fix l3_plugin.add_router_interface to comply with RouterPluginBase
6b360d2343 Report L3 extensions enabled in the L3 agent's config
518b623d7e Open Victoria DB branch
e4228cfa34 Add OSP16.1 choice to migration plugin spec
bc2a23a36a Migrate neutron grenade jobs to be native Zuul v3
aae5d0a38a Imported Translations from Zanata
8b4ae58414 Add py38 package metadata
ec7a5aa516 Monkey patch original current_thread _active
8126f88894 Complete removal of dependency on the "mock" package
d7c23431ad [ovn]: Create neutron_pg_drop Port Group on init
b8b7a73a95 Fix dhcpv6-statefull typo
b522f7d726 Optimize subnet retrieval during CIDR validation
f8718e9b23 Remove unused method "_make_fixed_ip_dict"
133200014b Add a /healthcheck URL
d8ff7d58f2 [OVN] Documentation: SR-IOV guide for OVN
01b9e1106d Install "wmi" library in "win32" systems
e53dd36498 migration: Use ForceNeutronDriverUpdate when migrating
76a2f8b33e [ovn] Add PortBinding delete event for external ports
e07b6d8108 Revising log with wrong network_id when create port failed
76fa308ca9 ensure default security group exists when filter by project_id
7594bb0627 Remove the dependency on the "mock" package
4fb505891e Updates for python3.8
bfeb52b975 migration: Replace paunch with podman and ip commands
8ec41570a9 [OVN] Enable test_multicast_between_vms_on_same_network
591adfee97 [OVN][metadata] Adding ERROR trace upon unexpected data
ef2260441d [OVN] Do not delete port's revision on RowNotFound
09ef333be3 Imported Translations from Zanata
12b9149e20 Not remove the running router when MQ is unreachable
783441ef1f Bump default tox env from py37 to py38
7f5772df61 Add Python3 victoria unit tests
09114ffda3 Update master for stable/ussuri
31fa9ada75 [OVN] Update sample local.conf to support QoS for OVN
b02c09c332 Remove some native openflow driver 'deferred' code
94bb20fb65 Remove redundant implementation of "get_projects" in NetworkRBAC
7718cc0a6f Start ovs if ovn-northd is enabled
8fd3e884c7 windows: fix terminating processes
0493af3399 Add Octavia file in devstack/lib
08d0e6e734 Switch to new engine facade in revision plugin's UT
f11707e180 Switch to new engine facade in ML2 unit tests modules
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
.pylintrc | 3 +-
HACKING.rst | 3 +
TESTING.rst | 18 +-
babel.cfg | 2 -
devstack/lib/octavia | 45 +
devstack/lib/ovn_agent | 829 -------------------
devstack/lib/ovs | 65 +-
devstack/ovn-compute-local.conf.sample | 6 +-
devstack/ovn-local.conf.sample | 20 +-
devstack/ovn-vtep-local.conf.sample | 6 +-
devstack/plugin.sh | 32 +-
.../contributor/internals/openvswitch_agent.rst | 2 +-
.../internals/ovn/acl_optimizations.rst | 186 -----
.../internals/ovn/l3_ha_rescheduling.rst | 28 +-
.../contributor/internals/ovn/port_forwarding.rst | 106 +++
.../contributor/testing/ci_scenario_jobs.rst | 19 +-
etc/api-paste.ini | 6 +
etc/neutron/rootwrap.d/dhcp.filters | 3 -
etc/neutron/rootwrap.d/l3.filters | 1 +
etc/neutron/rootwrap.d/netns-cleanup.filters | 12 -
lower-constraints.txt | 55 +-
neutron/__init__.py | 10 +-
neutron/agent/common/async_process.py | 3 +-
neutron/agent/common/ovs_lib.py | 64 +-
neutron/agent/common/resource_processing_queue.py | 36 +-
neutron/agent/dhcp/agent.py | 63 +-
neutron/agent/dhcp_agent.py | 3 +-
neutron/agent/firewall.py | 5 +-
neutron/agent/l2/extensions/fdb_population.py | 4 +-
neutron/agent/l2/extensions/qos.py | 4 +-
neutron/agent/l3/agent.py | 8 +-
neutron/agent/l3/dvr_edge_ha_router.py | 4 +-
neutron/agent/l3/dvr_edge_router.py | 10 +-
neutron/agent/l3/dvr_fip_ns.py | 3 +
neutron/agent/l3/dvr_local_router.py | 30 +-
neutron/agent/l3/ha.py | 32 +-
neutron/agent/l3/ha_router.py | 51 +-
neutron/agent/l3/keepalived_state_change.py | 9 +-
neutron/agent/l3/router_info.py | 38 +-
neutron/agent/l3_agent.py | 3 +-
neutron/agent/linux/bridge_lib.py | 48 +-
neutron/agent/linux/daemon.py | 3 +-
neutron/agent/linux/dhcp.py | 172 ++--
neutron/agent/linux/dibbler.py | 6 +-
neutron/agent/linux/external_process.py | 4 +-
neutron/agent/linux/interface.py | 35 +-
neutron/agent/linux/ip_lib.py | 30 +-
neutron/agent/linux/ip_link_support.py | 108 ---
neutron/agent/linux/iptables_firewall.py | 31 +-
neutron/agent/linux/iptables_manager.py | 7 +-
neutron/agent/linux/keepalived.py | 15 +-
neutron/agent/linux/l3_tc_lib.py | 4 +-
.../agent/linux/openvswitch_firewall/firewall.py | 152 +++-
.../agent/linux/openvswitch_firewall/iptables.py | 1 +
neutron/agent/linux/pd.py | 72 +-
neutron/agent/linux/pd_driver.py | 5 +-
neutron/agent/linux/ra.py | 7 +-
neutron/agent/linux/tc_lib.py | 28 +-
neutron/agent/linux/utils.py | 4 +-
neutron/agent/metadata/agent.py | 72 +-
neutron/agent/metadata/driver.py | 69 +-
neutron/agent/ovn/metadata/agent.py | 88 +-
neutron/agent/ovn/metadata/ovsdb.py | 6 +-
neutron/agent/ovn/metadata/server.py | 29 +-
neutron/agent/ovsdb/impl_idl.py | 4 +-
neutron/agent/ovsdb/native/connection.py | 2 +-
neutron/agent/ovsdb/native/helpers.py | 11 +-
neutron/agent/securitygroups_rpc.py | 2 +
neutron/agent/windows/utils.py | 19 +-
neutron/api/api_common.py | 2 +-
neutron/api/extensions.py | 15 +-
neutron/api/rpc/callbacks/resource_manager.py | 4 +-
neutron/api/rpc/handlers/securitygroups_rpc.py | 2 +-
neutron/cmd/eventlet/agents/dhcp.py | 7 +
neutron/cmd/eventlet/agents/l3.py | 7 +
neutron/cmd/eventlet/agents/metadata.py | 7 +
neutron/cmd/eventlet/agents/ovn_metadata.py | 7 +
.../eventlet/plugins/linuxbridge_neutron_agent.py | 7 +
.../cmd/eventlet/plugins/macvtap_neutron_agent.py | 7 +
neutron/cmd/eventlet/plugins/ovs_neutron_agent.py | 7 +
.../eventlet/plugins/sriov_nic_neutron_agent.py | 7 +
neutron/cmd/eventlet/services/metering_agent.py | 7 +
neutron/cmd/ipset_cleanup.py | 2 +
neutron/cmd/netns_cleanup.py | 22 +-
neutron/cmd/ovn/migration_mtu.py | 61 +-
neutron/cmd/ovn/neutron_ovn_db_sync_util.py | 29 +-
neutron/cmd/runtime_checks.py | 14 +-
neutron/cmd/sanity/checks.py | 43 +-
neutron/cmd/sanity_check.py | 27 -
neutron/cmd/upgrade_checks/base.py | 5 +-
neutron/cmd/upgrade_checks/checks.py | 43 +-
neutron/common/_constants.py | 10 +
neutron/common/coordination.py | 11 +-
neutron/common/eventlet_utils.py | 7 +
neutron/common/ovn/acl.py | 212 +----
neutron/common/ovn/constants.py | 120 ++-
neutron/common/ovn/extensions.py | 17 +-
neutron/common/ovn/hash_ring_manager.py | 9 +-
neutron/common/ovn/utils.py | 111 ++-
neutron/common/utils.py | 50 ++
neutron/conf/agent/l3/config.py | 6 +
neutron/conf/agent/l3/ha.py | 10 +-
neutron/conf/agent/metadata/config.py | 5 +-
neutron/conf/common.py | 10 +-
neutron/conf/db/migration_cli.py | 2 +-
.../ml2/drivers/mech_sriov/mech_sriov_conf.py | 3 +-
.../ml2/drivers/openvswitch/mech_ovs_conf.py | 3 +-
neutron/conf/plugins/ml2/drivers/ovs_conf.py | 4 +
neutron/conf/policies/__init__.py | 7 +-
neutron/conf/policies/quotas.py | 64 ++
neutron/conf/services/metering_agent.py | 8 +
neutron/core_extensions/base.py | 5 +-
neutron/db/address_group_db.py | 124 +++
neutron/db/agents_db.py | 3 +-
neutron/db/agentschedulers_db.py | 20 +-
neutron/db/db_base_plugin_common.py | 18 +-
neutron/db/db_base_plugin_v2.py | 30 +-
neutron/db/ipam_backend_mixin.py | 35 +-
neutron/db/ipam_pluggable_backend.py | 20 +-
neutron/db/l3_agentschedulers_db.py | 19 +-
neutron/db/l3_db.py | 45 +-
neutron/db/l3_dvr_db.py | 13 +-
neutron/db/l3_dvrscheduler_db.py | 19 +-
neutron/db/l3_hamode_db.py | 7 +-
neutron/db/metering/metering_db.py | 60 +-
neutron/db/migration/__init__.py | 2 +
.../alembic_migrations/versions/EXPAND_HEAD | 2 +-
.../rocky/expand/867d39095bf4_port_forwarding.py | 5 +
.../expand/d8bdf05313f4_add_in_use_to_subnet.py | 5 +
.../expand/1ea5dab0897a_add_address_group.py | 53 ++
...221_propagate_uplink_status_defaults_to_true.py | 36 +
..._destination_ip_prefix_neutron_metering_rule.py | 38 +
...dfe425060830_limit_vlan_allocation_id_values.py | 55 ++
.../fd6107509ccd_ovn_distributed_device_owner.py | 52 ++
neutron/db/migration/autogen.py | 15 +-
neutron/db/migration/cli.py | 6 +-
neutron/db/models/address_group.py | 41 +
neutron/db/models/metering.py | 2 +
neutron/db/models/ovn.py | 5 +-
neutron/db/models/plugins/ml2/vlanallocation.py | 12 +-
neutron/db/models/uplink_status_propagation.py | 2 +-
neutron/db/network_ip_availability_db.py | 7 +-
neutron/db/securitygroups_db.py | 27 +-
neutron/extensions/address_group.py | 80 ++
neutron/extensions/address_scope.py | 4 +-
neutron/extensions/agent.py | 4 +-
neutron/extensions/availability_zone.py | 4 +-
neutron/extensions/dhcpagentscheduler.py | 4 +-
neutron/extensions/dvr.py | 4 +-
neutron/extensions/floating_ip_port_forwarding.py | 5 +-
neutron/extensions/floatingip_pools.py | 4 +-
neutron/extensions/l3.py | 4 +-
neutron/extensions/l3_conntrack_helper.py | 5 +-
neutron/extensions/l3agentscheduler.py | 4 +-
neutron/extensions/logging.py | 4 +-
neutron/extensions/metering.py | 5 +-
.../metering_source_and_destination_fields.py | 42 +
neutron/extensions/network_availability_zone.py | 4 +-
neutron/extensions/network_segment_range.py | 5 +-
neutron/extensions/qos.py | 4 +-
neutron/extensions/quotasv2.py | 33 +-
neutron/extensions/router_availability_zone.py | 4 +-
neutron/extensions/securitygroup.py | 6 +-
neutron/extensions/segment.py | 4 +-
neutron/extensions/tagging.py | 4 +-
neutron/hacking/checks.py | 102 ++-
neutron/ipam/driver.py | 10 +-
neutron/ipam/drivers/neutrondb_ipam/driver.py | 15 +-
neutron/ipam/requests.py | 13 +-
neutron/locale/de/LC_MESSAGES/neutron.po | 26 +-
neutron/locale/es/LC_MESSAGES/neutron.po | 14 +-
neutron/locale/fr/LC_MESSAGES/neutron.po | 14 +-
neutron/locale/it/LC_MESSAGES/neutron.po | 14 +-
neutron/locale/ja/LC_MESSAGES/neutron.po | 14 +-
neutron/locale/ko_KR/LC_MESSAGES/neutron.po | 13 +-
neutron/locale/pt_BR/LC_MESSAGES/neutron.po | 13 +-
neutron/locale/ru/LC_MESSAGES/neutron.po | 13 +-
neutron/locale/zh_CN/LC_MESSAGES/neutron.po | 13 +-
neutron/locale/zh_TW/LC_MESSAGES/neutron.po | 13 +-
neutron/manager.py | 7 +-
neutron/neutron_plugin_base_v2.py | 4 +-
neutron/notifiers/ironic.py | 3 +-
neutron/notifiers/nova.py | 1 +
neutron/objects/__init__.py | 1 +
neutron/objects/address_group.py | 65 ++
neutron/objects/base.py | 10 +-
neutron/objects/metering.py | 32 +-
neutron/objects/network.py | 17 -
neutron/objects/network_segment_range.py | 3 +-
.../port/extensions/uplink_status_propagation.py | 5 +-
neutron/objects/ports.py | 34 +-
neutron/objects/qos/binding.py | 28 +-
neutron/objects/qos/policy.py | 28 +-
neutron/objects/qos/qos_policy_validator.py | 2 +-
neutron/objects/qos/rule.py | 4 +-
neutron/objects/qos/rule_type.py | 8 -
neutron/objects/rbac.py | 4 +-
neutron/objects/rbac_db.py | 10 +-
neutron/objects/router.py | 56 +-
neutron/objects/subnet.py | 20 +-
neutron/objects/trunk.py | 7 -
neutron/opts.py | 2 +
neutron/pecan_wsgi/controllers/root.py | 3 +-
neutron/plugins/ml2/db.py | 34 +-
.../ml2/drivers/agent/_agent_manager_base.py | 8 +-
neutron/plugins/ml2/drivers/helpers.py | 8 +
.../drivers/l2pop/rpc_manager/l2population_rpc.py | 8 +-
.../drivers/linuxbridge/agent/common/constants.py | 3 -
.../linuxbridge/agent/linuxbridge_neutron_agent.py | 13 +-
.../drivers/macvtap/agent/macvtap_neutron_agent.py | 5 +-
neutron/plugins/ml2/drivers/mech_agent.py | 29 +-
.../drivers/mech_sriov/agent/common/exceptions.py | 8 -
.../drivers/mech_sriov/agent/eswitch_manager.py | 35 +-
.../agent/extension_drivers/qos_driver.py | 15 +-
.../ml2/drivers/mech_sriov/agent/pci_lib.py | 158 +---
.../drivers/mech_sriov/agent/sriov_nic_agent.py | 18 +-
.../drivers/mech_sriov/mech_driver/mech_driver.py | 8 +-
.../drivers/openvswitch/agent/common/constants.py | 21 +-
.../openvswitch/agent/openflow/native/br_int.py | 37 +-
.../openvswitch/agent/openflow/native/br_phys.py | 8 +-
.../openvswitch/agent/openflow/native/br_tun.py | 23 -
.../openvswitch/agent/openflow/native/ofswitch.py | 3 +-
.../openvswitch/agent/ovs_dvr_neutron_agent.py | 79 +-
.../drivers/openvswitch/agent/ovs_neutron_agent.py | 146 ++--
.../openvswitch/mech_driver/mech_openvswitch.py | 24 +-
neutron/plugins/ml2/drivers/ovn/agent/__init__.py | 0
.../plugins/ml2/drivers/ovn/agent/neutron_agent.py | 140 ++++
.../ml2/drivers/ovn/mech_driver/mech_driver.py | 313 ++++---
.../ml2/drivers/ovn/mech_driver/ovsdb/api.py | 101 +--
.../ml2/drivers/ovn/mech_driver/ovsdb/commands.py | 333 +-------
.../ovn/mech_driver/ovsdb/extensions/qos.py | 11 +-
.../drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py | 78 +-
.../drivers/ovn/mech_driver/ovsdb/maintenance.py | 78 +-
.../drivers/ovn/mech_driver/ovsdb/ovn_client.py | 411 ++++------
.../drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py | 417 +++++-----
.../drivers/ovn/mech_driver/ovsdb/ovsdb_monitor.py | 64 +-
neutron/plugins/ml2/drivers/type_tunnel.py | 102 +--
neutron/plugins/ml2/drivers/type_vlan.py | 15 +-
neutron/plugins/ml2/extensions/dns_integration.py | 2 +
neutron/plugins/ml2/managers.py | 2 +-
neutron/plugins/ml2/plugin.py | 32 +-
neutron/policy.py | 3 +-
neutron/privileged/__init__.py | 9 +
neutron/privileged/agent/linux/__init__.py | 32 +
neutron/privileged/agent/linux/dhcp.py | 48 ++
neutron/privileged/agent/linux/ethtool.py | 31 +
neutron/privileged/agent/linux/ip_lib.py | 104 ++-
neutron/privileged/agent/linux/utils.py | 42 +
neutron/profiling/profiled_decorator.py | 4 +-
neutron/quota/__init__.py | 3 +-
neutron/quota/resource_registry.py | 7 +-
neutron/scheduler/base_resource_filter.py | 4 +-
neutron/scheduler/base_scheduler.py | 41 +-
neutron/scheduler/dhcp_agent_scheduler.py | 20 +-
neutron/scheduler/l3_agent_scheduler.py | 4 +-
neutron/scheduler/l3_ovn_scheduler.py | 4 +-
neutron/services/conntrack_helper/plugin.py | 2 +-
neutron/services/externaldns/driver.py | 4 +-
.../externaldns/drivers/designate/driver.py | 22 +-
neutron/services/logapi/agent/log_extension.py | 4 +-
neutron/services/logapi/drivers/base.py | 1 +
.../logapi/drivers/openvswitch/ovs_firewall_log.py | 1 +
neutron/services/metering/agents/metering_agent.py | 162 +++-
.../services/metering/drivers/abstract_driver.py | 33 +-
.../metering/drivers/iptables/iptables_driver.py | 235 +++++-
neutron/services/metering/metering_plugin.py | 100 ++-
neutron/services/network_segment_range/plugin.py | 3 +-
neutron/services/ovn_l3/exceptions.py | 21 +
neutron/services/ovn_l3/plugin.py | 87 +-
neutron/services/portforwarding/callbacks.py | 28 +
neutron/services/portforwarding/constants.py | 23 +
.../services/portforwarding/drivers/__init__.py | 0
.../portforwarding/drivers/ovn/__init__.py | 0
.../services/portforwarding/drivers/ovn/driver.py | 278 +++++++
neutron/services/portforwarding/pf_plugin.py | 107 ++-
neutron/services/qos/drivers/ovn/driver.py | 2 +
neutron/services/segments/db.py | 3 +-
neutron/services/segments/plugin.py | 51 +-
neutron/services/trunk/drivers/ovn/trunk_driver.py | 5 +-
neutron/services/trunk/plugin.py | 5 +-
neutron/services/trunk/rpc/server.py | 5 +-
neutron/services/trunk/rules.py | 2 +-
.../l2/extensions/test_ovs_agent_qos_extension.py | 2 +-
.../l3/extensions/qos/test_fip_qos_extension.py | 3 +-
.../extensions/test_conntrack_helper_extension.py | 3 +-
.../l3/extensions/test_gateway_ip_qos_extension.py | 3 +-
.../extensions/test_port_forwarding_extension.py | 2 +-
.../agent/l3/test_keepalived_state_change.py | 8 +-
.../functional/agent/l3/test_legacy_router.py | 2 +-
.../functional/agent/l3/test_metadata_proxy.py | 6 +-
.../functional/agent/l3/test_namespace_manager.py | 3 +-
.../functional/agent/linux/bin/ipt_binname.py | 7 +-
.../functional/agent/linux/test_async_process.py | 3 +-
.../functional/agent/linux/test_bridge_lib.py | 38 +-
.../functional/agent/linux/test_keepalived.py | 2 +
.../functional/agent/linux/test_process_monitor.py | 3 +-
.../agent/ovn/metadata/test_metadata_agent.py | 64 +-
.../functional/agent/ovsdb/native/test_helpers.py | 53 ++
.../functional/cmd/test_linuxbridge_cleanup.py | 3 +-
.../functional/pecan_wsgi/test_controllers.py | 3 +-
.../ovn/mech_driver/ovsdb/extensions/test_qos.py | 3 +-
.../drivers/ovn/mech_driver/ovsdb/test_impl_idl.py | 124 ++-
.../ovn/mech_driver/ovsdb/test_maintenance.py | 289 ++++++-
.../ovn/mech_driver/ovsdb/test_ovn_db_resources.py | 163 ++--
.../ovn/mech_driver/ovsdb/test_ovn_db_sync.py | 309 +++----
.../ovn/mech_driver/ovsdb/test_ovsdb_monitor.py | 20 +-
.../drivers/ovn/mech_driver/test_mech_driver.py | 219 ++++-
.../privileged/agent/linux/test_ip_lib.py | 27 +
.../privileged/agent/linux/test_tc_lib.py | 8 +-
.../privileged/agent/linux/test_utils.py | 39 +
.../conntrack_helper/test_conntrack_helper.py | 2 +-
.../l3_router/test_l3_dvr_ha_router_plugin.py | 5 +-
.../l3_router/test_l3_dvr_router_plugin.py | 57 +-
.../functional/services/logapi/test_logging.py | 2 +-
.../functional/services/ovn_l3/test_plugin.py | 4 +-
.../portforwarding/test_port_forwarding.py | 3 +-
.../openvswitch/agent/test_ovsdb_handler.py | 2 +-
.../openvswitch/agent/test_trunk_manager.py | 2 +-
.../functional/services/trunk/rpc/test_server.py | 2 +-
.../unit/agent/common/test_placement_report.py | 3 +-
.../agent/common/test_resource_processing_queue.py | 110 +--
.../agent/l2/extensions/test_fdb_population.py | 5 +-
.../agent/l2/test_l2_agent_extensions_manager.py | 3 +-
.../unit/agent/l3/extensions/qos/test_base.py | 3 +-
.../agent/l3/extensions/qos/test_gateway_ip.py | 2 +-
.../agent/l3/extensions/test_conntrack_helper.py | 2 +-
.../agent/l3/extensions/test_port_forwarding.py | 3 +-
.../unit/agent/l3/extensions/test_snat_log.py | 3 +-
.../unit/agent/l3/test_l3_agent_extension_api.py | 2 +-
.../linux/openvswitch_firewall/test_firewall.py | 199 ++++-
.../linux/openvswitch_firewall/test_iptables.py | 5 +-
.../agent/linux/openvswitch_firewall/test_rules.py | 3 +-
.../unit/agent/linux/test_external_process.py | 2 +-
.../unit/agent/linux/test_iptables_firewall.py | 11 +-
.../unit/agent/linux/test_iptables_manager.py | 33 +-
.../unit/agent/linux/test_xenapi_root_helper.py | 3 +-
.../unit/agent/ovsdb/native/test_connection.py | 2 +-
.../unit/agent/test_agent_extensions_manager.py | 3 +-
.../rpc/agentnotifiers/test_dhcp_rpc_agent_api.py | 2 +-
.../rpc/agentnotifiers/test_l3_rpc_agent_api.py | 2 +-
.../api/rpc/callbacks/consumer/test_registry.py | 2 +-
.../api/rpc/callbacks/test_resource_manager.py | 2 +-
.../unit/api/rpc/callbacks/test_version_manager.py | 2 +-
.../unit/api/rpc/handlers/test_resources_rpc.py | 3 +-
.../api/rpc/handlers/test_securitygroups_rpc.py | 3 +-
.../unit/cmd/ovn/test_neutron_ovn_db_sync_util.py | 31 +
.../unit/common/ovn/test_hash_ring_manager.py | 4 +-
.../unit/extensions/test_default_subnetpools.py | 8 +-
.../test_expose_port_forwarding_in_fip.py | 3 +-
.../extensions/test_floating_ip_port_forwarding.py | 3 +-
.../unit/extensions/test_network_segment_range.py | 3 +-
.../extensions/test_uplink_status_propagation.py | 3 +-
.../ipam/drivers/neutrondb_ipam/test_driver.py | 3 +-
.../unit/objects/test_network_segment_range.py | 2 +-
.../ml2/drivers/agent/test__common_agent.py | 3 +-
.../plugins/ml2/drivers/agent/test_capabilities.py | 3 +-
.../unit/plugins/ml2/drivers/base_type_tunnel.py | 8 +-
.../l2pop/rpc_manager/l2population_rpc_base.py | 3 +-
.../l2pop/rpc_manager/test_l2population_rpc.py | 3 +-
.../unit/plugins/ml2/drivers/l2pop/test_db.py | 7 +-
.../plugins/ml2/drivers/l2pop/test_mech_driver.py | 2 +-
.../agent/extension_drivers/test_qos_driver.py | 2 +-
.../drivers/linuxbridge/agent/test_arp_protect.py | 3 +-
.../agent/test_linuxbridge_agent_extension_api.py | 2 +-
.../agent/test_linuxbridge_neutron_agent.py | 13 +-
.../macvtap/agent/test_macvtap_neutron_agent.py | 7 +-
.../ml2/drivers/macvtap/test_macvtap_common.py | 3 +-
.../agent/extension_drivers/test_qos_driver.py | 17 +-
.../mech_sriov/agent/test_eswitch_manager.py | 47 +-
.../ml2/drivers/mech_sriov/agent/test_pci_lib.py | 189 ++---
.../mech_sriov/agent/test_sriov_nic_agent.py | 10 +-
.../mech_driver/test_mech_sriov_nic_switch.py | 28 +-
.../agent/extension_drivers/test_qos_driver.py | 2 +-
.../ml2/drivers/openvswitch/agent/fake_oflib.py | 2 +-
.../agent/openflow/native/ovs_bridge_test_base.py | 3 +-
.../agent/openflow/native/test_br_int.py | 116 ++-
.../agent/openflow/native/test_br_phys.py | 8 +-
.../agent/openflow/native/test_br_tun.py | 2 +-
.../agent/openflow/native/test_ofswitch.py | 3 +-
.../agent/openflow/native/test_ovs_bridge.py | 4 +-
.../openvswitch/agent/openflow/test_br_cookie.py | 2 +-
.../ml2/drivers/openvswitch/agent/ovs_test_base.py | 2 +-
.../agent/test_ovs_agent_extension_api.py | 2 +-
.../openvswitch/agent/test_ovs_capabilities.py | 2 +-
.../openvswitch/agent/test_ovs_neutron_agent.py | 190 +++--
.../drivers/openvswitch/agent/test_ovs_tunnel.py | 9 +-
.../mech_driver/test_mech_openvswitch.py | 60 +-
.../ovn/mech_driver/ovsdb/extensions/test_qos.py | 8 +
.../drivers/ovn/mech_driver/ovsdb/test_commands.py | 293 +------
.../ovn/mech_driver/ovsdb/test_impl_idl_ovn.py | 82 +-
.../ovn/mech_driver/ovsdb/test_maintenance.py | 35 +-
.../ovn/mech_driver/ovsdb/test_ovn_db_sync.py | 218 ++---
.../ovn/mech_driver/ovsdb/test_ovsdb_monitor.py | 32 +-
.../drivers/ovn/mech_driver/test_mech_driver.py | 905 +++++++++++++++------
.../unit/plugins/ml2/drivers/test_type_vlan.py | 3 +-
.../ml2/extensions/test_data_plane_status.py | 2 +-
.../plugins/ml2/extensions/test_dns_integration.py | 6 +-
.../plugins/ml2/extensions/test_port_security.py | 3 +-
.../test_tag_ports_during_bulk_creation.py | 2 +-
.../extensions/test_uplink_status_propagation.py | 2 +-
.../unit/plugins/ml2/test_extension_driver_api.py | 3 +-
.../unit/plugins/ml2/test_tracked_resources.py | 3 +-
.../unit/privileged/agent/linux/test_ip_lib.py | 35 +-
.../privileged/agent/linux/test_netlink_lib.py | 2 +-
.../unit/privileged/agent/linux/test_utils.py | 76 ++
.../unit/scheduler/test_dhcp_agent_scheduler.py | 2 +-
.../unit/scheduler/test_l3_agent_scheduler.py | 2 +-
.../unit/services/conntrack_helper/test_plugin.py | 2 +-
.../service_providers/test_driver_controller.py | 3 +-
.../unit/services/logapi/agent/l3/test_base.py | 3 +-
.../services/logapi/agent/test_log_extension.py | 3 +-
.../unit/services/logapi/common/test_db_api.py | 3 +-
.../services/logapi/common/test_sg_callback.py | 3 +-
.../services/logapi/common/test_sg_validate.py | 3 +-
.../services/logapi/common/test_snat_validate.py | 3 +-
.../unit/services/logapi/common/test_validators.py | 3 +-
.../drivers/openvswitch/test_ovs_firewall_log.py | 3 +-
.../unit/services/logapi/drivers/test_manager.py | 3 +-
.../unit/services/logapi/test_logging_plugin.py | 3 +-
.../metering/agents/test_metering_agent.py | 24 +-
.../services/metering/drivers/test_iptables.py | 109 ++-
.../unit/services/metering/test_metering_plugin.py | 280 ++++++-
.../services/network_segment_range/test_plugin.py | 2 +-
.../unit/services/placement_report/test_plugin.py | 2 +-
.../services/portforwarding/drivers/__init__.py | 0
.../portforwarding/drivers/ovn/__init__.py | 0
.../portforwarding/drivers/ovn/test_driver.py | 381 +++++++++
.../unit/services/portforwarding/test_pf_plugin.py | 174 +++-
.../qos/drivers/openvswitch/test_driver.py | 2 +-
.../unit/services/qos/drivers/ovn/test_driver.py | 2 +-
.../unit/services/qos/drivers/test_manager.py | 3 +-
.../services/revisions/test_revision_plugin.py | 2 +-
.../unit/services/test_provider_configuration.py | 2 +-
.../trunk/drivers/linuxbridge/agent/test_driver.py | 3 +-
.../linuxbridge/agent/test_trunk_plumber.py | 3 +-
.../trunk/drivers/openvswitch/agent/test_driver.py | 2 +-
.../openvswitch/agent/test_ovsdb_handler.py | 5 +-
.../openvswitch/agent/test_trunk_manager.py | 2 +-
.../trunk/drivers/openvswitch/test_driver.py | 2 +-
.../trunk/drivers/ovn/test_trunk_driver.py | 3 +-
.../services/trunk/seg_types/test_validators.py | 2 +-
neutron/wsgi.py | 3 +-
playbooks/configure_ebtables.yaml | 5 +
playbooks/configure_functional_job.yaml | 4 +
.../legacy/neutron-grenade-dvr-multinode/post.yaml | 15 -
.../legacy/neutron-grenade-dvr-multinode/run.yaml | 60 --
.../legacy/neutron-grenade-multinode/post.yaml | 15 -
.../legacy/neutron-grenade-multinode/run.yaml | 60 --
plugin.spec | 1 +
rally-jobs/task-neutron.yaml | 8 +-
...ttp_retries-config-option-b81dd29c03ba8c6a.yaml | 6 +
...without-link_up-parameter-27f8310eb1e1910a.yaml | 10 +
...ption-from-neutron-server-920564ec77503631.yaml | 9 +
...epalived-vrrp-healt-check-f23ed7c853151484.yaml | 6 +-
...se_no_track-config-option-4fa10304ee2960e6.yaml | 7 +
.../notes/bug-1671448-bfba96e42c7f2dbe.yaml | 6 +
.../notes/bug-1875981-ec32d8c3918b0dd4.yaml | 6 +
...efix-metering-label-rules-5203f681d2fce058.yaml | 7 +
...port-flat-network-for-ovs-fdf8c3eb461426ec.yaml | 9 +
...k-issue-with-dnsmasq-2.81-c95a46e4f4459bd1.yaml | 6 +
.../fix-port-dns-assignment-9d916d77522abd65.yaml | 6 +
...ngips-port-forwarding-ovn-8f8981922dd4c4ab.yaml | 6 +
.../improve-terminology-d69d7549b79dff5d.yaml | 10 +
...it_vlan_allocations_in_db-93083c6c4923403a.yaml | 8 +
...ypes-configurable-for-ovs-fc73422daffd42b0.yaml | 4 +-
...es-configurable-for-sriov-094f7663e8975e9b.yaml | 4 +-
.../notes/metadata-ipv6-b3607f6932da7226.yaml | 39 +
.../ovn-metadata_workers-1121334593ce9829.yaml | 12 +
...router-availability-zones-03a802ee19689474.yaml | 6 +
...k_status_defaults_to_true-644d8e4e3cb2d155.yaml | 5 +
.../setproctitle_agents-47d7957688f0365d.yaml | 16 +
...y-group-port-check-in-api-d1fd84d9663e04ab.yaml | 2 +-
releasenotes/source/conf.py | 13 +-
releasenotes/source/index.rst | 1 +
.../source/locale/fr/LC_MESSAGES/releasenotes.po | 90 ++
.../locale/ko_KR/LC_MESSAGES/releasenotes.po | 103 +++
releasenotes/source/ussuri.rst | 6 +
requirements.txt | 28 +-
roles/legacy_ebtables/tasks/main.yaml | 16 +
setup.cfg | 15 +-
test-requirements.txt | 13 +-
tools/configure_for_func_testing.sh | 27 +-
tools/install_venv.py | 1 -
tools/install_venv_common.py | 2 -
tools/list_moved_globals.py | 2 -
tools/migrate_names.txt | 37 +-
.../infrared/tripleo-ovn-migration/main.yml | 10 +-
.../roles/prepare-migration/tasks/main.yml | 22 +-
.../tripleo_environment/ovn_migration.sh | 61 +-
.../playbooks/ovn-migration.yml | 8 +
.../playbooks/reduce-dhcp-renewal-time.yml | 9 +-
.../playbooks/roles/migration/defaults/main.yml | 11 -
.../roles/migration/tasks/cleanup-dataplane.yml | 51 +-
.../playbooks/roles/migration/tasks/sync-dbs.yml | 12 +-
.../roles/migration/templates/activate-ovn.sh.j2 | 11 +-
.../roles/migration/templates/clone-br-int.sh.j2 | 2 +-
.../playbooks/roles/stop-agents/defaults/main.yml | 3 +
.../playbooks/roles/stop-agents/tasks/cleanup.yml | 21 +
.../playbooks/roles/stop-agents/tasks/main.yml | 18 +
.../playbooks/roles/stop-agents/vars/main.yml | 19 +
.../templates/generate-ovn-extras.sh.j2 | 1 +
tools/pip_install_src_modules.sh | 2 +-
tox.ini | 35 +-
zuul.d/base.yaml | 15 +
zuul.d/grenade.yaml | 92 ++-
zuul.d/project.yaml | 42 +-
zuul.d/rally.yaml | 2 +-
zuul.d/tempest-multinode.yaml | 76 +-
zuul.d/tempest-singlenode.yaml | 176 ++--
738 files changed, 13888 insertions(+), 8420 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 875fc4ba82..2d59616b67 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -11 +11 @@ decorator>=3.4.0 # BSD
-eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT
+eventlet>=0.21.0 # MIT
@@ -19 +19 @@ netifaces>=0.10.4 # MIT
-neutron-lib>=2.2.0 # Apache-2.0
+neutron-lib>=2.6.0 # Apache-2.0
@@ -21 +21 @@ python-neutronclient>=6.7.0 # Apache-2.0
-tenacity>=4.4.0 # Apache-2.0
+tenacity>=6.0.0 # Apache-2.0
@@ -26 +25,0 @@ alembic>=0.8.10 # MIT
-six>=1.10.0 # MIT
@@ -31,5 +30,5 @@ oslo.config>=5.2.0 # Apache-2.0
-oslo.context>=2.19.2 # Apache-2.0
-oslo.db>=4.37.0 # Apache-2.0
-oslo.i18n>=3.15.3 # Apache-2.0
-oslo.log>=3.36.0 # Apache-2.0
-oslo.messaging>=5.29.0 # Apache-2.0
+oslo.context>=2.20.0 # Apache-2.0
+oslo.db>=4.44.0 # Apache-2.0
+oslo.i18n>=3.20.0 # Apache-2.0
+oslo.log>=4.2.1 # Apache-2.0
+oslo.messaging>=7.0.0 # Apache-2.0
@@ -38 +37 @@ oslo.policy>=1.30.0 # Apache-2.0
-oslo.privsep>=1.32.0 # Apache-2.0
+oslo.privsep>=2.3.0 # Apache-2.0
@@ -41 +40 @@ oslo.rootwrap>=5.8.0 # Apache-2.0
-oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
+oslo.serialization>=2.25.0 # Apache-2.0
@@ -44 +43 @@ oslo.upgradecheck>=0.1.0 # Apache-2.0
-oslo.utils>=3.33.0 # Apache-2.0
+oslo.utils>=4.4.0 # Apache-2.0
@@ -49 +48 @@ ovs>=2.8.0 # Apache-2.0
-ovsdbapp>=1.0.0 # Apache-2.0
+ovsdbapp>=1.3.0 # Apache-2.0
@@ -51 +50 @@ psutil>=3.2.2 # BSD
-pyroute2>=0.5.7;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
+pyroute2>=0.5.13;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
@@ -60,0 +60 @@ tooz>=1.58.0 # Apache-2.0
+wmi>=1.4.9;sys_platform=='win32' # MIT
diff --git a/test-requirements.txt b/test-requirements.txt
index 43d563a78f..b3ae967883 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-hacking>=1.1.0,<1.2.0 # Apache-2.0
+hacking>=3.0.1,<3.1.0 # Apache-2.0
@@ -9,2 +8,0 @@ flake8-import-order==0.12 # LGPLv3
-pycodestyle>=2.0.0 # MIT
-mock>=3.0.0 # BSD
@@ -18 +16 @@ stestr>=1.0.0 # Apache-2.0
-reno>=2.5.0 # Apache-2.0
+reno>=3.1.0 # Apache-2.0
@@ -20,4 +18,3 @@ ddt>=1.0.1 # MIT
-astroid==1.6.5;python_version<"3.0" # LGPLv2.1
-astroid==2.1.0;python_version>="3.0" # LGPLv2.1
-pylint==1.9.2;python_version<"3.0" # GPLv2
-pylint==2.2.0;python_version>="3.0" # GPLv2
+astroid==2.3.3 # LGPLv2.1
+pylint==2.4.4 # GPLv2
+isort==4.3.21 # MIT
1
0
We are ecstatic to announce the release of:
octavia 7.0.0: OpenStack Octavia Scalable Load Balancer as a Service
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/octavia
Download the package from:
https://pypi.org/project/octavia
Please report issues through:
https://storyboard.openstack.org/#!/project/908
For more details, please see below.
Changes in octavia 6.0.0..7.0.0
-------------------------------
cb7d5133 Ensure install of diskimage-create.sh requirements
f3eff29c Ignore DELETED amphorae when performing certificate rotation
70079d86 Fix building Ubuntu 20.04 focal amphorae
7839ffd5 Followup Remove haproxy_check_script for UDP-only
9453701f Fixes API list handling of unscoped tokens
6a3a81b6 Add a requirements.txt check job
6c8c4f18 Fix requirements.txt for Victoria
89d5e9fc Fix backend certificate file paths
a6a4001f Fix AttributeError on TLS-enabled pool provisioning
8cd7a6b9 Update protocol combination api-ref for PROXYV2
16f9d2eb Fix image build when installing agent from package
eb9e9dc7 Switch grenade to run the octavia smoke tests
0ce9add9 Remove haproxy_check_script for UDP-only LBs
59c4ad48 Drop diskimage-builder from root requirements.txt
a446c04f Revert pyroute2 workaround
66f3a63f Fix amphora failover when VRRP port is missing
befa0734 Bump taskflow version
04b18e4d Add amphora delete support to amphorav2 driver
639c1175 Add SCTP support in API
4260d8a7 Update grenade job to run one smoke test
df3f5890 Fix the lower-constraints job for focal
9649c916 Add a release note about HAProxy 2.0
5092597f Refactoring amphora stats driver interface
d3885cac Fix the tls_cipher_prohibit_list release note
29a2ec71 Deprecate the Spares Pool feature for removal in X
7fe78c59 Add proxy v2 protocol support
781647ab Add an upgrade check for YAML oslo policy file
78d84154 Preupgrade check for amphorav2 provider
59dcdd9a Add amphora delete API
1a3b56a0 Add support for nftables
ea0bbd27 Add amphora image tag capability to Octavia flavors
a422e5a2 Introduce an image driver interface
de2fe22f Add HTTP/2 over TLS support to amphora provider
460566e3 Add requirements for jobboard drivers
d5fe092a Update amphora v2 for the failover refactor
6b182b50 Add missing log line for finishing amp operations
6df1ce8e Fix user permission for WSGI configuration Task: 35692 Story: 2006172
b6f6c142 Fix API sort key for complex columns
f3b5e6e1 Switch to live from noop drivers
472427a7 Change tls_ciphers init in Pool API classes
a5f0524f Add ALPN support for TLS-terminated HTTPS LBs
9fb58eb9 Fix invalid DOWN status when updating a UDP pool
dcda7213 Add DIB element octavia-lib
17c856db Set CentOS amphora image size back to default value
bf3d5372 Fix new pylint errors
d1da0c1c Correct a typo in the document
db180bf8 [Amphorav2] Healthmonitor operation minor fixes
2e2464d7 Increase the devstack secuirty group rules quota
e45937a4 Ensure xtrace is enabled in devstack plugin
f2cda017 Add a message for the amphora image size
7d6322ae Switch back to using git for the agent ref
9097c575 Clarify the current status of Octavia in README
bb9b30be Allow amphorav2 to run without jobboard
611af600 Set Grub timeout to 0 for fast boot times
6b3580d9 Add octavia-amphora-image-build-live jobs
fa1c5ef6 Set amphora-agent build-only packages
13fe928c Add line terminator to certificate list file
dac24cd7 Update devstack plugin
81f06616 Correct a typo in the document
d093cbb3 Fix listener tls_versions and tls_ciphers clearing
fa284d2c [AmphoraV2] Fix l7policy/l7rule quota decrement
bb4f50f7 Fix operational status for disabled UDP listeners
b2948795 Install ppc64-diag in ppc64le amphora images
08fad749 Fix accepting 'insert_headers' when unsupported
9df5f75d Fix amphora image build jobs
d15cccff Change amphora statistics to use deltas
51b93c00 Workaround broken pyroute2 0.5.13
01541ade [Trivial]Add missing space between words
f9f00277 Fix haproxy user flow log format substitution
259f19ec Add some details on enable_anti_affinity option
f4305e03 Fix memory consumption issues with default connection_limit
ae6f3443 Fix missing dependency in amphora create flow
d0a38baf Use octavia nodeset in octavia-grenade
1072263b Add non-voting octavia-v2-dsvm-scenario-centos-8
7890f0d9 Remove blacklist terminology in the Octavia tree
77f5c389 Add a router to the lb-mgmt-net for slaac
10365350 Switch from unittest2 compat methods to Python 3.x methods
f6a66d86 Remove deprecated status_update_threads option
40731e57 Fix neutron subnet lookup ignoring endpoint_type
41c628a0 Fix missing params in amphora base and noop driver
cd52cce7 Remove amp_ssH_access_allowed option
33d28b07 Remove amp_image_id option
89123c0f Add missing reload method in amphora noop driver
3ef4a75a fix(elements): fix nf_conntrack sysctl param names
83946336 Prioritize policy validation
d8d722b5 diskimage-create compatible with ShellCheck.
955bb884 Refactor the failover flows
e7735571 Update the API audit map
18887f5f Fix API audit CADF audit map for failover action
3ee9bc0d Fix listener API's test_create* assertions
f26ab8b9 add the verify for the session
e5951ced Use uwsgi binary from path
c176cf60 Fix error on devstack cleanup
8119b214 Cap jsonschema 3.2.0 as the minimal version
66a67ba5 Clarify health monitor behavior
958c3a18 Improve terminology in an old spec file
76616f35 Fix some typos in the explanatory notes
6cce3a72 Use unittest.mock instead of mock
de69b2c7 Remove all deprecated driver code that moved to octavia-lib
fafabad0 Switch oslo.policy over to yaml
f97a89de Fix UDP pool transform in LVS driver
9e070e6e Fix listener update with SNI certificates
5d919131 Add quota support to octavia's l7policy and l7rule
611880cd Fixed typo in upgrade section
c2ff9bce Update the feature matrix for new features
630a4e6a Fix batch member create for v1 amphora driver
270b973b Add minimum TLS version option in octavia.conf
d031596b Add a periodic fast forward upgrade job
9a6da864 Add TLS version configuration for pools
6aad5d8b Add TLS version configuration for listeners
0deff256 Change default tox envs from python37 to python3
bf460618 Stop to use the __future__ module.
9bee93b2 trivial fix
a84bf7d8 Fix test_barbican_legacy for Python 3.8
7c96e455 Fixed a bug: replace 'startwith' with 'startswith'
acc38391 Workaround peer name starting with hyphen
59831f46 Fix the grenade plugin to also upgrade octavia-lib
4a0ecd0e Add warning when running simple_server
acb4d7b4 Switch to newer openstackdocstheme and reno versions
b54f373c Fix getting user neutron client
d0f02330 Make sure devstack aborts if DIB fails
6354f92e Fix netcat option in udp_check.sh for CentOS/RHEL
2f610b95 Remove translation sections from setup.cfg
9a1d6d35 Fix E741 pep8 errors
8b8965bd Migrate grenade job to native Zuul v3
85f5b818 Add TLS cipher blacklist to octavia.conf
0056b517 Remove deprecated exception classes
526b1584 Add py38 package metadata
707c70d9 Add Python3 master unit tests
a5806960 Update master for stable/ussuri
fe771a45 Fix healthmanager not update amphora health when LB disable
5ee26a20 Fix Octavia unit tests for python 3.8
a720f76c Remove Babel requirement
70f5df1e Update cirros image to cirros-0.5.1-x86_64
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 1 +
README.rst | 10 +-
api-ref/source/conf.py | 28 +-
api-ref/source/index.rst | 12 +-
api-ref/source/parameters.yaml | 88 +-
api-ref/source/v2/amphora.inc | 43 +
api-ref/source/v2/examples/amphora-delete-curl | 1 +
api-ref/source/v2/examples/listener-create-curl | 2 +-
.../v2/examples/listener-create-request.json | 4 +-
.../v2/examples/listener-create-response.json | 4 +-
.../source/v2/examples/listener-show-response.json | 4 +-
api-ref/source/v2/examples/listener-update-curl | 2 +-
.../v2/examples/listener-update-request.json | 4 +-
.../v2/examples/listener-update-response.json | 4 +-
.../v2/examples/listeners-list-response.json | 4 +-
api-ref/source/v2/examples/pool-create-curl | 2 +-
.../source/v2/examples/pool-create-request.json | 3 +-
.../source/v2/examples/pool-create-response.json | 3 +-
api-ref/source/v2/examples/pool-show-response.json | 3 +-
api-ref/source/v2/examples/pool-update-curl | 2 +-
.../source/v2/examples/pool-update-request.json | 3 +-
.../source/v2/examples/pool-update-response.json | 3 +-
.../source/v2/examples/pools-list-response.json | 3 +-
api-ref/source/v2/examples/quota-update-curl | 2 +-
.../source/v2/examples/quota-update-request.json | 4 +-
.../source/v2/examples/quota-update-response.json | 4 +-
.../v2/examples/quotas-defaults-response.json | 4 +-
.../source/v2/examples/quotas-list-response.json | 4 +-
.../source/v2/examples/quotas-show-response.json | 4 +-
api-ref/source/v2/general.inc | 77 +-
api-ref/source/v2/healthmonitor.inc | 2 +-
api-ref/source/v2/l7policy.inc | 4 +-
api-ref/source/v2/listener.inc | 12 +
api-ref/source/v2/pool.inc | 9 +-
api-ref/source/v2/quota.inc | 10 +
babel.cfg | 2 -
devstack/README.md | 2 +-
devstack/plugin.sh | 102 +-
devstack/samples/singlenode/local.sh | 2 +-
devstack/settings | 5 +-
devstack/upgrade/settings | 6 -
devstack/upgrade/upgrade.sh | 1 +
diskimage-create/README.rst | 12 +
diskimage-create/diskimage-create.sh | 134 +-
diskimage-create/requirements.txt | 1 -
.../feature-matrix-healthmonitor.ini | 8 +
.../feature-classification/feature-matrix-lb.ini | 8 +
.../feature-matrix-listener.ini | 32 +
.../feature-classification/feature-matrix-pool.ini | 44 +-
.../75-amphora-agent-install | 6 +-
elements/amphora-agent/package-installs.yaml | 17 +-
elements/amphora-agent/pkg-map | 13 +-
.../post-install.d/10-enable-network-scripts | 4 +
.../post-install.d/90-remove-build-deps | 5 +-
.../static/usr/local/bin/udp-masquerade.sh | 81 ++
.../post-install.d/20-haproxy-tune-kernel | 5 +-
elements/octavia-lib/README.rst | 24 +
elements/octavia-lib/element-deps | 2 +
.../76-octavia-lib-install | 17 +
.../post-install.d/89-remove-build-deps | 12 +
elements/octavia-lib/source-repository-octavia-lib | 2 +
etc/audit/octavia_api_audit_map.conf.sample | 7 +-
etc/octavia.conf | 101 +-
etc/policy/README.rst | 6 +-
etc/policy/admin_or_owner-policy.json | 11 -
etc/policy/admin_or_owner-policy.yaml | 18 +
etc/policy/octavia-policy-generator.conf | 4 +-
httpd/octavia-api.conf | 2 +-
lower-constraints.txt | 30 +-
.../backends/agent/api_server/amphora_info.py | 74 +-
.../backends/agent/api_server/keepalived.py | 4 +
.../backends/agent/api_server/keepalivedlvs.py | 11 +-
.../backends/agent/api_server/loadbalancer.py | 39 +-
.../amphorae/backends/agent/api_server/osutils.py | 16 +-
.../amphorae/backends/agent/api_server/server.py | 9 +-
.../api_server/templates/plug_port_ethX.conf.j2 | 4 +-
.../api_server/templates/plug_vip_ethX.conf.j2 | 4 +-
.../rh_plug_port_eth_ifdown_local.conf.j2 | 4 +-
.../templates/rh_plug_port_eth_ifup_local.conf.j2 | 4 +-
octavia/amphorae/backends/agent/api_server/util.py | 79 +-
.../backends/health_daemon/health_daemon.py | 162 ++-
octavia/amphorae/backends/utils/haproxy_query.py | 5 +-
.../amphorae/backends/utils/ip_advertisement.py | 183 +++
.../amphorae/backends/utils/keepalivedlvs_query.py | 43 +-
.../amphorae/backends/utils/network_namespace.py | 50 +
octavia/amphorae/backends/utils/network_utils.py | 83 ++
octavia/amphorae/backends/utils/udp_check.sh | 14 +-
octavia/amphorae/driver_exceptions/exceptions.py | 4 +-
octavia/amphorae/drivers/driver_base.py | 117 +-
octavia/amphorae/drivers/haproxy/exceptions.py | 9 +-
.../amphorae/drivers/haproxy/rest_api_driver.py | 107 +-
octavia/amphorae/drivers/health/heartbeat_udp.py | 643 +++++++--
.../amphorae/drivers/keepalived/jinja/jinja_cfg.py | 2 +-
.../drivers/keepalived/vrrp_rest_driver.py | 81 +-
octavia/amphorae/drivers/noop_driver/driver.py | 62 +-
octavia/api/common/pagination.py | 24 +-
octavia/api/common/types.py | 40 +-
.../api/drivers/amphora_driver/flavor_schema.py | 4 +
octavia/api/drivers/amphora_driver/v1/driver.py | 44 +-
octavia/api/drivers/amphora_driver/v2/driver.py | 44 +-
octavia/api/drivers/data_models.py | 58 -
octavia/api/drivers/driver_agent/driver_updater.py | 42 +-
octavia/api/drivers/exceptions.py | 41 -
octavia/api/drivers/noop_driver/driver.py | 4 +-
octavia/api/drivers/utils.py | 45 +-
octavia/api/healthcheck/healthcheck_plugins.py | 4 +-
octavia/api/root_controller.py | 27 +-
octavia/api/v2/controllers/__init__.py | 6 +-
octavia/api/v2/controllers/amphora.py | 36 +-
.../v2/controllers/availability_zone_profiles.py | 18 +-
octavia/api/v2/controllers/availability_zones.py | 16 +-
octavia/api/v2/controllers/base.py | 14 +-
octavia/api/v2/controllers/flavor_profiles.py | 20 +-
octavia/api/v2/controllers/flavors.py | 14 +-
octavia/api/v2/controllers/health_monitor.py | 66 +-
octavia/api/v2/controllers/l7policy.py | 39 +-
octavia/api/v2/controllers/l7rule.py | 51 +-
octavia/api/v2/controllers/listener.py | 83 +-
octavia/api/v2/controllers/load_balancer.py | 106 +-
octavia/api/v2/controllers/member.py | 28 +-
octavia/api/v2/controllers/pool.py | 106 +-
octavia/api/v2/controllers/provider.py | 12 +-
octavia/api/v2/controllers/quotas.py | 4 +-
octavia/api/v2/types/listener.py | 15 +
octavia/api/v2/types/pool.py | 26 +-
octavia/api/v2/types/quotas.py | 8 +-
octavia/certificates/common/auth/barbican_acl.py | 4 +-
octavia/certificates/generator/local.py | 12 +-
octavia/certificates/manager/barbican.py | 2 +-
octavia/certificates/manager/barbican_legacy.py | 2 +-
octavia/certificates/manager/castellan_mgr.py | 2 +-
octavia/certificates/manager/local.py | 13 +-
octavia/cmd/agent.py | 2 +-
octavia/cmd/api.py | 4 +
octavia/cmd/status.py | 89 +-
octavia/common/base_taskflow.py | 11 +-
octavia/common/clients.py | 35 +-
octavia/common/config.py | 168 ++-
octavia/common/constants.py | 105 +-
octavia/common/context.py | 2 +-
octavia/common/data_models.py | 39 +-
octavia/common/exceptions.py | 30 +-
.../jinja/haproxy/combined_listeners/jinja_cfg.py | 52 +-
.../combined_listeners/templates/haproxy.cfg.j2 | 4 +-
.../haproxy/combined_listeners/templates/macros.j2 | 70 +-
.../jinja/haproxy/split_listeners/jinja_cfg.py | 4 +-
octavia/common/jinja/lvs/jinja_cfg.py | 4 +-
octavia/common/jinja/lvs/templates/base.j2 | 4 +
octavia/common/keystone.py | 2 +-
octavia/common/policy.py | 8 +-
octavia/common/stats.py | 10 +-
octavia/common/tls_utils/cert_parser.py | 32 +-
octavia/common/utils.py | 27 +-
octavia/common/validate.py | 130 +-
octavia/compute/compute_base.py | 8 +-
octavia/compute/drivers/noop_driver/driver.py | 41 +-
octavia/compute/drivers/nova_driver.py | 122 +-
.../healthmanager/health_drivers/update_db.py | 551 --------
octavia/controller/queue/v1/consumer.py | 4 +-
octavia/controller/queue/v1/endpoints.py | 4 +
octavia/controller/queue/v2/consumer.py | 13 +-
octavia/controller/queue/v2/endpoints.py | 10 +-
octavia/controller/worker/task_utils.py | 2 +-
octavia/controller/worker/v1/controller_worker.py | 568 +++++---
.../controller/worker/v1/flows/amphora_flows.py | 766 +++++-----
.../controller/worker/v1/flows/l7policy_flows.py | 2 +
octavia/controller/worker/v1/flows/l7rule_flows.py | 2 +
.../worker/v1/flows/load_balancer_flows.py | 450 +++++-
.../worker/v1/tasks/amphora_driver_tasks.py | 226 ++-
octavia/controller/worker/v1/tasks/cert_task.py | 2 +-
.../controller/worker/v1/tasks/compute_tasks.py | 94 +-
.../controller/worker/v1/tasks/database_tasks.py | 200 ++-
.../controller/worker/v1/tasks/lifecycle_tasks.py | 6 +-
.../controller/worker/v1/tasks/network_tasks.py | 221 ++-
octavia/controller/worker/v1/tasks/retry_tasks.py | 74 +
octavia/controller/worker/v2/controller_worker.py | 549 +++++---
.../controller/worker/v2/flows/amphora_flows.py | 786 ++++++-----
octavia/controller/worker/v2/flows/flow_utils.py | 47 +-
.../controller/worker/v2/flows/l7policy_flows.py | 2 +
octavia/controller/worker/v2/flows/l7rule_flows.py | 2 +
.../controller/worker/v2/flows/listener_flows.py | 14 +-
.../worker/v2/flows/load_balancer_flows.py | 503 +++++--
octavia/controller/worker/v2/flows/pool_flows.py | 9 +-
.../worker/v2/taskflow_jobboard_driver.py | 3 +-
.../worker/v2/tasks/amphora_driver_tasks.py | 273 ++--
octavia/controller/worker/v2/tasks/cert_task.py | 2 +-
.../controller/worker/v2/tasks/compute_tasks.py | 102 +-
.../controller/worker/v2/tasks/database_tasks.py | 276 +++-
.../controller/worker/v2/tasks/lifecycle_tasks.py | 6 +-
.../controller/worker/v2/tasks/network_tasks.py | 256 +++-
octavia/controller/worker/v2/tasks/retry_tasks.py | 73 +
octavia/db/migration/alembic_migrations/env.py | 2 -
...994dd3ec2_add_listener_alpn_protocols_column.py | 35 +
.../32e5c35b26a8_add_l7policy_and_l7rule_quota.py | 40 +
.../versions/8b47b2546312_sctp_support.py | 46 +
.../d3c8a090f3de_add_pool_tls_versions_column.py} | 25 +-
...493ae5f9a7_add_listener_tls_versions_column.py} | 25 +-
.../e6ee84f0abf3_add_proxy_v2_pool_protocol.py | 43 +
octavia/db/models.py | 36 +-
octavia/db/prepare.py | 27 +-
octavia/db/repositories.py | 212 ++-
octavia/distributor/drivers/noop_driver/driver.py | 6 +-
octavia/hacking/checks.py | 17 +
.../health_drivers => image}/__init__.py | 0
.../health_drivers => image/drivers}/__init__.py | 0
octavia/image/drivers/glance_driver.py | 69 +
octavia/image/drivers/noop_driver/__init__.py | 0
octavia/image/drivers/noop_driver/driver.py | 43 +
.../update_base.py => image/image_base.py} | 19 +-
octavia/network/base.py | 52 +
octavia/network/data_models.py | 16 +-
.../drivers/neutron/allowed_address_pairs.py | 351 +++--
octavia/network/drivers/neutron/base.py | 35 +-
octavia/network/drivers/neutron/utils.py | 45 +-
octavia/network/drivers/noop_driver/driver.py | 73 +-
octavia/opts.py | 3 +-
octavia/policies/amphora.py | 7 +
octavia/statistics/__init__.py | 0
octavia/statistics/drivers/__init__.py | 0
.../drivers/logger.py} | 18 +-
octavia/statistics/drivers/update_db.py | 43 +
octavia/statistics/stats_base.py | 60 +
.../backend/agent/api_server/test_keepalivedlvs.py | 24 +-
.../backend/agent/api_server/test_server.py | 81 +-
.../api/drivers/driver_agent/test_driver_agent.py | 2 +-
.../functional/api/v2/test_availability_zones.py | 2 +-
.../backends/agent/api_server/test_amphora_info.py | 2 +-
.../agent/api_server/test_haproxy_compatibility.py | 8 +-
.../backends/agent/api_server/test_keepalived.py | 2 +-
.../agent/api_server/test_keepalivedlvs.py | 2 +-
.../backends/agent/api_server/test_loadbalancer.py | 50 +-
.../backends/agent/api_server/test_osutils.py | 2 +-
.../backends/agent/api_server/test_plug.py | 26 +-
.../backends/agent/api_server/test_util.py | 130 +-
.../backends/agent/test_agent_jinja_cfg.py | 2 +-
.../backends/health_daemon/test_envelope.py | 2 +-
.../backends/health_daemon/test_health_daemon.py | 225 ++-
.../backends/health_daemon/test_health_sender.py | 2 +-
.../amphorae/backends/utils/test_haproxy_query.py | 2 +-
.../backends/utils/test_ip_advertisement.py | 212 +++
.../backends/utils/test_keepalivedlvs_query.py | 76 +-
.../backends/utils/test_network_namespace.py | 116 ++
.../amphorae/backends/utils/test_network_utils.py | 140 ++
.../amphorae/drivers/haproxy/test_exceptions.py | 52 +
.../drivers/haproxy/test_rest_api_driver_0_5.py | 78 +-
.../drivers/haproxy/test_rest_api_driver_1_0.py | 63 +-
.../drivers/haproxy/test_rest_api_driver_common.py | 83 ++
.../amphorae/drivers/health/test_heartbeat_udp.py | 1478 +++++++++++++++++++-
.../drivers/keepalived/jinja/test_jinja_cfg.py | 2 +-
.../drivers/keepalived/test_vrrp_rest_driver.py | 50 +-
.../test_noop_amphoraloadbalancer_driver.py | 35 +-
.../amphora_driver/v1/test_amphora_driver.py | 35 +-
.../amphora_driver/v2/test_amphora_driver.py | 53 +-
.../drivers/driver_agent/test_driver_listener.py | 2 +-
.../drivers/driver_agent/test_driver_updater.py | 78 +-
.../unit/api/drivers/test_provider_noop_agent.py | 2 +-
.../unit/api/drivers/test_provider_noop_driver.py | 4 +-
.../certificates/common/auth/test_barbican_acl.py | 2 +-
.../unit/certificates/generator/test_local.py | 2 +-
.../unit/certificates/manager/test_barbican.py | 2 +-
.../certificates/manager/test_barbican_legacy.py | 39 +-
.../certificates/manager/test_castellan_mgr.py | 2 +-
.../haproxy/combined_listeners/test_jinja_cfg.py | 466 +++++-
.../haproxy/split_listeners/test_jinja_cfg.py | 2 +-
.../common/jinja/logging/test_logging_jinja_cfg.py | 2 +-
.../unit/common/jinja/lvs/test_lvs_jinja_cfg.py | 26 +-
.../unit/common/jinja/test_user_data_jinja_cfg.py | 2 +-
.../sample_configs/sample_configs_combined.py | 62 +-
.../compute/drivers/test_compute_noop_driver.py | 8 +-
.../health_drivers/test_update_base.py | 38 -
.../healthmanager/health_drivers/test_update_db.py | 1414 -------------------
.../healthmanager/test_health_manager.py | 2 +-
.../controller/housekeeping/test_house_keeping.py | 6 +-
.../unit/controller/queue/v1/test_consumer.py | 2 +-
.../unit/controller/queue/v1/test_endpoints.py | 7 +-
.../unit/controller/queue/v2/test_consumer.py | 2 +-
.../unit/controller/queue/v2/test_endpoints.py | 7 +-
.../controller/worker/test_amphora_rate_limit.py | 2 +-
.../unit/controller/worker/test_task_utils.py | 2 +-
.../worker/v1/flows/test_amphora_flows.py | 215 ++-
.../worker/v1/flows/test_health_monitor_flows.py | 2 +-
.../worker/v1/flows/test_l7policy_flows.py | 2 +-
.../worker/v1/flows/test_l7rule_flows.py | 2 +-
.../worker/v1/flows/test_listener_flows.py | 2 +-
.../worker/v1/flows/test_load_balancer_flows.py | 238 +++-
.../worker/v1/flows/test_member_flows.py | 2 +-
.../controller/worker/v1/flows/test_pool_flows.py | 2 +-
.../worker/v1/tasks/test_amphora_driver_tasks.py | 288 +++-
.../worker/v1/tasks/test_compute_tasks.py | 82 +-
.../worker/v1/tasks/test_database_tasks.py | 36 +-
.../worker/v1/tasks/test_database_tasks_quota.py | 95 +-
.../worker/v1/tasks/test_lifecycle_tasks.py | 2 +-
.../controller/worker/v1/tasks/test_model_tasks.py | 2 +-
.../worker/v1/tasks/test_network_tasks.py | 416 +++++-
.../controller/worker/v1/tasks/test_retry_tasks.py | 47 +
.../controller/worker/v1/test_controller_worker.py | 993 ++++++++++---
.../worker/v2/flows/test_amphora_flows.py | 169 ++-
.../worker/v2/flows/test_health_monitor_flows.py | 2 +-
.../worker/v2/flows/test_l7policy_flows.py | 2 +-
.../worker/v2/flows/test_l7rule_flows.py | 2 +-
.../worker/v2/flows/test_listener_flows.py | 10 +-
.../worker/v2/flows/test_load_balancer_flows.py | 276 +++-
.../worker/v2/flows/test_member_flows.py | 2 +-
.../controller/worker/v2/flows/test_pool_flows.py | 5 +-
.../worker/v2/tasks/test_amphora_driver_tasks.py | 313 ++++-
.../worker/v2/tasks/test_compute_tasks.py | 79 +-
.../worker/v2/tasks/test_database_tasks.py | 39 +-
.../worker/v2/tasks/test_database_tasks_quota.py | 128 +-
.../worker/v2/tasks/test_lifecycle_tasks.py | 2 +-
.../worker/v2/tasks/test_network_tasks.py | 438 +++++-
.../controller/worker/v2/tasks/test_retry_tasks.py | 47 +
.../controller/worker/v2/test_controller_worker.py | 1041 +++++++++++---
.../unit/image/drivers/test_image_noop_driver.py | 39 +
.../drivers/neutron/test_allowed_address_pairs.py | 480 ++++++-
.../unit/network/drivers/neutron/test_base.py | 2 +-
.../unit/network/drivers/neutron/test_utils.py | 3 +-
.../network/drivers/test_network_noop_driver.py | 58 +-
.../drivers/test_logger.py} | 28 +-
.../unit/statistics/drivers/test_update_db.py | 78 ++
.../unit/volume/drivers/test_cinder_driver.py | 2 +-
.../unit/volume/drivers/test_volume_noop_driver.py | 2 +-
octavia/volume/drivers/cinder_driver.py | 10 +-
octavia/volume/drivers/noop_driver/driver.py | 4 +-
playbooks/image-build/run.yaml | 7 +-
.../legacy/grenade-devstack-octavia/post.yaml | 19 -
playbooks/legacy/grenade-devstack-octavia/run.yaml | 62 -
.../Add-proxy-protocol-v2-90e4f5bf76138c69.yaml | 4 +
...a-health-when-LB-disabled-46a4fb295c6d0850.yaml | 6 +
...d-amphora-alpn-h2-support-dfa9a86b2c06f354.yaml | 6 +
.../notes/add-amphora-delete-69badba140f7b228.yaml | 4 +
...hora-image-tag-capability-ba2ea034bc01ab48.yaml | 7 +
releasenotes/notes/add-c9b9401b831efb25.yaml | 10 +
...olicy-and-l7rule-to-quota-4b873c77f1e608e6.yaml | 3 +
...listener-tls-alpn-support-3056fb01b418c88f.yaml | 9 +
.../add-nftables-support-c86a89c420f6a42a.yaml | 4 +
...support-for-sctp-protocol-152444b211ab2188.yaml | 5 +
.../allow-invisible-subnets-e30b0b5fbd216294.yaml | 2 +-
.../deprecating-spares-pool-9f92787ec9809a78.yaml | 11 +
...d-member-tls-enabled-pool-cc77bfa320aaf659.yaml | 5 +
...ailover-missing-vrrp-port-9b5f13b9951b7edb.yaml | 5 +
...ner-update-sni-containers-6595c52e2de1f621.yaml | 8 +
.../notes/fix-api-sort-key-337f342d5cdce432.yaml | 5 +
...ix-audit-map-for-failover-e63390399da6841d.yaml | 5 +
...ix-barbican-client-verfiy-689be1b9389bd1d8.yaml | 5 +
...sable-udp-listener-status-3d34a5596e62da1c.yaml | 6 +
...versions-ciphers-clearing-4e987ee17d6b6e79.yaml | 8 +
...amphora-create-dependency-a954ded0d260d462.yaml | 5 +
...ix-peer-name-prefix-hypen-e74a87e9a01b4f4c.yaml | 10 +
...header-insertion-mismatch-e3aeb5f5fee0348b.yaml | 5 +
...enabled-pool-provisioning-e3adb987244a025a.yaml | 4 +
.../notes/fix-udp-only-lbs-c4ca42106fc1e2bb.yaml | 5 +
...nstable-UDP-health-status-ba32690b83a9641b.yaml | 7 +
.../get-all-unscoped-token-61da95856bc662e0.yaml | 10 +
.../improve-terminology-8ddacb4458c74d57.yaml | 9 +
.../jobboard-enable-option-5132e372c446d6de.yaml | 8 +
.../notes/min-tls-version-8e2856fb055ece2c.yaml | 6 +
...ction_limit-config-option-3ed9f0ed6ec2b514.yaml | 18 +
.../notes/pool-tls-versions-37f8036eb29ffeee.yaml | 7 +
...end-haproxy-2.x-for-http2-697416c486e36840.yaml | 6 +
.../refactor_failover_flow-9efcd854240f71ad.yaml | 11 +
...ve-amp-ssh-access-allowed-e11dc011637b21dd.yaml | 6 +
.../remove-amp_image_id-12a88bae6518455b.yaml | 6 +
...ove-status_update_threads-85a8b0307a04c164.yaml | 6 +
...drivers-interface-changes-c8f2bf3b02eec767.yaml | 17 +
.../switch-to-live-drivers-cbae7c60eafa0f3e.yaml | 6 +
.../tls-cipher-prohibit-list-b5a23ca38149f3b8.yaml | 6 +
.../tls-versions-listeners-59cecde77e0238a0.yaml | 14 +
releasenotes/source/conf.py | 8 +-
releasenotes/source/index.rst | 1 +
releasenotes/source/ussuri.rst | 6 +
requirements.txt | 24 +-
setup.cfg | 34 +-
specs/template.rst | 2 +-
specs/version0.5/network-driver-interface.rst | 2 +-
test-requirements.txt | 2 +-
tools/coding-checks.sh | 2 +-
tools/create_flow_docs.py | 45 +-
tools/flow-list-v2.txt | 32 +
tools/flow-list.txt | 3 +-
tools/misc-sanity-checks.sh | 6 +-
tox.ini | 31 +-
zuul.d/jobs.yaml | 134 +-
zuul.d/projects.yaml | 46 +-
448 files changed, 20503 insertions(+), 7516 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 050e01d5..2f4f194f 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -8 +8 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0
-SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT
+SQLAlchemy>=1.2.19 # MIT
@@ -10 +9,0 @@ SQLAlchemy-Utils>=0.30.11
-Babel!=2.4.0,>=2.3.4 # BSD
@@ -21 +20 @@ oslo.context>=2.19.2 # Apache-2.0
-oslo.db>=4.27.0 # Apache-2.0
+oslo.db[mysql]>=8.3.0 # Apache-2.0
@@ -24 +23 @@ oslo.log>=3.36.0 # Apache-2.0
-oslo.messaging>=6.3.0 # Apache-2.0
+oslo.messaging>=12.4.0 # Apache-2.0
@@ -33 +31,0 @@ pyasn1-modules>=0.0.6 # BSD
-PyMySQL>=0.7.6 # MIT License
@@ -38 +36 @@ python-cinderclient>=3.3.0 # Apache-2.0
-pyOpenSSL>=17.1.0 # Apache-2.0
+pyOpenSSL>=19.1.0 # Apache-2.0
@@ -41,2 +39 @@ Jinja2>=2.10 # BSD License (3 clause)
-taskflow>=4.1.0 # Apache-2.0
-diskimage-builder>=2.24.0 # Apache-2.0
+taskflow>=4.4.0 # Apache-2.0
@@ -46,3 +43,2 @@ distro>=1.2.0 # Apache-2.0
-jsonschema>=2.6.0 # MIT
-debtcollector>=1.19.0 # Apache-2.0
-octavia-lib>=2.0.0 # Apache-2.0
+jsonschema>=3.2.0 # MIT
+octavia-lib>=2.2.0 # Apache-2.0
@@ -51,0 +48 @@ setproctitle>=1.1.10 # BSD
+python-dateutil>=2.7.0 # BSD
@@ -55,3 +52,2 @@ Flask!=0.11,>=0.10 # BSD
-netifaces>=0.10.4 # MIT
-cryptography>=2.1 # BSD/Apache-2.0
-pyroute2>=0.4.21;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
+cryptography>=3.0 # BSD/Apache-2.0
+pyroute2>=0.5.14;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
diff --git a/test-requirements.txt b/test-requirements.txt
index 7d827764..9231bb60 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -20 +20 @@ tempest>=17.1.0 # Apache-2.0
-sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
+sphinx>=2.0.0,!=2.1.0 # BSD
1
0