Release-announce
Threads by month
- ----- 2025 -----
- 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
August 2018
- 1 participants
- 225 discussions
We are amped to announce the release of:
networking-sfc 7.0.0: API's and implementations to support Service
Function Chaining in Neutron.
This release is part of the rocky release series.
The source is available from:
https://git.openstack.org/cgit/openstack/networking-sfc
Download the package from:
https://pypi.org/project/networking-sfc
Please report issues through launchpad:
https://bugs.launchpad.net/networking-sfc
For more details, please see below.
Changes in networking-sfc 6.0.0..7.0.0
--------------------------------------
bc2904d remove dead IDAllocator code
5d70da5 Add release notes link in README
31be8e5 Fix alembic migration template generator script
ea698ea Use get_marker_obj from neutron-lib
437af85 Use i18n from the project
22e13c4 Switch to stestr
2000d47 update requirements for neutron-lib 1.18.0
379fcd5 uncap eventlet
433e265 use rpc Connection rather than create_connection
c6fde05 Fix constraints and uncap eventlets
17d5b78 Fix new PEP8 errors
ce07e3d Delete port chain failed
1bebc71 remove unused plugin.get_plugin_name()
42a21ff Cleanup test-requirements
8eca062 Revert "DNM: tentative hack to point to neutron-lib master"
1dcb2a2 Updated from global requirements
3ce6f24 DNM: tentative hack to point to neutron-lib master
31e8c2d Update OPNFV link on README
ed62ea5 add lower-constraints job
548e0b8 Avoid tox-install.sh
dffe790 Update links in README
cf25f20 use common agent topics from neutron-lib
aa386a8 stop mocking vlantransparent LOG in UTs
b152627 Update reno for stable/queens
234956f Remove duplicated 'the' word in documentation
b22fb55 Zuul: Remove project name
94a8952 devstack: support lib/neutron
d029ab4 Remove the deprecated "giturl" option
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 2 +-
.testr.conf | 7 -
README.rst | 11 +-
api-ref/source/conf.py | 5 -
devstack/devstackgaterc | 7 +-
devstack/plugin.sh | 11 +-
lower-constraints.txt | 161 +++++++++++++++++++++
networking_sfc/db/flowclassifier_db.py | 5 +-
.../db/migration/alembic_migrations/script.py.mako | 8 +-
.../mitaka/expand/5a475fc853e6_ovs_data_model.py | 1 -
.../010308b06b49_rename_tenant_to_project.py | 9 +-
.../06382790fb2c_fix_foreign_constraints.py | 1 -
.../6185f1633a3d_add_correlation_as_pp_detail.py | 6 +-
...b3adaf631bab__add_fwd_path_and_in_mac_column.py | 6 +-
.../61832141fb82_add_ppg_n_tuple_mapping_column.py | 6 +-
...e2d8a_modify_value_column_size_in_port_pair_.py | 6 +-
.../53ed5bec6cff_add_service_graph_api_resource.py | 6 +-
.../a3ad63aa834f_extra_attributes_for_pathnode.py | 6 +-
...1b65f2_tap_enabled_attribute_port_pair_group.py | 6 +-
networking_sfc/db/sfc_db.py | 16 +-
networking_sfc/extensions/flowclassifier.py | 3 -
networking_sfc/extensions/servicegraph.py | 3 -
networking_sfc/extensions/sfc.py | 3 -
networking_sfc/extensions/tap.py | 1 +
networking_sfc/services/flowclassifier/plugin.py | 2 +-
.../services/sfc/agent/extensions/sfc.py | 2 +-
networking_sfc/services/sfc/drivers/ovs/db.py | 54 -------
networking_sfc/services/sfc/drivers/ovs/driver.py | 17 ++-
networking_sfc/services/sfc/drivers/ovs/rpc.py | 2 +-
.../unit/services/sfc/drivers/ovs/test_driver.py | 8 +-
releasenotes/source/index.rst | 1 +
releasenotes/source/queens.rst | 6 +
requirements.txt | 16 +-
test-requirements.txt | 9 +-
tools/ostestr_compat_shim.sh | 8 -
tools/tox_install.sh | 52 -------
tox.ini | 30 +++-
zuul.d/project.yaml | 7 +
zuul.d/projects.yaml | 1 -
44 files changed, 293 insertions(+), 260 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 59e34db..2d955a91 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6 +6 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0
-eventlet!=0.18.3,!=0.20.1,<0.21.0,>=0.18.2 # MIT
+eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT
@@ -8,2 +8,2 @@ netaddr>=0.7.18 # BSD
-python-neutronclient>=6.3.0 # Apache-2.0
-SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT
+python-neutronclient>=6.7.0 # Apache-2.0
+SQLAlchemy>=1.2.0 # MIT
@@ -13 +13 @@ stevedore>=1.20.0 # Apache-2.0
-oslo.config>=5.1.0 # Apache-2.0
+oslo.config>=5.2.0 # Apache-2.0
@@ -19,6 +19,2 @@ oslo.utils>=3.33.0 # Apache-2.0
-neutron-lib>=1.12.0 # Apache-2.0
-
-# This project does depend on neutron as a library, but the
-# openstack tooling does not play nicely with projects that
-# are not publicly available in pypi.
-# -e git+https://git.openstack.org/openstack/neutron#egg=neutron
+neutron-lib>=1.18.0 # Apache-2.0
+neutron>=13.0.0.0b2 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 454ac54..d3554ba 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -10,2 +10 @@ mock>=2.0.0 # BSD
-python-subunit>=1.0.0 # Apache-2.0/BSD
-requests-mock>=1.1.0 # Apache-2.0
+requests-mock>=1.2.0 # Apache-2.0
@@ -13 +12 @@ sphinx!=1.6.6,>=1.6.2 # BSD
-openstackdocstheme>=1.17.0 # Apache-2.0
+openstackdocstheme>=1.18.1 # Apache-2.0
@@ -21 +20 @@ oslotest>=3.2.0 # Apache-2.0
-os-testr>=1.0.0 # Apache-2.0
+stestr>=2.0.0 # Apache-2.0
@@ -26 +25 @@ PyMySQL>=0.7.6 # MIT License
-reno>=2.5.0 # Apache-2.0
+reno>=2.5.0 # Apache-2.0
1
0
We jubilantly announce the release of:
sahara 9.0.0: Sahara project
This release is part of the rocky release series.
The source is available from:
https://git.openstack.org/cgit/openstack/sahara
Download the package from:
https://tarballs.openstack.org/sahara/
For more details, please see below.
Changes in sahara 8.0.0..9.0.0
------------------------------
7d9483b Fixing anti-affinity for Sahara
fa007bc import zuul job settings from project-config
0a88f08 Update UPPER_CONSTRAINTS_FILE for stable/rocky
6f61053 Update .gitreview for stable/rocky
5eab743 Imported Translations from Zanata
141a67e Add some S3 doc
7f55880 Enable also ambari by default in devstack
bb7c039 Another small fix for cluster creation on APIv2
a37dfac S3 data source URL format change
fee5d17 Sets correct permission for /etc/hosts
7654940 Fixing cluster creation on APIv2
bf68afb Allow overriding of /etc/hosts entries
094138d Enable mutable config in sahara
15317a6 Adding Ambari 2.6 to image pack
b6504ee Adding Storm 1.2.0 and 1.2.1
8ecbeff Unversioned endpoint recommendation
8b830df api-ref: move to a v1.1 sub-folder
bb60fbc Trivial: Update Zuul Status Page to correct URL
9aab4b5 Switch make_json_error back to being a function
cb0e5ad Final fixup to APIv2 responses
de5a4cf Deprecate sahara-all
4b4effa Switch hive_enable_db_notification's default value
a449558 S3 data source
6f66893 Switch the coverage tox target to stestr
e1a36ee Updating Spark versions
f5bf9ff Fixing extjs check on cdh and mapr
1e14e8d Switch ostestr to stestr
dd1c265 Bump Flask version according requirements
2ebcc90 Fix flask.request.content_length is None
72b493a Use register_error_handler to register make_json_error
f172235 Boot from volume
203c796 Remove any reference to pre-built images
17509c3 Updating plugins status for Rocky
28eb4ce Adding CDH 5.13
1d3b02e Replace the deleted keypair in clusters for API v2
391bfba Better default value for domain in swift config
ed59cfe Improve force delete
d0d1a1d Updated oozie version
aae9253 Fix the code repository for clone action
9988c7e add release notes to readme.rst
455b456 doc: light cleanup of the ironic-integration page
39e7c2d doc: external link helper for other projects' doc
b817420 Update the command to change the hostname
ebda885 fix tox python3 overrides
aae8a86 Check node processes earlier
f96709a [APIv2]Consolidate cluster creation endpoints
4c5fab8 Add support to deploy hadoop 2.7.5
522627e Restore Ambari with newer JDK security policies
d0833f3 Fixing java version for Ambari
9f6b2bf Switch from sahara-file to tarballs.o.o for artifacts
3ff85ab Deploy using wsgi by default
e8bcce9 Fix: really install extjs in CDH images at build time
03587a0 doc: add the redirect for a file recently renamed
9abcec3 Fix the detection of scala version (now https)
6edd220 Fix the installation of Swift Hadoop connector (Ambari)
8cc8768 Fix the installation of the Swift Hadoop connector (CDH)
892db4a fix a typo: s/avaliable/available
775f6e4 Remove the (now obsolete) pip-missing-reqs tox target
d8ab151 Replace Chinese punctuation with English punctuation
7ed8ebf Fix the openstack endpoint create failed
e789f9a Fix: always use kafka 2.2 for CDH 5.11
d9c9fe4 Adding Ambari missing versions
ee42f01 Extend config-grabbing magic to new oslo.config
2a1d92c Adding ntpdate and Scala to mapr image
f757422 Change doc registering-image image message
7553ae8 Remove step upload package to oozie/sharelib
755a808 uncap eventlet
b3c8d75 Fix MapR dependency on mysql on RHEL
db7cc2d correct lower-constraints
3be693e Support of HDP 2.6
edc7097 Follow the new PTI for document build
ab3903a Updated from global requirements
ae0f1af add lower-constraints job
68b447d File copy timesout when file is too big
fee369b Preload soci-mysql and soci on RHEL7 images
3734ef7 Migration to Storyboard
809f937 Updated from global requirements
7c2ce6b Updated from global requirements
9868888 Updated from global requirements
33335b4 Adding support for RHEL images
0e6ab1d Remove unused module
12b4d11 change python-libguestfs to python-guestfs for ubuntu
acec53b Updated from global requirements
23f36bf Imported Translations from Zanata
c8c4273 Updated from global requirements
4e35c08 Update mysql connection in configuration-guide.rst
e622fd6 Imported Translations from Zanata
779cade Fix Spark EDP job failed in vanilla 2.8.2
fd67730 Fix documents title format error
8ae30c0 Migrate the artifact link to sahara-extra, use https
eeee06a Updated from global requirements
7c14eba Updated from global requirements
e97e0ab Adding Ambari 2.4.2.0 to image gen
6fc0f25 Native Zuul v3 jobs (almost all of them)
e0a7d03 Change some parameters to be required in api-ref
6861df5 Fix the parameter in api-ref
90602fc Imported Translations from Zanata
ae51614 Update reno for stable/queens
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
.stestr.conf | 2 +-
.testr.conf | 8 -
.zuul.yaml | 62 +
CONTRIBUTING.rst | 4 +-
README.rst | 6 +-
api-ref/source/cluster-templates.inc | 253 -
api-ref/source/clusters.inc | 335 --
api-ref/source/conf.py | 2 +-
api-ref/source/data-sources.inc | 212 -
api-ref/source/event-log.inc | 42 -
api-ref/source/image-registry.inc | 249 -
api-ref/source/index.rst | 26 +-
api-ref/source/job-binaries.inc | 266 -
api-ref/source/job-binary-internals.inc | 258 -
api-ref/source/job-executions.inc | 325 --
api-ref/source/job-types.inc | 61 -
api-ref/source/jobs.inc | 265 -
api-ref/source/node-group-templates.inc | 269 -
api-ref/source/parameters.yaml | 1159 ----
api-ref/source/plugins.inc | 187 -
.../cluster-template-create-request.json | 17 -
.../cluster-template-create-response.json | 82 -
.../cluster-template-show-response.json | 82 -
.../cluster-template-update-request.json | 11 -
.../cluster-template-update-response.json | 67 -
.../cluster-templates-list-response.json | 140 -
.../samples/clusters/cluster-create-request.json | 9 -
.../samples/clusters/cluster-create-response.json | 128 -
.../samples/clusters/cluster-scale-request.json | 15 -
.../samples/clusters/cluster-scale-response.json | 370 --
.../samples/clusters/cluster-show-response.json | 128 -
.../samples/clusters/cluster-update-request.json | 4 -
.../samples/clusters/cluster-update-response.json | 128 -
.../samples/clusters/clusters-list-response.json | 327 --
.../clusters/multiple-clusters-create-request.json | 11 -
.../multiple-clusters-create-response.json | 6 -
.../data-source-register-hdfs-request.json | 6 -
.../data-source-register-hdfs-response.json | 14 -
.../data-source-register-swift-request.json | 10 -
.../data-source-register-swift-response.json | 14 -
.../data-sources/data-source-show-response.json | 14 -
.../data-sources/data-source-update-request.json | 4 -
.../data-sources/data-source-update-response.json | 14 -
.../data-sources/data-sources-list-response.json | 28 -
.../event-log/cluster-progress-response.json | 72 -
.../image-registry/image-register-request.json | 4 -
.../image-registry/image-register-response.json | 25 -
.../image-registry/image-show-response.json | 24 -
.../image-registry/image-tags-add-request.json | 7 -
.../image-registry/image-tags-add-response.json | 27 -
.../image-registry/image-tags-delete-request.json | 5 -
.../image-registry/image-tags-delete-response.json | 25 -
.../image-registry/images-list-response.json | 48 -
.../samples/job-binaries/create-request.json | 9 -
.../samples/job-binaries/create-response.json | 13 -
.../source/samples/job-binaries/list-response.json | 37 -
.../source/samples/job-binaries/show-data-response | 3 -
.../source/samples/job-binaries/show-response.json | 13 -
.../samples/job-binaries/update-request.json | 5 -
.../samples/job-binaries/update-response.json | 13 -
.../job-binary-internals/create-response.json | 12 -
.../job-binary-internals/list-response.json | 24 -
.../job-binary-internals/show-data-response | 3 -
.../job-binary-internals/show-response.json | 12 -
.../job-binary-internals/update-request.json | 4 -
.../job-binary-internals/update-response.json | 12 -
.../samples/job-executions/cancel-response.json | 120 -
.../samples/job-executions/job-ex-response.json | 120 -
.../job-executions/job-ex-update-request.json | 3 -
.../job-executions/job-ex-update-response.json | 120 -
.../samples/job-executions/list-response.json | 122 -
.../samples/job-types/job-types-list-response.json | 209 -
.../source/samples/jobs/job-create-request.json | 11 -
.../source/samples/jobs/job-create-response.json | 35 -
.../source/samples/jobs/job-execute-request.json | 19 -
.../source/samples/jobs/job-execute-response.json | 30 -
api-ref/source/samples/jobs/job-show-response.json | 26 -
.../source/samples/jobs/job-update-request.json | 4 -
.../source/samples/jobs/job-update-response.json | 26 -
.../source/samples/jobs/jobs-list-response.json | 66 -
.../node-group-template-create-request.json | 13 -
.../node-group-template-create-response.json | 33 -
.../node-group-template-show-response.json | 37 -
.../node-group-template-update-request.json | 10 -
.../node-group-template-update-response.json | 30 -
.../node-group-templates-list-response.json | 76 -
.../samples/plugins/plugin-show-response.json | 12 -
.../samples/plugins/plugin-update-request.json | 7 -
.../samples/plugins/plugin-update-response.json | 32 -
.../plugins/plugin-version-show-response.json | 92 -
.../samples/plugins/plugins-list-response.json | 41 -
api-ref/source/v1.1/cluster-templates.inc | 253 +
api-ref/source/v1.1/clusters.inc | 335 ++
api-ref/source/v1.1/data-sources.inc | 212 +
api-ref/source/v1.1/event-log.inc | 42 +
api-ref/source/v1.1/image-registry.inc | 249 +
api-ref/source/v1.1/index.rst | 20 +
api-ref/source/v1.1/job-binaries.inc | 266 +
api-ref/source/v1.1/job-binary-internals.inc | 258 +
api-ref/source/v1.1/job-executions.inc | 325 ++
api-ref/source/v1.1/job-types.inc | 61 +
api-ref/source/v1.1/jobs.inc | 265 +
api-ref/source/v1.1/node-group-templates.inc | 269 +
api-ref/source/v1.1/parameters.yaml | 1159 ++++
api-ref/source/v1.1/plugins.inc | 187 +
.../cluster-template-create-request.json | 17 +
.../cluster-template-create-response.json | 82 +
.../cluster-template-show-response.json | 82 +
.../cluster-template-update-request.json | 11 +
.../cluster-template-update-response.json | 67 +
.../cluster-templates-list-response.json | 140 +
.../samples/clusters/cluster-create-request.json | 9 +
.../samples/clusters/cluster-create-response.json | 128 +
.../samples/clusters/cluster-scale-request.json | 15 +
.../samples/clusters/cluster-scale-response.json | 370 ++
.../samples/clusters/cluster-show-response.json | 128 +
.../samples/clusters/cluster-update-request.json | 4 +
.../samples/clusters/cluster-update-response.json | 128 +
.../samples/clusters/clusters-list-response.json | 327 ++
.../clusters/multiple-clusters-create-request.json | 11 +
.../multiple-clusters-create-response.json | 6 +
.../data-source-register-hdfs-request.json | 6 +
.../data-source-register-hdfs-response.json | 14 +
.../data-source-register-swift-request.json | 10 +
.../data-source-register-swift-response.json | 14 +
.../data-sources/data-source-show-response.json | 14 +
.../data-sources/data-source-update-request.json | 4 +
.../data-sources/data-source-update-response.json | 14 +
.../data-sources/data-sources-list-response.json | 28 +
.../event-log/cluster-progress-response.json | 72 +
.../image-registry/image-register-request.json | 4 +
.../image-registry/image-register-response.json | 25 +
.../image-registry/image-show-response.json | 24 +
.../image-registry/image-tags-add-request.json | 7 +
.../image-registry/image-tags-add-response.json | 27 +
.../image-registry/image-tags-delete-request.json | 5 +
.../image-registry/image-tags-delete-response.json | 25 +
.../image-registry/images-list-response.json | 48 +
.../v1.1/samples/job-binaries/create-request.json | 9 +
.../v1.1/samples/job-binaries/create-response.json | 13 +
.../v1.1/samples/job-binaries/list-response.json | 37 +
.../v1.1/samples/job-binaries/show-data-response | 3 +
.../v1.1/samples/job-binaries/show-response.json | 13 +
.../v1.1/samples/job-binaries/update-request.json | 5 +
.../v1.1/samples/job-binaries/update-response.json | 13 +
.../job-binary-internals/create-response.json | 12 +
.../job-binary-internals/list-response.json | 24 +
.../job-binary-internals/show-data-response | 3 +
.../job-binary-internals/show-response.json | 12 +
.../job-binary-internals/update-request.json | 4 +
.../job-binary-internals/update-response.json | 12 +
.../samples/job-executions/cancel-response.json | 120 +
.../samples/job-executions/job-ex-response.json | 120 +
.../job-executions/job-ex-update-request.json | 3 +
.../job-executions/job-ex-update-response.json | 120 +
.../v1.1/samples/job-executions/list-response.json | 122 +
.../samples/job-types/job-types-list-response.json | 209 +
.../v1.1/samples/jobs/job-create-request.json | 11 +
.../v1.1/samples/jobs/job-create-response.json | 35 +
.../v1.1/samples/jobs/job-execute-request.json | 19 +
.../v1.1/samples/jobs/job-execute-response.json | 30 +
.../v1.1/samples/jobs/job-show-response.json | 26 +
.../v1.1/samples/jobs/job-update-request.json | 4 +
.../v1.1/samples/jobs/job-update-response.json | 26 +
.../v1.1/samples/jobs/jobs-list-response.json | 66 +
.../node-group-template-create-request.json | 13 +
.../node-group-template-create-response.json | 33 +
.../node-group-template-show-response.json | 37 +
.../node-group-template-update-request.json | 10 +
.../node-group-template-update-response.json | 30 +
.../node-group-templates-list-response.json | 76 +
.../v1.1/samples/plugins/plugin-show-response.json | 12 +
.../samples/plugins/plugin-update-request.json | 7 +
.../samples/plugins/plugin-update-response.json | 32 +
.../plugins/plugin-version-show-response.json | 92 +
.../samples/plugins/plugins-list-response.json | 41 +
devstack/settings | 4 +-
.../dashboard-dev-environment-guide.rst | 4 +-
lower-constraints.txt | 161 +
playbooks/buildimages/run.yaml | 6 +
.../ambari26-image-pack-88c9aad59bf635b2.yaml | 3 +
.../apiv2-payload-tweaks-b73c20a35263d958.yaml | 9 +
.../notes/boot-from-volume-e7078452fac1a4a0.yaml | 3 +
releasenotes/notes/cdh-513-bdce0d5d269d8f20.yaml | 3 +
...te-cluster-creation-apiv2-5d5aceeb2e97c702.yaml | 5 +
...te-sahara-all-entry-point-1446a00dab643b7b.yaml | 4 +
...ble-mutable-configuration-2dd6b7a0e0fe4437.yaml | 6 +
.../force-delete-changes-2e0881a99742c339.yaml | 6 +
.../hadoop-swift-domain-fix-c1dfdf6c52b5aa25.yaml | 5 +
releasenotes/notes/hdp26-5a406d7066706bf1.yaml | 3 +
.../keypair-replacement-0c0cc3db0551c112.yaml | 5 +
...lib-step-in-vanilla-2.8.2-546b2026e2f5d557.yaml | 6 +
.../s3-datasource-protocol-d3abd0b22f653b3b.yaml | 4 +
...ndpoint-version-discovery-826e9f31093cb10f.yaml | 8 +
releasenotes/notes/spark-2.3-0277fe9feae6668a.yaml | 3 +
releasenotes/notes/storm-1.2-af75fedb413de56a.yaml | 4 +
.../support-s3-data-source-a912e2cdf4cd51fb.yaml | 3 +
...updating-plugins-versions-b8d27764178c3cdd.yaml | 11 +
.../vanilla-2.7.5-support-ffeeb88fc4be34b4.yaml | 4 +
releasenotes/source/conf.py | 2 +-
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 812 +++
.../source/locale/fr/LC_MESSAGES/releasenotes.po | 63 -
releasenotes/source/queens.rst | 6 +
requirements.txt | 14 +-
roles/build-sahara-images-cli/README.rst | 13 +
roles/build-sahara-images-cli/defaults/main.yaml | 4 +
roles/build-sahara-images-cli/tasks/main.yaml | 4 +
sahara/api/middleware/sahara_middleware.py | 25 +-
sahara/api/v2/cluster_templates.py | 16 +-
sahara/api/v2/clusters.py | 48 +-
sahara/api/v2/job_templates.py | 8 +-
sahara/api/v2/jobs.py | 22 +-
sahara/api/v2/node_group_templates.py | 15 +-
sahara/cli/sahara_all.py | 13 +
sahara/conductor/manager.py | 35 +-
sahara/conductor/objects.py | 3 +
sahara/conductor/resource.py | 6 +
sahara/config.py | 16 +
.../versions/034_boot_from_volume.py | 40 +
sahara/db/sqlalchemy/models.py | 3 +
sahara/locale/de/LC_MESSAGES/sahara.po | 2239 ++++++++
sahara/main.py | 2 +-
sahara/plugins/ambari/deploy.py | 4 +
sahara/plugins/ambari/plugin.py | 7 +-
sahara/plugins/ambari/resources/configs-2.6.json | 2008 +++++++
.../images/centos/disable_certificate_check | 12 +
.../images/centos/unlimited_security_artifacts | 4 +-
.../plugins/ambari/resources/images/common/add_jar | 2 +-
.../resources/images/common/fix_tls_ambari_agent | 17 +
.../images/common/mysql_connector_java_link | 14 +
sahara/plugins/ambari/resources/images/image.yaml | 26 +-
sahara/plugins/cdh/cloudera_utils.py | 6 +
sahara/plugins/cdh/config_helper.py | 5 +-
sahara/plugins/cdh/plugin.py | 4 +-
sahara/plugins/cdh/plugin_utils.py | 18 +-
.../cdh/v5_11_0/resources/images/centos/wget_repo | 4 +-
.../cdh/v5_11_0/resources/images/common/add_jar | 23 +-
.../v5_11_0/resources/images/common/install_extjs | 32 +-
.../cdh/v5_11_0/resources/images/image.yaml | 12 +-
sahara/plugins/cdh/v5_13_0/__init__.py | 0
sahara/plugins/cdh/v5_13_0/cloudera_utils.py | 34 +
sahara/plugins/cdh/v5_13_0/config_helper.py | 89 +
sahara/plugins/cdh/v5_13_0/deploy.py | 168 +
sahara/plugins/cdh/v5_13_0/edp_engine.py | 47 +
sahara/plugins/cdh/v5_13_0/images.py | 43 +
sahara/plugins/cdh/v5_13_0/plugin_utils.py | 23 +
sahara/plugins/cdh/v5_13_0/resources/cdh_config.py | 68 +
.../plugins/cdh/v5_13_0/resources/flume-agent.json | 440 ++
.../cdh/v5_13_0/resources/flume-service.json | 164 +
.../cdh/v5_13_0/resources/hbase-gateway.json | 122 +
.../v5_13_0/resources/hbase-hbaserestserver.json | 452 ++
.../v5_13_0/resources/hbase-hbasethriftserver.json | 458 ++
.../cdh/v5_13_0/resources/hbase-master.json | 530 ++
.../cdh/v5_13_0/resources/hbase-regionserver.json | 884 +++
.../cdh/v5_13_0/resources/hbase-service.json | 692 +++
.../cdh/v5_13_0/resources/hdfs-balancer.json | 128 +
.../cdh/v5_13_0/resources/hdfs-datanode.json | 656 +++
.../v5_13_0/resources/hdfs-failovercontroller.json | 344 ++
.../cdh/v5_13_0/resources/hdfs-gateway.json | 116 +
.../plugins/cdh/v5_13_0/resources/hdfs-httpfs.json | 464 ++
.../cdh/v5_13_0/resources/hdfs-journalnode.json | 458 ++
.../cdh/v5_13_0/resources/hdfs-namenode.json | 884 +++
.../cdh/v5_13_0/resources/hdfs-nfsgateway.json | 410 ++
.../v5_13_0/resources/hdfs-secondarynamenode.json | 458 ++
.../cdh/v5_13_0/resources/hdfs-service.json | 1352 +++++
.../cdh/v5_13_0/resources/hive-gateway.json | 98 +
.../cdh/v5_13_0/resources/hive-hivemetastore.json | 434 ++
.../cdh/v5_13_0/resources/hive-hiveserver2.json | 866 +++
.../resources/hive-metastore-sentry-safety.xml | 15 +
.../resources/hive-server2-sentry-safety.xml | 12 +
.../cdh/v5_13_0/resources/hive-service.json | 656 +++
sahara/plugins/cdh/v5_13_0/resources/hive-site.xml | 61 +
.../cdh/v5_13_0/resources/hive-webhcat.json | 356 ++
.../v5_13_0/resources/hue-hue_load_balancer.json | 260 +
.../cdh/v5_13_0/resources/hue-hue_server.json | 404 ++
.../cdh/v5_13_0/resources/hue-kt_renewer.json | 212 +
.../plugins/cdh/v5_13_0/resources/hue-service.json | 692 +++
.../resources/images/centos/disable_firewall | 20 +
.../resources/images/centos/selinux_permissive | 13 +
.../resources/images/centos/turn_off_services | 33 +
.../cdh/v5_13_0/resources/images/centos/wget_repo | 27 +
.../cdh/v5_13_0/resources/images/common/add_jar | 22 +
.../resources/images/common/install_cloudera | 17 +
.../v5_13_0/resources/images/common/install_extjs | 30 +
.../images/common/unlimited_security_artifacts | 11 +
.../cdh/v5_13_0/resources/images/image.yaml | 128 +
.../resources/images/ubuntu/turn_off_services | 33 +
.../cdh/v5_13_0/resources/images/ubuntu/wget_repo | 31 +
.../v5_13_0/resources/impala-catalogserver.json | 542 ++
.../cdh/v5_13_0/resources/impala-impalad.json | 746 +++
.../cdh/v5_13_0/resources/impala-llama.json | 518 ++
.../cdh/v5_13_0/resources/impala-service.json | 572 ++
.../cdh/v5_13_0/resources/impala-statestore.json | 404 ++
.../cdh/v5_13_0/resources/kafka-gateway.json | 62 +
.../cdh/v5_13_0/resources/kafka-kafka_broker.json | 584 ++
.../resources/kafka-kafka_mirror_maker.json | 644 +++
.../cdh/v5_13_0/resources/kafka-service.json | 404 ++
sahara/plugins/cdh/v5_13_0/resources/kms-kms.json | 656 +++
.../plugins/cdh/v5_13_0/resources/kms-service.json | 86 +
.../resources/ks_indexer-hbase_indexer.json | 374 ++
.../cdh/v5_13_0/resources/ks_indexer-service.json | 188 +
.../plugins/cdh/v5_13_0/resources/mapred-site.xml | 157 +
.../cdh/v5_13_0/resources/oozie-oozie_server.json | 674 +++
.../cdh/v5_13_0/resources/oozie-service.json | 260 +
.../cdh/v5_13_0/resources/priority-one-confs.json | 45 +
.../cdh/v5_13_0/resources/sentry-gateway.json | 62 +
.../resources/sentry-impala-client-safety.xml | 16 +
.../v5_13_0/resources/sentry-sentry_server.json | 320 ++
.../cdh/v5_13_0/resources/sentry-service.json | 230 +
.../cdh/v5_13_0/resources/solr-gateway.json | 50 +
.../cdh/v5_13_0/resources/solr-service.json | 350 ++
.../cdh/v5_13_0/resources/solr-solr_server.json | 470 ++
.../cdh/v5_13_0/resources/spark-gateway.json | 242 +
.../cdh/v5_13_0/resources/spark-service.json | 170 +
.../resources/spark-spark_yarn_history_server.json | 422 ++
.../cdh/v5_13_0/resources/sqoop-service.json | 116 +
.../cdh/v5_13_0/resources/sqoop-sqoop_server.json | 410 ++
.../v5_13_0/resources/sqoop_client-gateway.json | 92 +
.../v5_13_0/resources/sqoop_client-service.json | 80 +
.../cdh/v5_13_0/resources/yarn-gateway.json | 530 ++
.../cdh/v5_13_0/resources/yarn-jobhistory.json | 500 ++
.../cdh/v5_13_0/resources/yarn-nodemanager.json | 794 +++
.../v5_13_0/resources/yarn-resourcemanager.json | 686 +++
.../cdh/v5_13_0/resources/yarn-service.json | 554 ++
.../cdh/v5_13_0/resources/zookeeper-server.json | 608 ++
.../cdh/v5_13_0/resources/zookeeper-service.json | 236 +
sahara/plugins/cdh/v5_13_0/validation.py | 21 +
sahara/plugins/cdh/v5_13_0/versionhandler.py | 37 +
sahara/plugins/cdh/v5_5_0/__init__.py | 0
sahara/plugins/cdh/v5_5_0/cloudera_utils.py | 27 -
sahara/plugins/cdh/v5_5_0/config_helper.py | 101 -
sahara/plugins/cdh/v5_5_0/deploy.py | 168 -
sahara/plugins/cdh/v5_5_0/edp_engine.py | 47 -
sahara/plugins/cdh/v5_5_0/plugin_utils.py | 23 -
sahara/plugins/cdh/v5_5_0/resources/cdh_config.py | 135 -
sahara/plugins/cdh/v5_5_0/resources/cdh_config.sh | 3 -
.../plugins/cdh/v5_5_0/resources/flume-agent.json | 428 --
.../cdh/v5_5_0/resources/flume-service.json | 164 -
.../cdh/v5_5_0/resources/hbase-gateway.json | 110 -
.../v5_5_0/resources/hbase-hbaserestserver.json | 440 --
.../v5_5_0/resources/hbase-hbasethriftserver.json | 446 --
.../plugins/cdh/v5_5_0/resources/hbase-master.json | 506 --
.../cdh/v5_5_0/resources/hbase-regionserver.json | 836 ---
.../cdh/v5_5_0/resources/hbase-service.json | 740 ---
.../cdh/v5_5_0/resources/hdfs-balancer.json | 68 -
.../cdh/v5_5_0/resources/hdfs-datanode.json | 644 ---
.../v5_5_0/resources/hdfs-failovercontroller.json | 332 --
.../plugins/cdh/v5_5_0/resources/hdfs-gateway.json | 116 -
.../plugins/cdh/v5_5_0/resources/hdfs-httpfs.json | 440 --
.../cdh/v5_5_0/resources/hdfs-journalnode.json | 446 --
.../cdh/v5_5_0/resources/hdfs-namenode.json | 812 ---
.../cdh/v5_5_0/resources/hdfs-nfsgateway.json | 386 --
.../v5_5_0/resources/hdfs-secondarynamenode.json | 446 --
.../plugins/cdh/v5_5_0/resources/hdfs-service.json | 1388 -----
.../plugins/cdh/v5_5_0/resources/hive-gateway.json | 98 -
.../cdh/v5_5_0/resources/hive-hivemetastore.json | 392 --
.../cdh/v5_5_0/resources/hive-hiveserver2.json | 686 ---
.../resources/hive-metastore-sentry-safety.xml | 15 -
.../resources/hive-server2-sentry-safety.xml | 12 -
.../plugins/cdh/v5_5_0/resources/hive-service.json | 704 ---
sahara/plugins/cdh/v5_5_0/resources/hive-site.xml | 61 -
.../plugins/cdh/v5_5_0/resources/hive-webhcat.json | 332 --
.../v5_5_0/resources/hue-hue_load_balancer.json | 236 -
.../cdh/v5_5_0/resources/hue-hue_server.json | 356 --
.../cdh/v5_5_0/resources/hue-kt_renewer.json | 200 -
.../plugins/cdh/v5_5_0/resources/hue-service.json | 674 ---
.../cdh/v5_5_0/resources/impala-catalogserver.json | 404 --
.../cdh/v5_5_0/resources/impala-impalad.json | 662 ---
.../plugins/cdh/v5_5_0/resources/impala-llama.json | 506 --
.../cdh/v5_5_0/resources/impala-service.json | 596 --
.../cdh/v5_5_0/resources/impala-statestore.json | 350 --
.../cdh/v5_5_0/resources/kafka-kafka_broker.json | 476 --
.../v5_5_0/resources/kafka-kafka_mirror_maker.json | 482 --
.../cdh/v5_5_0/resources/kafka-service.json | 374 --
sahara/plugins/cdh/v5_5_0/resources/kms-kms.json | 320 --
.../plugins/cdh/v5_5_0/resources/kms-service.json | 50 -
.../v5_5_0/resources/ks_indexer-hbase_indexer.json | 356 --
.../cdh/v5_5_0/resources/ks_indexer-service.json | 188 -
.../plugins/cdh/v5_5_0/resources/mapred-site.xml | 157 -
.../cdh/v5_5_0/resources/oozie-oozie_server.json | 662 ---
.../cdh/v5_5_0/resources/oozie-service.json | 236 -
.../cdh/v5_5_0/resources/priority-one-confs.json | 45 -
.../resources/sentry-impala-client-safety.xml | 16 -
.../cdh/v5_5_0/resources/sentry-sentry_server.json | 308 -
.../cdh/v5_5_0/resources/sentry-service.json | 278 -
.../plugins/cdh/v5_5_0/resources/solr-gateway.json | 32 -
.../plugins/cdh/v5_5_0/resources/solr-service.json | 404 --
.../cdh/v5_5_0/resources/solr-solr_server.json | 440 --
.../cdh/v5_5_0/resources/spark-gateway.json | 158 -
.../cdh/v5_5_0/resources/spark-service.json | 152 -
.../resources/spark-spark_yarn_history_server.json | 236 -
.../cdh/v5_5_0/resources/sqoop-service.json | 110 -
.../cdh/v5_5_0/resources/sqoop-sqoop_server.json | 398 --
.../plugins/cdh/v5_5_0/resources/yarn-gateway.json | 482 --
.../cdh/v5_5_0/resources/yarn-jobhistory.json | 464 --
.../cdh/v5_5_0/resources/yarn-nodemanager.json | 728 ---
.../cdh/v5_5_0/resources/yarn-resourcemanager.json | 668 ---
.../plugins/cdh/v5_5_0/resources/yarn-service.json | 512 --
.../cdh/v5_5_0/resources/zookeeper-server.json | 596 --
.../cdh/v5_5_0/resources/zookeeper-service.json | 224 -
sahara/plugins/cdh/v5_5_0/validation.py | 21 -
sahara/plugins/cdh/v5_5_0/versionhandler.py | 35 -
.../cdh/v5_7_0/resources/images/common/add_jar | 23 +-
.../v5_7_0/resources/images/common/install_extjs | 32 +-
.../plugins/cdh/v5_7_0/resources/images/image.yaml | 12 +-
.../cdh/v5_9_0/resources/images/common/add_jar | 23 +-
.../v5_9_0/resources/images/common/install_extjs | 32 +-
.../plugins/cdh/v5_9_0/resources/images/image.yaml | 12 +-
sahara/plugins/images.py | 1 +
sahara/plugins/kerberos.py | 2 +-
sahara/plugins/mapr/base/base_health_checker.py | 4 +-
sahara/plugins/mapr/plugin.py | 2 -
.../mapr/resources/images/centos/epel_dependencies | 6 +
.../mapr/resources/images/centos/install_scala | 16 +-
.../mapr/resources/images/common/configure_extjs | 32 +-
sahara/plugins/mapr/resources/images/image.yaml | 18 +-
.../mapr/resources/images/ubuntu/install_scala | 46 +-
sahara/plugins/mapr/services/oozie/oozie.py | 21 -
.../plugins/mapr/versions/v5_1_0_mrv2/__init__.py | 0
.../plugins/mapr/versions/v5_1_0_mrv2/context.py | 60 -
.../mapr/versions/v5_1_0_mrv2/version_handler.py | 76 -
sahara/plugins/spark/edp_engine.py | 2 +-
sahara/plugins/spark/plugin.py | 4 +-
sahara/plugins/storm/config_helper.py | 16 +-
sahara/plugins/storm/edp_engine.py | 4 +-
sahara/plugins/storm/plugin.py | 6 +-
sahara/plugins/vanilla/hadoop2/config_helper.py | 18 -
sahara/plugins/vanilla/hadoop2/run_scripts.py | 2 -
sahara/plugins/vanilla/v2_7_1/config_helper.py | 27 +-
sahara/plugins/vanilla/v2_7_5/__init__.py | 0
sahara/plugins/vanilla/v2_7_5/config_helper.py | 151 +
sahara/plugins/vanilla/v2_7_5/edp_engine.py | 81 +
sahara/plugins/vanilla/v2_7_5/resources/README.rst | 27 +
.../vanilla/v2_7_5/resources/core-default.xml | 1997 +++++++
.../vanilla/v2_7_5/resources/create_hive_db.sql | 9 +
.../vanilla/v2_7_5/resources/hdfs-default.xml | 2677 +++++++++
.../vanilla/v2_7_5/resources/hive-default.xml | 5959 ++++++++++++++++++++
.../vanilla/v2_7_5/resources/mapred-default.xml | 2221 ++++++++
.../vanilla/v2_7_5/resources/oozie-default.xml | 2843 ++++++++++
.../vanilla/v2_7_5/resources/yarn-default.xml | 1713 ++++++
sahara/plugins/vanilla/v2_7_5/versionhandler.py | 170 +
sahara/plugins/vanilla/v2_8_2/config_helper.py | 27 +-
sahara/service/api/v10.py | 2 +-
sahara/service/api/v2/clusters.py | 10 +-
sahara/service/edp/data_sources/opts.py | 2 +-
sahara/service/edp/data_sources/s3/__init__.py | 0
.../service/edp/data_sources/s3/implementation.py | 86 +
.../edp/oozie/workflow_creator/workflow_factory.py | 20 +
sahara/service/edp/s3_common.py | 10 +
sahara/service/edp/spark/engine.py | 18 +-
sahara/service/engine.py | 9 +-
sahara/service/heat/heat_engine.py | 13 +-
sahara/service/heat/templates.py | 37 +-
sahara/service/ops.py | 22 +
sahara/service/validations/clusters.py | 7 +
sahara/service/validations/clusters_schema.py | 16 +-
sahara/service/validations/edp/base.py | 2 +-
.../validations/node_group_template_schema.py | 5 +
sahara/swift/swift_helper.py | 10 +
.../unit/plugins/cdh/base_plugin_utils_test.py | 4 +-
.../unit/plugins/cdh/v5_5_0/test_config_helper.py | 25 -
.../plugins/cdh/v5_5_0/test_config_helper_550.py | 168 -
.../unit/plugins/cdh/v5_5_0/test_edp_engine.py | 200 -
.../unit/plugins/cdh/v5_5_0/test_plugin_utils.py | 25 -
.../plugins/cdh/v5_5_0/test_plugin_utils_550.py | 25 -
.../unit/plugins/cdh/v5_5_0/test_spark_engine.py | 69 -
.../unit/plugins/cdh/v5_5_0/test_validation.py | 24 -
.../unit/plugins/cdh/v5_5_0/test_versionhandler.py | 140 -
.../plugins/vanilla/hadoop2/test_config_helper.py | 13 -
.../plugins/vanilla/hadoop2/test_run_scripts.py | 2 -
.../plugins/vanilla/v2_7_1/test_config_helper.py | 18 +-
.../plugins/vanilla/v2_7_5/test_config_helper.py | 73 +
.../unit/plugins/vanilla/v2_7_5/test_edp_engine.py | 96 +
.../plugins/vanilla/v2_7_5/test_versionhandler.py | 253 +
.../plugins/vanilla/v2_8_2/test_config_helper.py | 18 +-
.../unit/service/edp/data_sources/s3/__init__.py | 0
.../service/edp/data_sources/s3/test_s3_type.py | 116 +
.../service/validation/edp/test_job_executor.py | 4 +-
sahara/utils/api.py | 8 +-
sahara/utils/cluster.py | 7 +
sahara/utils/openstack/heat.py | 9 +-
sahara/utils/openstack/keystone.py | 2 +
sahara/utils/openstack/nova.py | 5 +
sahara/utils/ssh_remote.py | 7 +-
setup.cfg | 7 +-
test-requirements.txt | 7 +-
tools/cover.sh | 26 +-
tools/gate/build-images | 2 +-
tox.ini | 61 +-
542 files changed, 60227 insertions(+), 34205 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index ce5573f..6cea8b0 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -11,2 +11,2 @@ castellan>=0.16.0 # Apache-2.0
-eventlet!=0.18.3,!=0.20.1,<0.21.0,>=0.18.2 # MIT
-Flask!=0.11,<1.0,>=0.10 # BSD
+eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT
+Flask>=1.0.2 # BSD
@@ -14 +14 @@ iso8601>=0.1.11 # MIT
-Jinja2!=2.9.0,!=2.9.1,!=2.9.2,!=2.9.3,!=2.9.4,>=2.8 # BSD License (3 clause)
+Jinja2>=2.10 # BSD License (3 clause)
@@ -16 +16 @@ jsonschema<3.0.0,>=2.6.0 # MIT
-keystoneauth1>=3.3.0 # Apache-2.0
+keystoneauth1>=3.4.0 # Apache-2.0
@@ -18,2 +18,2 @@ keystonemiddleware>=4.17.0 # Apache-2.0
-oslo.config>=5.1.0 # Apache-2.0
-oslo.concurrency>=3.25.0 # Apache-2.0
+oslo.config>=5.2.0 # Apache-2.0
+oslo.concurrency>=3.26.0 # Apache-2.0
@@ -38 +38 @@ python-swiftclient>=3.2.0 # Apache-2.0
-python-neutronclient>=6.3.0 # Apache-2.0
+python-neutronclient>=6.7.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index a7b7a8f..52c0626 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -14 +13,0 @@ mock>=2.0.0 # BSD
-openstackdocstheme>=1.18.1 # Apache-2.0
@@ -16,2 +15 @@ oslotest>=3.2.0 # Apache-2.0
-os-api-ref>=1.4.0 # Apache-2.0
-os-testr>=1.0.0 # Apache-2.0
+stestr>=1.0.0 # Apache-2.0
@@ -20,3 +17,0 @@ pylint==1.4.5 # GPLv2
-reno>=2.5.0 # Apache-2.0
-sphinx!=1.6.6,>=1.6.2 # BSD
-sphinxcontrib-httpdomain>=1.3.0 # BSD
1
0
We are gleeful to announce the release of:
neutron-lbaas-dashboard 5.0.0: Horizon panels for Neutron LBaaS
This release is part of the rocky release series.
The source is available from:
https://git.openstack.org/cgit/openstack/neutron-lbaas-dashboard
Download the package from:
https://pypi.org/project/neutron-lbaas-dashboard
Please report issues through launchpad:
https://storyboard.openstack.org/#!/project/907
For more details, please see below.
Changes in neutron-lbaas-dashboard 4.0.0..5.0.0
-----------------------------------------------
af254ca Imported Translations from Zanata
47033ad Imported Translations from Zanata
cbd7ddf Update UPPER_CONSTRAINTS_FILE for stable/rocky
927b27a Update .gitreview for stable/rocky
4f1e719 Replace noop tests with registration test
7aaec84 Imported Translations from Zanata
19b572e Update tox.ini
ada4971 add lower-constraints job
ee4f27d Updated from global requirements
4fdadf6 Remove tox_install
ffa292c Update links in README
0a7bc2f Adds some notes on running both dashboards
076c269 Imported Translations from Zanata
654a6a8 Show last updated timestamp for docs
6494132 i18n: Do not include html directives in translation strings
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
.zuul.yaml | 7 +
README.rst | 45 +-
lower-constraints.txt | 150 ++++++
.../locale/de/LC_MESSAGES/djangojs.po | 520 ++++++++-------------
.../locale/en_GB/LC_MESSAGES/django.po | 8 +-
.../locale/en_GB/LC_MESSAGES/djangojs.po | 510 ++++++++------------
.../locale/fr/LC_MESSAGES/djangojs.po | 228 +--------
.../locale/id/LC_MESSAGES/djangojs.po | 516 ++++++++------------
.../locale/ja/LC_MESSAGES/djangojs.po | 513 ++++++++++++++------
.../locale/ko_KR/LC_MESSAGES/django.po | 8 +-
.../locale/ko_KR/LC_MESSAGES/djangojs.po | 327 +------------
.../locale/pt_BR/LC_MESSAGES/django.po | 6 +-
.../locale/ru/LC_MESSAGES/djangojs.po | 259 +---------
.../locale/tr_TR/LC_MESSAGES/django.po | 8 +-
.../locale/tr_TR/LC_MESSAGES/djangojs.po | 334 +------------
.../locale/zh_CN/LC_MESSAGES/django.po | 8 +-
.../locale/zh_CN/LC_MESSAGES/djangojs.po | 316 +------------
.../loadbalancers/actions/associate-ip/modal.html | 4 +-
.../lbaasv2/members/actions/edit-weight/modal.html | 4 +-
.../workflow/certificates/certificates.help.html | 8 +-
.../lbaasv2/workflow/listener/listener.help.html | 12 +-
.../lbaasv2/workflow/listener/listener.html | 8 +-
.../workflow/loadbalancer/loadbalancer.help.html | 12 +-
.../workflow/loadbalancer/loadbalancer.html | 4 +-
.../lbaasv2/workflow/members/members.help.html | 24 +-
.../project/lbaasv2/workflow/members/members.html | 10 +-
.../lbaasv2/workflow/monitor/monitor.help.html | 36 +-
.../project/lbaasv2/workflow/monitor/monitor.html | 16 +-
.../project/lbaasv2/workflow/pool/pool.help.html | 12 +-
.../project/lbaasv2/workflow/pool/pool.html | 4 +-
.../pages/project/network/__init__.py | 0
.../pages/project/network/loadbalancerspage.py | 22 -
requirements.txt | 3 +-
tools/tox_install.sh | 105 -----
tox.ini | 19 +-
50 files changed, 1366 insertions(+), 3085 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 30bd101..f8d2bdf 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,0 +5 @@
+horizon>=13.0.0 # Apache-2.0
@@ -8 +9 @@ Babel!=2.4.0,>=2.3.4 # BSD
-python-barbicanclient!=4.5.0,!=4.5.1,>=4.0.0 # Apache-2.0
+python-barbicanclient>=4.5.2 # Apache-2.0
1
0
We are pleased to announce the release of:
masakari 6.0.0: Virtual Machine High Availability (VMHA) service for
OpenStack
This release is part of the rocky release series.
The source is available from:
https://git.openstack.org/cgit/openstack/masakari
Download the package from:
https://tarballs.openstack.org/masakari/
Please report issues through launchpad:
https://bugs.launchpad.net/masakari
For more details, please see below.
6.0.0
^^^^^
New Features
* Operator can now customize workflows to process each type of
failure notifications (hosts, instance and process) as per their
requirements. Added below new config section for customized recovery
flow in a new conf file masakari-custom-recovery-methods.conf
* [taskflow_driver_recovery_flows]
Under [taskflow_driver_recovery_flows] is added below five new
config options
* 'instance_failure_recovery_tasks' is a dict of tasks which will
recover instance failure.
* 'process_failure_recovery_tasks' is a dict of tasks which will
recover process failure.
* 'host_auto_failure_recovery_tasks' is a dict of tasks which will
recover host failure for auto recovery.
* 'host_rh_failure_recovery_tasks' is a dict of tasks which will
recover host failure for rh recovery on failure host.
Changes in masakari 5.0.0..6.0.0
--------------------------------
c742bb4 Add masakari-custom-recovery-methods.conf in etc/masakari
b69e939 Update UPPER_CONSTRAINTS_FILE for stable/rocky
b893f8e Update .gitreview for stable/rocky
ad3dc73 Add hooks for recovery method customization plugins
cf0d30b Added devstack support for masakari-dashboard
3104c5f Fix masakari installation failure for policy.json
d7592cb Register and Document policy in code
2047226 Removed unnecessary parantheses in yield statements
3e3b3b1 Add line for PyCharm IDE in gitignore file
aa36bda fix tox python3 overrides
56e733f Switch to using stestr
bed5d77 Avoid recovery from failure twice
4db1366 Fix Context test cases
ddb0249 Fix module has no attribute 'parse_args'
5bbd78e Deploy masakari-api with uwsgi
b50dc8c Generalize DB conf group copying
b81b16c Make accept-language tests work with webob 1.8.x
4299b38 Enable mutable config in Masakari
1c0b3d0 Update "auth_url"
1bcde21 add lower-constraints job
4048b1f Add db purge support
2f5dc3d Completely remove mox from Masakari unittest
b173adc Fix stable branch releasenotes
76b7dd0 Introspective Instance Monitoring through QEMU Guest Agent
85fcee0 Make readme more readable
ea2d8f4 Ship files like other openstack projects
f03b0fc Fix the docs page link
a4fdab2 Use method validate_integer from oslo.utils
11d4337 Updated from global requirements
83b3941 Updated from global requirements
e3deca5 Drop all qpid related explanations
634d8bc Fix for difference in tzinfo.tzname value between py27 and py35
02bf0d3 Changed default value of 'wait_period_after_power_off'
5b2c7fe Change masakari service-type from 'ha' to 'instance-ha'
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 10 +-
.gitreview | 1 +
.stestr.conf | 3 +
.zuul.yaml | 7 +
HACKING.rst | 3 +
README.rst | 72 ++++---
devstack/plugin.sh | 86 ++++++--
devstack/settings | 7 +
.../masakari-custom-recovery-methods.conf.sample | 87 ++++++++
etc/masakari/masakari-custom-recovery-methods.conf | 83 ++++++++
...-customized-recovery-flow-config-generator.conf | 4 +
etc/masakari/masakari-policy-generator.conf | 3 +
etc/masakari/masakari.conf | 4 +-
etc/masakari/policy.json | 10 -
lower-constraints.txt | 123 +++++++++++
masakari/api/openstack/extensions.py | 41 ----
masakari/api/openstack/ha/extension_info.py | 13 +-
masakari/api/openstack/ha/hosts.py | 12 +-
masakari/api/openstack/ha/notifications.py | 8 +-
masakari/api/openstack/ha/segments.py | 12 +-
masakari/cmd/api.py | 43 +++-
masakari/cmd/manage.py | 43 +++-
masakari/conf/engine.py | 3 +-
masakari/conf/engine_driver.py | 124 ++++++++++-
masakari/conf/opts.py | 12 ++
masakari/context.py | 34 +++
masakari/db/api.py | 10 +
masakari/db/sqlalchemy/api.py | 101 +++++++--
masakari/engine/drivers/taskflow/base.py | 14 ++
masakari/engine/drivers/taskflow/host_failure.py | 53 ++++-
.../engine/drivers/taskflow/instance_failure.py | 31 ++-
masakari/engine/drivers/taskflow/no_op.py | 30 +++
.../engine/drivers/taskflow/process_failure.py | 31 ++-
masakari/engine/instance_events.py | 2 +
masakari/engine/manager.py | 20 ++
masakari/hacking/checks.py | 91 ++++++--
masakari/policies/__init__.py | 35 ++++
masakari/policies/base.py | 41 ++++
masakari/policies/extension_info.py | 53 +++++
masakari/policies/hosts.py | 85 ++++++++
masakari/policies/notifications.py | 65 ++++++
masakari/policies/segments.py | 85 ++++++++
masakari/policies/versions.py | 44 ++++
masakari/policy.py | 93 ++++++++-
masakari/service.py | 5 +-
masakari/test.py | 4 -
.../unit/api/openstack/ha/test_extension_info.py | 6 +-
.../unit/api/openstack/ha/test_notifications.py | 18 +-
masakari/utils.py | 27 +--
.../notes/bp-mutable-config-57efdd467c01aa7b.yaml | 8 +
.../notes/db-purge-support-7a33e2ea5d2a624b.yaml | 11 +
.../notes/policy-in-code-8740d51624055044.yaml | 22 ++
...very-method-customization-3438b0e26e322b88.yaml | 20 ++
.../notes/wsgi-applications-3ed7d6b89f1a5785.yaml | 8 +
releasenotes/source/index.rst | 12 +-
releasenotes/source/ocata.rst | 7 +
releasenotes/source/pike.rst | 7 +
releasenotes/source/queens.rst | 7 +
requirements.txt | 8 +-
setup.cfg | 29 +++
test-requirements.txt | 6 +-
tox.ini | 28 ++-
82 files changed, 2581 insertions(+), 459 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 974a320..ee07e03 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -8 +8 @@ jsonschema<3.0.0,>=2.6.0 # MIT
-keystoneauth1>=3.3.0 # Apache-2.0
+keystoneauth1>=3.4.0 # Apache-2.0
@@ -10,2 +10,3 @@ keystonemiddleware>=4.17.0 # Apache-2.0
-microversion-parse>=0.1.2 # Apache-2.0
-oslo.config>=5.1.0 # Apache-2.0
+WebOb>=1.7.1 # MIT
+microversion-parse>=0.2.1 # Apache-2.0
+oslo.config>=5.2.0 # Apache-2.0
@@ -24 +24,0 @@ python-novaclient>=9.1.0 # Apache-2.0
-setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,>=16.0 # PSF/ZPL
diff --git a/test-requirements.txt b/test-requirements.txt
index 71fa822..adfcb42 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -12 +12 @@ python-subunit>=1.0.0 # Apache-2.0/BSD
-sphinx!=1.6.6,>=1.6.2 # BSD
+sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
@@ -17,2 +17,2 @@ oslotest>=3.2.0 # Apache-2.0
-os-testr>=1.0.0 # Apache-2.0
-requests-mock>=1.1.0 # Apache-2.0
+stestr>=1.0.0 # Apache-2.0
+requests-mock>=1.2.0 # Apache-2.0
1
0
We joyfully announce the release of:
networking-odl 13.0.0: OpenStack Networking
This release is part of the rocky release series.
Download the package from:
https://pypi.org/project/networking-odl
For more details, please see below.
Changes in networking-odl 12.0.0..13.0.0
----------------------------------------
ff3bb29 Remove dns-integration from NETWORK_API_EXTENSIONS
f514078 Ceilometer meters for ODL should use project id of admin
46964bc Narrow down tempest tests to relevant tests
752f9d6 Assure that PeriodicTask passes context as args
bb5b92c Consume DB retry decorator from neutron-lib
33564d3 update requirements for neutron-lib 1.18.0
ce49391 ODL l3 service provider
86175e8 Enabled feature negotation for qos rules
79d686a Add docs requirements to venv
0ceaa53 Remove outdated disclaimer from setup.cfg
4e5ac63 Remove fullstack from the gate
6550c5d Add Fluorine functional to the gate
1b28fdc Skip tempest test test_snat_external_ip
68c4175 Fixate pylint version, fullstack non-voting
d306997 use retry_db_errors from neutron-lib
182be58 Remove the v1 drivers
1b3dae9 Add release notes link in README
618cdbb Remove vpnservice conditional from pre test hook
1b19628 Adopt the new enginefacade in networking-odl
d3c16dc Fixes for the CI
1ca4cff ODL feature fetch: parse configs
4dcfd0d Remove untested ODL releases
62d86a6 Remove mock for odl_features.init()
7bc9e75 use CORE constant from neutron-lib plugins
7307c13 Update README reference to latest OpenDaylight version
f6e0f78 Remove old OpenDaylight build references
f8200dc Remove nitrogen references as it is EOL
f39f06c Clean over verbose import
03ccc83 Removing unused variable
19143fe Retry journal recording in L3
8c5551f Cleanup l3_odl_v2 code
2eeae91 Remove attribute db_session from ODLBaseDbTestCase
8e666e1 Remove unnecesary cleanup
da26b5d Simplify retry testing functions to only accept context
5ca2aca Remove session parameter from _test_reset_processing_rows
179fa53 Update DB functions to handle contexts
1102002 Abstract how retriable methods are tested
4819243 Add flourine jobs for the CI
f931b8c Trivial: Update pypi url to new url
af254d1 Make oxygen-functional/fullstack voting
0a0425c Retire carbon jobs for rocky.
df07352 Remove vagrant scripts from the repo
d44c5b7 Make carbon jobs non-voting
8f2be03 use neutron-lib plugin utils
d7a1a96 Add more information to the ovs flows dump
4629696 Add zuul role show-odl-info to fullstack
51724fb Change default loopingcall interval for tests
9bfa410 Update references of neutron services
b1abcac Clean old output before new doc builds
6e9cb60 Enabling ML2 for new full sync and recovery mechanism
6ad0b40 Follow the new PTI for document build
e00e4d6 Revert temporary patch that disables linter errors locally
bbae6e8 use rpc Connection rather than create_connection
ff54297 Add lower-constraints job
c6f21f3 Add 'flat' network type to host config docs
d899160 Fix pep8 errors
391c1d8 Remove tox_install.sh helper
a1ec6f9 Use ALIAS instead of LABEL for BGPVPN API
239409b Remove usage of the reserved keyword id
590c8df Updated from global requirements
229f7c2 Better defaults for the debug context
b554625 fix a typo
cf71b1c Allow Tempest CI to add txt extensions to ini files
f79da2c Fix CI issues that block the gate
638f354 use callback payloads for PRECOMMIT_UPDATE events
63f8b04 Fix tox installation of neutron
fb5582d Updated from global requirements
76ed073 use plugin common utils from neutron-lib
b85686b devstack: update carbon definition for carbon SR-3
f5cae6f Updated from global requirements
2725160 Imported Translations from Zanata
95b5dbb Remove incorrect DB retry decorators
d2b5f81 ODL DHCP Port to be created only for IPv4 subnets.
d600265 use common agent topics from neutron-lib
65c1fba Fix log format for oxygen logging
6dd51f8 Update mailmap
3b0ec7f Switch to a blacklist file for test excludes
496e9a2 Log exceptions on security group callbacks
46e5285 devstack: add nitrogen SR2 definition
7cfbf34 Make fullstack and functional native Zuul v3 jobs
6f12269 reno: Remove remote names from branch specifiers
b2890b9 Enable hacking-extensions H204, H205
0ad6d40 Imported Translations from Zanata
0a268d0 Update reno for stable/queens
277725b Move zuul_copy_output to be a job variable
df96df5 Move extensions_to_txt to the job defintion
9682e90 Use Zuul v3 fetch-subunit-output
ba2ee4a Remove branches filter from jobs
fb180cc Wait for worker start before testing in JournalPeriodicProcessorTest
703ac79 Updated from global requirements
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 2 +-
.mailmap | 1 +
.testr.conf | 8 -
.zuul.d/jobs.yaml | 289 ++++------
.zuul.d/project.yaml | 120 +---
README.rst | 3 +
TESTING.rst | 8 +-
bindep.txt | 8 +
devstack/README.rst | 20 +-
devstack/entry_points | 31 +-
devstack/local.conf.example | 3 -
devstack/odl-releases/boron-0.5.0 | 1 -
devstack/odl-releases/boron-0.5.1-SR1 | 1 -
devstack/odl-releases/boron-0.5.2-SR2 | 0
devstack/odl-releases/boron-0.5.3-SR3 | 0
devstack/odl-releases/boron-0.5.4-SR4 | 0
devstack/odl-releases/boron-latest | 0
devstack/odl-releases/carbon-0.6.0 | 0
devstack/odl-releases/carbon-0.6.1-SR1 | 0
devstack/odl-releases/carbon-0.6.2-SR2 | 0
devstack/odl-releases/carbon-latest | 0
devstack/odl-releases/carbon-snapshot-0.6 | 0
devstack/odl-releases/carbon-snapshot-0.6.3 | 0
devstack/odl-releases/common | 1 +
devstack/odl-releases/fluorine-latest | 0
devstack/odl-releases/fluorine-snapshot-0.9 | 0
devstack/odl-releases/fluorine-snapshot-0.9.0 | 0
devstack/odl-releases/nitrogen-0.7.0 | 0
devstack/odl-releases/nitrogen-0.7.1-SR1 | 0
devstack/odl-releases/nitrogen-latest | 0
devstack/odl-releases/nitrogen-snapshot-0.7 | 0
devstack/odl-releases/nitrogen-snapshot-0.7.2 | 0
devstack/override-defaults | 12 +-
devstack/pre_test_hook.sh | 36 +-
devstack/settings | 1 -
devstack/settings.odl | 42 +-
devstack/upgrade/settings | 1 -
devstack/upgrade/upgrade.sh | 3 +-
etc/neutron/plugins/ml2/ml2_conf_odl.ini | 12 +-
lower-constraints.txt | 235 ++++++++
networking_odl/bgpvpn/odl_v2.py | 4 +-
.../network/statistics/opendaylight_v2/driver.py | 41 +-
networking_odl/cmd/analyze_journal.py | 2 +-
networking_odl/common/callback.py | 55 +-
networking_odl/common/config.py | 23 +-
networking_odl/common/constants.py | 1 -
networking_odl/common/filters.py | 10 +-
networking_odl/common/odl_features.py | 45 +-
networking_odl/common/utils.py | 2 +-
networking_odl/db/db.py | 161 +++---
...87ae5_opendaylight_neutron_mechanism_driver_.py | 7 +-
.../fa0c536252a5_update_opendayligut_journal.py | 4 +-
.../3d560427d776_add_sequence_number_to_journal.py | 6 +-
.../703dbf02afde_add_journal_maintenance_table.py | 8 +-
.../7cbef5a56298_drop_created_at_column.py | 4 +-
...865b7d3a_drop_opendaylight_maintenance_table.py | 4 +-
.../0472f56ff2fb_add_journal_dependencies_table.py | 6 +-
...d638_added_version_id_for_optimistic_locking.py | 6 +-
...1354_create_opendaylight_preiodic_task_table.py | 8 +-
networking_odl/dhcp/odl_dhcp_driver_base.py | 17 +-
networking_odl/hacking/checks.py | 18 +
networking_odl/journal/cleanup.py | 22 +-
networking_odl/journal/dependency_validations.py | 20 +-
networking_odl/journal/full_sync.py | 35 +-
networking_odl/journal/journal.py | 41 +-
networking_odl/journal/periodic_task.py | 34 +-
networking_odl/journal/recovery.py | 13 +-
networking_odl/l2gateway/driver.py | 91 ---
networking_odl/l3/l3_flavor.py | 183 ++++++
networking_odl/l3/l3_odl.py | 176 ------
networking_odl/l3/l3_odl_v2.py | 157 +++--
networking_odl/lbaas/driver_v2.py | 183 ------
.../locale/en_GB/LC_MESSAGES/networking_odl.po | 9 +-
networking_odl/ml2/mech_driver.py | 521 -----------------
networking_odl/ml2/mech_driver_v2.py | 27 +-
networking_odl/ml2/port_status_update.py | 6 +-
networking_odl/qos/qos_driver_v2.py | 31 +-
.../sfc/flowclassifier/sfc_flowclassifier_v1.py | 65 ---
networking_odl/sfc/sfc_driver_v1.py | 106 ----
.../statistics/opendaylight_v2/test_driver.py | 10 +-
.../unit/journal/test_dependency_validations.py | 4 +-
.../flowclassifier/test_sfc_flowclassifier_v1.py | 57 --
.../flowclassifier/test_sfc_flowclassifier_v2.py | 27 +-
networking_odl/trunk/trunk_driver_v1.py | 114 ----
networking_odl/trunk/trunk_driver_v2.py | 17 +-
playbooks/devstack-tox/post.yaml | 2 +-
playbooks/fullstack/post.yaml | 4 +
playbooks/fullstack/pre.yaml | 30 +
playbooks/functional/pre.yaml | 27 +
.../post.yaml | 80 ---
.../run.yaml | 88 ---
.../post.yaml | 80 ---
.../run.yaml | 88 ---
.../post.yaml | 80 ---
.../run.yaml | 88 ---
.../post.yaml | 80 ---
.../run.yaml | 88 ---
.../post.yaml | 80 ---
.../run.yaml | 88 ---
.../post.yaml | 80 ---
.../run.yaml | 88 ---
.../post.yaml | 106 ----
.../run.yaml | 76 ---
.../post.yaml | 106 ++++
.../run.yaml | 76 +++
.../post.yaml | 106 ----
.../run.yaml | 76 ---
.../post.yaml | 80 ---
.../run.yaml | 88 ---
.../post.yaml | 80 +++
.../run.yaml | 88 +++
.../post.yaml | 80 ---
.../run.yaml | 88 ---
playbooks/tempest/post.yaml | 8 -
.../notes/odl-l3-flavor-f093e6c0fb4e9dd8.yaml | 15 +
...atures-option-type-change-367385ae7d1e949e.yaml | 14 +
.../notes/remove-v1-driver-df408f9916fc5e5d.yaml | 13 +
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 186 +++++-
.../source/locale/fr/LC_MESSAGES/releasenotes.po | 26 +
releasenotes/source/newton.rst | 2 +-
releasenotes/source/ocata.rst | 2 +-
releasenotes/source/queens.rst | 6 +
requirements.txt | 23 +-
roles/show-odl-info/tasks/ovs_flows.yaml | 4 +
setup.cfg | 28 -
tempest-blacklist.txt | 46 ++
test-requirements.txt | 29 +-
tools/configure_for_func_testing.sh | 15 +-
tools/ostestr_compat_shim.sh | 8 -
tools/tox_install.sh | 22 -
tools/tox_install_project.sh | 76 ---
tox.ini | 51 +-
vagrant/README.rst | 29 -
vagrant/functional/Vagrantfile | 23 -
vagrant/functional/config-override.sh | 38 --
vagrant/functional/reproduce.sh | 121 ----
vagrant/functional/setup-minimum.sh | 11 -
vagrant/integration/multinode/README.rst | 25 -
vagrant/integration/multinode/Vagrantfile | 24 -
vagrant/integration/multinode/compute.conf | 56 --
vagrant/integration/multinode/control.conf | 91 ---
vagrant/integration/multinode/setup_compute.sh | 27 -
vagrant/integration/multinode/setup_control.sh | 26 -
vagrant/setup_proxy.sh | 50 --
189 files changed, 2864 insertions(+), 6480 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 4a286b4..a87154a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,6 +5,17 @@
-pbr!=2.1.0,>=2.0.0 # Apache-2.0
-Babel!=2.4.0,>=2.3.4 # BSD
-stevedore>=1.20.0 # Apache-2.0
-debtcollector>=1.2.0 # Apache-2.0
-neutron-lib>=1.12.0 # Apache-2.0
-websocket-client<=0.40.0,>=0.33.0 # LGPLv2+
+pbr>=3.1.1 # Apache-2.0
+Babel>=2.5.3 # BSD
+stevedore>=1.28.0 # Apache-2.0
+debtcollector>=1.19.0 # Apache-2.0
+neutron-lib>=1.18.0 # Apache-2.0
+websocket-client>=0.47.0 # LGPLv2+
+
+# OpenStack CI will install the following projects from git
+# if they are in the required-projects list for a job:
+neutron>=13.0.0.0b1 # Apache-2.0
+neutron-lbaas>=13.0.0.0b1 # Apache-2.0
+networking-l2gw>=12.0.0 # Apache-2.0
+networking-sfc>=6.0.0 # Apache-2.0
+networking-bgpvpn>=8.0.0 # Apache-2.0
+
+# Not on PyPI yet:
+-e git+https://git.openstack.org/openstack/ceilometer@master#egg=ceilometer
diff --git a/test-requirements.txt b/test-requirements.txt
index 67ab275..83285fc 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -7,14 +7,12 @@ hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
-coverage!=4.4,>=4.0 # Apache-2.0
-doc8>=0.6.0 # Apache-2.0
-flake8-import-order>=0.13 # LGPLv3
-python-subunit>=1.0.0 # Apache-2.0/BSD
-sphinx!=1.6.6,>=1.6.2 # BSD
-openstackdocstheme>=1.18.1 # Apache-2.0
-oslotest>=3.2.0 # Apache-2.0
-os-testr>=1.0.0 # Apache-2.0
-pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD
-pylint>=1.7.2 # GPLv2
-testresources>=2.0.0 # Apache-2.0/BSD
-testscenarios>=0.4 # Apache-2.0/BSD
-testtools>=2.2.0 # MIT
-bandit>=1.1.0 # Apache-2.0
+coverage>=4.5.1 # Apache-2.0
+doc8>=0.8.0 # Apache-2.0
+flake8-import-order>=0.17.1 # LGPLv3
+python-subunit>=1.2.0 # Apache-2.0/BSD
+oslotest>=3.3.0 # Apache-2.0
+stestr>=2.0.0 # Apache-2.0
+pecan>=1.2.1 # BSD
+pylint==1.8.4 # GPLv2
+testresources>=2.0.1 # Apache-2.0/BSD
+testscenarios>=0.5.0 # Apache-2.0/BSD
+testtools>=2.3.0 # MIT
+bandit>=1.4.0 # Apache-2.0
@@ -22,3 +19,0 @@ bashate>=0.5.1 # Apache-2.0
-
-# releasenotes
-reno>=2.5.0 # Apache-2.0
1
0
We are happy to announce the release of:
qinling 1.0.0: Function as a Service
This release is part of the rocky release series.
The source is available from:
http://git.openstack.org/cgit/openstack/qinling
Download the package from:
https://tarballs.openstack.org/qinling/
For more details, please see below.
Changes in qinling aee1b062bab33c7e6a5016a1b569bc2305010a41..1.0.0
------------------------------------------------------------------
c67f84b Add release note for function alias
12fa919 Delete check of function alias
e924577 Support to specify workload type for runtime
b3c5bfd Improve connecting to existing k8s cluster guide
af6da47 Add upgrade description to release note
38be74a Add a tempest test case to verify connection from k8s pod to outside
2616494 Support alias for webhook creation
662794b Kubernetes: disable inter-pods connections
f76ffc9 Raise specific exceptions instead of tenacity.RetryError
6cc83e7 Support alias for job creation
613e542 Runtime: less strict for resource limiting
f8c99ec Creating functions using OpenStack Swift
77fc9f1 Increase etcd3gw dependency version
69a61e5 Add scope information when getting session from Keystone
cd92cff Support alias for execution creation
121a537 Fix function download content-type not set correctly
01d769f Support to get pool information for the runtime
6b45191 periodics: fix service of function version 0 not expiring issue
4a4a18f Set file size limit to 50M in the python rumtime image
30fcd00 python2-runtime: limit cglimit listen on localhost only
bcdbfb6 Add a preliminary structure for admin security guide
abba847 The original image link does not work
13fb206 Remove default function_version in webhook resource def
347363d config: update api_workers default value to match help message
779bcf7 Enable oslo_config mutable configurations
b7534dd Function Alias API: delete and update
bbfe83e Invoke Python function in a directory rather than a zip package
16f5bb2 Add an example for function cookbook
18f8b9d Function Alias API: create and get
2b2a62d Add basic structure for user guide
7ced7b8 add release notes to README.rst
d85799a Add install guide on ubuntu 16.04
a8425dc Add simple tempest testcases for resource limiting
3d06637 Fix typo
28f4440 Improve contributing page
180e1c6 Add release note for customized memory and cpu resources feature
2045799 devstack: use cgroupfs driver for both docker and k8s on Cent OS
e886447 Runtime implementation for non-image type function.
670a7be fix tox python3 overrides
e567904 replace file() with open() for python 3 compatibility
b63d05d Function aliases: db scheme change
290fc69 Fix trivial errors in log formatting
958b2d2 Store error info in execution result when failed
e5ee23d Delete package only when the package is updated
045c94a Specify the runtime image version explicitly
3afca01 Improve doc
284fe74 rest_utils: simplify filter extracting
3aae175 Function Aliases spec proposal
2237daf Delete underlying resources when deleting function version
2a1301d Replace Chinese quotes with English quotes
5a4292e Fix typo
4a27a7a Improve the quick start guide a little bit
f69f33c [Trivialfix]Modify a grammatical error
92d96f5 Improve the setup scripts to support multi-nics
e61e18c Fix function package downloading
40a89a3 Fix incompatible requirements
2edca38 kubernetes: add V1DeleteOptions when deleting services
33b4337 Improve qinling doc
8757a10 Fix the permission issue in devstack plugin
ff38280 Runtime implementation for image type function
61dc02f Document how to make Qinling work with existing k8s cluster
e22faa6 Outline for Qinling doc
706948a Add release note for function versioning feature
4c085db Functional test for deleting function version
19cd85e Functional test for function version detach/get
0e8d91c Fix missing fields in API response
49ea542 Add function_id in function version API response
5d8f0c0 Functional test for creating job/webhook with function version
6ee16ce Functional test for creating execution with function version
2be2b43 Functional test for creating function version
08ded02 Function version API: scale_up/scale_down/detach/get_workers
3f303eb Delete all its versions when deleting function
e0e8f3d Add cpu and memory_size options support for function
c3a081f Support function version for webhook
7d79bf3 Support function version for job
710b613 Replace assertRaisesRegexp with assertRaisesRegex
885ed28 Support version for execution creation
d4567df Upgrade db version to add cpu column for function
917132a Function versioning API: delete
e8e8084 Function versioning API: get
9005cea Function versioning API: list
12d2ee6 Function versioning API: create
8331c23 Delete old package when updating function
674b839 Fix devstack plugin script
39a5a05 Function versioning: db scheme support
546d03e Include md5 in function package path
5572617 Depress the debug log from futurist.periodics
ef5268e Add missing release note for the k8s certs change
7c09206 Fix typo: extention -> extension
4826a01 engine: set execution status upon exceptions
76d01bb Allow qinling to connect to k8s API with certificates
9c47eec spec doc for adding customized mem/cpu for function
1ea7e91 Remove force value of get_url in playbook
2865210 Function versioning spec proposal
e6c4303 Switch qinling-tempest to a voting check and gate job
bd29ab0 periodics: switch to use futurist
740bcd8 engine: delete workers from etcd after removing
0eef3c8 Install same version for k8s CLIs and k8s control plane services
8218068 Updated from global requirements
64d2b90 Updated from global requirements
5735423 add lower-constraints job
f56c67f Add specs folder for Qinling
62a2790 add missing unit tests for methods of function controller
d11172e Updated from global requirements
9bed24e Exclude tests and db migrations from coverage report
c9c1c1a Add a basic feature description about Sync/Async
9f91d6f zuul: create Neutron config dir for the devstack job
2ad25a3 tempest plugin: save package in temporary dir
823b5b4 Updated from global requirements
7ba51a7 Make tempest check use devstack-tempest parent
5fdd96a Updated from global requirements
261dd0c tests: add more unit tests for qinling.orchestrator
20d10bc tests: add unit tests for qinling.orchestrator
0dd033d Updated from global requirements
e865f19 kubeadm: make it also work on CentOS 7
6bec49c Updated from global requirements
2bef99e Improve the net_resolv_pre_kube function in network.sh
9922c20 Remove the resource limit for pod in k8s deployment
6c6bca6 Add Node.js runtime support
ffc1ceb Add unzip functionality in sidecar
e9eaef8 kubeadm: fix issue about obtaining k8s config
70e8458 Don't run tempest jobs when patching unit test and releasenote
23d1259 Follow the new PTI for document build
803bb7b orchestrator: fix several issues of kubernetes manager
ec36b22 Replace uuid.uuid4() with uuidutils.generate_uuid()
b0553c6 Updated from global requirements
05588c1 Add sidecar support for runtime
b0d724a Update qinling doc location to docs.openstack.org
f9b342b tests: add filesystem storage unit tests
5934149 tests: add default engine unit tests
5615dd5 Use uWSGI for python runtime
22d172b Fix potential KeyError in execution tests
dabfa1a Use kubeadm for devstack
5215953 doc: use storyboard link in CONTRIBUTING
7fd9070 filesystem storage: don't ensure base path when initialization
e587213 Don't run tempest jobs when patching document
c424780 Update the admin guide doc structure
2651652 Fix link for keystonemiddleware page
462561c Fix minor typos in chinese spelling
9523466 Update mysql connection in doc
d3356c3 Update home-page url
44e9752 Add coverage test script
cea8723 tests: improve unit tests of runtime API controller
2826144 Fix the OpenStack-Helm page does not exist
e3c5e70 engine: fix a typo in default_engine log message
78be927 Use storyboard link in Qinling doc
e17b388 Improve doc
3f99e1b Zuul: Remove project name
9e217f9 kube.sh: don't download kubectl again when it exists
3372e12 kube.sh: fix wrong systemd mount flag
113a29b tox.ini: add missing comments for H204 and H205
399363b kube.sh: skip get-docker when Docker is installed from distro repo
ad4a3df Fix a typo in quick start guide
a229b4f Make shell script graceful
53416f7 Fix one doc error in developer guide
7250094 Zuul: Remove project name
3170f38 Fix a potential error about script file
Diffstat (except docs and test files)
-------------------------------------
.coveragerc | 3 +
.zuul.yaml | 74 +-
CONTRIBUTING.rst | 28 +-
README.rst | 7 +-
devstack/plugin.sh | 65 +-
devstack/settings | 8 +-
.../development-environment-devstack.rst | 24 +-
etc/policy.json.sample | 5 +
.../functions/python/openstack/create_thumbnail.py | 36 +-
example/kubernetes/cfssl-ca-config.json | 17 +
example/kubernetes/cfssl-client-csr.json | 7 +
example/kubernetes/k8s_qinling_role.yaml | 77 ++
lower-constraints.txt | 131 +++
playbooks/legacy/qinling-dsvm-tempest/post.yaml | 80 --
playbooks/legacy/qinling-dsvm-tempest/run.yaml | 52 --
playbooks/post.yaml | 8 +
playbooks/pre.yaml | 10 +
qinling/api/controllers/v1/execution.py | 15 +-
qinling/api/controllers/v1/function.py | 215 +++--
qinling/api/controllers/v1/function_alias.py | 156 ++++
qinling/api/controllers/v1/function_version.py | 361 ++++++++
qinling/api/controllers/v1/job.py | 26 +-
qinling/api/controllers/v1/resources.py | 148 ++--
qinling/api/controllers/v1/root.py | 2 +
qinling/api/controllers/v1/runtime.py | 50 +-
qinling/api/controllers/v1/webhook.py | 43 +-
qinling/cmd/api.py | 3 +-
qinling/cmd/engine.py | 2 +
qinling/config.py | 70 +-
qinling/context.py | 2 +-
qinling/db/api.py | 48 ++
qinling/db/sqlalchemy/api.py | 130 ++-
.../versions/002_add_function_version_support.py | 69 ++
.../versions/003_add_cpu_column.py | 44 +
.../versions/004_add_function_aliases_support.py | 54 ++
.../versions/005_add_trusted_for_runtime.py | 36 +
qinling/db/sqlalchemy/model_base.py | 9 +-
qinling/db/sqlalchemy/models.py | 76 +-
qinling/engine/default_engine.py | 194 +++--
qinling/engine/utils.py | 71 +-
qinling/exceptions.py | 15 +
qinling/orchestrator/base.py | 17 +-
qinling/orchestrator/kubernetes/manager.py | 272 +++++--
.../kubernetes/templates/deployment.j2 | 36 +-
qinling/orchestrator/kubernetes/templates/pod.j2 | 11 +-
.../orchestrator/kubernetes/templates/service.j2 | 3 +-
qinling/orchestrator/kubernetes/utils.py | 14 +-
qinling/rpc.py | 23 +-
qinling/services/periodics.py | 86 +-
qinling/storage/base.py | 50 +-
qinling/storage/file_system.py | 137 +++-
.../unit/api/controllers/v1/test_execution.py | 69 +-
.../unit/api/controllers/v1/test_function_alias.py | 154 ++++
.../api/controllers/v1/test_function_version.py | 278 +++++++
.../api/controllers/v1/test_function_worker.py | 39 +-
.../unit/orchestrator/kubernetes/test_manager.py | 904 +++++++++++++++++++++
qinling/utils/common.py | 19 +-
qinling/utils/constants.py | 2 +
qinling/utils/etcd_util.py | 47 +-
qinling/utils/executions.py | 102 ++-
qinling/utils/openstack/keystone.py | 2 +
qinling/utils/openstack/swift.py | 16 +-
qinling/utils/rest_utils.py | 47 +-
qinling_tempest_plugin/config.py | 20 +-
.../functions/nodejs/test_nodejs_async.js | 13 +
.../functions/nodejs/test_nodejs_basic.js | 3 +
.../functions/python/test_python_basic.py | 17 +
.../functions/python/test_python_cpu_limit.py | 40 +
.../functions/python/test_python_file_limit.py | 38 +
.../functions/python/test_python_http_get.py | 24 +
.../functions/python/test_python_memory_limit.py | 23 +
.../python/test_python_positional_args.py | 17 +
.../functions/python/test_python_process_limit.py | 41 +
.../functions/python/test_python_sleep.py | 18 +
qinling_tempest_plugin/functions/python_test.py | 17 -
.../functions/test_python_file_limit.py | 38 -
.../functions/test_python_positional_args.py | 17 -
.../functions/test_python_process_limit.py | 43 -
.../functions/test_python_sleep.py | 18 -
qinling_tempest_plugin/plugin.py | 4 +-
qinling_tempest_plugin/services/qinling_client.py | 199 ++++-
...ble-mutable-configuration-a0527660fa58532c.yaml | 6 +
.../notes/function-aliasing-318abd48128b4084.yaml | 5 +
.../function-versioning-6e23fc021c2a7c7e.yaml | 10 +
...-runtime-pool-information-440351400ad7f0b8.yaml | 5 +
.../notes/isolate-k8s-pods-617fec5dc5fbd2d8.yaml | 12 +
...nling-k8s-apiserver-certs-1651e26de5ca001c.yaml | 21 +
.../resources-customized-5f5382d40e375dc1.yaml | 10 +
.../workload-type-support-d613cdb7bb90b2a2.yaml | 9 +
releasenotes/source/index.rst | 2 +-
releasenotes/source/pike.rst | 6 -
releasenotes/source/queens.rst | 6 +
requirements.txt | 22 +-
runtimes/nodejs/Dockerfile | 14 +
runtimes/nodejs/package-lock.json | 797 ++++++++++++++++++
runtimes/nodejs/package.json | 24 +
runtimes/nodejs/server.js | 105 +++
runtimes/python2/Dockerfile | 10 +-
runtimes/python2/README.md | 22 -
runtimes/python2/cglimit.py | 124 +++
runtimes/python2/custom-entrypoint.sh | 18 +-
runtimes/python2/requirements.txt | 1 +
runtimes/python2/server.py | 151 ++--
runtimes/sidecar/Dockerfile | 23 +
runtimes/sidecar/requirements.txt | 3 +
runtimes/sidecar/sidecar.py | 104 +++
setup.cfg | 2 +-
setup.py | 2 +-
test-requirements.txt | 7 +-
tools/cover.sh | 66 ++
tools/gate/dump_logs.sh | 97 ---
tools/gate/funcs/common.sh | 55 --
tools/gate/funcs/kube.sh | 150 ----
tools/gate/funcs/network.sh | 88 --
tools/gate/kubeadm/funcs/common.sh | 60 ++
tools/gate/kubeadm/funcs/network.sh | 50 ++
tools/gate/kubeadm/playbook/deploy_k8s.yaml | 21 +
.../playbook/roles/docker/defaults/main.yml | 2 +
.../kubeadm/playbook/roles/docker/tasks/centos.yml | 26 +
.../kubeadm/playbook/roles/docker/tasks/main.yml | 14 +
.../kubeadm/playbook/roles/docker/tasks/ubuntu.yml | 22 +
.../playbook/roles/k8s_cli/tasks/centos.yml | 36 +
.../k8s_cli/tasks/install_kube_prompt_tasks.yml | 25 +
.../kubeadm/playbook/roles/k8s_cli/tasks/main.yml | 16 +
.../playbook/roles/k8s_cli/tasks/ubuntu.yml | 20 +
.../playbook/roles/kube_master/tasks/main.yml | 46 ++
tools/gate/kubeadm/setup_gate.sh | 49 ++
tools/gate/kubeadm/vars.sh | 19 +
tools/gate/kubeadm_aio.sh | 25 -
tools/gate/setup_gate.sh | 41 -
tools/gate/vars.sh | 42 -
tools/kubeadm-aio/Dockerfile | 88 --
tools/kubeadm-aio/README.rst | 110 ---
tools/kubeadm-aio/assets/etc/kube-cni | 2 -
tools/kubeadm-aio/assets/etc/kube-role | 3 -
tools/kubeadm-aio/assets/etc/kube-version | 3 -
.../assets/etc/kubeadm-join-command-args | 1 -
tools/kubeadm-aio/assets/etc/kubeadm.conf | 4 -
tools/kubeadm-aio/assets/etc/kubeapi-device | 3 -
tools/kubeadm-aio/assets/etc/kubelet-container | 3 -
tools/kubeadm-aio/assets/kubeadm-aio | 54 --
.../assets/opt/cni-manifests/calico.yaml | 365 ---------
.../assets/opt/cni-manifests/canal.yaml | 329 --------
.../assets/opt/cni-manifests/flannel.yaml | 94 ---
.../assets/opt/cni-manifests/weave.yaml | 187 -----
.../assets/opt/nfs-provisioner/deployment.yaml | 73 --
.../assets/opt/nfs-provisioner/storageclass.yaml | 5 -
tools/kubeadm-aio/assets/opt/rbac/dev.yaml | 15 -
tools/kubeadm-aio/kubeadm-aio-launcher.sh | 94 ---
tools/vagrant/Vagrantfile | 6 +-
tools/vagrant/qinling.conf.sample | 4 +-
tox.ini | 25 +-
208 files changed, 11143 insertions(+), 3179 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 3b6834a..c4d242a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -7 +7 @@ Babel!=2.4.0,>=2.3.4 # BSD
-keystoneauth1>=3.3.0 # Apache-2.0
+keystoneauth1>=3.4.0 # Apache-2.0
@@ -9,2 +9,2 @@ keystonemiddleware>=4.17.0 # Apache-2.0
-oslo.concurrency>=3.20.0 # Apache-2.0
-oslo.config>=5.1.0 # Apache-2.0
+oslo.concurrency>=3.26.0 # Apache-2.0
+oslo.config>=5.2.0 # Apache-2.0
@@ -15 +15 @@ oslo.utils>=3.33.0 # Apache-2.0
-oslo.log>=3.30.0 # Apache-2.0
+oslo.log>=3.36.0 # Apache-2.0
@@ -19 +19 @@ pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD
-setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,>=16.0 # PSF/ZPL
+setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,>=21.0.0 # PSF/ZPL
@@ -25,2 +25,2 @@ WSME>=0.8.0 # MIT
-kubernetes>=4.0.0 # Apache-2.0
-PyYAML>=3.10 # MIT
+kubernetes>=6.0.0 # Apache-2.0
+PyYAML>=3.12 # MIT
@@ -29,2 +29,2 @@ croniter>=0.3.4 # MIT License
-python-dateutil>=2.4.2 # BSD
-tenacity>=3.2.1 # Apache-2.0
+python-dateutil>=2.5.3 # BSD
+tenacity>=4.4.0 # Apache-2.0
@@ -32,2 +32,2 @@ PyMySQL>=0.7.6 # MIT License
-etcd3gw>=0.2.0 # Apache-2.0
-cotyledon>=1.3.0 # Apache-2.0
+etcd3gw>=0.2.2 # Apache-2.0
+cotyledon>=1.3.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index b8f9530..73f7445 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -7,2 +7 @@ coverage!=4.4,>=4.0 # Apache-2.0
-sphinx>=1.6.2 # BSD
-oslotest>=1.10.0 # Apache-2.0
+oslotest>=3.2.0 # Apache-2.0
@@ -14,2 +12,0 @@ futurist>=1.2.0 # Apache-2.0
-openstackdocstheme>=1.17.0 # Apache-2.0
-reno>=2.5.0 # Apache-2.0
@@ -17 +14 @@ reno>=2.5.0 # Apache-2.0
-kubernetes>=4.0.0 # Apache-2.0
+kubernetes>=6.0.0 # Apache-2.0
1
0
We are jazzed to announce the release of:
neutron 13.0.0: OpenStack Networking
This release is part of the rocky release series.
Download the package from:
https://tarballs.openstack.org/neutron/
For more details, please see below.
13.0.0
^^^^^^
Other Notes
* The metering agent iptables driver can now load its interface
driver by using a stevedore alias in the "metering_agent.ini" file.
For example, "interface_driver = openvswitch" instead of
"interface_driver =
neutron.agent.linux.interface.OVSInterfaceDriver"
Changes in neutron 12.0.0.0rc1..13.0.0
--------------------------------------
dd915e8 get_subnet_for_dvr returns SNAT mac instead of distributed gateway in subnet_info
eec374c Trivial: avoid KeyError while processing ports
684ea39 Fix lost connection when create security group log
312b033 Update UPPER_CONSTRAINTS_FILE for stable/rocky
e789f92 cap bandit in test-requirements.txt
811cb63 Config privsep in the metering agent
8e0b412 Fix no packet log data when debug is set False in configuration
8aec1ec Fix no ACCEPT event can get for security group logging
6179b0b Fix iptables metering driver entrypoint
ad2c1bc Update metering driver to load interface driver
5f1dcfa Enable filter validation for portforwarding plugin
aa71df6 Update .gitreview for stable/rocky
59d178c Remove -u root as mysql is executed with root user
bc2a4a4 Correctly call is_distributed_router()
ef8e437 Add FIP port forwarding to Networking Guide
66c8ed9 Add release note for port forwardings.
c205963 Add note to RBAC chapter of Networking Guide
26f5df1 Move MAX_CHAIN_LEN constants to constants file
3c9ac3c Don't run ironic-tempest job for irrelevant changes
00b923d Adding resources callback handler
cdb973e Generic validate_request method for logging
7a92d44 [Docs] Add note about Floating IP QoS
eafcc08 Add a guide to deploy Neutron API under WSGI server
35d945e Add ext_parent policy check
4088461 [server side] Fix race issue for port forwarding plugin
d794294 use get_port_binding_by_status_and_host from lib
b790213 WSGI: Add experimental jobs with uwsgi
a4ffcab [log] Generic RPC stuffs for logging in server side
de9b39e [agent side] L3 agent side Floating IP port forwarding
d00a155 [server side] Expose port forwardings in FIP API
7c7e938 Bug deputy routines for dummies
01faf6b Move neutron-fullstack-python35 out of experimental queue
314a063 Make dvr router port creation retriable
e82a175 [doc] Follow-up logging service for firewall_group
21ae99d [server side] Floating IP port forwarding plugin
c774930 use sqla functions from neutron-lib
047ac94 Update the doc url about SUSE basic network configuration
2f98f56 Allow neutron-api load config from WSGI process
b803195 Dont use dict.get() to know certain key is in dict
73c7edd use callback payloads for ROUTER/ROUTER_GATEWAY BEFORE_DELETE events
3d06c63 [Fullstack] Use string for global_physnet_mtu config option
7e0c1e9 [QoS] Clear rate limits when default null values are used
69b8352 Fix ml2 hierarchical port binding driver check error.
f7064f2 Add binding activation to the Linuxbridge agent
02e9f27 bump neutron-lib requirements to 1.18.0
2b1d8ea Implement filter validation
5c3bf12 Add binding activation to OVS agent
ec5cd0d Reduce IP address collision during port creating
41fe927 Add missing policy actions to policy.json file
b4d3dbc Docs: Fix wrong stestr argument
5aa8eb9 Change neutron CLI to openstack CLI in neutron doc
5a25548 Update _check_router_retain_needed()
b935f9d Add list of all working DSCP marks
e4348eb use retry_db_errors from neutron-lib
21360e1 Move l3_notifier check in remove_router_from_l3_agent()
5bd6281 [server side] Floating IP port forwarding OVO and db script
eb98518 Add multiple IPv6 EUI-64 addresses test
fe4bec7 Fix fwaas v1 configuration doc
0694beb Add binding de-activation to OVS agent
be7ad30 Support binding_deactivate in CacheBackedPluginApi
f374697 Add binding_deactivate method to Linux bridge agent
390b6a5 Update get_port_binding_host for multiple bindings
03db94e Pluralize binding relationship in Port
f7b62a7 Multiple port binding for ML2
839e575 use plugin utils from neutron-lib
06fa044 Update pypi url to new url
8b16b53 Send update instead of remove for DVR reschedule
886e241 Fix attribute mismatch in router provider update
4d13df6 Invalid link of doc reference
d1efeeb Fix UnixDomainHttpProtocol class to support all eventlet versions
598ae86 Add release notes link in README
6fe35c8 use get reader/writer session from neutron-lib
be5db89 Adopt Port OVO for tests/unit/db/test_provisioning_blocks.py
89c516a Use OVO in plugins/ml2/test_plugin.py
d950949 Ensure request's object type is dict
0f180d8 Adopt hacking 1.1.0
5179896 Allow sub-resources to have standard attributes
f5f682c Modify logic of l3-agent to be notified
54aa6e8 Disallow router interface out of subnet IP range
216b7f5 Bump neutron-lib version to 1.17.0
6a89dd2 use db utils from lib
642e41d ipam_backend_mixin: Service Type model to OVO
7899ef2 Adjust filters on listing availability zones
fd126a3 [Fullstack] Remove central_external_bridge
b37f440 Add geneve in neutron tunnel protocols doc
144d3ab python3: fix netlink_lib delete_entries
6906c40 [Unit tests] Skip TestWSGIServer with IPv6 if no IPv6 enabled
c57a5d9 [Fullstack] HA L3 agent restart only standby agents
8361b8b Routed Networks - peer-subnet/segment host-routes (2/2)
daa7ae4 Update the Bugs link for triage
b692eff Remove an extra backslash in a docstring
8f3a066 Add support to regenerate port mac_address
8d580dc Routed Networks - peer-subnet/segment host-routes (1/2)
137a6d6 Pass network's dns_domain to dnsmasq conf
b2b4229 DVR: FIP gateway port is tagged as DEAD port by OVS with external-bridge
752c33e objects: don't refetch a non-list object field if it's None
44e8c91 Introduce l3_logging extension base
fad8e4d [Fullstack] Use string for api_worker config option
cb5ecc1 Fix bug to doc:auth
d97cce0 Add missing transaction in driver_controller.
006113e Skip MTU check during deletion of Networks
9f2b40f Dropping radvd process privileges
4d8f98b Fix local doc builds
0b3a644 [Fullstack] Ensure connectivity to ext gw before agents restart
a75b87c Fix docstrings to work with Sphinx 1.7.4
c4ea8ba Mark unit test test_get_objects_queries_constant as unstable
5ddb2a4 Make L3 IP tc filter rate limit more accurate
a034e8e Refactor duplicated implementation of _get_policy_obj
5ceca4d DVR: FloatingIP create throws an error if no l3 agent
6f5946d Fix the tests for filtering with qos_policy_id
5a7c12f DVR: Self recover from the loss of 'fg' ports in FIP Namespace
8d8803a Update doc on stable release frequency
9f6a4ce Remove the unit test 'test_ports_vnic_type_list'
b9ef562 Improve patching of sys.argv
ba1e1eb Mark test_ha_router_restart_agents_no_packet_lost as unstable
5c89506 fix tox python3 overrides
db22f5b Fix exception in neutron-sanity-check
f5c439e Allow DHCP_OPT_CLIENT_ID_NUM to be string
e356345 Fix DVR scheduling checks wrong profile for host
7458575 Convert missing exception on device.link.delete()
e657670 remove model_query_scope from common db mixin
5106dfe Configure privsep helper in neutron-netns-cleanup
a7f35d8 Update links in README
19dccbf Add BEFORE notification event for subnet in ml2 plugin
89a1ada Fix url in alembic_migrations.rst
e13f3d1 Use OVO in ml2/test_db
8b19db1 Annotate filter parameters for tag attributes
100491c use object utils from neutron-lib
ce8b73b use make_weak_ref and resolve_ref from neutron-lib
fe907b7 Fix unscheduling fail when concurrent port delete
1f8378e [OVS] Add mac-table-size to be set on each ovs bridge
1430161 remove safe_reference from common db mixin
c7882a1 Fix url in thirdparty-ci.rst
9237cf37 Improve error message in fullstack test
424848e Fix bug to doc:testing
a359255 Update tunnel_types config option help msg
f98f239 Revert "DVR: Fix allowed_address_pair IP, ARP table update by neutron agent"
11b41d7 [Fullstack] Wait for SG to be applied by L2 agent
32f14aa [Fullstack] Change time waiting for async ping results
8930d33 Fix UT BridgeLibTest when IPv6 is disabled
5ae71c8 Switch to oslo_messaging.ConfFixture.transport_url
d0fa2c9 Don't skip DVR port while neutron-openvswitch-agent is restared.
0dc8e7f Add flavor_id argument to router tests.
92620cb fix a typo: s/paramater/parameter
50ddf4b Replace ovsfw tempest job with iptables-hybrid tempest job
e982506 Stop mocking keystoneauth internals
ec537c4 Switch to stestr
03e74f9 Remove local DEVICE_OWNER_ROUTER_GW value
cb0782c use std attr description for the segment extension
89133d0 doc: update doc to refer new trusted tag for SR-IOV
43a8456 Track neutron-lib migration of agent extensions
50b3a16 Mention neutron-rootwrap-daemon in root_helper_daemon option help
3e9e2a5 Disable IPv6 forwarding by default on HA routers
fab6bcb Fix build-openstack-sphinx-docs test job
37b66a4 Fix an attribute error on listing AZs with filters
f723dfa Update neutron configuration documentation URL
6b00eec docs: Fix formatting block in ovs firewall docs
1128619 use dhcpagentscheduler api def from neutron-lib
232ba4e expose objects as entry points in setup.cfg
de6a7a9 Update docs about openvswitch compilation
b6d117f Allow setting network-segment on subnet update
4f722be Update ubuntu image used for testing
0d43f9d Use OVO in test_ipam_pluggable_backend
edc909a Change ovs release used to compile kernel module for tests node
106c8b4 Fix wrong release names in docs
52dc615 use exc_to_retry from lib
2e34279 Fix lack of routes for neighbour IPv4 subnets
b9fabd8 l3 flavor: more events/notifications and callback priority
3e83fa1 [rally] Port custom plugins to use proper code
59bc19c Use Param DHCP_OPT_CLIENT_ID_NUM
4f60543 Fix W605 warnings
5e59cd2 Refactor for L3 router QoS extensions
b74af5f Fixed PortBindingLevelDbObjectTestCase
49e3b37 [ci][rally] make the job inherit the right parent
1a8a15f objects: avoid deepcopying models in test_db_obj
ec0760a py3: Fix list_entries for netlink_lib
f3f2436 py3: Fix ingress_bw_limit_for_dpdk_port() value conversion
1658e35 Fullstack: Add using multiple security groups
3242a57 python3: Add experimental jobs for functional and fullstack
68a7ef0 Update auth_url in install docs
aed2809 Trivial: Update pypi url to new url
8034b49 Fix ip_conntrack_proto_sctp modprobe error
ec07a63 Change defaults in tools/configure_for_func_testing.sh
1b75c7c Update fullstack section in TESTING.rst
f213ba4 Populate project info before using it
626a897 trivial: Fix file permissions
fa78b58 dhcp: serializing port delete and network rpc calls
d9aecfa Pass context in disassociate_floatingip notification
02d6e39 Fix triger typo
88f5e11 Avoid agents adding ports as trunk by default.
c69a570 Annotate filter parameters for standard attributes
52a3779 Make neutron-tempest-ovsfw job gating
85b46cd Monitor phys_bridges to reconfigured it if created again
e177aaf Fix _setUpExtension shim
88688fb Use extension fip-port-details from neutron-lib
e1761d2 Update install doc for ubuntu
ab9a9d4 Change metadata agent to log message after failure
bc38ad6 bump neutron-lib version to 1.14.0
35365ea [L3][QoS] Cover mixed dvr_snat and compute node dvr router
0c112a9 remove description API attr from securitygroup
65cfe28 doc: Clarify network types compatible with physnets
bad02cf doc: Fix typo
7cfdf4a Fix all pep8 E129 errors
eb892a0 Stop using legacy nodesets
1811ced [Docs] Add guide on how to do advanced gate job debugging
a732bbf Support filter attribute with empty string
9c1a5d5 Change minimum pecan version to 1.1.1
66e4a89 Read ha_state file only once
d034df1 remove common db alaises to db utils
07998e6 shim _setUpExtension in prep to changing args
c3b83a9 Fix all pep8 E265 errors
7a97b33 Fix hw_vif_multiqueue_enabled typo
dd8aea2 Add a debug env for unit tests
92b9581 objects: automatically detect whether engine facade is used
fab032b Retry dhcp_release on failures
81f7347 remove rpc create_connection
07b0dbf Convert Segment db model to OVO
f693890 Revert "Revert "Automatically expire obsolete relationships""
3ad91f6 Remove deprecated IVS interface driver
3a17b61 Document mixed scenario with LB and OVS over VXLAN
75d28cb fullstack: Migration from iptables_hybrid to openvswitch
a8ab93b Increase lower-constraints job timeout to 60 minutes
d891405 Switch rally trunk scenario to use new rally validators
f38b7b9 Remove N536 ignore in tox.ini
54bbf62 Re-factor the iptables_manager tests
c760d4f Add port_details to Floating IP
d8a94b2 No need for www_authenticate_uri in [designate]
69d5f40 Fix the supported_extension_aliases in unit test
0b8bcc4 Adds egress and ingress forward rules for trusted ports
e36a2bd Move standard-attr-segment to service plugin
dbed642 Do not remove conntrack jump rules if no zone
f6b0f76 Eliminate possible insecure usage of temp file/directory
60d62d3 [Linuxbridge] Handle properly too big VXLAN MTU values
8b2c403 ovs-fw: Apply openflow rules immediately during update
a750147 Revert "Automatically expire obsolete relationships"
90ede81 Automatically expire obsolete relationships
de243a3 Fix E402 pep8 errors
98e5f01 fullstack: Simplify ConfigFixture
2c31f7f eventlet v0.22 changed HttpProtocol.__init__
7326717 Make OVSDB debug logging optional
9506044 Add a shim extension standard-attr-segment
944a306 Fix pylint no-value-for-parameter error
0063aa3 pecan.jsonify v1.3 adjustment
769d499 Update auth_uri option to www_authenticate_uri
2180bd9 of_interface: Implement bundled() method
be8a7a2 Fix handling of dstport option for VXLANs
806d96c Override ovsdb_timeout default value in ovs_cleanup tool
164e456 ovs: split OVS_RESTARTED handler into a separate method
38d0b2b ovs: raise RuntimeError in _get_dp if id is None
410a83c use plugin common utils from neutron-lib
06dab9d Re-order items in policy.json
922cd0a Change ha_state property to always return a value
90cd939 Fix W503 pep8 warnings
7aa941c [RBAC] Fix setting network as not shared
baee36d [Scenario] Enable "qos-fip" network extension in tempest config
fb75ce0 Update RYU to be 4.24 to sort out issues with pip 10
43d451d Enable sorting and pagination for segments
50e033f use sub-resource API extension support
56324c1 Fix potential race condition in privileged ip_lib module
5cf6663 tests: don't configure plugin for tests that don't need it
44266f8 Renamed subnet_service_type_db_models module
544597c ovs: survive errors from check_ovs_status
a125640 Fix some pep8 warnings
e34104e fix tox release note generation
e302f96 ovs_lib: add support for OpenFlow 1.5
1c36c26 tests/tools: add prefix "_" to CALLBACK_PRIORITY_SUPPORTED
09adf88 test_servicetype: Service Type model to OVO
787cab5 uncap eventlet
4d84c10 Add standard attributes to segment resource
42ae8b8 zuul: Make ovsfw tempest job voting
5a1934d unit test: unbreak test cases for callbacks.subscribe
7a714ae Fix pep8 errors
6e6166b Replace assert to raise AssertionError
2b3fdc8 remove unused common exceptions
11f1439 Fix incompatible requirement in lower-constraints
eb28af9 tests: fixed NoSuchGroupError in TestNovaSegmentNotifier
64028a3 DVR: Restarting l3 agent loses centralized fip ip on qg-interface
d42ca8b Add more info to vpnaas admin guide
7c4da6f DVR: Avoid address scope rules for dvr_no_external agents
ff5e8d7 Refresh router objects after port binding
7b0f633 Handle AgentNotFoundByTypeHost exception properly
b62d1bf Router should flip to standby if all L3 nodes down
ed7dd4d DVR: Check for item_allocator key before releasing
5d4e789 Replace usage of 'user' by 'user_id'
91068d0 [doc][vpnaas] Fix reference url after recent change
81db328 Use cidr during tenant network rule deletion
28f7ab0 Removing deprecated function 'IPWrapper.get_namespaces()'
bb5138c Fix DHCP isolated subnets with routed networks
c331b89 DVR: Add error handling for get_network_info_for_id rpc call
b78d479 use multiprovidernet api definition from neutron-lib
1b6e374 Add fullstack job to gate queue
7988e32 Removing deprecated module neutron.api.versions
925cdc9 use neutron-lib servicetype api def
a1b49c7 Don't define polling_interval option in two places
0f4d7ff Catch Errors When Nova API Microversions Are Not Supported
94817a5 [Functional] Add test for ip_lib.IPRule lifecycle
83017af [Docs] Update path to QoS API tempest tests
3d0f9f3 Removing remaining Tempest bits
1e49eab [Fullstack] Add block test until IPs will be really configured
b17aad2 Handle adding ip address when it already exists
b85191e [Functional tests] Add gateway add/delete/flush tests
781f730 Switch ip link command to pyroute2
0556a2a Follow the new PTI for document build
8c2dae6 Fix l3-agent crash on routers without ha_state
3c85a1e add lower-constraints job
21e0942 Revert "use segment api def from neutron-lib"
2a1319a Don't set administratively disabled ports as ACTIVE
275d406 Remove usage of TestCase.skip() method
b6b23a8 Enable mutable config in Neutron
8e8aa90 Revert "[Fullstack] Mark security group test as unstable"
bbe1bac Don't raise error when removing not existing IP address
ec1d5de use segment api def from neutron-lib
aaf11f4 Switch IPDevice.exists() method to use pyroute2
87a36ca remove tag and tag_ext extensions
6b13cf0 DVR: Fix mac format for backward compatibility with vsctl api
4472b0f Add docstrings for ip_lib IP address methods
6f7ba76 ovs-fw: Fix firewall blink
b4f68ff Have LB agent use ip_lib.ensure_device_is_ready()
9773082 Add a test class to validate UTs fixes of new_facade flag
6c772de tests: port test_port_presence_prevents_network_rbac_policy_deletion
35c225a Remove race and simplify conntrack state management
3327db8 ovs-fw: Clear conntrack information before egress pipeline
fbe308b DVR: Fix allowed_address_pair IP, ARP table update by neutron agent
6498522 Switch fullstack job to be voting
537bfb9 use callback payloads for PRECOMMIT_UPDATE events
ef93f7e use common agent topics from neutron-lib
8be0c2a Set trusted port only once in iptables firewall driver
d5653e1 Add setting server_default in alter_enum(_add_value)
53054ad Switch create/delete interfaces to pyroute2
9da92db Updated from global requirements
3002df7 Fix UTs to accommodate new_facade flag in OVO objects
7eeec2a Add l3_agent_mode configuration in tempest
062ef79 use is_extension_supported from neutron-lib
a573711 Add broadcast to IpAddrCommand.get_devices_with_ip() return value
6c50a12 Updated from global requirements
e0223ed Switch ip addr add/del/flush commands to use pyroute2
44292f4 consume neutron-lib resources attr map
817f36e remove unused common rpc apis
f2753b6 Revert "Do not start conntrack worker thread from __init__"
f00d0a4 [L3] Expunge context session during floating IP updating
0ab0300 [Scenario tests] Try longer SSH timeout for ubuntu image
d019790 DVR: Inter Tenant Traffic between networks not possible with shared net
6141c73 remove SHARED constant that now lives in neutron-lib
9fefad7 Add search capability to the docs
4a0200a Update upper-constraints consumption
0650add Additional functional tests for ip_lib.IpAddrCommand
01d90e5 Make log extension more generic
93c965d async_process: Log stdout and stderr on process error
4c8b97e Do not start conntrack worker thread from __init__
806af8a functional: Fix RABBIT_PASSWORD env var
df6da4d use plugin names from neutron_lib.plugins.constants
9362d4f Spawn/stop metadata proxies upon adding/deleting router interfaces
97b3049 Iptables firewall driver adds forward rules for trusted ports
b3b2df1 ovsfw: Use bundle when adding security group rules
0d3ffa6 Enable more extensions in pep8
f6179a8 Imported Translations from Zanata
b564871 Only allow SG port ranges for whitelisted protocols
8f7ff99 use revision if match api def from neutron-lib
1088194 Add ip link functional tests
5c3af82 Update mysql connection in config-dhcp-ha.rst
6e50a77 Try to enable L3 agent extension `fip_qos`
90ada5b Add functional tests for link create methods
d55e824 use EGRESS_DIRECTION and INGRESS_DIRECTION from neutron-lib
f6de54f use DVR constants from neutron-lib
f5d9890 [Fullstack] Limit number of test workers to 4
9ae6e58 use qos rule type details api def from neutron-lib
75b2721 use router service type api def from neutron-lib
8c23e35 Fix creation of port when network has admin's QoS policy set
6f205a9 reno: Remove remote names from branch specifiers
2ac2c34 Fix a log formatting error on linuxbridge
3c7ac69 use sorting api def from neutron-lib
db5fb02 [Linuxbridge] Check if vxlan network MTU can be set
465ad6f [Fullstack] Limit number of Neutron's api workers
e6f56d6 use vlantransparent api def from neutron-lib
4875ac6 DNS doc: remove whitespace
b4471db Use oslo_db.sqlalchemy.test_fixtures
9295923 [Fullstack] Respawn dhclient process in case of error
d5f2752 Ensure _get_changed_synthetic_fields() return updatable fields
b954348 Pull in ubuntu cloud archive openvswitch pkg
6c2f3ed Updated from global requirements
2a44b3f Set mtu for VXLAN interface in linuxbridge
44b9668 l3: an unit test for set_extra_attr_value
d15244a Fixing the filter in get MTU by network list query.
4904455 Revert "remove tag and tag_ext extensions"
6fa5c78 Use ip_substring_port_filtering from neutron-lib
1b664be Fix context deprecation warnings
1a0dacb Fix arguments to oslo_context.RequestContext()
5309cd5 Remove registry.subscribe()
87f4d4e Add unit test cases for floating IP QoS extension
6407a71 [Fullstack] Unmark test_dscp_marking_packets as unstable
a91d84c Fix error message when duplicate QoS rule is created
46d6935 Compile ovs for ovsfw to avoid ovs-vswitchd core dumps
0d4889d Always pass device_owner to _ipam_get_subnets()
2324640 use DVRMacAddressNotFound exception from neutron-lib
4a464ce use qos default api def from neutron-lib
cf8c4c5 Move periodic jobs to Neutron repo
38148d1 remove tag and tag_ext extensions
02cc3ca ovsfw: Update SG rules even if OVSFW Port is not found
23ab8bd Docs: Update tempest test directory
530d971 Fix unnecessary security_groups_member_updated notification
ad17b59 Imported Translations from Zanata
b2ee55a Add test cases for external network default
6b19f19 Update reno for stable/queens
5712063 Use Meter Label OVO in neutron/db/metering/metering_db.py
ec7444c Open Rocky DB branch
27346e9 Tag the alembic migration revisions for Queens
adbef04 Remove redundant get_object call when creating fip qos binding
477d413 DVR: Fix dvr_no_external agent restart with fips
2aff1f1 Use Router OVO in external_net_db
f8af1be [doc] Support networking guide for VPNaaS
31a3f2f l3: don't begin db transaction in set_extra_attr_value
f305559 Update documentation for DNS integration
8afe3be Fix iptables rule removal warnings from QoS extension
65a8162 Process conntrack updates in worker threads
37aba76 ovs-fw: Don't modify passed rules to update
43d3e88 Filter port-list based on security_groups.
2200b1c Add/rm centralized fips for DVR+HA from standby node
1aeced2 Use RBAC_POLICY callback constant from neutron-lib
82d468b Windows: fix exec calls
1e075f0 Mark neutron-lbaas as deprecated
cf3b780 Kill _connection_to_manager_uri dummy
d3c69dc Drop strict-order flag from dnsmasq invocation
6c4bc1c Fix delete vlan allocation error for ML2
46cbe45 ovs: removed sinkhole RPC target for old topics
b7f77bd Remove deprecated classes from SG agent code
9be7b62 DVR: verify subnet has gateway_ip before installing IPv4 flow
6941977 Add iptables metadata marking rule on router init
45f1404 Include all rootwrap filters when building wheels
6402cd3 SR-IOV agent should specify host when requesting devices info
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 2 +-
.gitreview | 1 +
.testr.conf | 8 -
.zuul.yaml | 191 +++-
README.rst | 1 +
TESTING.rst | 72 +-
devstack/lib/l2_agent_sriovnicswitch | 0
devstack/lib/l3_agent | 13 +
devstack/lib/ml2_drivers/sriovnicswitch | 0
devstack/lib/qos | 4 +
devstack/plugin.sh | 7 +
devstack/settings | 1 +
.../shared/deploy-ha-vrrp-initialnetworks.txt | 3 +-
.../shared/deploy-provider-initialnetworks.txt | 7 +-
.../shared/deploy-selfservice-initialnetworks.txt | 3 +-
.../contributor/internals/agent_extensions.rst | 14 +-
.../contributor/internals/openvswitch_firewall.rst | 110 +--
.../contributor/internals/quality_of_service.rst | 2 +-
.../contributor/internals/service_extensions.rst | 3 +-
.../policies/contributor-onboarding.rst | 3 +-
.../contributor/policies/gate-failure-triage.rst | 105 +++
.../contributor/policies/release-checklist.rst | 30 +-
.../images/fullstack_multinode_simulation.png | Bin 31360 -> 41632 bytes
.../install/controller-install-option1-obs.rst | 6 +-
.../install/controller-install-option1-rdo.rst | 6 +-
.../install/controller-install-option1-ubuntu.rst | 6 +-
.../install/controller-install-option2-obs.rst | 6 +-
.../install/controller-install-option2-rdo.rst | 6 +-
.../install/controller-install-option2-ubuntu.rst | 6 +-
etc/neutron/rootwrap.d/dhcp.filters | 1 -
etc/neutron/rootwrap.d/l3.filters | 4 +-
etc/policy.json | 104 ++-
lower-constraints.txt | 152 ++++
neutron/agent/_topics.py | 24 +
neutron/agent/agent_extension.py | 48 -
neutron/agent/common/ovs_lib.py | 40 +-
neutron/agent/dhcp/agent.py | 56 +-
neutron/agent/dhcp_agent.py | 4 +-
neutron/agent/firewall.py | 7 +-
neutron/agent/l2/agent_extension.py | 27 -
neutron/agent/l2/extensions/fdb_population.py | 4 +-
neutron/agent/l2/extensions/qos.py | 10 +-
neutron/agent/l2/l2_agent_extension.py | 48 -
neutron/agent/l3/agent.py | 21 +-
neutron/agent/l3/dvr_edge_ha_router.py | 18 +-
neutron/agent/l3/dvr_edge_router.py | 3 +-
neutron/agent/l3/dvr_fip_ns.py | 23 +-
neutron/agent/l3/dvr_local_router.py | 78 +-
neutron/agent/l3/extensions/fip_qos.py | 359 --------
neutron/agent/l3/extensions/port_forwarding.py | 457 ++++++++++
neutron/agent/l3/extensions/qos/__init__.py | 0
neutron/agent/l3/extensions/qos/base.py | 166 ++++
neutron/agent/l3/extensions/qos/fip.py | 299 +++++++
neutron/agent/l3/ha.py | 12 +-
neutron/agent/l3/ha_router.py | 11 +-
neutron/agent/l3/item_allocator.py | 5 +-
neutron/agent/l3/l3_agent_extension.py | 65 --
neutron/agent/l3/namespaces.py | 5 +-
neutron/agent/l3/router_info.py | 53 +-
neutron/agent/l3_agent.py | 4 +-
neutron/agent/linux/async_process.py | 6 +-
neutron/agent/linux/dhcp.py | 134 ++-
neutron/agent/linux/interface.py | 79 +-
neutron/agent/linux/ip_conntrack.py | 66 +-
neutron/agent/linux/ip_lib.py | 244 ++++--
neutron/agent/linux/iptables_comments.py | 1 +
neutron/agent/linux/iptables_firewall.py | 92 +-
neutron/agent/linux/iptables_manager.py | 13 +-
neutron/agent/linux/keepalived.py | 4 +-
neutron/agent/linux/l3_tc_lib.py | 2 +-
.../agent/linux/openvswitch_firewall/firewall.py | 123 ++-
.../agent/linux/openvswitch_firewall/iptables.py | 10 +-
neutron/agent/linux/openvswitch_firewall/rules.py | 34 +-
neutron/agent/linux/ovsdb_monitor.py | 79 +-
neutron/agent/linux/ra.py | 9 +-
neutron/agent/linux/tc_lib.py | 14 +-
neutron/agent/linux/utils.py | 36 +-
neutron/agent/linux/xenapi_root_helper.py | 2 +-
neutron/agent/metadata/agent.py | 11 +-
neutron/agent/metadata/driver.py | 22 +-
neutron/agent/ovsdb/impl_idl.py | 3 +-
neutron/agent/ovsdb/impl_vsctl.py | 4 +-
neutron/agent/ovsdb/native/helpers.py | 5 -
neutron/agent/resource_cache.py | 2 +-
neutron/agent/rpc.py | 79 +-
neutron/agent/securitygroups_rpc.py | 43 +-
neutron/agent/windows/utils.py | 39 +-
neutron/agent/windows/winutils.py | 606 -------------
neutron/api/api_common.py | 44 +-
neutron/api/extensions.py | 4 +-
.../api/rpc/agentnotifiers/dhcp_rpc_agent_api.py | 13 +-
neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py | 6 +-
.../rpc/agentnotifiers/metering_rpc_agent_api.py | 6 +-
neutron/api/rpc/callbacks/consumer/registry.py | 19 +-
neutron/api/rpc/callbacks/producer/registry.py | 2 +-
neutron/api/rpc/callbacks/resources.py | 3 +
neutron/api/rpc/callbacks/version_manager.py | 3 +-
neutron/api/rpc/handlers/dhcp_rpc.py | 16 +-
neutron/api/rpc/handlers/dvr_rpc.py | 16 +-
neutron/api/rpc/handlers/l3_rpc.py | 25 +-
neutron/api/rpc/handlers/resources_rpc.py | 2 +-
neutron/api/rpc/handlers/securitygroups_rpc.py | 2 +-
neutron/api/v2/attributes.py | 46 -
neutron/api/v2/base.py | 92 +-
neutron/api/versions.py | 27 -
neutron/cmd/linuxbridge_cleanup.py | 3 +-
neutron/cmd/netns_cleanup.py | 1 +
neutron/cmd/ovs_cleanup.py | 5 +
neutron/cmd/sanity_check.py | 20 +-
neutron/common/_deprecate.py | 4 +-
neutron/common/config.py | 11 +-
neutron/common/constants.py | 32 +-
neutron/common/eventlet_utils.py | 8 +-
neutron/common/exceptions.py | 72 +-
neutron/common/ipv6_utils.py | 4 +-
neutron/common/rpc.py | 79 +-
neutron/common/topics.py | 60 --
neutron/common/utils.py | 40 +-
neutron/conf/agent/common.py | 19 +-
neutron/conf/agent/l3/config.py | 3 +-
neutron/conf/agent/ovs_conf.py | 7 +
neutron/conf/agent/ovsdb_api.py | 3 +
neutron/conf/common.py | 5 +
neutron/conf/extensions/allowedaddresspairs.py | 2 +-
.../plugins/ml2/drivers/mech_sriov/agent_common.py | 7 -
neutron/conf/plugins/ml2/drivers/ovs_conf.py | 2 +-
neutron/core_extensions/qos.py | 15 +-
neutron/db/_model_query.py | 24 +-
neutron/db/_resource_extend.py | 7 +-
neutron/db/_utils.py | 60 +-
neutron/db/address_scope_db.py | 2 +-
neutron/db/agents_db.py | 88 +-
neutron/db/agentschedulers_db.py | 21 +-
neutron/db/allowedaddresspairs_db.py | 7 +-
neutron/db/api.py | 221 +++--
neutron/db/availability_zone/router.py | 6 +-
neutron/db/common_db_mixin.py | 25 +-
neutron/db/db_base_plugin_common.py | 11 +-
neutron/db/db_base_plugin_v2.py | 74 +-
neutron/db/dns_db.py | 16 +-
neutron/db/dvr_mac_db.py | 5 +-
neutron/db/external_net_db.py | 55 +-
neutron/db/extradhcpopt_db.py | 4 +-
neutron/db/extraroute_db.py | 24 +-
neutron/db/flavors_db.py | 2 +-
neutron/db/ipam_backend_mixin.py | 59 +-
neutron/db/ipam_pluggable_backend.py | 3 +
neutron/db/l3_agentschedulers_db.py | 67 +-
neutron/db/l3_attrs_db.py | 21 +-
neutron/db/l3_db.py | 159 ++--
neutron/db/l3_dvr_db.py | 144 +--
neutron/db/l3_dvrscheduler_db.py | 36 +-
neutron/db/l3_fip_port_details.py | 42 +
neutron/db/l3_fip_qos.py | 14 +-
neutron/db/l3_gwmode_db.py | 11 +
neutron/db/l3_hamode_db.py | 118 ++-
neutron/db/l3_hascheduler_db.py | 4 +-
neutron/db/metering/metering_db.py | 23 +-
neutron/db/metering/metering_rpc.py | 4 +-
neutron/db/migration/__init__.py | 28 +-
.../db/migration/alembic_migrations/script.py.mako | 8 +-
.../alembic_migrations/versions/EXPAND_HEAD | 2 +-
.../alembic_migrations/versions/kilo_initial.py | 23 +-
.../11926bcfe72d_add_geneve_ml2_type_driver.py | 6 +-
.../contract/2a16083502f3_metaplugin_removal.py | 4 +-
.../2e5352a0ad4d_add_missing_foreign_keys.py | 10 +-
.../liberty/contract/30018084ec99_initial.py | 5 +-
.../4af11ca47297_drop_cisco_monolithic_tables.py | 9 +-
.../liberty/contract/4ffceebfada_rbac_network.py | 8 +-
.../5498d17be016_drop_legacy_ovs_and_lb.py | 4 +-
...6e320f79_address_scope_support_in_subnetpool.py | 6 +-
.../expand/1c844d1677f7_dns_nameservers_order.py | 6 +-
.../liberty/expand/26c371498592_subnetpool_hash.py | 6 +-
.../liberty/expand/31337ec0ffee_flavors.py | 6 +-
.../expand/34af2b5c5a59_add_dns_name_to_port.py | 12 +-
.../expand/354db87e3225_nsxv_vdr_metadata.py | 11 +-
.../liberty/expand/45f955889773_quota_usage.py | 8 +-
.../liberty/expand/48153cb5f051_qos_db_changes.py | 6 +-
.../liberty/expand/52c5312f6baf_address_scopes.py | 6 +-
.../liberty/expand/599c6a226151_neutrodb_ipam.py | 6 +-
.../liberty/expand/8675309a5c4f_rbac_network.py | 6 +-
.../expand/9859ac9c136_quota_reservations.py | 6 +-
.../contract/1b294093239c_remove_embrane_plugin.py | 4 +-
.../2b4c2465d44b_dvr_sheduling_refactoring.py | 6 +-
.../mitaka/contract/4ffceebfcdc_standard_desc.py | 11 +-
.../contract/5ffceebfada_rbac_network_external.py | 8 +-
.../8a6d8bdae39_migrate_neutron_resources_table.py | 8 +-
.../mitaka/contract/c6c112992c9_rbac_qos_policy.py | 12 +-
.../e3278ee65050_drop_nec_plugin_tables.py | 4 +-
.../0e66c5227a8a_add_desc_to_standard_attr.py | 11 +-
.../13cfb89f881a_add_is_default_to_subnetpool.py | 8 +-
.../expand/15be73214821_add_bgp_model_data.py | 6 +-
.../mitaka/expand/15e43b934f81_rbac_qos_policy.py | 6 +-
.../expand/19f26505c74f_auto_allocated_topology.py | 8 +-
...6f5_add_unique_ha_router_agent_port_bindings.py | 12 +-
.../mitaka/expand/2f9e956e7532_tag_support.py | 6 +-
...3e6_add_resource_versions_row_to_agent_table.py | 6 +-
.../32e5974ada25_add_neutron_resources_table.py | 6 +-
...3894bccad37f_add_timestamp_to_base_resources.py | 6 +-
.../mitaka/expand/59cb5b6cf4d_availability_zone.py | 6 +-
...tributes_to_support_external_dns_integration.py | 8 +-
.../b4caf27aae4_add_bgp_dragent_model_data.py | 6 +-
.../c3a73f615e4_add_ip_version_to_address_scope.py | 6 +-
.../mitaka/expand/dce3ec7a25c9_router_az.py | 6 +-
.../mitaka/expand/ec7fcfbf72ee_network_az.py | 6 +-
...86_add_binding_index_to_routerl3agentbinding.py | 10 +-
.../3b935b28e7a0_migrate_to_pluggable_ipam.py | 11 +-
.../4bcd4df1f426_rename_ml2_dvr_port_bindings.py | 4 +-
.../5c85685d616d_remove_availability_ranges.py | 4 +-
.../7bbb25278f53_device_owner_ha_replicate_int.py | 8 +-
.../7d9d8eeec6ad_rename_tenant_to_project.py | 6 +-
.../89ab9a816d70_rename_ml2_network_segments.py | 6 +-
.../8fd3918ef6f4_add_segment_host_mapping.py | 6 +-
.../newton/contract/97c25b0d2353_add_name_desc.py | 8 +-
.../a84ccf28f06a_migrate_dns_name_from_port.py | 8 +-
.../a8b517cff8ab_add_routerport_bindings_for_ha.py | 12 +-
...12a3ef66e62_add_standardattr_to_qos_policies.py | 8 +-
...b67e765a3524_remove_mtu_column_from_networks.py | 4 +-
.../c879c5e1ee90_add_segment_id_to_subnet.py | 6 +-
.../030a959ceafa_uniq_routerports0port_id.py | 12 +-
...0f5bef0f87d4_add_qos_minimum_bandwidth_rules.py | 8 +-
.../expand/30107ab6a3ee_provisioning_blocks.py | 5 +-
.../3d0e74aa7d37_add_flavor_id_to_routers.py | 7 +-
.../expand/45f8dd33480b_qos_dscp_db_addition.py | 6 +-
.../5abc0278ca73_add_support_for_vlan_trunking.py | 8 +-
.../5cd92597d11d_add_ip_allocation_to_port.py | 4 +-
...daae611b6e_add_standard_attr_to_qos_policies.py | 6 +-
...61a21bcfc_uniq_floatingips0floating_network_.py | 12 +-
.../a5648cfeeadf_add_subnet_service_types.py | 6 +-
.../a963b38d82f4_add_dns_name_to_portdnses.py | 6 +-
.../expand/c415aab1c048_add_revisions_column.py | 6 +-
.../d3435b514502_add_device_id_index_to_port.py | 4 +-
.../expand/929c968efe70_add_pk_version_table.py | 5 +-
.../a9c43481023c_extend_ml2_port_bindings.py | 14 +-
...9da_qos_add_direction_to_bw_limit_rule_table.py | 12 +-
.../349b6fd605a6_add_dns_domain_to_portdnses.py | 8 +-
.../62c781cb6192_add_qos_policies_default_table.py | 6 +-
.../expand/7d32f979895f_add_mtu_for_networks.py | 11 +-
.../804a3c76314c_add_data_plane_status_to_port.py | 6 +-
.../pike/expand/c8c222d42aa9_logging_api.py | 10 +-
.../versions/queens/expand/594422d373ee_fip_qos.py | 13 +-
.../expand/61663558142c_add_ha_router_state.py | 44 +
.../rocky/expand/867d39095bf4_port_forwarding.py | 59 ++
neutron/db/migration/cli.py | 7 +-
neutron/db/models/l3.py | 3 +
neutron/db/models/l3ha.py | 1 +
neutron/db/models/port_forwarding.py | 59 ++
neutron/db/portsecurity_db_common.py | 2 +-
neutron/db/quota/driver.py | 2 +-
neutron/db/rbac_db_mixin.py | 19 +-
neutron/db/securitygroups_db.py | 37 +-
neutron/db/securitygroups_rpc_base.py | 11 +-
neutron/db/segments_db.py | 10 +-
neutron/db/standard_attr.py | 45 +-
neutron/db/subnet_service_type_db_models.py | 33 -
neutron/db/subnet_service_type_mixin.py | 30 +
neutron/db/vlantransparent_db.py | 4 +-
neutron/debug/shell.py | 2 +-
.../extensions/_availability_zone_filter_lib.py | 34 +
neutron/extensions/_empty_string_filtering_lib.py | 30 +
neutron/extensions/_filter_validation_lib.py | 30 +
.../extensions/_port_mac_address_regenerate_lib.py | 61 ++
.../_segments_peer_subnet_host_routes_lib.py | 32 +
neutron/extensions/_standard_attr_segment_lib.py | 30 +
neutron/extensions/availability_zone_filter.py | 18 +
neutron/extensions/dhcpagentscheduler.py | 67 +-
neutron/extensions/dvr.py | 9 -
neutron/extensions/empty_string_filtering.py | 19 +
.../extensions/expose_port_forwarding_in_fip.py | 19 +
neutron/extensions/filter_validation.py | 35 +
neutron/extensions/fip_port_details.py | 20 +
neutron/extensions/floating_ip_port_forwarding.py | 116 +++
neutron/extensions/ip_substring_port_filtering.py | 3 +-
.../extensions/ip_substring_port_filtering_lib.py | 64 --
neutron/extensions/multiprovidernet.py | 92 +-
neutron/extensions/network_ip_availability.py | 13 +
neutron/extensions/port_mac_address_regenerate.py | 24 +
neutron/extensions/portbindings_extended.py | 88 ++
neutron/extensions/qos.py | 16 -
neutron/extensions/qos_default.py | 63 +-
neutron/extensions/qos_rule_type_details.py | 57 +-
neutron/extensions/rbac.py | 16 +-
neutron/extensions/revisionifmatch.py | 27 +-
neutron/extensions/revisions.py | 7 +-
neutron/extensions/routerservicetype.py | 34 +-
.../extensions/security_groups_port_filtering.py | 23 +
.../security_groups_port_filtering_lib.py | 59 ++
neutron/extensions/securitygroup.py | 40 +-
neutron/extensions/segment.py | 27 +-
.../extensions/segments_peer_subnet_host_routes.py | 18 +
neutron/extensions/servicetype.py | 54 +-
neutron/extensions/sorting.py | 31 +-
neutron/extensions/standard_attr_segment.py | 18 +
neutron/extensions/standardattrdescription.py | 7 +-
neutron/extensions/stdattrs_common.py | 31 +
neutron/extensions/subnet_segmentid_writable.py | 20 +
neutron/extensions/tag.py | 85 --
neutron/extensions/tag_ext.py | 95 --
neutron/extensions/tagging.py | 34 +-
neutron/extensions/timestamp.py | 5 +-
neutron/extensions/vlantransparent.py | 56 +-
neutron/hacking/checks.py | 5 +-
neutron/ipam/drivers/neutrondb_ipam/driver.py | 5 +-
neutron/ipam/exceptions.py | 3 +-
neutron/ipam/utils.py | 6 +-
neutron/locale/de/LC_MESSAGES/neutron.po | 519 +----------
neutron/locale/es/LC_MESSAGES/neutron.po | 488 +----------
neutron/locale/fr/LC_MESSAGES/neutron.po | 493 +----------
neutron/locale/it/LC_MESSAGES/neutron.po | 481 +---------
neutron/locale/ja/LC_MESSAGES/neutron.po | 475 +---------
neutron/locale/ko_KR/LC_MESSAGES/neutron.po | 461 +---------
neutron/locale/pt_BR/LC_MESSAGES/neutron.po | 480 +---------
neutron/locale/ru/LC_MESSAGES/neutron.po | 473 +---------
neutron/locale/tr_TR/LC_MESSAGES/neutron.po | 283 +-----
neutron/locale/zh_CN/LC_MESSAGES/neutron.po | 444 +---------
neutron/locale/zh_TW/LC_MESSAGES/neutron.po | 446 +---------
neutron/manager.py | 6 +-
neutron/notifiers/nova.py | 17 +-
neutron/objects/agent.py | 2 +-
neutron/objects/base.py | 83 +-
neutron/objects/db/api.py | 2 +-
neutron/objects/port_forwarding.py | 135 +++
neutron/objects/ports.py | 75 +-
neutron/objects/qos/policy.py | 20 +-
neutron/objects/qos/qos_policy_validator.py | 21 +
neutron/objects/qos/rule.py | 34 +-
neutron/objects/rbac_db.py | 3 +-
neutron/objects/router.py | 17 +
neutron/objects/subnet.py | 20 +-
neutron/objects/utils.py | 60 --
neutron/pecan_wsgi/controllers/quota.py | 4 +-
neutron/pecan_wsgi/controllers/root.py | 16 +-
neutron/pecan_wsgi/controllers/utils.py | 8 +-
neutron/pecan_wsgi/hooks/policy_enforcement.py | 14 +-
neutron/pecan_wsgi/hooks/query_parameters.py | 3 +-
neutron/pecan_wsgi/startup.py | 4 +-
neutron/plugins/common/constants.py | 3 +-
neutron/plugins/common/utils.py | 248 ------
neutron/plugins/ml2/db.py | 8 +-
neutron/plugins/ml2/driver_context.py | 5 +
neutron/plugins/ml2/drivers/agent/_common_agent.py | 32 +-
neutron/plugins/ml2/drivers/helpers.py | 2 +-
neutron/plugins/ml2/drivers/l2pop/mech_driver.py | 19 +-
neutron/plugins/ml2/drivers/l2pop/rpc.py | 2 +-
.../agent/extension_drivers/qos_driver.py | 8 +-
.../linuxbridge/agent/linuxbridge_neutron_agent.py | 92 +-
.../drivers/macvtap/agent/macvtap_neutron_agent.py | 4 +-
.../plugins/ml2/drivers/macvtap/macvtap_common.py | 7 +-
.../ml2/drivers/mech_sriov/agent/common/config.py | 2 +
.../drivers/mech_sriov/agent/eswitch_manager.py | 22 +-
.../drivers/mech_sriov/agent/sriov_nic_agent.py | 16 +-
.../drivers/mech_sriov/mech_driver/mech_driver.py | 2 +-
.../drivers/openvswitch/agent/common/constants.py | 11 +-
.../agent/extension_drivers/qos_driver.py | 6 +-
.../openvswitch/agent/openflow/native/ofswitch.py | 108 ++-
.../agent/openflow/native/ovs_bridge.py | 8 +-
.../openvswitch/agent/ovs_dvr_neutron_agent.py | 66 +-
.../drivers/openvswitch/agent/ovs_neutron_agent.py | 274 +++---
.../openvswitch/mech_driver/mech_openvswitch.py | 6 +-
neutron/plugins/ml2/drivers/type_tunnel.py | 23 +-
neutron/plugins/ml2/drivers/type_vlan.py | 7 +-
neutron/plugins/ml2/extensions/dns_integration.py | 5 +-
neutron/plugins/ml2/managers.py | 28 +-
neutron/plugins/ml2/models.py | 8 +-
neutron/plugins/ml2/ovo_rpc.py | 17 +-
neutron/plugins/ml2/plugin.py | 438 +++++++--
neutron/plugins/ml2/rpc.py | 49 +-
neutron/policy.py | 27 +-
neutron/privileged/agent/linux/ip_lib.py | 254 +++++-
neutron/privileged/agent/linux/netlink_lib.py | 8 +-
neutron/quota/resource.py | 17 +-
neutron/quota/resource_registry.py | 2 +-
neutron/scheduler/dhcp_agent_scheduler.py | 4 +-
neutron/scheduler/l3_agent_scheduler.py | 5 +-
neutron/server/__init__.py | 28 +-
neutron/server/rpc_eventlet.py | 6 +-
neutron/service.py | 10 +-
neutron/services/auto_allocate/db.py | 71 +-
neutron/services/auto_allocate/plugin.py | 2 +
.../externaldns/drivers/designate/driver.py | 8 +-
neutron/services/flavors/flavors_plugin.py | 2 +
neutron/services/l3_router/l3_router_plugin.py | 12 +-
.../services/l3_router/service_providers/base.py | 1 +
.../service_providers/driver_controller.py | 89 +-
neutron/services/logapi/agent/l3/__init__.py | 0
neutron/services/logapi/agent/l3/base.py | 108 +++
neutron/services/logapi/agent/log_extension.py | 7 +-
neutron/services/logapi/common/constants.py | 6 +
neutron/services/logapi/common/db_api.py | 6 +-
neutron/services/logapi/common/exceptions.py | 6 +
neutron/services/logapi/common/sg_callback.py | 34 +
neutron/services/logapi/common/sg_validate.py | 84 ++
neutron/services/logapi/common/validators.py | 113 +--
neutron/services/logapi/drivers/base.py | 4 +
neutron/services/logapi/drivers/manager.py | 58 +-
.../services/logapi/drivers/openvswitch/driver.py | 23 +
.../logapi/drivers/openvswitch/ovs_firewall_log.py | 39 +-
neutron/services/logapi/logging_plugin.py | 8 +-
neutron/services/logapi/rpc/agent.py | 10 +-
neutron/services/logapi/rpc/server.py | 65 +-
neutron/services/loki/loki_plugin.py | 3 +-
neutron/services/metering/agents/metering_agent.py | 5 +-
.../metering/drivers/iptables/iptables_driver.py | 9 +-
neutron/services/metering/metering_plugin.py | 5 +-
neutron/services/network_ip_availability/plugin.py | 4 +-
neutron/services/portforwarding/__init__.py | 0
neutron/services/portforwarding/common/__init__.py | 0
.../services/portforwarding/common/exceptions.py | 29 +
neutron/services/portforwarding/pf_plugin.py | 488 +++++++++++
neutron/services/provider_configuration.py | 2 +-
neutron/services/qos/drivers/manager.py | 9 +-
neutron/services/qos/qos_plugin.py | 61 +-
neutron/services/revisions/revision_plugin.py | 4 +-
neutron/services/segments/db.py | 5 +-
neutron/services/segments/exceptions.py | 12 +
neutron/services/segments/placement_client.py | 20 +-
neutron/services/segments/plugin.py | 285 +++++-
neutron/services/tag/tag_plugin.py | 4 +-
neutron/services/timestamp/timestamp_db.py | 10 +-
neutron/services/timestamp/timestamp_plugin.py | 2 +
neutron/services/trunk/callbacks.py | 1 +
neutron/services/trunk/plugin.py | 16 +-
neutron/services/trunk/rpc/agent.py | 2 +-
neutron/services/trunk/rpc/server.py | 2 +-
neutron/services/trunk/rules.py | 10 +-
neutron/services/trunk/seg_types/validators.py | 6 +-
neutron/services/trunk/utils.py | 5 +-
.../functional/agent/l3/extensions/qos/__init__.py | 0
.../l3/extensions/qos/test_fip_qos_extension.py | 281 ++++++
.../agent/l3/extensions/test_fip_qos_extension.py | 251 ------
.../extensions/test_port_forwarding_extension.py | 187 ++++
.../functional/agent/l3/test_legacy_router.py | 2 +-
.../functional/agent/linux/bin/ipt_binname.py | 1 +
.../linux/openvswitch_firewall/test_iptables.py | 5 +-
.../functional/cmd/test_linuxbridge_cleanup.py | 11 +
.../functional/pecan_wsgi/test_controllers.py | 3 +-
.../l3_router/test_l3_dvr_ha_router_plugin.py | 2 +-
.../l3_router/test_l3_dvr_router_plugin.py | 76 +-
.../functional/services/logapi/test_logging.py | 17 +-
.../functional/services/portforwarding/__init__.py | 0
.../portforwarding/test_port_forwarding.py | 387 ++++++++
.../tempest/services/network/json/__init__.py | 0
.../services/network/json/network_client.py | 974 ---------------------
.../unit/agent/l3/extensions/qos/test_base.py | 81 ++
.../agent/l3/extensions/test_port_forwarding.py | 419 +++++++++
.../unit/agent/l3/test_l3_agent_extension_api.py | 6 +-
.../linux/openvswitch_firewall/test_firewall.py | 104 ++-
.../agent/linux/openvswitch_firewall/test_rules.py | 44 +-
.../unit/agent/linux/test_iptables_firewall.py | 496 ++++++-----
.../unit/agent/linux/test_iptables_manager.py | 547 ++++++------
.../rpc/agentnotifiers/test_dhcp_rpc_agent_api.py | 4 +-
.../api/rpc/callbacks/consumer/test_registry.py | 11 +-
.../unit/api/rpc/handlers/test_resources_rpc.py | 2 +-
.../unit/extensions/test_availability_zone.py | 36 +-
.../test_expose_port_forwarding_in_fip.py | 124 +++
.../unit/extensions/test_subnet_service_types.py | 31 +-
.../port/extensions/test_allowedaddresspairs.py | 2 +-
.../ml2/drivers/agent/test__common_agent.py | 31 +-
.../plugins/ml2/drivers/agent/test_capabilities.py | 7 +-
.../plugins/ml2/drivers/l2pop/test_mech_driver.py | 57 +-
.../agent/extension_drivers/test_qos_driver.py | 3 -
.../agent/test_linuxbridge_neutron_agent.py | 116 ++-
.../macvtap/agent/test_macvtap_neutron_agent.py | 2 +-
.../mech_sriov/agent/test_sriov_nic_agent.py | 21 +
.../unit/plugins/ml2/drivers/mechanism_test.py | 4 +-
.../agent/openflow/native/ovs_bridge_test_base.py | 24 +-
.../agent/openflow/native/test_br_int.py | 54 +-
.../agent/openflow/native/test_br_phys.py | 12 +-
.../agent/openflow/native/test_br_tun.py | 84 +-
.../agent/openflow/native/test_ofswitch.py | 106 +++
.../agent/openflow/native/test_ovs_bridge.py | 5 +
.../agent/openflow/ovs_ofctl/test_br_tun.py | 4 +-
.../agent/test_ovs_agent_extension_api.py | 3 +-
.../openvswitch/agent/test_ovs_capabilities.py | 7 +-
.../openvswitch/agent/test_ovs_neutron_agent.py | 495 ++++++++++-
.../drivers/openvswitch/agent/test_ovs_tunnel.py | 1 +
.../unit/plugins/ml2/drivers/test_type_vlan.py | 18 +-
.../plugins/ml2/extensions/test_dns_integration.py | 30 +-
.../unit/privileged/agent/linux/test_ip_lib.py | 212 +++++
.../privileged/agent/linux/test_netlink_lib.py | 48 +-
.../unit/scheduler/test_dhcp_agent_scheduler.py | 6 +-
.../unit/scheduler/test_l3_agent_scheduler.py | 93 +-
.../service_providers/test_driver_controller.py | 90 +-
.../unit/services/logapi/agent/l3/__init__.py | 0
.../unit/services/logapi/agent/l3/test_base.py | 134 +++
.../unit/services/logapi/common/test_db_api.py | 158 ++--
.../services/logapi/common/test_sg_callback.py | 67 ++
.../services/logapi/common/test_sg_validate.py | 115 +++
.../unit/services/logapi/common/test_validators.py | 91 +-
.../drivers/openvswitch/test_ovs_firewall_log.py | 25 +-
.../unit/services/logapi/drivers/test_manager.py | 62 +-
.../unit/services/logapi/test_logging_plugin.py | 9 +-
.../metering/agents/test_metering_agent.py | 2 +-
.../unit/services/metering/test_metering_plugin.py | 6 +-
.../unit/services/portforwarding/test_pf_plugin.py | 332 +++++++
.../unit/services/qos/drivers/test_manager.py | 2 +-
.../services/revisions/test_revision_plugin.py | 2 +-
.../linuxbridge/agent/test_trunk_plumber.py | 1 +
neutron/wsgi.py | 10 +-
.../legacy/neutron-fullstack-python35/post.yaml | 80 ++
.../legacy/neutron-fullstack-python35/run.yaml | 54 ++
.../legacy/neutron-fullstack-with-uwsgi/post.yaml | 80 ++
.../legacy/neutron-fullstack-with-uwsgi/run.yaml | 67 ++
.../legacy/neutron-functional-python35/post.yaml | 80 ++
.../legacy/neutron-functional-python35/run.yaml | 54 ++
.../legacy/neutron-functional-with-uwsgi/post.yaml | 80 ++
.../legacy/neutron-functional-with-uwsgi/run.yaml | 67 ++
playbooks/legacy/neutron-rally-neutron/post.yaml | 41 -
playbooks/legacy/neutron-rally-neutron/run.yaml | 175 ----
.../neutron-tempest-iptables_hybrid/post.yaml | 15 +
.../neutron-tempest-iptables_hybrid/run.yaml | 48 +
playbooks/legacy/neutron-tempest-ovsfw/post.yaml | 15 -
playbooks/legacy/neutron-tempest-ovsfw/run.yaml | 48 -
.../legacy/neutron-tempest-postgres-full/post.yaml | 15 +
.../legacy/neutron-tempest-postgres-full/run.yaml | 46 +
.../neutron-tempest-with-ryu-master/post.yaml | 15 +
.../neutron-tempest-with-ryu-master/run.yaml | 55 ++
rally-jobs/neutron-neutron.yaml | 302 -------
rally-jobs/plugins/trunk_scenario.py | 12 +-
rally-jobs/task-neutron.yaml | 302 +++++++
.../add-conntrack-workers-89d303e9ec3b4963.yaml | 13 +
...dd-multiple-port-bindings-f16eb47ebdddff2d.yaml | 22 +
.../add-new-harouter-state-5612fc5b5c2043a5.yaml | 8 +
...ort_details-to-floatingip-fefceab2c740e482.yaml | 6 +
...ard-attributes-to-segment-d39c4b89988aa701.yaml | 6 +
...et-segment-id-association-1fb02ace27e85bb8.yaml | 10 +
.../notes/dns_domain-6f0e628aeb3c650c.yaml | 13 +
...sion-resource-owner-check-4a19b84889660506.yaml | 9 +
...oatingips-port-forwarding-65efd8c17a16dffc.yaml | 26 +
.../ib-dhcp-allocation-fix-a4ebe8b55bb2c065.yaml | 8 +
...s-interfacedriver-removal-a9cce87310028b99.yaml | 7 +
...ver-load-interface-driver-ca397f1db40ec643.yaml | 7 +
...-table-size-config-option-d255d5208650f34b.yaml | 14 +
...ride_for_ovs_cleanup_tool-e6ed6db258d0819e.yaml | 15 +
...rt-mac-address-regenerate-312978c834abaa52.yaml | 7 +
...outed-networks-hostroutes-a13a9885f0db4f69.yaml | 8 +
...ity-groups-port-filtering-69d36ac7db90c9e0.yaml | 6 +
...rt-empty-string-filtering-4a39096b62b9abf2.yaml | 5 +
...support-filter-validation-fee2cdeedbe8ad76.yaml | 38 +
releasenotes/source/index.rst | 1 +
releasenotes/source/liberty.rst | 2 +-
.../source/locale/fr/LC_MESSAGES/releasenotes.po | 90 ++
.../source/locale/ja/LC_MESSAGES/releasenotes.po | 301 +++++++
.../locale/ko_KR/LC_MESSAGES/releasenotes.po | 103 +++
releasenotes/source/mitaka.rst | 2 +-
releasenotes/source/newton.rst | 2 +-
releasenotes/source/ocata.rst | 2 +-
releasenotes/source/queens.rst | 6 +
requirements.txt | 18 +-
setup.cfg | 99 ++-
test-requirements.txt | 11 +-
tools/configure_for_func_testing.sh | 32 +-
tools/ostestr_compat_shim.sh | 8 -
tox.ini | 73 +-
777 files changed, 23392 insertions(+), 18635 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index b2cf2d0..2961e8a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -10,2 +10,2 @@ debtcollector>=1.2.0 # Apache-2.0
-eventlet!=0.18.3,!=0.20.1,<0.21.0,>=0.18.2 # MIT
-pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD
+eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT
+pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.1.1 # BSD
@@ -13 +13 @@ httplib2>=0.9.1 # MIT
-Jinja2!=2.9.0,!=2.9.1,!=2.9.2,!=2.9.3,!=2.9.4,>=2.8 # BSD License (3 clause)
+Jinja2>=2.10 # BSD License (3 clause)
@@ -17,2 +17,2 @@ netifaces>=0.10.4 # MIT
-neutron-lib>=1.13.0 # Apache-2.0
-python-neutronclient>=6.3.0 # Apache-2.0
+neutron-lib>=1.18.0 # Apache-2.0
+python-neutronclient>=6.7.0 # Apache-2.0
@@ -20,2 +20,2 @@ tenacity>=3.2.1 # Apache-2.0
-ryu>=4.14 # Apache-2.0
-SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT
+ryu>=4.24 # Apache-2.0
+SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.2.0 # MIT
@@ -23 +23 @@ WebOb>=1.7.1 # MIT
-keystoneauth1>=3.3.0 # Apache-2.0
+keystoneauth1>=3.4.0 # Apache-2.0
@@ -46 +46 @@ ovs>=2.8.0 # Apache-2.0
-ovsdbapp>=0.8.0 # Apache-2.0
+ovsdbapp>=0.9.1 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 5b087c9..dd8819e 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
+hacking>=1.1.0 # Apache-2.0
@@ -6 +6 @@ hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
-bandit>=1.1.0 # Apache-2.0
+bandit>=1.1.0,<1.5.0 # Apache-2.0
@@ -12,3 +11,0 @@ python-subunit>=1.0.0 # Apache-2.0/BSD
-sphinx!=1.6.6,>=1.6.2 # BSD
-openstackdocstheme>=1.18.1 # Apache-2.0
-oslosphinx>=4.7.0 # Apache-2.0
@@ -20 +17,2 @@ oslotest>=3.2.0 # Apache-2.0
-os-testr>=1.0.0 # Apache-2.0
+stestr>=1.0.0 # Apache-2.0
+reno>=2.5.0 # Apache-2.0
@@ -23 +20,0 @@ pylint==1.4.5 # GPLv2
-reno>=2.5.0 # Apache-2.0
1
0
We are gleeful to announce the release of:
trove 10.0.0: OpenStack DBaaS
This release is part of the rocky release series.
Download the package from:
https://tarballs.openstack.org/trove/
For more details, please see below.
Changes in trove 9.0.0..10.0.0
------------------------------
4d358c8 Fix replication failure when Swift isn't available
474b0b3 Sync the data fields of DB* class and table fields.
d2868a5 Migrate to Zuul v3 native job definitions
8057b2d More reliable gpg keys importing in DIB elements
f3ca9f2 [doc] Use openstack client command to replace others
ceaaf16 Raise timeout for instance resizing checking job
4860f52 Fix invalid escape sequence warnings
08d581f py3.x: Fix usage of gettext.install
4279fd2 Remove pycrypto from requirements
f453a5f change pylint wrapper to let messages be prefixes
71c3caf Update Trove's README
8cec0bc Add volume_type to apischema
43b5807 Add a hook for restore process to check if successful
46a031e Switch to cryptography from pycrypto
86fbe26 Trivial: Update pypi url to new url
df73627 Cleanup testrepository and os-testr requirements
0c9a4fd Run unittests under the low-constraints job
cfadd2b Fix dict iteration in PropertiesCodec
48ac45d Fix lower-constraints and uncap eventlet
38a5679 Update auth_uri option to www_authenticate_uri
ff5b14d fix a typo
990d24e Updated from global requirements
f83a247 fix a typo in documentation
6eaa305 add lower-constraints job
b248282 Mox removal for instances_resize API tests
43ce598 Revert "Fix false-negative failure report for mysqldump backup"
856824c Updated from global requirements
5ce26ec Fix os.path.join() for unittests under python 3.6
6db9740 Updated from global requirements
7ea88b0 Mox removal for MgmtInstance actions API tests
792929d Updated from global requirements
5895cf0 Avoid diverged slave when migrating MariaDB master
242761e Skip root state inherting scenario tests for Redis
36ad74c Fix client recreation in Redis root-disable test
a25a290 Register all replicas in replication scenario test
172b6e0 Fix create mongodb cluster error in multi-network env
1656a20 Fix annotation info error in guestagent-api
49fea47 Fix false-negative failure report for mysqldump backup
9209d0b Use neutronclient for floatingip operations
d597bb4 Return 204 instead of 200 for root-disable API
8ce9d73 Fix guestagent.test_operating_system for Python3
267138d Remove entry of policy.json from setup.cfg
579f5af Use RootHistory to check if root is ever enabled
3301a2a [api-ref] Add sections for backups.
8541170 Fix client ping in redis scenario tests
9d159fd Fix PostgreSQL non-dynamic configration tests
3519434 Fix incorrect usage of assertTrue
de26c5e drop extra word to fix typo
03c5738 Only launch in-tree zuul jobs when necessary
d6bd37f Remove install-guide tox env
71ebd35 Generate policy sample file automatically.
51b73cf [api-ref]: update instance creating parameters.
29362a1 Remove support of creating volume from Nova.
e15fe71 Remove security.authorization option from mongos
9847ec0 Update reno for stable/queens
690aa0c Add bandit-baseline check job.
3b726f3 report_root should always use context.user
1667ad5 Allow host URL for versions to be configurable
1dcdf38 Add functionality to define different Message and Notification destination
022aa31 Improve code to reduce traverse times
39ae2ee Add default configuration files to data_files
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 3 +
.stestr.conf | 4 +-
.testr.conf | 4 -
.zuul.yaml | 384 ++++++++---------
README.rst | 40 +-
api-ref/source/backups.inc | 254 +++++++++++
api-ref/source/database-instances.inc | 88 +++-
api-ref/source/index.rst | 1 +
api-ref/source/parameters.yaml | 472 ++++++++++++++++++++-
.../db-disable-root-user-response-json-http.txt | 2 +-
api-ref/source/user-management.inc | 2 +-
blacklist-py3.txt | 3 -
etc/trove/README-policy.generated.md | 19 +
etc/trove/api-paste.ini.test | 2 +-
etc/trove/policy.yaml.sample | 243 -----------
etc/trove/trove-conductor.conf.sample | 28 ++
etc/trove/trove-guestagent.conf.sample | 28 ++
etc/trove/trove-taskmanager.conf.sample | 31 +-
etc/trove/trove.conf.sample | 28 ++
etc/trove/trove.conf.test | 3 +-
.../scripts/files/elements/ubuntu-db2/README.md | 2 +-
.../99-reliable-apt-key-importing.bash | 34 ++
.../pre-install.d/10-percona-apt-key | 21 -
.../pre-install.d/10-mongodb-apt-key | 4 +-
.../ubuntu-mysql/pre-install.d/10-percona-apt-key | 21 -
.../pre-install.d/10-percona-apt-key | 21 -
.../ubuntu-pxc/pre-install.d/10-percona-apt-key | 21 -
.../ubuntu-trusty-mariadb/install.d/30-mariadb | 6 +-
.../install.d/30-mongodb-conf | 1 -
.../ubuntu-xenial-mariadb/install.d/30-mariadb | 6 +-
.../install.d/30-mongodb-conf | 1 -
.../files/requirements/fedora-requirements.txt | 2 +-
.../files/requirements/ubuntu-requirements.txt | 2 +-
integration/scripts/functions_qemu | 2 +-
integration/scripts/trovestack | 37 +-
lower-constraints.txt | 169 ++++++++
.../legacy/trove-functional-dsvm-mysql/post.yaml | 15 -
.../legacy/trove-functional-dsvm-mysql/run.yaml | 71 ----
.../trove-scenario-dsvm-cassandra-multi/post.yaml | 15 -
.../trove-scenario-dsvm-cassandra-multi/run.yaml | 73 ----
.../trove-scenario-dsvm-cassandra-single/post.yaml | 15 -
.../trove-scenario-dsvm-cassandra-single/run.yaml | 73 ----
.../trove-scenario-dsvm-couchbase-single/post.yaml | 15 -
.../trove-scenario-dsvm-couchbase-single/run.yaml | 73 ----
.../trove-scenario-dsvm-couchdb-single/post.yaml | 15 -
.../trove-scenario-dsvm-couchdb-single/run.yaml | 72 ----
.../trove-scenario-dsvm-mariadb-multi/post.yaml | 15 -
.../trove-scenario-dsvm-mariadb-multi/run.yaml | 72 ----
.../trove-scenario-dsvm-mariadb-single/post.yaml | 15 -
.../trove-scenario-dsvm-mariadb-single/run.yaml | 72 ----
.../trove-scenario-dsvm-mongodb-multi/post.yaml | 15 -
.../trove-scenario-dsvm-mongodb-multi/run.yaml | 72 ----
.../trove-scenario-dsvm-mongodb-single/post.yaml | 15 -
.../trove-scenario-dsvm-mongodb-single/run.yaml | 72 ----
.../trove-scenario-dsvm-mysql-multi/post.yaml | 15 -
.../trove-scenario-dsvm-mysql-multi/run.yaml | 72 ----
.../trove-scenario-dsvm-mysql-single/post.yaml | 15 -
.../trove-scenario-dsvm-mysql-single/run.yaml | 72 ----
.../trove-scenario-dsvm-percona-multi/post.yaml | 15 -
.../trove-scenario-dsvm-percona-multi/run.yaml | 72 ----
.../trove-scenario-dsvm-percona-single/post.yaml | 15 -
.../trove-scenario-dsvm-percona-single/run.yaml | 72 ----
.../trove-scenario-dsvm-postgresql-multi/post.yaml | 15 -
.../trove-scenario-dsvm-postgresql-multi/run.yaml | 73 ----
.../post.yaml | 15 -
.../trove-scenario-dsvm-postgresql-single/run.yaml | 73 ----
.../legacy/trove-scenario-dsvm-pxc-multi/post.yaml | 15 -
.../legacy/trove-scenario-dsvm-pxc-multi/run.yaml | 72 ----
.../trove-scenario-dsvm-pxc-single/post.yaml | 15 -
.../legacy/trove-scenario-dsvm-pxc-single/run.yaml | 72 ----
.../trove-scenario-dsvm-redis-multi/post.yaml | 15 -
.../trove-scenario-dsvm-redis-multi/run.yaml | 72 ----
.../trove-scenario-dsvm-redis-single/post.yaml | 15 -
.../trove-scenario-dsvm-redis-single/run.yaml | 72 ----
playbooks/trove-devstack-base.yaml | 4 +
...-migrating-mariadb-master-37e2429a1ea75913.yaml | 12 +
...of-use-nova-server-volume-2a334f57d8213810.yaml | 7 +
...-204-for-disable-root-api-a818fc41fd6e75eb.yaml | 5 +
releasenotes/source/index.rst | 1 +
releasenotes/source/queens.rst | 6 +
requirements.txt | 12 +-
roles/trove-devstack/README | 8 +
roles/trove-devstack/defaults/main.yml | 4 +
roles/trove-devstack/tasks/main.yml | 9 +
setup.cfg | 10 +
test-requirements.txt | 6 +-
tools/install_venv.py | 2 +-
tools/trove-policy-generator.conf | 3 +
tools/trove-pylint.config | 12 -
tools/trove-pylint.py | 16 +-
tox.ini | 37 +-
trove/backup/models.py | 8 +-
trove/cluster/models.py | 3 +-
trove/cmd/common.py | 4 -
trove/cmd/guest.py | 3 -
trove/cmd/manage.py | 5 -
trove/common/apischema.py | 8 +-
trove/common/cfg.py | 21 +-
trove/common/crypto_utils.py | 58 ++-
trove/common/db/cassandra/models.py | 2 +-
trove/common/db/mongodb/models.py | 2 +-
trove/common/db/mysql/models.py | 4 +-
trove/common/exception.py | 9 +
.../experimental/galera_common/taskmanager.py | 11 +-
.../strategies/cluster/experimental/mongodb/api.py | 8 +-
trove/common/stream_codecs.py | 57 ++-
trove/common/utils.py | 2 +-
trove/common/wsgi.py | 10 +-
trove/conductor/api.py | 5 +-
trove/conductor/manager.py | 9 +-
trove/configuration/models.py | 5 +-
trove/datastore/models.py | 22 +-
trove/db/sqlalchemy/mappers.py | 14 +-
trove/extensions/cassandra/__init__.py | 0
trove/extensions/cassandra/service.py | 28 --
trove/extensions/common/models.py | 14 +-
trove/extensions/common/service.py | 21 +-
trove/extensions/mysql/service.py | 10 -
trove/extensions/postgresql/__init__.py | 0
trove/extensions/postgresql/service.py | 29 --
trove/extensions/redis/service.py | 13 +-
trove/extensions/security_group/models.py | 21 +-
trove/guestagent/api.py | 6 +-
trove/guestagent/common/configuration.py | 2 +-
trove/guestagent/common/guestagent_utils.py | 2 +-
trove/guestagent/common/operating_system.py | 64 +--
.../datastore/experimental/cassandra/manager.py | 2 +-
.../datastore/experimental/couchbase/system.py | 10 +-
.../datastore/experimental/db2/system.py | 4 +-
.../datastore/experimental/mongodb/manager.py | 2 +-
.../datastore/experimental/postgresql/manager.py | 2 +-
.../datastore/experimental/postgresql/service.py | 2 +-
.../datastore/experimental/redis/service.py | 13 +-
.../datastore/experimental/vertica/system.py | 2 +-
trove/guestagent/datastore/mysql_common/manager.py | 2 +-
trove/guestagent/datastore/service.py | 4 +-
trove/guestagent/pkg.py | 6 +-
.../backup/experimental/cassandra_impl.py | 4 +-
.../backup/experimental/postgresql_impl.py | 4 +-
trove/guestagent/strategies/backup/mysql_impl.py | 3 +-
trove/guestagent/strategies/restore/base.py | 19 +-
.../restore/experimental/postgresql_impl.py | 4 +-
trove/guestagent/strategies/restore/mysql_impl.py | 40 +-
trove/instance/models.py | 31 +-
trove/module/models.py | 10 +-
trove/quota/models.py | 12 +-
trove/rpc.py | 16 +-
trove/taskmanager/manager.py | 26 +-
trove/taskmanager/models.py | 180 ++++----
trove/templates/postgresql/validation-rules.json | 3 +-
.../cluster/test_cluster_pxc_controller.py | 2 +-
.../cluster/test_cluster_redis_controller.py | 2 +-
.../cluster/test_cluster_vertica_controller.py | 2 +-
trove/versions.py | 5 +-
199 files changed, 3462 insertions(+), 3603 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 144fc1d..083ef63 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6 +6 @@ SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT
-eventlet!=0.18.3,!=0.20.1,<0.21.0,>=0.18.2 # MIT
+eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT
@@ -23 +23 @@ python-designateclient>=2.7.0 # Apache-2.0
-python-neutronclient>=6.3.0 # Apache-2.0
+python-neutronclient>=6.7.0 # Apache-2.0
@@ -27 +27 @@ jsonschema<3.0.0,>=2.6.0 # MIT
-Jinja2!=2.9.0,!=2.9.1,!=2.9.2,!=2.9.3,!=2.9.4,>=2.8 # BSD License (3 clause)
+Jinja2>=2.10 # BSD License (3 clause)
@@ -29 +29 @@ pexpect!=3.3,>=3.1 # ISC License
-oslo.config>=5.1.0 # Apache-2.0
+oslo.config>=5.2.0 # Apache-2.0
@@ -36 +36 @@ oslo.utils>=3.33.0 # Apache-2.0
-oslo.concurrency>=3.25.0 # Apache-2.0
+oslo.concurrency>=3.26.0 # Apache-2.0
@@ -47 +47 @@ xmltodict>=0.10.1 # MIT
-pycrypto>=2.6 # Public Domain
+cryptography>=2.1.4 # BSD/Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 635916e..32403d0 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -7 +7 @@ bandit>=1.1.0 # Apache-2.0
-sphinx!=1.6.6,>=1.6.2 # BSD
+sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
@@ -20 +19,0 @@ mock>=2.0.0 # BSD
-mox3>=0.20.0 # Apache-2.0
@@ -22 +20,0 @@ testtools>=2.2.0 # MIT
-testrepository>=0.0.18 # Apache-2.0/BSD
@@ -28 +26 @@ couchdb>=0.8 # Apache-2.0
-os-testr>=1.0.0 # Apache-2.0
+stestr>=1.1.0 # Apache-2.0
1
0
We are chuffed to announce the release of:
networking-ovn 5.0.0: OpenStack Neutron integration with OVN
This release is part of the rocky release series.
The source is available from:
https://git.openstack.org/cgit/openstack/networking-ovn
Download the package from:
https://pypi.org/project/networking-ovn
Please report issues through launchpad:
https://bugs.launchpad.net/networking-ovn
For more details, please see below.
Changes in networking-ovn 4.0.0.0b3..5.0.0
------------------------------------------
c221a0f Grenade: Upgrade OVS/OVN as part of the job run
4529fca DevStack: Correctly stop ovn-northd and ovn-controller
0f703a6 migration: handle the new json inventory format and silence greps
8016ee4 migration: reduce possible downtime to the minimum
3ff09db Disable agent extension until it's fully stable
09827e9 Fix functional tests
b49afd3 Add infrared plugin for OVN migration
49e8763 update requirements for neutron-lib 1.18.0
fb1b29e Support per network dns domain name in internal OVN dns
6df2161 Add grenade plugin
4cb7a96 Pass extra parameters to ansible on start-migration
04d63f7 Remove non-voting job from gate queue
1f9eda3 Add support for Neutron agent api
2d3e584 Migration: process port names properly during migration
515257f Migration: Stop ovn_controller in all hosts before syncing DB
bf1fc6f Migration: Restart the right containers for the T1 DHCP update
507ae8e Migration: Create an ansible.cfg for profiling and provide timestamps
ab3961a Fix typos in networkin-ovn-rally-task.yaml
cd5a2b6 Generate the hosts inventory for OVN migration based on roles
c84e1a9 Maintenance: Fix router ports
4087858 Fix coverage job
5089d1c Collect OVN databases logs
0ae8074 Start ovn_northd on functional test server restart
26a0faf Change ACL optmization strategy in the spec file
bae5b92 Complete migration cleanup of resources
45cddcb Use neutron 13.0.0.0b2 and don't check specific revision numbers in tests
c4bf207 Fix migration documentation
b57e33a add a link to the release notes in the README file
0fc1c8f Disable q-agt service for zull v3 rally jobs
00d6b25 During migration update dhcp_agent.ini only on controllers
f92a2c6 Separate migration steps for DHCP / MTU
c10f6b7 Fix TripleO yaml file for OVN deployments
2365df1 Add the migration script and ansible playbooks/roles to setup.cfg
a4cc95b Add the tool to update the networks MTU to entry points
9d0bc3e Fix: Router port always marked as DOWN
f33e740 Fix README setup.py check error
3c45d12 Handle Null check for STD_ATTR_MAP:
cedffc5 Remove outdated README.rst
fcbfedd [ci] use zuul v3 native job for Rally
ff5a4a0 Add default dns_server option in DHCP_Options table
93737fd ACL optimizations design spec
2b66c54 use get reader/writer session from neutron-lib
12e3be3 Migration tool: Enhance ovn_migration.sh script
59d8416 Update docs to make SBDB / NBDB listening on TCP
90c2a1c Set ovsdb probe interval to 1 minute on the client side
6546cb8 Support migrating from ML2OVS to OVN using ansible.
d97a670 Handle port's 'port_security_enabled' flag when adding ACLs
2f2fda3 Fix gate problems: Unittest and CentOS new kernel
8bc9717 Enable the quota_details API extension
7bc8164 Lower log level for the maintenance thread
f3ec3ce use neutron-lib plugin utils
5d2ef58 Fix devstack/local.conf.sample
976d3d3 Merge tempest tests on a single run
77a38a1 Properly configure the environment for functional tests
b892650 Fix test_models_sync() functional test
780678f Use OVS master for functional tests
b7548d2 Enable neutron-tempest-plugin by default in the local.conf.sample
d44edd7 Talk about the differences between ml2/ovs and ovn
974d017 Do not use a transaction for get_logical_port_chassis_and_datapath()
cb614a6 Use CentOS 7 for the tempest ovs release job
b18891d Zuul: Avoid POST_FAILURE when OVSDB files doen't exist
bbf0260 L3HA: Take priorities into account in least loaded scheduling
a4989a5 Remove hack to avoid OVS "make check-docs"
1af6ea9 Fix gate: PEP8 and ovs-master jobs
fab03e3 Break schedule_unhosted_gateways() into multiple DB transactions
8c628f3 Make tempest API/Scenario tests voting
3440262 Simplify the TripleO install guide
011dfac Clear binding:host_id when a subport is removed from a trunk
06905f0 doc: Clarify about metadata port owner and port status
4abeca7 Removing deprecated function 'IPWrapper.get_namespaces()'
3cfc022 Imported Translations from Zanata
8f67cb2 Updated from global requirements
89ed690 add lower-constraints job
5ecaa00 Fix UpdateLRouterPortCommand to work with OVS 2.8
04ffe70 Fix test_provision_path() unittest
b6613f8 Strip the trailing '.' from the fqdn dns record stored in OVN NB DB
76e4ca8 Update the outdated links
f69b68d Maintenance: Add functional tests for database sync task
9e62f3d Updated from global requirements
20e48de Avoid tox-install.sh
09530fa Documentation for deployments with TripleO/RDO
a4277f8 use plugin common utils from neutron-lib
1190b3d use common agent topics from neutron-lib
f8fd94e Check for conflict before bumping subnet's revision number
85feaa7 l3ha: Update router gateway port binding
16c7b77 Trivial doc fixes
0daf59a stop updating the global RESOURCE_ATTRIBUTE_MAP in UTs
71a5d89 Remove kuryr legacy job and move the Zuulv3 one to experimental gate
d265e93 Schedule gateway on chassis from ovn-cms-options
cae91f0 Update the outdated links
5d19dad Fix functional tests by using ovs with commit 8b70d82461ea104858ebd7d397ec004f6974240b
ca61795 Routing and L3HA documentation for admins
13f84cd reno: Remove remote names from branch specifiers
650d007 Use plain ASCII characters
197d1a5 Reorganize the documentation to show vagrant in the guide.
99856fa Trivial: Fix column span alignment problem
e50b8b5 Support different boxes per hypervisor
22c311d Updated from global requirements
b1acacb Refactor vagrant files
ebb355f Fix CI broke because of QoS interface and neutron DB interface changes
ca87d8a Update reno for stable/queens
2ed135d Fix vagrant definitions for parallels and up-to-date images
0872490 Don't enable ovn-metadata-agent if ovn-controller is disabled
d878c24 Restore DVR reference and convert graphics to SVG
01291d3 Fix time accounting for the maintenance thread
329d6d8 Tempest: Enable pagination, sorting and project-id API extensions
74a495c Enable trunk tempest tests
3e0cfc2 Maintenance: Skip fixing resources deleted mid-operation
e593cb4 Maintenance: Log how long the synchronization took
251aabd Fix error in router port maintenance code
ef21091 Spawn ovn-northd for functional tests
e4cd288 Remove tempest.scenario.test_network_v6 from exclusion regex
e3c19ff devstack: Switch to branch 2.9 for OVN_BRANCH
2857577 Invert order when collecting logs in tempest-post-common.yml
cb9a05e Use neutron-tempest-plugin for API and scenario tests
37b30bc Zuul: Remove project name
f491fba Updated from global requirements
d205e0f Check for router port correctness
48c3fbb Use metadata IP as DHCP service IP for subnet without gateway IP
4a41f60 Fix RDO OVN scenario job by checking DB schema (iii)
91ca4f8 Fix router port creation
dc84c23 Maintenance: Avoid code duplication
3fed2a9 Maintenance task: Ordering resources by type
17f62a5 Name is error when finding revision_number in CheckRevisionNumber
62cebd2 Updated from global requirements
8c9eb58 Functional tests: Leave fixtures to remove the dbs
c09722b Use placement-client rather than placement-api
Diffstat (except docs and test files)
-------------------------------------
README.rst | 7 +-
devstack/computenode-local.conf.sample | 8 +-
devstack/devstackgatekuryrrc | 25 -
devstack/devstackgaterc | 29 +-
devstack/lib/networking-ovn | 99 +-
devstack/local.conf.sample | 25 +-
devstack/override-defaults | 2 +-
devstack/upgrade/resources.sh | 15 -
devstack/upgrade/settings | 20 +-
devstack/upgrade/upgrade.sh | 107 +-
.../figures/ovn-north-south-distributed-fip.svg | 3090 ++++++++++++++++
.../ovn-architecture-centralized-routing1.graffle | Bin 13248 -> 0 bytes
.../ovn-architecture-centralized-routing1.png | Bin 152109 -> 0 bytes
.../ovn-architecture-centralized-routing1.svg | 335 --
.../refarch/figures/ovn-architecture1.graffle | Bin 10653 -> 0 bytes
.../admin/refarch/figures/ovn-architecture1.png | Bin 108049 -> 205984 bytes
.../admin/refarch/figures/ovn-architecture1.svg | 1808 +++++++--
.../admin/refarch/figures/ovn-compute1.graffle | Bin 6636 -> 0 bytes
.../admin/refarch/figures/ovn-services.graffle | Bin 5391 -> 0 bytes
.../contributor/design/acl_optimizations.rst | 209 ++
.../contributor/design/database_consistency.rst | 6 +-
.../contributor/vagrant/sparse-architecture.rst | 104 +
.../install/figures/ovn-initial-resources.svg | 1596 ++++++++
lower-constraints.txt | 152 +
migration/README.rst | 3 +
.../infrared/tripleo-ovn-migration/README.rst | 33 +
migration/infrared/tripleo-ovn-migration/main.yml | 232 ++
.../roles/create-resources/defaults/main.yml | 9 +
.../roles/create-resources/tasks/main.yml | 31 +
.../templates/create-resources.sh.j2 | 153 +
.../create-resources/templates/start-pinger.sh.j2 | 58 +
.../roles/prepare-migration/defaults/main.yml | 7 +
.../roles/prepare-migration/tasks/main.yml | 163 +
.../templates/start-ovn-migration.sh.j2 | 7 +
migration/migrate-to-ovn.yml | 2 +
migration/tripleo_environment/ovn_migration.sh | 333 ++
.../tripleo_environment/playbooks/migrate.yml | 30 +
.../playbooks/ovn-migration.yml | 25 +
.../playbooks/post-migration.yml | 52 +
.../playbooks/pre-migration.yml | 17 +
.../playbooks/reduce-dhcp-renewal-time.yml | 24 +
.../playbooks/roles/activate-ovn/defaults/main.yml | 6 +
.../playbooks/roles/activate-ovn/tasks/main.yml | 16 +
.../activate-ovn/templates/activate-ovn.sh.j2 | 39 +
.../playbooks/roles/backup/tasks/main.yml | 19 +
.../playbooks/roles/cleanup/defaults/main.yml | 12 +
.../playbooks/roles/cleanup/tasks/main.yml | 67 +
.../playbooks/roles/clone-dataplane/tasks/main.yml | 15 +
.../clone-dataplane/templates/clone-br-int.sh.j2 | 77 +
.../delete-neutron-resources/defaults/main.yml | 5 +
.../roles/delete-neutron-resources/tasks/main.yml | 20 +
.../templates/delete-neutron-resources.sh.j2 | 29 +
.../roles/resources/cleanup/defaults/main.yml | 6 +
.../roles/resources/cleanup/tasks/main.yml | 18 +
.../cleanup/templates/cleanup-resources.sh.j2 | 32 +
.../roles/resources/create/defaults/main.yml | 9 +
.../roles/resources/create/tasks/main.yml | 22 +
.../create/templates/create-resources.sh.j2 | 128 +
.../roles/resources/validate/defaults/main.yml | 5 +
.../roles/resources/validate/tasks/main.yml | 12 +
.../validate/templates/validate-resources.sh.j2 | 17 +
.../playbooks/roles/sync-dbs/tasks/main.yml | 21 +
.../roles/tripleo-update/defaults/main.yml | 6 +
.../playbooks/roles/tripleo-update/tasks/main.yml | 22 +
.../templates/generate-ovn-extras.sh.j2 | 7 +
.../tripleo_environment/playbooks/setup-ovn.yml | 15 +
networking_ovn/agent/metadata/agent.py | 2 +-
networking_ovn/agent/metadata/server.py | 4 +-
networking_ovn/cmd/migration_mtu.py | 103 +
networking_ovn/cmd/neutron_ovn_db_sync_util.py | 2 +-
networking_ovn/common/acl.py | 16 +-
networking_ovn/common/config.py | 19 +-
networking_ovn/common/constants.py | 30 +
networking_ovn/common/extensions.py | 7 +-
networking_ovn/common/maintenance.py | 313 +-
networking_ovn/common/ovn_client.py | 286 +-
networking_ovn/common/utils.py | 28 +
networking_ovn/db/maintenance.py | 11 +-
.../alembic_migrations/versions/EXPAND_HEAD | 2 +-
...9b8aad9f2_add_journal_and_maintenance_tables.py | 9 +-
...d2723b6_add_ovn_revision_resource_type_as_pk.py | 51 +
.../bc9e24bb9da2_drop_journaling_related_tables.py | 5 +-
.../f48286668608_add_ovn_revision_numbers_table.py | 11 +-
networking_ovn/db/models.py | 10 +-
networking_ovn/db/revision.py | 20 +-
networking_ovn/l3/l3_ovn.py | 109 +-
networking_ovn/l3/l3_ovn_scheduler.py | 25 +-
.../locale/en_GB/LC_MESSAGES/networking_ovn.po | 8 +-
networking_ovn/ml2/mech_driver.py | 144 +-
networking_ovn/ml2/qos_driver.py | 3 +-
networking_ovn/ml2/trunk_driver.py | 2 +
networking_ovn/ovn_db_sync.py | 2 +
networking_ovn/ovsdb/commands.py | 32 +-
networking_ovn/ovsdb/impl_idl_ovn.py | 131 +-
networking_ovn/ovsdb/ovn_api.py | 33 +-
networking_ovn/ovsdb/ovsdb_monitor.py | 45 +-
.../legacy/grenade-dsvm-networking-ovn/run.yaml | 26 +-
.../install-dsvm-networking-ovn-kuryr/post.yaml | 15 -
.../install-dsvm-networking-ovn-kuryr/run.yaml | 63 -
.../legacy/rally-dsvm-networking-ovn/post.yaml | 21 -
.../legacy/rally-dsvm-networking-ovn/run.yaml | 65 -
.../tempest-dsvm-networking-ovn-multinode/run.yaml | 4 +-
.../post.yaml | 4 -
.../run.yaml | 78 -
.../run.yaml | 4 +-
.../run.yaml | 5 +-
.../run.yaml | 1 +
.../run.yaml | 9 +-
playbooks/legacy/tempest-post-common.yml | 19 +
plugin.spec | 77 +
...ration-from-ml2ovs-to-ovn-30ea4dea163d20c0.yaml | 9 +
...etwork-dns-domain-support-85dd1e20d9c432c6.yaml | 7 +
...ions-enable-chassis-as-gw-3adc7024478e3efa.yaml | 19 +
...probe-interval-to-60-secs-cb4d3c5ec930f4a8.yaml | 12 +
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 23 +-
releasenotes/source/newton.rst | 2 +-
releasenotes/source/ocata.rst | 2 +-
releasenotes/source/queens.rst | 6 +
requirements.txt | 12 +-
setup.cfg | 5 +
test-requirements.txt | 4 +-
tools/configure_for_func_testing.sh | 190 +
tools/tox_install.sh | 68 -
tox.ini | 23 +-
tripleo/ovn.yml | 48 +
vagrant/README.rst | 125 +-
vagrant/Vagrantfile | 302 --
vagrant/provisioning/boxes.yml | 6 +
vagrant/provisioning/provider-setup.sh | 13 +-
vagrant/provisioning/providers.rb | 42 +
vagrant/provisioning/setup-base.sh | 14 +-
vagrant/provisioning/setup-compute.sh | 8 +-
vagrant/provisioning/setup-controller.sh | 27 +-
vagrant/provisioning/setup-db.sh | 14 +-
vagrant/provisioning/setup-vtep.sh | 6 +-
vagrant/provisioning/virtualbox.conf.yml | 47 -
vagrant/sparse/README.rst | 8 +
vagrant/sparse/Vagrantfile | 96 +
vagrant/sparse/instances.yml | 46 +
zuul.d/legacy-networking-ovn-jobs.yaml | 71 +-
zuul.d/networkin-ovn-rally-task.yaml | 29 +
zuul.d/project.yaml | 22 +-
200 files changed, 39713 insertions(+), 3253 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 6e938ea..cb7c4e9 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -7,2 +7,3 @@ netaddr>=0.7.18 # BSD
-neutron-lib>=1.12.0 # Apache-2.0
-oslo.config>=5.1.0 # Apache-2.0
+SQLAlchemy>=1.2.0 # MIT
+neutron-lib>=1.18.0 # Apache-2.0
+oslo.config>=5.2.0 # Apache-2.0
@@ -10 +11 @@ ovs>=2.8.0 # Apache-2.0
-ovsdbapp>=0.8.0 # Apache-2.0
+ovsdbapp>=0.10.0 # Apache-2.0
@@ -12,2 +13,2 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0
-pyOpenSSL>=16.2.0 # Apache-2.0
-tenacity>=3.2.1 # Apache-2.0
+pyOpenSSL>=17.1.0 # Apache-2.0
+tenacity>=4.4.0 # Apache-2.0
@@ -15,0 +17 @@ six>=1.10.0 # MIT
+neutron>=13.0.0.0b2 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index e9148e8..9d41d7c 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -10,2 +10,2 @@ python-subunit>=1.0.0 # Apache-2.0/BSD
-sphinx!=1.6.6,>=1.6.2 # BSD
-openstackdocstheme>=1.17.0 # Apache-2.0
+sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
+openstackdocstheme>=1.18.1 # Apache-2.0
1
0
We contentedly announce the release of:
neutron-fwaas 13.0.0: OpenStack Networking FWaaS
This release is part of the rocky release series.
Download the package from:
https://tarballs.openstack.org/neutron-fwaas/
For more details, please see below.
13.0.0
^^^^^^
Prelude
*******
Resource type **firewall group** has been supported for neutron packet
logging framework. You can specify firewall group as "--resource-
type" for logging API.
New Features
************
* Enable to collect network packet log for ACCEPT/DROP action from
firewall groups. Currently, packet logging supports only L3(router)
ports.
Known Issues
************
* [bug 1720727] Currently, we cannot specify the following
combination on CLI due to missing validation of --resource-type:
* --resource-type firewall_group --resource <ID of firewall
group>
* --resource-type firewall_group --resource <ID of firewall
group> --target <ID of port>
Therefore, you can only run with following combinations:
* --resource-type firewall_group --target <ID of port>
* --resource-type firewall_group
Changes in neutron-fwaas 12.0.0..13.0.0
---------------------------------------
7567c42 Remove remaining NFLOG rules on deleting log resource
1b7aaba Update .gitreview for stable/rocky
5b3ac1e Add releasenote for FWaaS v2 logging
507392b [log] FWaaS L3 Logging driver based iptables
15cabc7 Add python binding for libnetfilter_log
ea430ee Adding resources callback handler for FWaaS v2 logging
fb1dab7 [log]: Add rpc stuff for logging
dd9aec1 Add log validator for FWaaS v2 logging
d61bd29 Adding 'logapi' in apidoc_excluded_paths for sphinx-docs job
2cbb6c6 Add neutron as required-projects
d865155 Add notification callback events for FWaaS v2
d38f76e Introduce accepted/dropped/rejected chains for future processing
3b1590f FWaaS v2: L3 logging agent extension
81d41e2 Follow-up to fix some namespace tests
f6e0a06 [FWaaS_v2]: RPC listener should be served by rpc worker
d625886 update requirements for neutron-lib 1.18.0
a661959 use autonested_transaction from neutron-lib
21b0063 Add release note in README
048750b Remove setting of DEVSTACK_GATE_EXERCISES
a3be36c python3: fix netlink_lib delete_entries
ca1c3b7 Exclude requirements from doc8
06517c1 [FWaaS v1] RPC listener should be served by rpc worker
06c235a Imported Translations from Zanata
1f3bfe2 [Gate] Avoid sphinx_build error and fix functional test
b3a0f3b Check pep8 without ignoring D000
1f97119 Add fullstack testing for neutron-fwaas
636d909 add missing __init__.py file for alembic
a42b27f Imported Translations from Zanata
9b353af Implements a plugable backend driver
87442ec Fix python3 dict values breakage
f11b1a8 Remove firewall (v1) shared attribute from tests
cd33d79 uncap eventlet
3bbeb64 use rpc Connection rather than create_connection
87eb1b1 Fix pep8 new warnings
e4b6f60 Follow the new PTI for document build
d8ed590 Fix incompatible requirement in lower-constraints
dafefbe Remove unused plugin.get_plugin_name()
d9c52bc Fix sanity check for default firewall group name
e6b60df Updated from global requirements
e1231cd tests: don't rely on configuration files outside tests directory
449568c add lower-constraints job
d4de944 Updated from global requirements
4b315e1 Avoid tox-install.sh
5706252 DVR-FWaaS: Fix DVR FWaaS rules for fipnamespace
089d413 Updated from global requirements
4aa3cec Filter out conntrack entries with unknown protocol
29fd5ff Revert "Skip unknown protocols while deleting conntrack"
9b89d48 Skip unknown protocols while deleting conntrack
07a6a05 Imported Translations from Zanata
acc08e0 Make firewall l2 agent extension more generic
580c959 use is_extension_supported from neutron-lib
3976042 Update reno for stable/queens
b120784 Enable hacking-extensions H204, H205
55ffabd Fix devstack configuration for fwaas v2
5df09f1 Shrink Tempest scenario manager copy
83f85e1 Fix V2 update_firewall_group logging
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
.zuul.yaml | 48 +
README.rst | 3 +
devstack/README.rst | 8 +-
devstack/plugin.sh | 18 +-
devstack/settings | 3 +-
lower-constraints.txt | 149 +++
neutron_fwaas/common/fwaas_constants.py | 6 +
neutron_fwaas/db/firewall/v2/firewall_db_v2.py | 301 ++---
.../db/migration/alembic_migrations/__init__.py | 0
.../versions/4202e3047e47_add_index_tenant_id.py | 3 +-
.../540142f314f4_fwaas_router_insertion.py | 8 +-
.../versions/796c68dffbb_cisco_csr_fwaas.py | 7 +-
...5cc0_shared_attribute_for_firewall_resources.py | 6 +-
...2258a43_create_default_firewall_groups_table.py | 10 +-
...e5bff_uniq_firewallgroupportassociation0port.py | 8 +-
neutron_fwaas/extensions/firewall.py | 3 -
neutron_fwaas/extensions/firewall_v2.py | 28 +-
.../locale/en_GB/LC_MESSAGES/neutron_fwaas.po | 36 +-
neutron_fwaas/opts.py | 12 +-
neutron_fwaas/privileged/netfilter_log/__init__.py | 0
.../privileged/netfilter_log/libnetfilter_log.py | 329 +++++
neutron_fwaas/privileged/netlink_lib.py | 7 +-
neutron_fwaas/privileged/utils.py | 26 +-
neutron_fwaas/services/firewall/agents/__init__.py | 0
.../services/firewall/agents/firewall_agent_api.py | 91 --
.../services/firewall/agents/firewall_service.py | 44 -
.../services/firewall/agents/l2/__init__.py | 0
.../services/firewall/agents/l2/fwaas_v2.py | 493 -------
.../firewall/agents/l3reference/__init__.py | 0
.../agents/l3reference/firewall_l3_agent.py | 426 -------
.../agents/l3reference/firewall_l3_agent_v2.py | 543 --------
.../services/firewall/drivers/__init__.py | 0
.../services/firewall/drivers/conntrack_base.py | 55 -
.../services/firewall/drivers/fwaas_base.py | 120 --
.../services/firewall/drivers/fwaas_base_v2.py | 97 --
.../services/firewall/drivers/linux/__init__.py | 0
.../firewall/drivers/linux/iptables_fwaas.py | 430 -------
.../firewall/drivers/linux/iptables_fwaas_v2.py | 462 -------
.../services/firewall/drivers/linux/l2/__init__.py | 0
.../firewall/drivers/linux/l2/driver_base.py | 63 -
.../firewall/drivers/linux/l2/noop/__init__.py | 0
.../firewall/drivers/linux/l2/noop/noop_driver.py | 40 -
.../linux/l2/openvswitch_firewall/__init__.py | 19 -
.../linux/l2/openvswitch_firewall/constants.py | 64 -
.../linux/l2/openvswitch_firewall/exceptions.py | 26 -
.../linux/l2/openvswitch_firewall/firewall.py | 1034 ---------------
.../drivers/linux/l2/openvswitch_firewall/rules.py | 206 ---
.../firewall/drivers/linux/legacy_conntrack.py | 215 ----
.../firewall/drivers/linux/netlink_conntrack.py | 143 ---
neutron_fwaas/services/firewall/fwaas_plugin.py | 11 +-
neutron_fwaas/services/firewall/fwaas_plugin_v2.py | 679 +++++-----
.../services/firewall/service_drivers/__init__.py | 0
.../firewall/service_drivers/agents/__init__.py | 0
.../firewall/service_drivers/agents/agents.py | 354 +++++
.../service_drivers/agents/drivers/__init__.py | 0
.../agents/drivers/conntrack_base.py | 55 +
.../service_drivers/agents/drivers/fwaas_base.py | 120 ++
.../agents/drivers/fwaas_base_v2.py | 97 ++
.../agents/drivers/linux/__init__.py | 0
.../agents/drivers/linux/iptables_fwaas.py | 431 +++++++
.../agents/drivers/linux/iptables_fwaas_v2.py | 532 ++++++++
.../agents/drivers/linux/l2/__init__.py | 0
.../agents/drivers/linux/l2/driver_base.py | 63 +
.../agents/drivers/linux/l2/noop/__init__.py | 0
.../agents/drivers/linux/l2/noop/noop_driver.py | 41 +
.../linux/l2/openvswitch_firewall/__init__.py | 19 +
.../linux/l2/openvswitch_firewall/constants.py | 64 +
.../linux/l2/openvswitch_firewall/exceptions.py | 26 +
.../linux/l2/openvswitch_firewall/firewall.py | 1032 +++++++++++++++
.../drivers/linux/l2/openvswitch_firewall/rules.py | 207 +++
.../agents/drivers/linux/legacy_conntrack.py | 221 ++++
.../agents/drivers/linux/netlink_conntrack.py | 144 +++
.../service_drivers/agents/firewall_agent_api.py | 94 ++
.../service_drivers/agents/firewall_service.py | 44 +
.../firewall/service_drivers/agents/l2/__init__.py | 0
.../firewall/service_drivers/agents/l2/fwaas_v2.py | 493 +++++++
.../service_drivers/agents/l3reference/__init__.py | 0
.../agents/l3reference/firewall_l3_agent.py | 428 +++++++
.../agents/l3reference/firewall_l3_agent_v2.py | 545 ++++++++
.../firewall/service_drivers/driver_api.py | 526 ++++++++
neutron_fwaas/services/logapi/__init__.py | 0
neutron_fwaas/services/logapi/agents/__init__.py | 0
.../services/logapi/agents/drivers/__init__.py | 0
.../logapi/agents/drivers/iptables/__init__.py | 0
.../logapi/agents/drivers/iptables/driver.py | 67 +
.../services/logapi/agents/drivers/iptables/log.py | 518 ++++++++
.../services/logapi/agents/l3/__init__.py | 0
neutron_fwaas/services/logapi/agents/l3/fwg_log.py | 36 +
neutron_fwaas/services/logapi/common/__init__.py | 0
.../services/logapi/common/fwg_callback.py | 61 +
neutron_fwaas/services/logapi/common/log_db_api.py | 217 ++++
neutron_fwaas/services/logapi/constants.py | 21 +
neutron_fwaas/services/logapi/exceptions.py | 34 +
neutron_fwaas/services/logapi/fwg_validate.py | 125 ++
neutron_fwaas/services/logapi/rpc/__init__.py | 0
neutron_fwaas/services/logapi/rpc/log_server.py | 30 +
.../unit/db/firewall/v2/test_firewall_db_v2.py | 631 ++-------
.../unit/privileged/netfilter_log/__init__.py | 0
.../netfilter_log/test_libnetfilter_log.py | 137 ++
.../unit/services/firewall/agents/__init__.py | 0
.../unit/services/firewall/agents/l2/__init__.py | 0
.../unit/services/firewall/agents/l2/fake_data.py | 153 ---
.../services/firewall/agents/l2/test_fwaas_v2.py | 769 -----------
.../firewall/agents/l3reference/__init__.py | 0
.../agents/l3reference/test_firewall_l3_agent.py | 360 ------
.../l3reference/test_firewall_l3_agent_v2.py | 456 -------
.../firewall/agents/test_firewall_agent_api.py | 94 --
.../firewall/agents/test_firewall_service.py | 59 -
.../unit/services/firewall/drivers/__init__.py | 0
.../services/firewall/drivers/linux/__init__.py | 0
.../services/firewall/drivers/linux/l2/__init__.py | 0
.../firewall/drivers/linux/l2/noop/__init__.py | 0
.../drivers/linux/l2/noop/test_noop_driver.py | 43 -
.../linux/l2/openvswitch_firewall/__init__.py | 0
.../linux/l2/openvswitch_firewall/test_firewall.py | 690 ----------
.../linux/l2/openvswitch_firewall/test_rules.py | 338 -----
.../firewall/drivers/linux/test_iptables_fwaas.py | 411 ------
.../drivers/linux/test_iptables_fwaas_v2.py | 426 -------
.../drivers/linux/test_legacy_conntrack.py | 141 --
.../drivers/linux/test_netlink_conntrack.py | 239 ----
.../unit/services/firewall/plugins/__init__.py | 0
.../services/firewall/service_drivers/__init__.py | 0
.../firewall/service_drivers/agents/__init__.py | 0
.../service_drivers/agents/drivers/__init__.py | 0
.../agents/drivers/linux/__init__.py | 0
.../agents/drivers/linux/l2/__init__.py | 0
.../agents/drivers/linux/l2/noop/__init__.py | 0
.../drivers/linux/l2/noop/test_noop_driver.py | 44 +
.../linux/l2/openvswitch_firewall/__init__.py | 0
.../linux/l2/openvswitch_firewall/test_firewall.py | 695 ++++++++++
.../linux/l2/openvswitch_firewall/test_rules.py | 338 +++++
.../agents/drivers/linux/test_iptables_fwaas.py | 412 ++++++
.../agents/drivers/linux/test_iptables_fwaas_v2.py | 437 +++++++
.../agents/drivers/linux/test_legacy_conntrack.py | 163 +++
.../agents/drivers/linux/test_netlink_conntrack.py | 240 ++++
.../firewall/service_drivers/agents/l2/__init__.py | 0
.../service_drivers/agents/l2/fake_data.py | 153 +++
.../service_drivers/agents/l2/test_fwaas_v2.py | 770 +++++++++++
.../service_drivers/agents/l3reference/__init__.py | 0
.../agents/l3reference/test_firewall_l3_agent.py | 361 ++++++
.../l3reference/test_firewall_l3_agent_v2.py | 457 +++++++
.../firewall/service_drivers/agents/test_agents.py | 654 ++++++++++
.../agents/test_firewall_agent_api.py | 97 ++
.../agents/test_firewall_service.py | 61 +
.../unit/services/firewall/test_fwaas_plugin.py | 32 +-
.../unit/services/firewall/test_fwaas_plugin_v2.py | 1348 +++++++++-----------
.../services/logapi/agents/drivers/__init__.py | 0
.../logapi/agents/drivers/iptables/__init__.py | 0
.../logapi/agents/drivers/iptables/test_driver.py | 53 +
.../logapi/agents/drivers/iptables/test_log.py | 341 +++++
.../unit/services/logapi/agents/l3/__init__.py | 0
.../unit/services/logapi/agents/l3/test_fwg_log.py | 51 +
.../services/logapi/common/test_fwg_callback.py | 223 ++++
.../unit/services/logapi/common/test_log_db_api.py | 299 +++++
.../unit/services/logapi/rpc/test_log_server.py | 56 +
.../unit/services/logapi/test_fwg_validate.py | 157 +++
playbooks/neutron-fwaas-fullstack/post.yaml | 80 ++
playbooks/neutron-fwaas-fullstack/run.yaml | 53 +
.../notes/fwaas-v2-logging-79cbaa43ff17f47f.yaml | 22 +
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 123 +-
releasenotes/source/queens.rst | 6 +
requirements.txt | 12 +-
setup.cfg | 38 +-
test-requirements.txt | 9 +-
tools/configure_for_func_testing.sh | 281 ++++
tools/tox_install.sh | 70 -
tox.ini | 60 +-
200 files changed, 17060 insertions(+), 12063 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index b1ed3cb..f4bd3c0 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6 +6 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0
-eventlet!=0.18.3,!=0.20.1,<0.21.0,>=0.18.2 # MIT
+eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT
@@ -11,2 +11,2 @@ six>=1.10.0 # MIT
-neutron-lib>=1.13.0 # Apache-2.0
-oslo.config>=5.1.0 # Apache-2.0
+neutron-lib>=1.18.0 # Apache-2.0
+oslo.config>=5.2.0 # Apache-2.0
@@ -20,4 +20,2 @@ pyroute2>=0.4.21;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
-# This project does depend on neutron as a library, but the
-# openstack tooling does not play nicely with projects that
-# are not publicly available in pypi.
-# -e git+https://git.openstack.org/openstack/neutron#egg=neutron
+neutron>=13.0.0.0b1 # Apache-2.0
+pyzmq>=14.3.1 # LGPL+BSD
diff --git a/test-requirements.txt b/test-requirements.txt
index 9a655fd..ff121d7 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -7 +6,0 @@ coverage!=4.4,>=4.0 # Apache-2.0
-fixtures>=3.0.0 # Apache-2.0/BSD
@@ -11,4 +10,2 @@ python-subunit>=1.0.0 # Apache-2.0/BSD
-requests-mock>=1.1.0 # Apache-2.0
-sphinx!=1.6.6,>=1.6.2 # BSD
-openstackdocstheme>=1.18.1 # Apache-2.0
-oslo.concurrency>=3.25.0 # Apache-2.0
+requests-mock>=1.2.0 # Apache-2.0
+oslo.concurrency>=3.26.0 # Apache-2.0
@@ -23 +19,0 @@ oslotest>=3.2.0 # Apache-2.0
-reno>=2.5.0 # Apache-2.0
@@ -26,0 +23 @@ doc8>=0.6.0 # Apache-2.0
+Pygments>=2.2.0 # BSD
1
0