Release-announce
Threads by month
- ----- 2024 -----
- 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
October 2020
- 1 participants
- 201 discussions
We are tickled pink to announce the release of:
octavia-dashboard 6.0.0: Horizon panels for Octavia
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/octavia-dashboard
Download the package from:
https://pypi.org/project/octavia-dashboard
Please report issues through:
https://storyboard.openstack.org/#!/project/openstack/octavia-
dashboard
For more details, please see below.
Changes in octavia-dashboard 5.0.0.0rc1..6.0.0
----------------------------------------------
3b3f917 Imported Translations from Zanata
f9622dc Update TOX_CONSTRAINTS_FILE for stable/victoria
f4a5f19 Update .gitreview for stable/victoria
8a2b852 [goal] Migrate testing to ubuntu focal
6a8f880 Add proxy protocol v2 support to dashboard
d70f7b1 Fix up display of selected Availability zone in workflow.
323c3a7 Imported Translations from Zanata
6db692e Bump the minimum openstacksdk version
4f9ffa1 drop mock from lower-constraints
b51aa8a Cleanup py27 support
27aa53d Switch to newer openstackdocstheme and reno versions
771dcae Switch to hacking 3.0
49fc8d9 Imported Translations from Zanata
03a5595 Add py38 package metadata
782322f Imported Translations from Zanata
51bf129 Imported Translations from Zanata
ecb04e4 Add Python3 victoria unit tests
3452adb Update master for stable/ussuri
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
bindep.txt | 4 +
lower-constraints.txt | 13 +-
octavia_dashboard/api/rest/lbaasv2.py | 2 +-
octavia_dashboard/karma.conf.js | 2 +-
.../locale/de/LC_MESSAGES/djangojs.po | 16 +-
.../locale/en_AU/LC_MESSAGES/djangojs.po | 608 ---------------------
.../locale/en_GB/LC_MESSAGES/djangojs.po | 18 +-
.../locale/id/LC_MESSAGES/djangojs.po | 11 +-
.../locale/ja/LC_MESSAGES/djangojs.po | 11 +-
.../locale/ko_KR/LC_MESSAGES/djangojs.po | 20 +-
.../locale/zh_CN/LC_MESSAGES/djangojs.po | 9 +-
.../loadbalancer/loadbalancer.controller.js | 2 +-
.../loadbalancer/loadbalancer.controller.spec.js | 2 +-
.../project/lbaasv2/workflow/model.service.js | 6 +-
.../project/lbaasv2/workflow/model.service.spec.js | 1 +
.../project/lbaasv2/workflow/pool/pool.help.html | 2 +-
.../notes/Add-ProxyV2-b5537c092737fe41.yaml | 4 +
releasenotes/source/conf.py | 7 +-
releasenotes/source/index.rst | 1 +
.../source/locale/de/LC_MESSAGES/releasenotes.po | 86 ---
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 333 -----------
.../source/locale/id/LC_MESSAGES/releasenotes.po | 318 -----------
.../locale/ko_KR/LC_MESSAGES/releasenotes.po | 307 -----------
.../locale/zh_CN/LC_MESSAGES/releasenotes.po | 197 -------
.../locale/zh_TW/LC_MESSAGES/releasenotes.po | 197 -------
releasenotes/source/ussuri.rst | 6 +
requirements.txt | 2 +-
setup.cfg | 30 +-
setup.py | 9 -
test-requirements.txt | 2 +-
tox.ini | 13 +-
zuul.d/projects.yaml | 2 +-
35 files changed, 89 insertions(+), 2176 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 3ba3763..e455f2e 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -7 +7 @@ Babel!=2.4.0,>=2.3.4 # BSD
-openstacksdk>=0.24.0 # Apache-2.0
+openstacksdk>=0.46.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 123e9ee..80bcf62 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -5 +5 @@
-hacking>=1.1.0,<1.2.0 # Apache-2.0
+hacking>=3.0.1,<3.1.0 # Apache-2.0
1
0
We are ecstatic to announce the release of:
neutron 17.0.0: OpenStack Networking
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/neutron
Download the package from:
https://tarballs.openstack.org/neutron/
Please report issues through:
https://bugs.launchpad.net/neutron/+bugs
For more details, please see below.
Changes in neutron 16.0.0.0rc1..17.0.0
--------------------------------------
0562335908 Fix dhcp_release when client_id is specified
341401d916 Add source_ip_prefix and destination_ip_prefix to metering label rules
f25f05959a [OVN] update_port should not remove values from external_ids
a88f5438b9 Migrate tempest jobs to Focal
685903e099 Update TOX_CONSTRAINTS_FILE for stable/victoria
d861efcd92 Update .gitreview for stable/victoria
0817c42799 ovn: Document gap about IPv6 PD in OVN
0a785e90c3 [OVN] Fix get/update/delete of non-OVN agents
2a12737d18 [OVN] Zuul: Copy OVSDB logs and DBs
4b89e87959 [ovn]: Use assertCountEqual instead of assertEqual when appropriate
f2643f27fb [OVN] Fix test_add_interface_in_use negative test
7e116fe70e Revert "Updating the pecan version requirement"
3cae952b72 [OVN] Updates to tools/migrate_names.txt
a1d89e6f0e Remove install unnecessary packages
53625d0bcc Bump neutron-lib version to 2.6.0
4b30dc2330 ovn migration: Fix neutron server container name
f3a8e1547d [OVN][OVS] Different metadata_workers default based on driver
a84462f698 ovn: Always use UTC for Hash ring timestamps
db4ff00175 Bump eventlet/oslo.messaging requirements
d4ae3f75a5 Change "propagate_uplink_status" default value to True
1d13b20c94 [OVN] Updates to tools/migrate_names.txt
3f30727c0a Use metadata constants from n-lib
bd1467b47c Granular metering data in neutron-metering-agent
30747a5aac Revert "Squash alchemy Liberty branch"
0c6ea20ba5 [ovn]: port forwarding -- move documentation to better place
0deec6621e [ovn]: port forwarding -- functional tests for maintenance task
7f494fa3ae Show cmd detail when execute linux command failed
4216e43f96 [OVN] Do not fail to when deleting PG if it's already gone
6fc24afd9a Use MagicMock for Connection object
72b3fc5745 Move pylint disable comment to an effective place
ca36dbde10 Rename networking-ovn-metadata-agent to neutron-ovn-metadata-agent
40918cdb9b [OVN] Gap: Add QoS minimum bandwidth allocation in Placement API
a818c41c25 metadata-ipv6: Accept link local address in X-Forwarded-For
a1f4ee3ade metadata-ipv6: Router namespace
a0b18d553d metadata-ipv6: DHCP namespace
5a39be9cb8 Fix R1720 pylint error in test_utils
827c5878d3 Simplify OVN Agent API implementation
b64a9c177f Force ncat install for functional/fullstack jobs
e1582e39a1 Don't directly access the in-memory DB for NB_Global row
3ae3c080db Disable "no-value-for-parameter" pep8 error in DictModel
eafa4ae6c8 Switch to new enginefacade in uplink_status_propagation UT module
5b4630913e Switch to new engine facade in OVN trunk driver module
671c3978a1 Bump some lower constraints for Focal migration
513c3652b4 Update IPv6 Prefix Delegation docs
68ec29abf0 [OVN] Use the OVN DevStack module
a08893368a Don't raise FileNotFoundError during disabling keepalived
7fd2725cb1 Do not skip ports with ofport unset or invalid
a4e04a7f8b Fix get_ipv6_llas method in the interface driver
81d375d39a Handle properly existing LLA address during l3 agent restart
1dddbbfc92 [OVN] Use the Chassis_Private table for agents healthcheck
13b894288e Fix deletion of subnet_id from pd_subnets
055036ba2b Improve terminology in the Neutron tree
b0c6cb35e7 Announce deprecation of `remote_ip_prefix` in metering label rules
ee50f7cfcf Raise minimal greenlet version
5eca44bfa8 Ensure fip ip rules deleted when fip removed
6a9fce39d6 "round" may bump 1 second to 2 if sleep takes more than 1.49 sec
7abe0ee34c Add 'keepalived_use_no_track' config option
dd20cab371 Support Address Group CRUD as extensions
361b485318 [ovn]: port forwarding -- feature support under ovn_db_sync
7f551db9be [OVN] Update sample local.conf to support segments
3000f3c541 Promote -uwsgi jobs to be gating
95247da614 Bump neutron-lib version to 2.5.0
d74f409c82 [ovn]: port forwarding -- core changes
e92193d246 Updating the pecan version requirement
cc54a1c38e Fix port can not be created with the sg of other project
5f9b5dd861 port_forwarding: validate args before invoking db update (cont.)
cebdd77af8 Bump pylint version to support python 3.8
4ad21fd23a migration: Restart OVS after setting protocols
e5ce193189 Support pyroute2 0.5.13
31a95c085f Use ebtables-legacy on Ubuntu Focal
ce1eebbf57 Bump oslo.privsep to 2.3.0
63322d12e4 Add "neutron" devstack plugin to all tempest jobs
c9242f9a88 Allow RBAC on Neutron quotas
6723f4a485 Clean up some of the OVN agent API methods
38c7fd7cef Fix validation of IPv6 subnets with external RAs
605de6d968 [ovn]: port forwarding -- Functional test for IDL changes
68e5e1b8fe Specify C shared library in Pyroute2 namespace context
0c55ab9c78 [Functional] Add logging to the check test file function
17f2ba3afb [ovn] Use normalized remote prefix IPs in OVN driver
e2060a2f0b [ovn]: port forwarding -- documentation
ddd5832323 Remove "six" library
fc5a8ee1b8 Use "replace" to remove a section of a string
3bc718e1a0 Change some tempest tests to explicitly use ML2/OVS
2172f19e76 [Trivial]Add missing space between words
597bb0d187 [ovn]: port forwarding -- IDL changes
6da9936814 Remove "vf_management" and "vf_extended_management" checks
d0c9cc4c8f Remove DbBasePluginCommon._get_subnet unused method
fe440bdd6b [ovn]: gracefully handle logical switch ports with tag set to None
8c4b23f812 [OVN] Extra DHCP options validation: Log invalid options
b11dd3836e Remove some unnecessary usages of verify()
afd63d0b36 ovn migration: Support stack name
164755264b [OVN] Bump OVN version to v20.06.1
8d1512afb0 [OVN] Allow IP allocation with different segments for OVN service ports
294720fcd2 Fix neutron-ovn-tempest-ovs-master-fedora job
9df1ca82c5 [OVN] Add segments to ML2_SUPPORTED_API_EXTENSIONS
ccbebfeacc [OVN] Fix logic issue while deleting port with QoS
a418d55bc2 ovn-migration-mtu: Support migrating MTU of GRE networks
c6574321ba ovn-migration-mtu: Support providing project/user domain by name
f0be5f1a83 Squash alchemy Liberty branch
bc99e56515 Import "oslo_config.cfg" before "eventlet"
0eebd002cc [OVS][FW] Remote SG IDs left behind when a SG is removed
f379740348 port_forwarding: validate args before invoking db update
39ac4247c5 Remove timecost profiling for port get_objects
de4c10882f Set OVS manager command timeout and inactiviy probe
e7df43395c [OVN] DevStack: Make the transition of DevStack module easier
61bf68de31 [ovn]: port forwarding -- extend support for OVN usage (cont.)
c1a77ef8b7 Ensure drop flows on br-int at agent startup for DVR too
7a56b8f3bc String to byte conversion should provide the encoding type
7ebd1d16eb Install python-openvswitch from PyPI using requirements
57f89ae777 Stop disabling peakmem_tracker
554b5c2267 Support gateway which is not in subnet CIDR in ha_router
622714b63e Optionally use admin powers when deleting DNS records
34b6833caa Remove tempest-integrated-networking job from neutron queue
b2b40b6a8c [OVN] Use new distributed device_owner for OVN distributed services
da45bbbff4 Auto-delete dhcp ports on segment delete
a3ecaf6a10 Better document router requirements for IPv6
5a0693da8d Increase singlenode tempest jobs' timeout to 10800 seconds
db6ebd22e1 Update cirros image to cirros-0.5.1-x86_64 globally
193df8279d [OVN] Stop using neutron_tempest_plugin in OVN singlenode job
fb2806f808 [OVN] Unify OVN/OVS compilation
7a427bcd2a Remove _router_exists method
b52e2e6f16 Migrate "ethtool" to oslo.privsep
38286dbd2e [DVR] Related routers should be included if are requested
75970c4cda Fix pep8 job
f43f5dc64f Use network.external DB model parameter when creating a floating IP
24b379ad4d Implement "BridgeDevice" with Pyroute2
6fa6e4135c Relocate _delete_expired_default_network_segment_ranges
528e0d382e [OVN] Fix devstack module for OpenSuse
aa6491a9d9 migration: Use ansible-inventory to parse tripleo inventory
8dee0d9a4e [L3] Delete DvrFipGatewayPortAgentBindings after no gw ports
5ce0595803 Set process name for agents
0ffaac1db2 Use the correct value for the DHCP client port number
206ce24676 [OVN] Allow use of ovn-sync mechanism driver
4c04e60d45 Config privsep in the macvtap agent
ebd5480e90 Fix metadata address usage
598e0376c6 [OVN] Wait for WaitForDataPathBindingCreateEvent event in functional tests
3ac63422ea Improve log message when port losts its vlan tag
e94511cd25 Add config option ``http_retries``
72d95d40d4 Provide integer number to arping "-w" parameter
3754bba806 Validate that snat namespace exits in _create_dvr_gateway
58d1d0dbdd [OVN] Fix db-sync-util Traceback when port security not enabled
0e597a36d3 ovn-migration: Remove docker references
e661a6b641 [OVN] rename get_port_groups to get_sg_port_groups
72f39226e0 Update neutron-dynamic-routing lieutenants
2bb514f2d7 L3 agent scheduler should return a valid index if manual scheduling
f14a1b332d [OVN] Add router availability zones documentation
fb44416c05 Deprecate use_veth_interconnection config option
1e9a3bffd2 [Fullstack] SG test - first wait until all vms can ping each other
a42d0d0301 Trivial: Change Health-check from filter to app_factory
d669dff1dc [OVN] Add support for router availability zones
ed56429548 DhcpFilter should always return a valid index if "force_scheduling"
b64d934964 Stop installing Octavia in OVN jobs
e2d1c2869a [OVS] Make QoS OVS agent deletion operations more resilient
7019c5cf50 Make _ensure_default_security_group method atomic
56f519f472 [OVN] Load segments plugin in case not loaded in maintanance task
c646978f1b Add singlenode tempest job with neutron-lib from master branch
0f4db58773 Enable bridge debugging services on the tempest and grenade jobs
e3e1d994d8 [OVN] Updates to tools/migrate_names.txt
94d6e38fa0 Fix the wrong value for QoS rate conversion to bytes/s
5fdfd4cbfc [L3] Check agent gateway port robustly
e09d4d6dd0 [OVN] Avoid unnecessary DB writes during agent liveness check
0c1818fbb0 Migrate "netstat" to oslo.privsep
86e90bfce2 Add ensure-tox in functional job
2592fdb584 Move "get_cdll" to a common place in privileged.agent.linux
d086058895 ovn: Use newer OVS
b2748250f1 Remove unneeded argment in "_read_leases_file_leases"
8eb4955bb6 Fixes dnsmasq host file parsing with "addr6_list"
90212b12cd Do not block connection between br-int and br-phys on startup
8c3441e856 Change service_plugins documentation in QoS to steevedore entries
3df1679658 Use unittest.mock instead of mock
8913461aa9 Refactor assertEqual statement that includes 'True'
954f2f28da Configure privsep in SR-IOV agent
4d198aa68c Use correct device_owner prefix in functional tests
26f6b90930 [OVN] OVN driver to adapt to enable_distributed_floating_ip changes
397a5177bd Fix a typo in the OVN manual install guide
7143f2be1f Remove "find" rootwrap filter
96f3b37b43 Make neutron functional uwsgi jobs usable by other projects.
e748f3f2d8 ovn: Remove UpdateACLsCommand
b9c428a2db ovn: Add TODO to remove Port Groups migration
d0daa49d6e [OVN] List a few missing feature parity gaps
a83d1bf5ae Remove OVN floating IP deletion of associated LSP
9cbbd8de53 ovn: Remove is_port_groups_supported() code
998b22b383 Implement "RouterInfo.update_routing_table" with Pyroute2
483f468fdd [OVN] Create localnet port for each created segment
e332054d63 Migrate "dhcp_release" to oslo.privsep
eb46081150 port_forwarding: extend support for OVN usage (cont.)
cd721a7dcb Make DVR router support FLAT network for ovs-agent
4be0baa8cd Bump oslo.log to version 4.2.1
795aa6b9fa Limit ml2_vlan_allocations.vlan_id value in DB backend
ea13f2e83f Sync the dns-assignment with the actual designate dns-domain
559ae06bdf [OVN] Override notify_nova config in neutron-ovn-db-sync-util
236a0c4081 Stop to use the __future__ module.
dc655cabcb Remove OVO unneeded compatibility conversions
d8eac6fa50 Fix iptables rules comments
e6023ecb48 [OVN] Don't set virtual port type on ports with similar addresses
178227c8b6 Make NeutronOvsdbIdl singleton
d57735ae0f Fix Traceback when running neutron-ipset-cleanup tool
1a3811448d Bump oslo.log to version 4.1.2
edfe7daf04 No rpc_response_max_timeout in LB-agent
132261aa70 [OVN] Updates to tools/migrate_names.txt
0402337c15 Fix ssh to nodes during ML2/OVS to ML2/OVN migration
a32464464d [OVN] Blacklist test_port_security_macspoofing_port test
c5d8fd6329 Use pyroute2 for SRIOV VF commands
57fc472b33 Remove translation sections from setup.cfg
2a16944453 Mock command execution in "test_hybrid_plug_flag_based_on_firewall" UT
45482e300a Don't check if any bridges were recrected when OVS was restarted
91f0bf3c85 [DVR] Reconfigure re-created physical bridges for dvr routers
bd5c98e25b Mock command execution in "test_iptables.TestHelper" UTs
60723a48f8 Remove unnecessary check if agent object from db is not None
f6010f6042 [OVN] Enhance port's extra DHCP options support
7f40e626d6 Delete segment RPs when network is deleted
e748e01656 [Fullstack] Mark security groups test as unstable
dcd2e79c00 ovn: Fix use_new_ovn_repository
ee47dd9770 All Neutron ML2 drivers use Allocation/Endpoints OVO
4f10c3bd3f Remove usage of six.text_type and six.string_type
a2a2301675 Remove usage of six.PY2
08a60f7483 Remove usage of six.add_metaclass
231529e85f [OVN] DOC Migration Strategy: Adjust formatting in code-block
f5c3910771 ovn: Override clean_hash_ring for sync util
8ddf794b8d ovn: Enable DVR for multinode jobs
2d1cd99311 [OVN][DOC] Update path to L3RouterPlugin
9b1ea6cd75 ovn: Enable debugging services on subnodes
d46228b0b3 Switch to newer openstackdocstheme and reno versions
162c5572df Fix broken unit tests related to ovsdbapp indexing
8411bfb83a Promote functional uwsgi job to be voting
30d573d5ab Allow usage of legacy 3rd-party interface drivers
9760f123aa Catch additional invalid mock import statement
21405378f0 Fix neutron-ovn-db-sync-util issues
a2561fa480 Add sg name in after delete event kwargs
ccb0cddd4a Fix mock.patch.stopall issue with ovsdbapp
740ab628f4 Remove usage of the "firewall_driver" in the neutron server
faead08d8f Fix neutron tests
63c45b3766 Ensure that stale flows are cleaned from phys_bridges
1f018514d7 Optimize QoS bound objects queries
4d5b9a62b9 ovn-migration: Stop ml2/ovs agents before installing OVN resources
9ae865a5b5 Add Rocky milestone tag for alembic migration revisions
52e3fee5ef Switch to hacking 3.0.1
0e8ebf133d Remove unneeded DB register retrieval and refresh in network update
0ba08d7eb4 Skip OVS module compilation for kernels newer than 5.5
09bf28aa88 Time port fetches
c05bac8c40 Set class ovsdb_conection to None
0a4b95eec2 Fix some pep8 errors
e0e3086b46 Default OVN_BRANCH and OVS_BRANCH to latest stable
8cfe41fa6b Add "qos_policy_id" field to "FloatingIP" OVO
11838a2bc5 Workaround for TCP checksum issue with ovs-dpdk and veth pair
102c442bcf port_forwarding: extend support for OVN usage
ba16d2fc74 [ovn] devstack needs to support openflow15
f951871430 Use dhcp-host tag support when supported
8268222968 Update QoS docs with info about OVN driver
c9eeb5debd [OVN] Bump up transaction timeout for functional tests
98b326f0e4 [ci] Fix several rally task arguments
8b234d8786 [OVN]: Make _delete_port() more error-resilent
18dd0d4e55 Fix ovn-db-sync-util after removing l3 ovsdb connection
f1cc1bb281 [ovn]: Fix l3_plugin.add_router_interface to comply with RouterPluginBase
6b360d2343 Report L3 extensions enabled in the L3 agent's config
518b623d7e Open Victoria DB branch
e4228cfa34 Add OSP16.1 choice to migration plugin spec
bc2a23a36a Migrate neutron grenade jobs to be native Zuul v3
aae5d0a38a Imported Translations from Zanata
8b4ae58414 Add py38 package metadata
ec7a5aa516 Monkey patch original current_thread _active
8126f88894 Complete removal of dependency on the "mock" package
d7c23431ad [ovn]: Create neutron_pg_drop Port Group on init
b8b7a73a95 Fix dhcpv6-statefull typo
b522f7d726 Optimize subnet retrieval during CIDR validation
f8718e9b23 Remove unused method "_make_fixed_ip_dict"
133200014b Add a /healthcheck URL
d8ff7d58f2 [OVN] Documentation: SR-IOV guide for OVN
01b9e1106d Install "wmi" library in "win32" systems
e53dd36498 migration: Use ForceNeutronDriverUpdate when migrating
76a2f8b33e [ovn] Add PortBinding delete event for external ports
e07b6d8108 Revising log with wrong network_id when create port failed
76fa308ca9 ensure default security group exists when filter by project_id
7594bb0627 Remove the dependency on the "mock" package
4fb505891e Updates for python3.8
bfeb52b975 migration: Replace paunch with podman and ip commands
8ec41570a9 [OVN] Enable test_multicast_between_vms_on_same_network
591adfee97 [OVN][metadata] Adding ERROR trace upon unexpected data
ef2260441d [OVN] Do not delete port's revision on RowNotFound
09ef333be3 Imported Translations from Zanata
12b9149e20 Not remove the running router when MQ is unreachable
783441ef1f Bump default tox env from py37 to py38
7f5772df61 Add Python3 victoria unit tests
09114ffda3 Update master for stable/ussuri
31fa9ada75 [OVN] Update sample local.conf to support QoS for OVN
b02c09c332 Remove some native openflow driver 'deferred' code
94bb20fb65 Remove redundant implementation of "get_projects" in NetworkRBAC
7718cc0a6f Start ovs if ovn-northd is enabled
8fd3e884c7 windows: fix terminating processes
0493af3399 Add Octavia file in devstack/lib
08d0e6e734 Switch to new engine facade in revision plugin's UT
f11707e180 Switch to new engine facade in ML2 unit tests modules
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
.pylintrc | 3 +-
HACKING.rst | 3 +
TESTING.rst | 18 +-
babel.cfg | 2 -
devstack/lib/octavia | 45 +
devstack/lib/ovn_agent | 829 -------------------
devstack/lib/ovs | 65 +-
devstack/ovn-compute-local.conf.sample | 6 +-
devstack/ovn-local.conf.sample | 20 +-
devstack/ovn-vtep-local.conf.sample | 6 +-
devstack/plugin.sh | 32 +-
.../contributor/internals/openvswitch_agent.rst | 2 +-
.../internals/ovn/acl_optimizations.rst | 186 -----
.../internals/ovn/l3_ha_rescheduling.rst | 28 +-
.../contributor/internals/ovn/port_forwarding.rst | 106 +++
.../contributor/testing/ci_scenario_jobs.rst | 19 +-
etc/api-paste.ini | 6 +
etc/neutron/rootwrap.d/dhcp.filters | 3 -
etc/neutron/rootwrap.d/l3.filters | 1 +
etc/neutron/rootwrap.d/netns-cleanup.filters | 12 -
lower-constraints.txt | 55 +-
neutron/__init__.py | 10 +-
neutron/agent/common/async_process.py | 3 +-
neutron/agent/common/ovs_lib.py | 64 +-
neutron/agent/common/resource_processing_queue.py | 36 +-
neutron/agent/dhcp/agent.py | 63 +-
neutron/agent/dhcp_agent.py | 3 +-
neutron/agent/firewall.py | 5 +-
neutron/agent/l2/extensions/fdb_population.py | 4 +-
neutron/agent/l2/extensions/qos.py | 4 +-
neutron/agent/l3/agent.py | 8 +-
neutron/agent/l3/dvr_edge_ha_router.py | 4 +-
neutron/agent/l3/dvr_edge_router.py | 10 +-
neutron/agent/l3/dvr_fip_ns.py | 3 +
neutron/agent/l3/dvr_local_router.py | 30 +-
neutron/agent/l3/ha.py | 32 +-
neutron/agent/l3/ha_router.py | 51 +-
neutron/agent/l3/keepalived_state_change.py | 9 +-
neutron/agent/l3/router_info.py | 38 +-
neutron/agent/l3_agent.py | 3 +-
neutron/agent/linux/bridge_lib.py | 48 +-
neutron/agent/linux/daemon.py | 3 +-
neutron/agent/linux/dhcp.py | 172 ++--
neutron/agent/linux/dibbler.py | 6 +-
neutron/agent/linux/external_process.py | 4 +-
neutron/agent/linux/interface.py | 35 +-
neutron/agent/linux/ip_lib.py | 30 +-
neutron/agent/linux/ip_link_support.py | 108 ---
neutron/agent/linux/iptables_firewall.py | 31 +-
neutron/agent/linux/iptables_manager.py | 7 +-
neutron/agent/linux/keepalived.py | 15 +-
neutron/agent/linux/l3_tc_lib.py | 4 +-
.../agent/linux/openvswitch_firewall/firewall.py | 152 +++-
.../agent/linux/openvswitch_firewall/iptables.py | 1 +
neutron/agent/linux/pd.py | 72 +-
neutron/agent/linux/pd_driver.py | 5 +-
neutron/agent/linux/ra.py | 7 +-
neutron/agent/linux/tc_lib.py | 28 +-
neutron/agent/linux/utils.py | 4 +-
neutron/agent/metadata/agent.py | 72 +-
neutron/agent/metadata/driver.py | 69 +-
neutron/agent/ovn/metadata/agent.py | 88 +-
neutron/agent/ovn/metadata/ovsdb.py | 6 +-
neutron/agent/ovn/metadata/server.py | 29 +-
neutron/agent/ovsdb/impl_idl.py | 4 +-
neutron/agent/ovsdb/native/connection.py | 2 +-
neutron/agent/ovsdb/native/helpers.py | 11 +-
neutron/agent/securitygroups_rpc.py | 2 +
neutron/agent/windows/utils.py | 19 +-
neutron/api/api_common.py | 2 +-
neutron/api/extensions.py | 15 +-
neutron/api/rpc/callbacks/resource_manager.py | 4 +-
neutron/api/rpc/handlers/securitygroups_rpc.py | 2 +-
neutron/cmd/eventlet/agents/dhcp.py | 7 +
neutron/cmd/eventlet/agents/l3.py | 7 +
neutron/cmd/eventlet/agents/metadata.py | 7 +
neutron/cmd/eventlet/agents/ovn_metadata.py | 7 +
.../eventlet/plugins/linuxbridge_neutron_agent.py | 7 +
.../cmd/eventlet/plugins/macvtap_neutron_agent.py | 7 +
neutron/cmd/eventlet/plugins/ovs_neutron_agent.py | 7 +
.../eventlet/plugins/sriov_nic_neutron_agent.py | 7 +
neutron/cmd/eventlet/services/metering_agent.py | 7 +
neutron/cmd/ipset_cleanup.py | 2 +
neutron/cmd/netns_cleanup.py | 22 +-
neutron/cmd/ovn/migration_mtu.py | 61 +-
neutron/cmd/ovn/neutron_ovn_db_sync_util.py | 29 +-
neutron/cmd/runtime_checks.py | 14 +-
neutron/cmd/sanity/checks.py | 43 +-
neutron/cmd/sanity_check.py | 27 -
neutron/cmd/upgrade_checks/base.py | 5 +-
neutron/cmd/upgrade_checks/checks.py | 43 +-
neutron/common/_constants.py | 10 +
neutron/common/coordination.py | 11 +-
neutron/common/eventlet_utils.py | 7 +
neutron/common/ovn/acl.py | 212 +----
neutron/common/ovn/constants.py | 120 ++-
neutron/common/ovn/extensions.py | 17 +-
neutron/common/ovn/hash_ring_manager.py | 9 +-
neutron/common/ovn/utils.py | 111 ++-
neutron/common/utils.py | 50 ++
neutron/conf/agent/l3/config.py | 6 +
neutron/conf/agent/l3/ha.py | 10 +-
neutron/conf/agent/metadata/config.py | 5 +-
neutron/conf/common.py | 10 +-
neutron/conf/db/migration_cli.py | 2 +-
.../ml2/drivers/mech_sriov/mech_sriov_conf.py | 3 +-
.../ml2/drivers/openvswitch/mech_ovs_conf.py | 3 +-
neutron/conf/plugins/ml2/drivers/ovs_conf.py | 4 +
neutron/conf/policies/__init__.py | 7 +-
neutron/conf/policies/quotas.py | 64 ++
neutron/conf/services/metering_agent.py | 8 +
neutron/core_extensions/base.py | 5 +-
neutron/db/address_group_db.py | 124 +++
neutron/db/agents_db.py | 3 +-
neutron/db/agentschedulers_db.py | 20 +-
neutron/db/db_base_plugin_common.py | 18 +-
neutron/db/db_base_plugin_v2.py | 30 +-
neutron/db/ipam_backend_mixin.py | 35 +-
neutron/db/ipam_pluggable_backend.py | 20 +-
neutron/db/l3_agentschedulers_db.py | 19 +-
neutron/db/l3_db.py | 45 +-
neutron/db/l3_dvr_db.py | 13 +-
neutron/db/l3_dvrscheduler_db.py | 19 +-
neutron/db/l3_hamode_db.py | 7 +-
neutron/db/metering/metering_db.py | 60 +-
neutron/db/migration/__init__.py | 2 +
.../alembic_migrations/versions/EXPAND_HEAD | 2 +-
.../rocky/expand/867d39095bf4_port_forwarding.py | 5 +
.../expand/d8bdf05313f4_add_in_use_to_subnet.py | 5 +
.../expand/1ea5dab0897a_add_address_group.py | 53 ++
...221_propagate_uplink_status_defaults_to_true.py | 36 +
..._destination_ip_prefix_neutron_metering_rule.py | 38 +
...dfe425060830_limit_vlan_allocation_id_values.py | 55 ++
.../fd6107509ccd_ovn_distributed_device_owner.py | 52 ++
neutron/db/migration/autogen.py | 15 +-
neutron/db/migration/cli.py | 6 +-
neutron/db/models/address_group.py | 41 +
neutron/db/models/metering.py | 2 +
neutron/db/models/ovn.py | 5 +-
neutron/db/models/plugins/ml2/vlanallocation.py | 12 +-
neutron/db/models/uplink_status_propagation.py | 2 +-
neutron/db/network_ip_availability_db.py | 7 +-
neutron/db/securitygroups_db.py | 27 +-
neutron/extensions/address_group.py | 80 ++
neutron/extensions/address_scope.py | 4 +-
neutron/extensions/agent.py | 4 +-
neutron/extensions/availability_zone.py | 4 +-
neutron/extensions/dhcpagentscheduler.py | 4 +-
neutron/extensions/dvr.py | 4 +-
neutron/extensions/floating_ip_port_forwarding.py | 5 +-
neutron/extensions/floatingip_pools.py | 4 +-
neutron/extensions/l3.py | 4 +-
neutron/extensions/l3_conntrack_helper.py | 5 +-
neutron/extensions/l3agentscheduler.py | 4 +-
neutron/extensions/logging.py | 4 +-
neutron/extensions/metering.py | 5 +-
.../metering_source_and_destination_fields.py | 42 +
neutron/extensions/network_availability_zone.py | 4 +-
neutron/extensions/network_segment_range.py | 5 +-
neutron/extensions/qos.py | 4 +-
neutron/extensions/quotasv2.py | 33 +-
neutron/extensions/router_availability_zone.py | 4 +-
neutron/extensions/securitygroup.py | 6 +-
neutron/extensions/segment.py | 4 +-
neutron/extensions/tagging.py | 4 +-
neutron/hacking/checks.py | 102 ++-
neutron/ipam/driver.py | 10 +-
neutron/ipam/drivers/neutrondb_ipam/driver.py | 15 +-
neutron/ipam/requests.py | 13 +-
neutron/locale/de/LC_MESSAGES/neutron.po | 26 +-
neutron/locale/es/LC_MESSAGES/neutron.po | 14 +-
neutron/locale/fr/LC_MESSAGES/neutron.po | 14 +-
neutron/locale/it/LC_MESSAGES/neutron.po | 14 +-
neutron/locale/ja/LC_MESSAGES/neutron.po | 14 +-
neutron/locale/ko_KR/LC_MESSAGES/neutron.po | 13 +-
neutron/locale/pt_BR/LC_MESSAGES/neutron.po | 13 +-
neutron/locale/ru/LC_MESSAGES/neutron.po | 13 +-
neutron/locale/zh_CN/LC_MESSAGES/neutron.po | 13 +-
neutron/locale/zh_TW/LC_MESSAGES/neutron.po | 13 +-
neutron/manager.py | 7 +-
neutron/neutron_plugin_base_v2.py | 4 +-
neutron/notifiers/ironic.py | 3 +-
neutron/notifiers/nova.py | 1 +
neutron/objects/__init__.py | 1 +
neutron/objects/address_group.py | 65 ++
neutron/objects/base.py | 10 +-
neutron/objects/metering.py | 32 +-
neutron/objects/network.py | 17 -
neutron/objects/network_segment_range.py | 3 +-
.../port/extensions/uplink_status_propagation.py | 5 +-
neutron/objects/ports.py | 34 +-
neutron/objects/qos/binding.py | 28 +-
neutron/objects/qos/policy.py | 28 +-
neutron/objects/qos/qos_policy_validator.py | 2 +-
neutron/objects/qos/rule.py | 4 +-
neutron/objects/qos/rule_type.py | 8 -
neutron/objects/rbac.py | 4 +-
neutron/objects/rbac_db.py | 10 +-
neutron/objects/router.py | 56 +-
neutron/objects/subnet.py | 20 +-
neutron/objects/trunk.py | 7 -
neutron/opts.py | 2 +
neutron/pecan_wsgi/controllers/root.py | 3 +-
neutron/plugins/ml2/db.py | 34 +-
.../ml2/drivers/agent/_agent_manager_base.py | 8 +-
neutron/plugins/ml2/drivers/helpers.py | 8 +
.../drivers/l2pop/rpc_manager/l2population_rpc.py | 8 +-
.../drivers/linuxbridge/agent/common/constants.py | 3 -
.../linuxbridge/agent/linuxbridge_neutron_agent.py | 13 +-
.../drivers/macvtap/agent/macvtap_neutron_agent.py | 5 +-
neutron/plugins/ml2/drivers/mech_agent.py | 29 +-
.../drivers/mech_sriov/agent/common/exceptions.py | 8 -
.../drivers/mech_sriov/agent/eswitch_manager.py | 35 +-
.../agent/extension_drivers/qos_driver.py | 15 +-
.../ml2/drivers/mech_sriov/agent/pci_lib.py | 158 +---
.../drivers/mech_sriov/agent/sriov_nic_agent.py | 18 +-
.../drivers/mech_sriov/mech_driver/mech_driver.py | 8 +-
.../drivers/openvswitch/agent/common/constants.py | 21 +-
.../openvswitch/agent/openflow/native/br_int.py | 37 +-
.../openvswitch/agent/openflow/native/br_phys.py | 8 +-
.../openvswitch/agent/openflow/native/br_tun.py | 23 -
.../openvswitch/agent/openflow/native/ofswitch.py | 3 +-
.../openvswitch/agent/ovs_dvr_neutron_agent.py | 79 +-
.../drivers/openvswitch/agent/ovs_neutron_agent.py | 146 ++--
.../openvswitch/mech_driver/mech_openvswitch.py | 24 +-
neutron/plugins/ml2/drivers/ovn/agent/__init__.py | 0
.../plugins/ml2/drivers/ovn/agent/neutron_agent.py | 140 ++++
.../ml2/drivers/ovn/mech_driver/mech_driver.py | 313 ++++---
.../ml2/drivers/ovn/mech_driver/ovsdb/api.py | 101 +--
.../ml2/drivers/ovn/mech_driver/ovsdb/commands.py | 333 +-------
.../ovn/mech_driver/ovsdb/extensions/qos.py | 11 +-
.../drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py | 78 +-
.../drivers/ovn/mech_driver/ovsdb/maintenance.py | 78 +-
.../drivers/ovn/mech_driver/ovsdb/ovn_client.py | 411 ++++------
.../drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py | 417 +++++-----
.../drivers/ovn/mech_driver/ovsdb/ovsdb_monitor.py | 64 +-
neutron/plugins/ml2/drivers/type_tunnel.py | 102 +--
neutron/plugins/ml2/drivers/type_vlan.py | 15 +-
neutron/plugins/ml2/extensions/dns_integration.py | 2 +
neutron/plugins/ml2/managers.py | 2 +-
neutron/plugins/ml2/plugin.py | 32 +-
neutron/policy.py | 3 +-
neutron/privileged/__init__.py | 9 +
neutron/privileged/agent/linux/__init__.py | 32 +
neutron/privileged/agent/linux/dhcp.py | 48 ++
neutron/privileged/agent/linux/ethtool.py | 31 +
neutron/privileged/agent/linux/ip_lib.py | 104 ++-
neutron/privileged/agent/linux/utils.py | 42 +
neutron/profiling/profiled_decorator.py | 4 +-
neutron/quota/__init__.py | 3 +-
neutron/quota/resource_registry.py | 7 +-
neutron/scheduler/base_resource_filter.py | 4 +-
neutron/scheduler/base_scheduler.py | 41 +-
neutron/scheduler/dhcp_agent_scheduler.py | 20 +-
neutron/scheduler/l3_agent_scheduler.py | 4 +-
neutron/scheduler/l3_ovn_scheduler.py | 4 +-
neutron/services/conntrack_helper/plugin.py | 2 +-
neutron/services/externaldns/driver.py | 4 +-
.../externaldns/drivers/designate/driver.py | 22 +-
neutron/services/logapi/agent/log_extension.py | 4 +-
neutron/services/logapi/drivers/base.py | 1 +
.../logapi/drivers/openvswitch/ovs_firewall_log.py | 1 +
neutron/services/metering/agents/metering_agent.py | 162 +++-
.../services/metering/drivers/abstract_driver.py | 33 +-
.../metering/drivers/iptables/iptables_driver.py | 235 +++++-
neutron/services/metering/metering_plugin.py | 100 ++-
neutron/services/network_segment_range/plugin.py | 3 +-
neutron/services/ovn_l3/exceptions.py | 21 +
neutron/services/ovn_l3/plugin.py | 87 +-
neutron/services/portforwarding/callbacks.py | 28 +
neutron/services/portforwarding/constants.py | 23 +
.../services/portforwarding/drivers/__init__.py | 0
.../portforwarding/drivers/ovn/__init__.py | 0
.../services/portforwarding/drivers/ovn/driver.py | 278 +++++++
neutron/services/portforwarding/pf_plugin.py | 107 ++-
neutron/services/qos/drivers/ovn/driver.py | 2 +
neutron/services/segments/db.py | 3 +-
neutron/services/segments/plugin.py | 51 +-
neutron/services/trunk/drivers/ovn/trunk_driver.py | 5 +-
neutron/services/trunk/plugin.py | 5 +-
neutron/services/trunk/rpc/server.py | 5 +-
neutron/services/trunk/rules.py | 2 +-
.../l2/extensions/test_ovs_agent_qos_extension.py | 2 +-
.../l3/extensions/qos/test_fip_qos_extension.py | 3 +-
.../extensions/test_conntrack_helper_extension.py | 3 +-
.../l3/extensions/test_gateway_ip_qos_extension.py | 3 +-
.../extensions/test_port_forwarding_extension.py | 2 +-
.../agent/l3/test_keepalived_state_change.py | 8 +-
.../functional/agent/l3/test_legacy_router.py | 2 +-
.../functional/agent/l3/test_metadata_proxy.py | 6 +-
.../functional/agent/l3/test_namespace_manager.py | 3 +-
.../functional/agent/linux/bin/ipt_binname.py | 7 +-
.../functional/agent/linux/test_async_process.py | 3 +-
.../functional/agent/linux/test_bridge_lib.py | 38 +-
.../functional/agent/linux/test_keepalived.py | 2 +
.../functional/agent/linux/test_process_monitor.py | 3 +-
.../agent/ovn/metadata/test_metadata_agent.py | 64 +-
.../functional/agent/ovsdb/native/test_helpers.py | 53 ++
.../functional/cmd/test_linuxbridge_cleanup.py | 3 +-
.../functional/pecan_wsgi/test_controllers.py | 3 +-
.../ovn/mech_driver/ovsdb/extensions/test_qos.py | 3 +-
.../drivers/ovn/mech_driver/ovsdb/test_impl_idl.py | 124 ++-
.../ovn/mech_driver/ovsdb/test_maintenance.py | 289 ++++++-
.../ovn/mech_driver/ovsdb/test_ovn_db_resources.py | 163 ++--
.../ovn/mech_driver/ovsdb/test_ovn_db_sync.py | 309 +++----
.../ovn/mech_driver/ovsdb/test_ovsdb_monitor.py | 20 +-
.../drivers/ovn/mech_driver/test_mech_driver.py | 219 ++++-
.../privileged/agent/linux/test_ip_lib.py | 27 +
.../privileged/agent/linux/test_tc_lib.py | 8 +-
.../privileged/agent/linux/test_utils.py | 39 +
.../conntrack_helper/test_conntrack_helper.py | 2 +-
.../l3_router/test_l3_dvr_ha_router_plugin.py | 5 +-
.../l3_router/test_l3_dvr_router_plugin.py | 57 +-
.../functional/services/logapi/test_logging.py | 2 +-
.../functional/services/ovn_l3/test_plugin.py | 4 +-
.../portforwarding/test_port_forwarding.py | 3 +-
.../openvswitch/agent/test_ovsdb_handler.py | 2 +-
.../openvswitch/agent/test_trunk_manager.py | 2 +-
.../functional/services/trunk/rpc/test_server.py | 2 +-
.../unit/agent/common/test_placement_report.py | 3 +-
.../agent/common/test_resource_processing_queue.py | 110 +--
.../agent/l2/extensions/test_fdb_population.py | 5 +-
.../agent/l2/test_l2_agent_extensions_manager.py | 3 +-
.../unit/agent/l3/extensions/qos/test_base.py | 3 +-
.../agent/l3/extensions/qos/test_gateway_ip.py | 2 +-
.../agent/l3/extensions/test_conntrack_helper.py | 2 +-
.../agent/l3/extensions/test_port_forwarding.py | 3 +-
.../unit/agent/l3/extensions/test_snat_log.py | 3 +-
.../unit/agent/l3/test_l3_agent_extension_api.py | 2 +-
.../linux/openvswitch_firewall/test_firewall.py | 199 ++++-
.../linux/openvswitch_firewall/test_iptables.py | 5 +-
.../agent/linux/openvswitch_firewall/test_rules.py | 3 +-
.../unit/agent/linux/test_external_process.py | 2 +-
.../unit/agent/linux/test_iptables_firewall.py | 11 +-
.../unit/agent/linux/test_iptables_manager.py | 33 +-
.../unit/agent/linux/test_xenapi_root_helper.py | 3 +-
.../unit/agent/ovsdb/native/test_connection.py | 2 +-
.../unit/agent/test_agent_extensions_manager.py | 3 +-
.../rpc/agentnotifiers/test_dhcp_rpc_agent_api.py | 2 +-
.../rpc/agentnotifiers/test_l3_rpc_agent_api.py | 2 +-
.../api/rpc/callbacks/consumer/test_registry.py | 2 +-
.../api/rpc/callbacks/test_resource_manager.py | 2 +-
.../unit/api/rpc/callbacks/test_version_manager.py | 2 +-
.../unit/api/rpc/handlers/test_resources_rpc.py | 3 +-
.../api/rpc/handlers/test_securitygroups_rpc.py | 3 +-
.../unit/cmd/ovn/test_neutron_ovn_db_sync_util.py | 31 +
.../unit/common/ovn/test_hash_ring_manager.py | 4 +-
.../unit/extensions/test_default_subnetpools.py | 8 +-
.../test_expose_port_forwarding_in_fip.py | 3 +-
.../extensions/test_floating_ip_port_forwarding.py | 3 +-
.../unit/extensions/test_network_segment_range.py | 3 +-
.../extensions/test_uplink_status_propagation.py | 3 +-
.../ipam/drivers/neutrondb_ipam/test_driver.py | 3 +-
.../unit/objects/test_network_segment_range.py | 2 +-
.../ml2/drivers/agent/test__common_agent.py | 3 +-
.../plugins/ml2/drivers/agent/test_capabilities.py | 3 +-
.../unit/plugins/ml2/drivers/base_type_tunnel.py | 8 +-
.../l2pop/rpc_manager/l2population_rpc_base.py | 3 +-
.../l2pop/rpc_manager/test_l2population_rpc.py | 3 +-
.../unit/plugins/ml2/drivers/l2pop/test_db.py | 7 +-
.../plugins/ml2/drivers/l2pop/test_mech_driver.py | 2 +-
.../agent/extension_drivers/test_qos_driver.py | 2 +-
.../drivers/linuxbridge/agent/test_arp_protect.py | 3 +-
.../agent/test_linuxbridge_agent_extension_api.py | 2 +-
.../agent/test_linuxbridge_neutron_agent.py | 13 +-
.../macvtap/agent/test_macvtap_neutron_agent.py | 7 +-
.../ml2/drivers/macvtap/test_macvtap_common.py | 3 +-
.../agent/extension_drivers/test_qos_driver.py | 17 +-
.../mech_sriov/agent/test_eswitch_manager.py | 47 +-
.../ml2/drivers/mech_sriov/agent/test_pci_lib.py | 189 ++---
.../mech_sriov/agent/test_sriov_nic_agent.py | 10 +-
.../mech_driver/test_mech_sriov_nic_switch.py | 28 +-
.../agent/extension_drivers/test_qos_driver.py | 2 +-
.../ml2/drivers/openvswitch/agent/fake_oflib.py | 2 +-
.../agent/openflow/native/ovs_bridge_test_base.py | 3 +-
.../agent/openflow/native/test_br_int.py | 116 ++-
.../agent/openflow/native/test_br_phys.py | 8 +-
.../agent/openflow/native/test_br_tun.py | 2 +-
.../agent/openflow/native/test_ofswitch.py | 3 +-
.../agent/openflow/native/test_ovs_bridge.py | 4 +-
.../openvswitch/agent/openflow/test_br_cookie.py | 2 +-
.../ml2/drivers/openvswitch/agent/ovs_test_base.py | 2 +-
.../agent/test_ovs_agent_extension_api.py | 2 +-
.../openvswitch/agent/test_ovs_capabilities.py | 2 +-
.../openvswitch/agent/test_ovs_neutron_agent.py | 190 +++--
.../drivers/openvswitch/agent/test_ovs_tunnel.py | 9 +-
.../mech_driver/test_mech_openvswitch.py | 60 +-
.../ovn/mech_driver/ovsdb/extensions/test_qos.py | 8 +
.../drivers/ovn/mech_driver/ovsdb/test_commands.py | 293 +------
.../ovn/mech_driver/ovsdb/test_impl_idl_ovn.py | 82 +-
.../ovn/mech_driver/ovsdb/test_maintenance.py | 35 +-
.../ovn/mech_driver/ovsdb/test_ovn_db_sync.py | 218 ++---
.../ovn/mech_driver/ovsdb/test_ovsdb_monitor.py | 32 +-
.../drivers/ovn/mech_driver/test_mech_driver.py | 905 +++++++++++++++------
.../unit/plugins/ml2/drivers/test_type_vlan.py | 3 +-
.../ml2/extensions/test_data_plane_status.py | 2 +-
.../plugins/ml2/extensions/test_dns_integration.py | 6 +-
.../plugins/ml2/extensions/test_port_security.py | 3 +-
.../test_tag_ports_during_bulk_creation.py | 2 +-
.../extensions/test_uplink_status_propagation.py | 2 +-
.../unit/plugins/ml2/test_extension_driver_api.py | 3 +-
.../unit/plugins/ml2/test_tracked_resources.py | 3 +-
.../unit/privileged/agent/linux/test_ip_lib.py | 35 +-
.../privileged/agent/linux/test_netlink_lib.py | 2 +-
.../unit/privileged/agent/linux/test_utils.py | 76 ++
.../unit/scheduler/test_dhcp_agent_scheduler.py | 2 +-
.../unit/scheduler/test_l3_agent_scheduler.py | 2 +-
.../unit/services/conntrack_helper/test_plugin.py | 2 +-
.../service_providers/test_driver_controller.py | 3 +-
.../unit/services/logapi/agent/l3/test_base.py | 3 +-
.../services/logapi/agent/test_log_extension.py | 3 +-
.../unit/services/logapi/common/test_db_api.py | 3 +-
.../services/logapi/common/test_sg_callback.py | 3 +-
.../services/logapi/common/test_sg_validate.py | 3 +-
.../services/logapi/common/test_snat_validate.py | 3 +-
.../unit/services/logapi/common/test_validators.py | 3 +-
.../drivers/openvswitch/test_ovs_firewall_log.py | 3 +-
.../unit/services/logapi/drivers/test_manager.py | 3 +-
.../unit/services/logapi/test_logging_plugin.py | 3 +-
.../metering/agents/test_metering_agent.py | 24 +-
.../services/metering/drivers/test_iptables.py | 109 ++-
.../unit/services/metering/test_metering_plugin.py | 280 ++++++-
.../services/network_segment_range/test_plugin.py | 2 +-
.../unit/services/placement_report/test_plugin.py | 2 +-
.../services/portforwarding/drivers/__init__.py | 0
.../portforwarding/drivers/ovn/__init__.py | 0
.../portforwarding/drivers/ovn/test_driver.py | 381 +++++++++
.../unit/services/portforwarding/test_pf_plugin.py | 174 +++-
.../qos/drivers/openvswitch/test_driver.py | 2 +-
.../unit/services/qos/drivers/ovn/test_driver.py | 2 +-
.../unit/services/qos/drivers/test_manager.py | 3 +-
.../services/revisions/test_revision_plugin.py | 2 +-
.../unit/services/test_provider_configuration.py | 2 +-
.../trunk/drivers/linuxbridge/agent/test_driver.py | 3 +-
.../linuxbridge/agent/test_trunk_plumber.py | 3 +-
.../trunk/drivers/openvswitch/agent/test_driver.py | 2 +-
.../openvswitch/agent/test_ovsdb_handler.py | 5 +-
.../openvswitch/agent/test_trunk_manager.py | 2 +-
.../trunk/drivers/openvswitch/test_driver.py | 2 +-
.../trunk/drivers/ovn/test_trunk_driver.py | 3 +-
.../services/trunk/seg_types/test_validators.py | 2 +-
neutron/wsgi.py | 3 +-
playbooks/configure_ebtables.yaml | 5 +
playbooks/configure_functional_job.yaml | 4 +
.../legacy/neutron-grenade-dvr-multinode/post.yaml | 15 -
.../legacy/neutron-grenade-dvr-multinode/run.yaml | 60 --
.../legacy/neutron-grenade-multinode/post.yaml | 15 -
.../legacy/neutron-grenade-multinode/run.yaml | 60 --
plugin.spec | 1 +
rally-jobs/task-neutron.yaml | 8 +-
...ttp_retries-config-option-b81dd29c03ba8c6a.yaml | 6 +
...without-link_up-parameter-27f8310eb1e1910a.yaml | 10 +
...ption-from-neutron-server-920564ec77503631.yaml | 9 +
...epalived-vrrp-healt-check-f23ed7c853151484.yaml | 6 +-
...se_no_track-config-option-4fa10304ee2960e6.yaml | 7 +
.../notes/bug-1671448-bfba96e42c7f2dbe.yaml | 6 +
.../notes/bug-1875981-ec32d8c3918b0dd4.yaml | 6 +
...efix-metering-label-rules-5203f681d2fce058.yaml | 7 +
...port-flat-network-for-ovs-fdf8c3eb461426ec.yaml | 9 +
...k-issue-with-dnsmasq-2.81-c95a46e4f4459bd1.yaml | 6 +
.../fix-port-dns-assignment-9d916d77522abd65.yaml | 6 +
...ngips-port-forwarding-ovn-8f8981922dd4c4ab.yaml | 6 +
.../improve-terminology-d69d7549b79dff5d.yaml | 10 +
...it_vlan_allocations_in_db-93083c6c4923403a.yaml | 8 +
...ypes-configurable-for-ovs-fc73422daffd42b0.yaml | 4 +-
...es-configurable-for-sriov-094f7663e8975e9b.yaml | 4 +-
.../notes/metadata-ipv6-b3607f6932da7226.yaml | 39 +
.../ovn-metadata_workers-1121334593ce9829.yaml | 12 +
...router-availability-zones-03a802ee19689474.yaml | 6 +
...k_status_defaults_to_true-644d8e4e3cb2d155.yaml | 5 +
.../setproctitle_agents-47d7957688f0365d.yaml | 16 +
...y-group-port-check-in-api-d1fd84d9663e04ab.yaml | 2 +-
releasenotes/source/conf.py | 13 +-
releasenotes/source/index.rst | 1 +
.../source/locale/fr/LC_MESSAGES/releasenotes.po | 90 ++
.../locale/ko_KR/LC_MESSAGES/releasenotes.po | 103 +++
releasenotes/source/ussuri.rst | 6 +
requirements.txt | 28 +-
roles/legacy_ebtables/tasks/main.yaml | 16 +
setup.cfg | 15 +-
test-requirements.txt | 13 +-
tools/configure_for_func_testing.sh | 27 +-
tools/install_venv.py | 1 -
tools/install_venv_common.py | 2 -
tools/list_moved_globals.py | 2 -
tools/migrate_names.txt | 37 +-
.../infrared/tripleo-ovn-migration/main.yml | 10 +-
.../roles/prepare-migration/tasks/main.yml | 22 +-
.../tripleo_environment/ovn_migration.sh | 61 +-
.../playbooks/ovn-migration.yml | 8 +
.../playbooks/reduce-dhcp-renewal-time.yml | 9 +-
.../playbooks/roles/migration/defaults/main.yml | 11 -
.../roles/migration/tasks/cleanup-dataplane.yml | 51 +-
.../playbooks/roles/migration/tasks/sync-dbs.yml | 12 +-
.../roles/migration/templates/activate-ovn.sh.j2 | 11 +-
.../roles/migration/templates/clone-br-int.sh.j2 | 2 +-
.../playbooks/roles/stop-agents/defaults/main.yml | 3 +
.../playbooks/roles/stop-agents/tasks/cleanup.yml | 21 +
.../playbooks/roles/stop-agents/tasks/main.yml | 18 +
.../playbooks/roles/stop-agents/vars/main.yml | 19 +
.../templates/generate-ovn-extras.sh.j2 | 1 +
tools/pip_install_src_modules.sh | 2 +-
tox.ini | 35 +-
zuul.d/base.yaml | 15 +
zuul.d/grenade.yaml | 92 ++-
zuul.d/project.yaml | 42 +-
zuul.d/rally.yaml | 2 +-
zuul.d/tempest-multinode.yaml | 76 +-
zuul.d/tempest-singlenode.yaml | 176 ++--
738 files changed, 13888 insertions(+), 8420 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 875fc4ba82..2d59616b67 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -11 +11 @@ decorator>=3.4.0 # BSD
-eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT
+eventlet>=0.21.0 # MIT
@@ -19 +19 @@ netifaces>=0.10.4 # MIT
-neutron-lib>=2.2.0 # Apache-2.0
+neutron-lib>=2.6.0 # Apache-2.0
@@ -21 +21 @@ python-neutronclient>=6.7.0 # Apache-2.0
-tenacity>=4.4.0 # Apache-2.0
+tenacity>=6.0.0 # Apache-2.0
@@ -26 +25,0 @@ alembic>=0.8.10 # MIT
-six>=1.10.0 # MIT
@@ -31,5 +30,5 @@ oslo.config>=5.2.0 # Apache-2.0
-oslo.context>=2.19.2 # Apache-2.0
-oslo.db>=4.37.0 # Apache-2.0
-oslo.i18n>=3.15.3 # Apache-2.0
-oslo.log>=3.36.0 # Apache-2.0
-oslo.messaging>=5.29.0 # Apache-2.0
+oslo.context>=2.20.0 # Apache-2.0
+oslo.db>=4.44.0 # Apache-2.0
+oslo.i18n>=3.20.0 # Apache-2.0
+oslo.log>=4.2.1 # Apache-2.0
+oslo.messaging>=7.0.0 # Apache-2.0
@@ -38 +37 @@ oslo.policy>=1.30.0 # Apache-2.0
-oslo.privsep>=1.32.0 # Apache-2.0
+oslo.privsep>=2.3.0 # Apache-2.0
@@ -41 +40 @@ oslo.rootwrap>=5.8.0 # Apache-2.0
-oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
+oslo.serialization>=2.25.0 # Apache-2.0
@@ -44 +43 @@ oslo.upgradecheck>=0.1.0 # Apache-2.0
-oslo.utils>=3.33.0 # Apache-2.0
+oslo.utils>=4.4.0 # Apache-2.0
@@ -49 +48 @@ ovs>=2.8.0 # Apache-2.0
-ovsdbapp>=1.0.0 # Apache-2.0
+ovsdbapp>=1.3.0 # Apache-2.0
@@ -51 +50 @@ psutil>=3.2.2 # BSD
-pyroute2>=0.5.7;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
+pyroute2>=0.5.13;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
@@ -60,0 +60 @@ tooz>=1.58.0 # Apache-2.0
+wmi>=1.4.9;sys_platform=='win32' # MIT
diff --git a/test-requirements.txt b/test-requirements.txt
index 43d563a78f..b3ae967883 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-hacking>=1.1.0,<1.2.0 # Apache-2.0
+hacking>=3.0.1,<3.1.0 # Apache-2.0
@@ -9,2 +8,0 @@ flake8-import-order==0.12 # LGPLv3
-pycodestyle>=2.0.0 # MIT
-mock>=3.0.0 # BSD
@@ -18 +16 @@ stestr>=1.0.0 # Apache-2.0
-reno>=2.5.0 # Apache-2.0
+reno>=3.1.0 # Apache-2.0
@@ -20,4 +18,3 @@ ddt>=1.0.1 # MIT
-astroid==1.6.5;python_version<"3.0" # LGPLv2.1
-astroid==2.1.0;python_version>="3.0" # LGPLv2.1
-pylint==1.9.2;python_version<"3.0" # GPLv2
-pylint==2.2.0;python_version>="3.0" # GPLv2
+astroid==2.3.3 # LGPLv2.1
+pylint==2.4.4 # GPLv2
+isort==4.3.21 # MIT
1
0
We are ecstatic to announce the release of:
octavia 7.0.0: OpenStack Octavia Scalable Load Balancer as a Service
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/octavia
Download the package from:
https://pypi.org/project/octavia
Please report issues through:
https://storyboard.openstack.org/#!/project/908
For more details, please see below.
Changes in octavia 6.0.0..7.0.0
-------------------------------
cb7d5133 Ensure install of diskimage-create.sh requirements
f3eff29c Ignore DELETED amphorae when performing certificate rotation
70079d86 Fix building Ubuntu 20.04 focal amphorae
7839ffd5 Followup Remove haproxy_check_script for UDP-only
9453701f Fixes API list handling of unscoped tokens
6a3a81b6 Add a requirements.txt check job
6c8c4f18 Fix requirements.txt for Victoria
89d5e9fc Fix backend certificate file paths
a6a4001f Fix AttributeError on TLS-enabled pool provisioning
8cd7a6b9 Update protocol combination api-ref for PROXYV2
16f9d2eb Fix image build when installing agent from package
eb9e9dc7 Switch grenade to run the octavia smoke tests
0ce9add9 Remove haproxy_check_script for UDP-only LBs
59c4ad48 Drop diskimage-builder from root requirements.txt
a446c04f Revert pyroute2 workaround
66f3a63f Fix amphora failover when VRRP port is missing
befa0734 Bump taskflow version
04b18e4d Add amphora delete support to amphorav2 driver
639c1175 Add SCTP support in API
4260d8a7 Update grenade job to run one smoke test
df3f5890 Fix the lower-constraints job for focal
9649c916 Add a release note about HAProxy 2.0
5092597f Refactoring amphora stats driver interface
d3885cac Fix the tls_cipher_prohibit_list release note
29a2ec71 Deprecate the Spares Pool feature for removal in X
7fe78c59 Add proxy v2 protocol support
781647ab Add an upgrade check for YAML oslo policy file
78d84154 Preupgrade check for amphorav2 provider
59dcdd9a Add amphora delete API
1a3b56a0 Add support for nftables
ea0bbd27 Add amphora image tag capability to Octavia flavors
a422e5a2 Introduce an image driver interface
de2fe22f Add HTTP/2 over TLS support to amphora provider
460566e3 Add requirements for jobboard drivers
d5fe092a Update amphora v2 for the failover refactor
6b182b50 Add missing log line for finishing amp operations
6df1ce8e Fix user permission for WSGI configuration Task: 35692 Story: 2006172
b6f6c142 Fix API sort key for complex columns
f3b5e6e1 Switch to live from noop drivers
472427a7 Change tls_ciphers init in Pool API classes
a5f0524f Add ALPN support for TLS-terminated HTTPS LBs
9fb58eb9 Fix invalid DOWN status when updating a UDP pool
dcda7213 Add DIB element octavia-lib
17c856db Set CentOS amphora image size back to default value
bf3d5372 Fix new pylint errors
d1da0c1c Correct a typo in the document
db180bf8 [Amphorav2] Healthmonitor operation minor fixes
2e2464d7 Increase the devstack secuirty group rules quota
e45937a4 Ensure xtrace is enabled in devstack plugin
f2cda017 Add a message for the amphora image size
7d6322ae Switch back to using git for the agent ref
9097c575 Clarify the current status of Octavia in README
bb9b30be Allow amphorav2 to run without jobboard
611af600 Set Grub timeout to 0 for fast boot times
6b3580d9 Add octavia-amphora-image-build-live jobs
fa1c5ef6 Set amphora-agent build-only packages
13fe928c Add line terminator to certificate list file
dac24cd7 Update devstack plugin
81f06616 Correct a typo in the document
d093cbb3 Fix listener tls_versions and tls_ciphers clearing
fa284d2c [AmphoraV2] Fix l7policy/l7rule quota decrement
bb4f50f7 Fix operational status for disabled UDP listeners
b2948795 Install ppc64-diag in ppc64le amphora images
08fad749 Fix accepting 'insert_headers' when unsupported
9df5f75d Fix amphora image build jobs
d15cccff Change amphora statistics to use deltas
51b93c00 Workaround broken pyroute2 0.5.13
01541ade [Trivial]Add missing space between words
f9f00277 Fix haproxy user flow log format substitution
259f19ec Add some details on enable_anti_affinity option
f4305e03 Fix memory consumption issues with default connection_limit
ae6f3443 Fix missing dependency in amphora create flow
d0a38baf Use octavia nodeset in octavia-grenade
1072263b Add non-voting octavia-v2-dsvm-scenario-centos-8
7890f0d9 Remove blacklist terminology in the Octavia tree
77f5c389 Add a router to the lb-mgmt-net for slaac
10365350 Switch from unittest2 compat methods to Python 3.x methods
f6a66d86 Remove deprecated status_update_threads option
40731e57 Fix neutron subnet lookup ignoring endpoint_type
41c628a0 Fix missing params in amphora base and noop driver
cd52cce7 Remove amp_ssH_access_allowed option
33d28b07 Remove amp_image_id option
89123c0f Add missing reload method in amphora noop driver
3ef4a75a fix(elements): fix nf_conntrack sysctl param names
83946336 Prioritize policy validation
d8d722b5 diskimage-create compatible with ShellCheck.
955bb884 Refactor the failover flows
e7735571 Update the API audit map
18887f5f Fix API audit CADF audit map for failover action
3ee9bc0d Fix listener API's test_create* assertions
f26ab8b9 add the verify for the session
e5951ced Use uwsgi binary from path
c176cf60 Fix error on devstack cleanup
8119b214 Cap jsonschema 3.2.0 as the minimal version
66a67ba5 Clarify health monitor behavior
958c3a18 Improve terminology in an old spec file
76616f35 Fix some typos in the explanatory notes
6cce3a72 Use unittest.mock instead of mock
de69b2c7 Remove all deprecated driver code that moved to octavia-lib
fafabad0 Switch oslo.policy over to yaml
f97a89de Fix UDP pool transform in LVS driver
9e070e6e Fix listener update with SNI certificates
5d919131 Add quota support to octavia's l7policy and l7rule
611880cd Fixed typo in upgrade section
c2ff9bce Update the feature matrix for new features
630a4e6a Fix batch member create for v1 amphora driver
270b973b Add minimum TLS version option in octavia.conf
d031596b Add a periodic fast forward upgrade job
9a6da864 Add TLS version configuration for pools
6aad5d8b Add TLS version configuration for listeners
0deff256 Change default tox envs from python37 to python3
bf460618 Stop to use the __future__ module.
9bee93b2 trivial fix
a84bf7d8 Fix test_barbican_legacy for Python 3.8
7c96e455 Fixed a bug: replace 'startwith' with 'startswith'
acc38391 Workaround peer name starting with hyphen
59831f46 Fix the grenade plugin to also upgrade octavia-lib
4a0ecd0e Add warning when running simple_server
acb4d7b4 Switch to newer openstackdocstheme and reno versions
b54f373c Fix getting user neutron client
d0f02330 Make sure devstack aborts if DIB fails
6354f92e Fix netcat option in udp_check.sh for CentOS/RHEL
2f610b95 Remove translation sections from setup.cfg
9a1d6d35 Fix E741 pep8 errors
8b8965bd Migrate grenade job to native Zuul v3
85f5b818 Add TLS cipher blacklist to octavia.conf
0056b517 Remove deprecated exception classes
526b1584 Add py38 package metadata
707c70d9 Add Python3 master unit tests
a5806960 Update master for stable/ussuri
fe771a45 Fix healthmanager not update amphora health when LB disable
5ee26a20 Fix Octavia unit tests for python 3.8
a720f76c Remove Babel requirement
70f5df1e Update cirros image to cirros-0.5.1-x86_64
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 1 +
README.rst | 10 +-
api-ref/source/conf.py | 28 +-
api-ref/source/index.rst | 12 +-
api-ref/source/parameters.yaml | 88 +-
api-ref/source/v2/amphora.inc | 43 +
api-ref/source/v2/examples/amphora-delete-curl | 1 +
api-ref/source/v2/examples/listener-create-curl | 2 +-
.../v2/examples/listener-create-request.json | 4 +-
.../v2/examples/listener-create-response.json | 4 +-
.../source/v2/examples/listener-show-response.json | 4 +-
api-ref/source/v2/examples/listener-update-curl | 2 +-
.../v2/examples/listener-update-request.json | 4 +-
.../v2/examples/listener-update-response.json | 4 +-
.../v2/examples/listeners-list-response.json | 4 +-
api-ref/source/v2/examples/pool-create-curl | 2 +-
.../source/v2/examples/pool-create-request.json | 3 +-
.../source/v2/examples/pool-create-response.json | 3 +-
api-ref/source/v2/examples/pool-show-response.json | 3 +-
api-ref/source/v2/examples/pool-update-curl | 2 +-
.../source/v2/examples/pool-update-request.json | 3 +-
.../source/v2/examples/pool-update-response.json | 3 +-
.../source/v2/examples/pools-list-response.json | 3 +-
api-ref/source/v2/examples/quota-update-curl | 2 +-
.../source/v2/examples/quota-update-request.json | 4 +-
.../source/v2/examples/quota-update-response.json | 4 +-
.../v2/examples/quotas-defaults-response.json | 4 +-
.../source/v2/examples/quotas-list-response.json | 4 +-
.../source/v2/examples/quotas-show-response.json | 4 +-
api-ref/source/v2/general.inc | 77 +-
api-ref/source/v2/healthmonitor.inc | 2 +-
api-ref/source/v2/l7policy.inc | 4 +-
api-ref/source/v2/listener.inc | 12 +
api-ref/source/v2/pool.inc | 9 +-
api-ref/source/v2/quota.inc | 10 +
babel.cfg | 2 -
devstack/README.md | 2 +-
devstack/plugin.sh | 102 +-
devstack/samples/singlenode/local.sh | 2 +-
devstack/settings | 5 +-
devstack/upgrade/settings | 6 -
devstack/upgrade/upgrade.sh | 1 +
diskimage-create/README.rst | 12 +
diskimage-create/diskimage-create.sh | 134 +-
diskimage-create/requirements.txt | 1 -
.../feature-matrix-healthmonitor.ini | 8 +
.../feature-classification/feature-matrix-lb.ini | 8 +
.../feature-matrix-listener.ini | 32 +
.../feature-classification/feature-matrix-pool.ini | 44 +-
.../75-amphora-agent-install | 6 +-
elements/amphora-agent/package-installs.yaml | 17 +-
elements/amphora-agent/pkg-map | 13 +-
.../post-install.d/10-enable-network-scripts | 4 +
.../post-install.d/90-remove-build-deps | 5 +-
.../static/usr/local/bin/udp-masquerade.sh | 81 ++
.../post-install.d/20-haproxy-tune-kernel | 5 +-
elements/octavia-lib/README.rst | 24 +
elements/octavia-lib/element-deps | 2 +
.../76-octavia-lib-install | 17 +
.../post-install.d/89-remove-build-deps | 12 +
elements/octavia-lib/source-repository-octavia-lib | 2 +
etc/audit/octavia_api_audit_map.conf.sample | 7 +-
etc/octavia.conf | 101 +-
etc/policy/README.rst | 6 +-
etc/policy/admin_or_owner-policy.json | 11 -
etc/policy/admin_or_owner-policy.yaml | 18 +
etc/policy/octavia-policy-generator.conf | 4 +-
httpd/octavia-api.conf | 2 +-
lower-constraints.txt | 30 +-
.../backends/agent/api_server/amphora_info.py | 74 +-
.../backends/agent/api_server/keepalived.py | 4 +
.../backends/agent/api_server/keepalivedlvs.py | 11 +-
.../backends/agent/api_server/loadbalancer.py | 39 +-
.../amphorae/backends/agent/api_server/osutils.py | 16 +-
.../amphorae/backends/agent/api_server/server.py | 9 +-
.../api_server/templates/plug_port_ethX.conf.j2 | 4 +-
.../api_server/templates/plug_vip_ethX.conf.j2 | 4 +-
.../rh_plug_port_eth_ifdown_local.conf.j2 | 4 +-
.../templates/rh_plug_port_eth_ifup_local.conf.j2 | 4 +-
octavia/amphorae/backends/agent/api_server/util.py | 79 +-
.../backends/health_daemon/health_daemon.py | 162 ++-
octavia/amphorae/backends/utils/haproxy_query.py | 5 +-
.../amphorae/backends/utils/ip_advertisement.py | 183 +++
.../amphorae/backends/utils/keepalivedlvs_query.py | 43 +-
.../amphorae/backends/utils/network_namespace.py | 50 +
octavia/amphorae/backends/utils/network_utils.py | 83 ++
octavia/amphorae/backends/utils/udp_check.sh | 14 +-
octavia/amphorae/driver_exceptions/exceptions.py | 4 +-
octavia/amphorae/drivers/driver_base.py | 117 +-
octavia/amphorae/drivers/haproxy/exceptions.py | 9 +-
.../amphorae/drivers/haproxy/rest_api_driver.py | 107 +-
octavia/amphorae/drivers/health/heartbeat_udp.py | 643 +++++++--
.../amphorae/drivers/keepalived/jinja/jinja_cfg.py | 2 +-
.../drivers/keepalived/vrrp_rest_driver.py | 81 +-
octavia/amphorae/drivers/noop_driver/driver.py | 62 +-
octavia/api/common/pagination.py | 24 +-
octavia/api/common/types.py | 40 +-
.../api/drivers/amphora_driver/flavor_schema.py | 4 +
octavia/api/drivers/amphora_driver/v1/driver.py | 44 +-
octavia/api/drivers/amphora_driver/v2/driver.py | 44 +-
octavia/api/drivers/data_models.py | 58 -
octavia/api/drivers/driver_agent/driver_updater.py | 42 +-
octavia/api/drivers/exceptions.py | 41 -
octavia/api/drivers/noop_driver/driver.py | 4 +-
octavia/api/drivers/utils.py | 45 +-
octavia/api/healthcheck/healthcheck_plugins.py | 4 +-
octavia/api/root_controller.py | 27 +-
octavia/api/v2/controllers/__init__.py | 6 +-
octavia/api/v2/controllers/amphora.py | 36 +-
.../v2/controllers/availability_zone_profiles.py | 18 +-
octavia/api/v2/controllers/availability_zones.py | 16 +-
octavia/api/v2/controllers/base.py | 14 +-
octavia/api/v2/controllers/flavor_profiles.py | 20 +-
octavia/api/v2/controllers/flavors.py | 14 +-
octavia/api/v2/controllers/health_monitor.py | 66 +-
octavia/api/v2/controllers/l7policy.py | 39 +-
octavia/api/v2/controllers/l7rule.py | 51 +-
octavia/api/v2/controllers/listener.py | 83 +-
octavia/api/v2/controllers/load_balancer.py | 106 +-
octavia/api/v2/controllers/member.py | 28 +-
octavia/api/v2/controllers/pool.py | 106 +-
octavia/api/v2/controllers/provider.py | 12 +-
octavia/api/v2/controllers/quotas.py | 4 +-
octavia/api/v2/types/listener.py | 15 +
octavia/api/v2/types/pool.py | 26 +-
octavia/api/v2/types/quotas.py | 8 +-
octavia/certificates/common/auth/barbican_acl.py | 4 +-
octavia/certificates/generator/local.py | 12 +-
octavia/certificates/manager/barbican.py | 2 +-
octavia/certificates/manager/barbican_legacy.py | 2 +-
octavia/certificates/manager/castellan_mgr.py | 2 +-
octavia/certificates/manager/local.py | 13 +-
octavia/cmd/agent.py | 2 +-
octavia/cmd/api.py | 4 +
octavia/cmd/status.py | 89 +-
octavia/common/base_taskflow.py | 11 +-
octavia/common/clients.py | 35 +-
octavia/common/config.py | 168 ++-
octavia/common/constants.py | 105 +-
octavia/common/context.py | 2 +-
octavia/common/data_models.py | 39 +-
octavia/common/exceptions.py | 30 +-
.../jinja/haproxy/combined_listeners/jinja_cfg.py | 52 +-
.../combined_listeners/templates/haproxy.cfg.j2 | 4 +-
.../haproxy/combined_listeners/templates/macros.j2 | 70 +-
.../jinja/haproxy/split_listeners/jinja_cfg.py | 4 +-
octavia/common/jinja/lvs/jinja_cfg.py | 4 +-
octavia/common/jinja/lvs/templates/base.j2 | 4 +
octavia/common/keystone.py | 2 +-
octavia/common/policy.py | 8 +-
octavia/common/stats.py | 10 +-
octavia/common/tls_utils/cert_parser.py | 32 +-
octavia/common/utils.py | 27 +-
octavia/common/validate.py | 130 +-
octavia/compute/compute_base.py | 8 +-
octavia/compute/drivers/noop_driver/driver.py | 41 +-
octavia/compute/drivers/nova_driver.py | 122 +-
.../healthmanager/health_drivers/update_db.py | 551 --------
octavia/controller/queue/v1/consumer.py | 4 +-
octavia/controller/queue/v1/endpoints.py | 4 +
octavia/controller/queue/v2/consumer.py | 13 +-
octavia/controller/queue/v2/endpoints.py | 10 +-
octavia/controller/worker/task_utils.py | 2 +-
octavia/controller/worker/v1/controller_worker.py | 568 +++++---
.../controller/worker/v1/flows/amphora_flows.py | 766 +++++-----
.../controller/worker/v1/flows/l7policy_flows.py | 2 +
octavia/controller/worker/v1/flows/l7rule_flows.py | 2 +
.../worker/v1/flows/load_balancer_flows.py | 450 +++++-
.../worker/v1/tasks/amphora_driver_tasks.py | 226 ++-
octavia/controller/worker/v1/tasks/cert_task.py | 2 +-
.../controller/worker/v1/tasks/compute_tasks.py | 94 +-
.../controller/worker/v1/tasks/database_tasks.py | 200 ++-
.../controller/worker/v1/tasks/lifecycle_tasks.py | 6 +-
.../controller/worker/v1/tasks/network_tasks.py | 221 ++-
octavia/controller/worker/v1/tasks/retry_tasks.py | 74 +
octavia/controller/worker/v2/controller_worker.py | 549 +++++---
.../controller/worker/v2/flows/amphora_flows.py | 786 ++++++-----
octavia/controller/worker/v2/flows/flow_utils.py | 47 +-
.../controller/worker/v2/flows/l7policy_flows.py | 2 +
octavia/controller/worker/v2/flows/l7rule_flows.py | 2 +
.../controller/worker/v2/flows/listener_flows.py | 14 +-
.../worker/v2/flows/load_balancer_flows.py | 503 +++++--
octavia/controller/worker/v2/flows/pool_flows.py | 9 +-
.../worker/v2/taskflow_jobboard_driver.py | 3 +-
.../worker/v2/tasks/amphora_driver_tasks.py | 273 ++--
octavia/controller/worker/v2/tasks/cert_task.py | 2 +-
.../controller/worker/v2/tasks/compute_tasks.py | 102 +-
.../controller/worker/v2/tasks/database_tasks.py | 276 +++-
.../controller/worker/v2/tasks/lifecycle_tasks.py | 6 +-
.../controller/worker/v2/tasks/network_tasks.py | 256 +++-
octavia/controller/worker/v2/tasks/retry_tasks.py | 73 +
octavia/db/migration/alembic_migrations/env.py | 2 -
...994dd3ec2_add_listener_alpn_protocols_column.py | 35 +
.../32e5c35b26a8_add_l7policy_and_l7rule_quota.py | 40 +
.../versions/8b47b2546312_sctp_support.py | 46 +
.../d3c8a090f3de_add_pool_tls_versions_column.py} | 25 +-
...493ae5f9a7_add_listener_tls_versions_column.py} | 25 +-
.../e6ee84f0abf3_add_proxy_v2_pool_protocol.py | 43 +
octavia/db/models.py | 36 +-
octavia/db/prepare.py | 27 +-
octavia/db/repositories.py | 212 ++-
octavia/distributor/drivers/noop_driver/driver.py | 6 +-
octavia/hacking/checks.py | 17 +
.../health_drivers => image}/__init__.py | 0
.../health_drivers => image/drivers}/__init__.py | 0
octavia/image/drivers/glance_driver.py | 69 +
octavia/image/drivers/noop_driver/__init__.py | 0
octavia/image/drivers/noop_driver/driver.py | 43 +
.../update_base.py => image/image_base.py} | 19 +-
octavia/network/base.py | 52 +
octavia/network/data_models.py | 16 +-
.../drivers/neutron/allowed_address_pairs.py | 351 +++--
octavia/network/drivers/neutron/base.py | 35 +-
octavia/network/drivers/neutron/utils.py | 45 +-
octavia/network/drivers/noop_driver/driver.py | 73 +-
octavia/opts.py | 3 +-
octavia/policies/amphora.py | 7 +
octavia/statistics/__init__.py | 0
octavia/statistics/drivers/__init__.py | 0
.../drivers/logger.py} | 18 +-
octavia/statistics/drivers/update_db.py | 43 +
octavia/statistics/stats_base.py | 60 +
.../backend/agent/api_server/test_keepalivedlvs.py | 24 +-
.../backend/agent/api_server/test_server.py | 81 +-
.../api/drivers/driver_agent/test_driver_agent.py | 2 +-
.../functional/api/v2/test_availability_zones.py | 2 +-
.../backends/agent/api_server/test_amphora_info.py | 2 +-
.../agent/api_server/test_haproxy_compatibility.py | 8 +-
.../backends/agent/api_server/test_keepalived.py | 2 +-
.../agent/api_server/test_keepalivedlvs.py | 2 +-
.../backends/agent/api_server/test_loadbalancer.py | 50 +-
.../backends/agent/api_server/test_osutils.py | 2 +-
.../backends/agent/api_server/test_plug.py | 26 +-
.../backends/agent/api_server/test_util.py | 130 +-
.../backends/agent/test_agent_jinja_cfg.py | 2 +-
.../backends/health_daemon/test_envelope.py | 2 +-
.../backends/health_daemon/test_health_daemon.py | 225 ++-
.../backends/health_daemon/test_health_sender.py | 2 +-
.../amphorae/backends/utils/test_haproxy_query.py | 2 +-
.../backends/utils/test_ip_advertisement.py | 212 +++
.../backends/utils/test_keepalivedlvs_query.py | 76 +-
.../backends/utils/test_network_namespace.py | 116 ++
.../amphorae/backends/utils/test_network_utils.py | 140 ++
.../amphorae/drivers/haproxy/test_exceptions.py | 52 +
.../drivers/haproxy/test_rest_api_driver_0_5.py | 78 +-
.../drivers/haproxy/test_rest_api_driver_1_0.py | 63 +-
.../drivers/haproxy/test_rest_api_driver_common.py | 83 ++
.../amphorae/drivers/health/test_heartbeat_udp.py | 1478 +++++++++++++++++++-
.../drivers/keepalived/jinja/test_jinja_cfg.py | 2 +-
.../drivers/keepalived/test_vrrp_rest_driver.py | 50 +-
.../test_noop_amphoraloadbalancer_driver.py | 35 +-
.../amphora_driver/v1/test_amphora_driver.py | 35 +-
.../amphora_driver/v2/test_amphora_driver.py | 53 +-
.../drivers/driver_agent/test_driver_listener.py | 2 +-
.../drivers/driver_agent/test_driver_updater.py | 78 +-
.../unit/api/drivers/test_provider_noop_agent.py | 2 +-
.../unit/api/drivers/test_provider_noop_driver.py | 4 +-
.../certificates/common/auth/test_barbican_acl.py | 2 +-
.../unit/certificates/generator/test_local.py | 2 +-
.../unit/certificates/manager/test_barbican.py | 2 +-
.../certificates/manager/test_barbican_legacy.py | 39 +-
.../certificates/manager/test_castellan_mgr.py | 2 +-
.../haproxy/combined_listeners/test_jinja_cfg.py | 466 +++++-
.../haproxy/split_listeners/test_jinja_cfg.py | 2 +-
.../common/jinja/logging/test_logging_jinja_cfg.py | 2 +-
.../unit/common/jinja/lvs/test_lvs_jinja_cfg.py | 26 +-
.../unit/common/jinja/test_user_data_jinja_cfg.py | 2 +-
.../sample_configs/sample_configs_combined.py | 62 +-
.../compute/drivers/test_compute_noop_driver.py | 8 +-
.../health_drivers/test_update_base.py | 38 -
.../healthmanager/health_drivers/test_update_db.py | 1414 -------------------
.../healthmanager/test_health_manager.py | 2 +-
.../controller/housekeeping/test_house_keeping.py | 6 +-
.../unit/controller/queue/v1/test_consumer.py | 2 +-
.../unit/controller/queue/v1/test_endpoints.py | 7 +-
.../unit/controller/queue/v2/test_consumer.py | 2 +-
.../unit/controller/queue/v2/test_endpoints.py | 7 +-
.../controller/worker/test_amphora_rate_limit.py | 2 +-
.../unit/controller/worker/test_task_utils.py | 2 +-
.../worker/v1/flows/test_amphora_flows.py | 215 ++-
.../worker/v1/flows/test_health_monitor_flows.py | 2 +-
.../worker/v1/flows/test_l7policy_flows.py | 2 +-
.../worker/v1/flows/test_l7rule_flows.py | 2 +-
.../worker/v1/flows/test_listener_flows.py | 2 +-
.../worker/v1/flows/test_load_balancer_flows.py | 238 +++-
.../worker/v1/flows/test_member_flows.py | 2 +-
.../controller/worker/v1/flows/test_pool_flows.py | 2 +-
.../worker/v1/tasks/test_amphora_driver_tasks.py | 288 +++-
.../worker/v1/tasks/test_compute_tasks.py | 82 +-
.../worker/v1/tasks/test_database_tasks.py | 36 +-
.../worker/v1/tasks/test_database_tasks_quota.py | 95 +-
.../worker/v1/tasks/test_lifecycle_tasks.py | 2 +-
.../controller/worker/v1/tasks/test_model_tasks.py | 2 +-
.../worker/v1/tasks/test_network_tasks.py | 416 +++++-
.../controller/worker/v1/tasks/test_retry_tasks.py | 47 +
.../controller/worker/v1/test_controller_worker.py | 993 ++++++++++---
.../worker/v2/flows/test_amphora_flows.py | 169 ++-
.../worker/v2/flows/test_health_monitor_flows.py | 2 +-
.../worker/v2/flows/test_l7policy_flows.py | 2 +-
.../worker/v2/flows/test_l7rule_flows.py | 2 +-
.../worker/v2/flows/test_listener_flows.py | 10 +-
.../worker/v2/flows/test_load_balancer_flows.py | 276 +++-
.../worker/v2/flows/test_member_flows.py | 2 +-
.../controller/worker/v2/flows/test_pool_flows.py | 5 +-
.../worker/v2/tasks/test_amphora_driver_tasks.py | 313 ++++-
.../worker/v2/tasks/test_compute_tasks.py | 79 +-
.../worker/v2/tasks/test_database_tasks.py | 39 +-
.../worker/v2/tasks/test_database_tasks_quota.py | 128 +-
.../worker/v2/tasks/test_lifecycle_tasks.py | 2 +-
.../worker/v2/tasks/test_network_tasks.py | 438 +++++-
.../controller/worker/v2/tasks/test_retry_tasks.py | 47 +
.../controller/worker/v2/test_controller_worker.py | 1041 +++++++++++---
.../unit/image/drivers/test_image_noop_driver.py | 39 +
.../drivers/neutron/test_allowed_address_pairs.py | 480 ++++++-
.../unit/network/drivers/neutron/test_base.py | 2 +-
.../unit/network/drivers/neutron/test_utils.py | 3 +-
.../network/drivers/test_network_noop_driver.py | 58 +-
.../drivers/test_logger.py} | 28 +-
.../unit/statistics/drivers/test_update_db.py | 78 ++
.../unit/volume/drivers/test_cinder_driver.py | 2 +-
.../unit/volume/drivers/test_volume_noop_driver.py | 2 +-
octavia/volume/drivers/cinder_driver.py | 10 +-
octavia/volume/drivers/noop_driver/driver.py | 4 +-
playbooks/image-build/run.yaml | 7 +-
.../legacy/grenade-devstack-octavia/post.yaml | 19 -
playbooks/legacy/grenade-devstack-octavia/run.yaml | 62 -
.../Add-proxy-protocol-v2-90e4f5bf76138c69.yaml | 4 +
...a-health-when-LB-disabled-46a4fb295c6d0850.yaml | 6 +
...d-amphora-alpn-h2-support-dfa9a86b2c06f354.yaml | 6 +
.../notes/add-amphora-delete-69badba140f7b228.yaml | 4 +
...hora-image-tag-capability-ba2ea034bc01ab48.yaml | 7 +
releasenotes/notes/add-c9b9401b831efb25.yaml | 10 +
...olicy-and-l7rule-to-quota-4b873c77f1e608e6.yaml | 3 +
...listener-tls-alpn-support-3056fb01b418c88f.yaml | 9 +
.../add-nftables-support-c86a89c420f6a42a.yaml | 4 +
...support-for-sctp-protocol-152444b211ab2188.yaml | 5 +
.../allow-invisible-subnets-e30b0b5fbd216294.yaml | 2 +-
.../deprecating-spares-pool-9f92787ec9809a78.yaml | 11 +
...d-member-tls-enabled-pool-cc77bfa320aaf659.yaml | 5 +
...ailover-missing-vrrp-port-9b5f13b9951b7edb.yaml | 5 +
...ner-update-sni-containers-6595c52e2de1f621.yaml | 8 +
.../notes/fix-api-sort-key-337f342d5cdce432.yaml | 5 +
...ix-audit-map-for-failover-e63390399da6841d.yaml | 5 +
...ix-barbican-client-verfiy-689be1b9389bd1d8.yaml | 5 +
...sable-udp-listener-status-3d34a5596e62da1c.yaml | 6 +
...versions-ciphers-clearing-4e987ee17d6b6e79.yaml | 8 +
...amphora-create-dependency-a954ded0d260d462.yaml | 5 +
...ix-peer-name-prefix-hypen-e74a87e9a01b4f4c.yaml | 10 +
...header-insertion-mismatch-e3aeb5f5fee0348b.yaml | 5 +
...enabled-pool-provisioning-e3adb987244a025a.yaml | 4 +
.../notes/fix-udp-only-lbs-c4ca42106fc1e2bb.yaml | 5 +
...nstable-UDP-health-status-ba32690b83a9641b.yaml | 7 +
.../get-all-unscoped-token-61da95856bc662e0.yaml | 10 +
.../improve-terminology-8ddacb4458c74d57.yaml | 9 +
.../jobboard-enable-option-5132e372c446d6de.yaml | 8 +
.../notes/min-tls-version-8e2856fb055ece2c.yaml | 6 +
...ction_limit-config-option-3ed9f0ed6ec2b514.yaml | 18 +
.../notes/pool-tls-versions-37f8036eb29ffeee.yaml | 7 +
...end-haproxy-2.x-for-http2-697416c486e36840.yaml | 6 +
.../refactor_failover_flow-9efcd854240f71ad.yaml | 11 +
...ve-amp-ssh-access-allowed-e11dc011637b21dd.yaml | 6 +
.../remove-amp_image_id-12a88bae6518455b.yaml | 6 +
...ove-status_update_threads-85a8b0307a04c164.yaml | 6 +
...drivers-interface-changes-c8f2bf3b02eec767.yaml | 17 +
.../switch-to-live-drivers-cbae7c60eafa0f3e.yaml | 6 +
.../tls-cipher-prohibit-list-b5a23ca38149f3b8.yaml | 6 +
.../tls-versions-listeners-59cecde77e0238a0.yaml | 14 +
releasenotes/source/conf.py | 8 +-
releasenotes/source/index.rst | 1 +
releasenotes/source/ussuri.rst | 6 +
requirements.txt | 24 +-
setup.cfg | 34 +-
specs/template.rst | 2 +-
specs/version0.5/network-driver-interface.rst | 2 +-
test-requirements.txt | 2 +-
tools/coding-checks.sh | 2 +-
tools/create_flow_docs.py | 45 +-
tools/flow-list-v2.txt | 32 +
tools/flow-list.txt | 3 +-
tools/misc-sanity-checks.sh | 6 +-
tox.ini | 31 +-
zuul.d/jobs.yaml | 134 +-
zuul.d/projects.yaml | 46 +-
448 files changed, 20503 insertions(+), 7516 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 050e01d5..2f4f194f 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -8 +8 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0
-SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT
+SQLAlchemy>=1.2.19 # MIT
@@ -10 +9,0 @@ SQLAlchemy-Utils>=0.30.11
-Babel!=2.4.0,>=2.3.4 # BSD
@@ -21 +20 @@ oslo.context>=2.19.2 # Apache-2.0
-oslo.db>=4.27.0 # Apache-2.0
+oslo.db[mysql]>=8.3.0 # Apache-2.0
@@ -24 +23 @@ oslo.log>=3.36.0 # Apache-2.0
-oslo.messaging>=6.3.0 # Apache-2.0
+oslo.messaging>=12.4.0 # Apache-2.0
@@ -33 +31,0 @@ pyasn1-modules>=0.0.6 # BSD
-PyMySQL>=0.7.6 # MIT License
@@ -38 +36 @@ python-cinderclient>=3.3.0 # Apache-2.0
-pyOpenSSL>=17.1.0 # Apache-2.0
+pyOpenSSL>=19.1.0 # Apache-2.0
@@ -41,2 +39 @@ Jinja2>=2.10 # BSD License (3 clause)
-taskflow>=4.1.0 # Apache-2.0
-diskimage-builder>=2.24.0 # Apache-2.0
+taskflow>=4.4.0 # Apache-2.0
@@ -46,3 +43,2 @@ distro>=1.2.0 # Apache-2.0
-jsonschema>=2.6.0 # MIT
-debtcollector>=1.19.0 # Apache-2.0
-octavia-lib>=2.0.0 # Apache-2.0
+jsonschema>=3.2.0 # MIT
+octavia-lib>=2.2.0 # Apache-2.0
@@ -51,0 +48 @@ setproctitle>=1.1.10 # BSD
+python-dateutil>=2.7.0 # BSD
@@ -55,3 +52,2 @@ Flask!=0.11,>=0.10 # BSD
-netifaces>=0.10.4 # MIT
-cryptography>=2.1 # BSD/Apache-2.0
-pyroute2>=0.4.21;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
+cryptography>=3.0 # BSD/Apache-2.0
+pyroute2>=0.5.14;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
diff --git a/test-requirements.txt b/test-requirements.txt
index 7d827764..9231bb60 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -20 +20 @@ tempest>=17.1.0 # Apache-2.0
-sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
+sphinx>=2.0.0,!=2.1.0 # BSD
1
0
We are overjoyed to announce the release of:
sahara-extra 12.0.0: Extras for Sahara: hadoop-swiftfs
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/sahara-extra
Download the package from:
https://tarballs.openstack.org/sahara-extra/
Please report issues through:
https://bugs.launchpad.net/sahara/+bugs
For more details, please see below.
Changes in sahara-extra 11.0.0..12.0.0
--------------------------------------
cf57628 Fix hacking min version to 3.0.1
Diffstat (except docs and test files)
-------------------------------------
test-requirements.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index 47daa69..7ef9f3d 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -5 +5 @@
-hacking>=3.0,<3.1.0 # Apache-2.0
+hacking>=3.0.1,<3.1.0 # Apache-2.0
1
0
We are gleeful to announce the release of:
sahara-image-elements 13.0.0: Image elements for Sahara
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/sahara-image-elements
Download the package from:
https://tarballs.openstack.org/sahara-image-elements/
Please report issues through:
https://bugs.launchpad.net/sahara/+bugs
For more details, please see below.
Changes in sahara-image-elements 12.0.0..13.0.0
-----------------------------------------------
ded80db Fix URL of Maven Central Repository
2d0c3a8 Fix the buildimages jobs: call the ensure-tox role
Diffstat (except docs and test files)
-------------------------------------
elements/hadoop-cdh/post-install.d/50-cdh-fixes | 2 +-
elements/s3_hadoop/post-install.d/89-manipulate-s3 | 8 ++++----
playbooks/buildimages/run.yaml | 1 +
roles/build-sahara-images-dib/defaults/main.yaml | 1 +
roles/build-sahara-images-dib/tasks/main.yaml | 2 +-
tools/gate/build-images | 9 +++++----
6 files changed, 13 insertions(+), 10 deletions(-)
1
0
We are ecstatic to announce the release of:
nova 22.0.0: Cloud computing fabric controller
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/nova
Download the package from:
https://tarballs.openstack.org/nova/
Please report issues through:
https://bugs.launchpad.net/nova/+bugs
For more details, please see below.
Changes in nova 21.0.0.0rc1..22.0.0
-----------------------------------
6f35e4fd2a Test for disabling greendns
95103c3bc9 libvirt: Bump MIN_{LIBVIRT,QEMU}_VERSION and NEXT_MIN_{LIBVIRT,QEMU}_VERSION
5ab9b28161 test_evacuate.sh: Stop using libvirt-bin
6c62830ae8 test_evacuate.sh: Support libvirt-bin and libvirtd systemd services
57ac83d4d7 releasenote: Add known issue for bug #1894804
e3cfcb0b37 doc: Fix rendering in the accelerator support doc
db7f263406 doc: correct the link to user/flavor.rst
75250d6b17 fakelibvirt: Use versionutils to set min versions found in the driver
09204e6616 Victoria 22.0.0 prelude section
f9b67893ac compute: Skip cinder_encryption_key_id check when booting from volume
e76cccddd3 Add regression test for bug #1895696
2a7f1f986e docs: Improve 'AggregateImagePropertiesIsolation' docs
19ef3655b1 tests: Remove '_FakeImageService'
cc45581a18 functional: Add and use 'GlanceFixture'
8750c4e173 functional: Enable real policy fixture by default
32c43fc801 api: Set min, maxItems for server_group.policies field
2c66962c7a tests: Add regression test for bug 1894966
9d55b754f2 test_evacuate: Wait until subnode is down before starting tests
17ba10b759 functional: Add test for SR-IOV neutron ports
cc8b300f67 conductor: Don't use setattr
7c1d964faa Correctly disable greendns
f1e0cfda52 Update compute rpc version alias for victoria
f8919c9705 Remove write_to_file.
cec24aee74 doc: mark the max microversion for victoria
84cfc8e9ab Allow tap interface with multiqueue
1fd44eb56f trivial: Final cleanup
b9fdf09a17 objects: Remove 'XenapiLiveMigrateData'
b93debd12c xenapi: Remove Xen-only code paths
7991155454 virt: Remove 'is_xenapi' helper
adb28f503c xenapi: Remove driver and tests
793e96c524 trivial: Remove useless comment
b420c343f2 Support old & new versions of svm and vmx traits
3b10781c85 Cleanup unused code
53172fa3b0 Follow up for I67504a37b0fe2ae5da3cba2f3122d9d0e18b9481
adbc94f8cd Spell out 3pp in vmware undeprecation reno
fd99a7ca0f Fix error that cannot overwrite policy rule for 'forced_host'
1361ea5ad1 Support SRIOV interface attach and detach
8ccc46c35d functional: Add cold migration tests for PCI servers
0ab8a03c78 functional: Clean up PCI tests
980711f3d3 functional: Use tempdir for CONF.instances_path
6c4d1a6aab functional: Add 'start_compute' helper
8cb9b84f28 Fix invalid assert_has_calls
255b3f2f91 Track error migrations in resource tracker
ef769443fb [Trivial] Replace ref of policy.json to policy.yaml
b430036a77 docs: Remove resize, cold migration from vTPM limitations
fe545dbe5f Migrate default policy file from JSON to YAML
eb819c8c63 Add support for resize and cold migration of emulated TPM files
b2fbaa8767 Set 'old_flavor', 'new_flavor' on source before resize
27b37ed5c8 Expand generic reproducer for bug #1879878
498b41f65b Undeprecate the vmwareapi driver
b8f3be6b3c Set migrate_data.vifs only when using multiple port bindings
71bc6fc9b8 add functional regression test for bug #1888395
5bea8a09c5 Use UUID as vif and network_id in vif tests
c6ebfa45e6 doc: Fix note directives
049c0e6bde Run voting jobs in gate pipeline also
6f1f71620a Add type hints to 'nova.virt.libvirt.utils'
49817d31b1 Handle oslo.messaging ping endpoint
a33f455ec7 Adapt the admin guide to describe the direct RBD export
dc9c7a5ebf Move revert resize under semaphore
a57800d382 Move confirm resize under semaphore
8223a84d04 Remove no-op fake calls from network_info tests
a8b0c6b456 Add note and daxio version to the vPMEM document
6488a5dfb2 post live migration: don't call Neutron needlessly
a77f44a6c5 func: Remove references to attachment_id when volume_id is used
46b1ff4e80 libvirt: Remove '[vnc] keymap', '[spice] keymap' options
3ae2153632 Describe '[glance]/enable_rbd_download'
97267fc05c Reject resize operation for accelerator
e45f3b5d71 Remove support for Intel CMT events
f0ec6378c4 trivial: Use constants for libvirt version checks
7e8a9786dc Only unplug vif after the device is detached from libvirt
c21f08f0f6 Move equality check into LibvirtConfigGuestInterface
eff6099c82 Remove unused vpn param from allocate_for_instance
16429c6b90 Delete non tag related device metadata during detach
789bff29fc privsep: Add support for recursive chown, move_tree operations
44376d2e21 Don't unset Instance.old_flavor, new_flavor until necessary
340ef02e06 libvirt: Deprecate support for non-QEMU/KVM backends
64b4271279 Revert "Handle Neutron errors in _post_live_migration()"
fe52b6c25b Update image_base_image_ref during rebuild.
1356ef5b57 Cyborg evacuate support
38757964ed Provider Config File: Coding style and test cases improvement
45c0ea4a3e tools: Remove xenserver tooling
58f7582c63 docs: Remove references to XenAPI driver
31b2fd114c hacking: Stop special casing 'plugins.xenserver'
d4e6e9151c virt: Highlight soon-to-be-unused driver APIs
61aeb1adbc Add ability to download Glance images into the libvirt image cache via RBD
b5d4804346 doc: Update references to image properties
4c11d5467a Default user_id when not specified in check_num_instances_quota
38bc8b871a Add regression test for bug 1893284
39831c5599 Add a lock to prevent race during detach/attach of interface
220c62e2d5 functional: Provide default 'host_info' for '_get_connection'
662af9fab6 Change default num_retries for glance to 3
a323ed29ee vmware: Handle exception in destroy with attached volumes
e91b07dc52 functional: Don't inherit from 'ProviderUsageBaseTestCase'
260713dc22 Provider Config File: Enable loading and merging of provider configs
b0ebdf8602 Avoid invalid file name, preventing git clone on win32
e4601c77fb Ensure source compute is up when confirming a resize
25d786bd8a releasenotes: Detail support for server ops with vTPM
9285428a16 rbd: Move rbd_utils out of libvirt driver under nova.storage
953b49ee12 Add type hints to 'nova.compute.manager'
fc8deb4f86 Provider Config File: Functions to merge provider configs to provider tree
a5d153a4c6 Set different VirtualDevice.key
0ed4ec6f26 docs: Add docs for vTPM support
e0ca2652ed libvirt: Add emulated TPM support to Nova
ecff78e05d tests: Add helpers for rebuild, cold migrate, and shelve/unshelve
1bb8ee95d4 libvirt: Provide VIR_MIGRATE_PARAM_PERSIST_XML during live migration
e1adbced92 Add generic reproducer for bug #1879878
366ed13937 Add reno for deprecated APIs policy changes
eef4b5435e api: Reject non-spawn operations for vTPM
3a54eec5ef docs: fix aggregate weight multiplier property names
521ea08467 Few todo fixes for API new policies
b39d8b8c96 db: fix database migrations when name includes dash
10f0a42de1 tests: Add reproducer for bug #1879878
5018d5d517 functional: Drop '_api' suffix from placement fixture
1cb9a3a0b8 functional: Move single-use function to its caller
f0b76cc0f1 libvirt: Add libvirt version mocks in test_private_destroy_* tests
30c30f5a59 libvirt: Fix indentation in test__video_model_supported
10e9a9b9fc Add checks for volume status when rebuilding
bc96af5659 libvirt: Do not reference VIR_ERR_DEVICE_MISSING when libvirt is < v4.1.0
982ee741fb Fix indentation nits
e905400ca0 [goal] Prepare for job migration to Ubuntu Focal (20.04)
f881854ea6 zuul: use the new barbican simple-crypto job
583672c03c Pass the actual target in FIP policy
08f58909bd Add new default roles in FIP policies
fb3bf32fa2 Pass the actual target in networks policy
558c6e752a Add new default roles in networks policies
284ac43f7a Add scope and new default roles in extensions policies
fcc451cd4c Pass the actual target in baremetal nodes policy
de2226b4b3 Add new default roles in baremetal nodes policies
4ba23996d0 libvirt: Mock LoopingCallBase._sleep in rbd tests
ddcd422c44 libvirt: Pass context, instance to '_create_guest'
0f61324893 tests: Add helpers for suspend, resume and reboot of server
2c074b9486 Remove six.reraise
5191b4f2f0 Remove six.add_metaclass
28ed0c5c9a Remove six.PY2 and six.PY3
09b2dce4c3 Introduce scope_types in FIP policy
8d7b7f55d8 Add test coverage of FIP policies
8953a68946 Rebase qcow2 images when unshelving an instance
4939d0d1e2 Remove deprecated scheduler filters
806575cfd5 Detach is broken for multi-attached fs-based volumes
9b6a93ae3e fakelibvirt: Remove nova-network remnants
5d26fda5ea [Trivial] Remove wrong format_message() conversion
49b3ad33d3 Fix FIP policy for admin_or_owner
1cee7c01ef Remove dead volume driver code
d2af7ca7a5 Removes the delta file once image is extracted
8c69c86f18 Provider Config File: Function to further validate and retrieve configs
b3b56d8127 Add lsscsi to bindep
9f205c620e Handle Neutron errors in _post_live_migration()
1c733d9730 zuul: Start to migrate nova-live-migration to zuulv3
efc27ff84c Lookup nic feature by PCI address
e7d3a65ff4 doc: Add IPv6 metadata address
81a44384a9 Add regression test for bug 1879787
e70ddd621c func: Introduce a server_expected_state kwarg to InstanceHelperMixin._live_migrate
1f81c08657 func: Add CinderFixture to _IntegratedTestBase
2102f1834a compute: Don't delete the original attachment during pre LM rollback
274cc3d7f4 Fix lower-constraints conflicts
9c27033204 hardware: Reject requests for no hyperthreads on hosts with HT
737e0c0111 tests: Add reproducer for bug #1889633
77d3f5bacf Remove warning filters for legacy Python version
27336fb465 trivial: Remove unused attributes
a89ffab832 Removed the host FQDN from the exception message
3667af6cd1 Provider Config File: YAML file loading and schema validation
5913bd889f compute: Validate a BDMs disk_bus when provided
3e9aa55455 compute: As cellsv1 is no more fold _detach_volume back into detach_volume
4c970f499c Add regression tests for bug #1889108
e6c2a86328 func: Add live migration rollback volume attachment tests
abeb47b20d Pass the actual target in volumes policy
b6aef1ec4f Handle multiple 'vcpusched' elements during live migrate
b39712f03e Add new default roles in volumes policies
ce22034566 Make _rebase_with_qemu_img() generic
ebdb852a83 libvirt: Remove blockjob.end == 0 workaround resolved in libvirt v2.3.0
260ebeebb8 Add test coverage of extensions policies
4ef2ebe241 Add new default roles in hosts policies
864a32bc37 Introduce scope_types in hosts policy
b58713b2e0 Add test coverage of hosts policies
ce6fcf5a83 scheduler: Default request group to None
e4aa424642 Use compression by default for 'SshDriver'
4ecec2ff73 Pass the actual target in security_groups policy
a20ab7016e Add new default roles in security_groups policies
9acbae3619 Introduce scope_types in volumes policy
136fc7a936 Add test coverage of volumes policies
3423d44c5e Pass the actual target in tenant networks policy
cade031eb3 Add new default roles in tenant networks policies
787e359bb1 Introduce scope_types in tenant networks policy
35420580e5 Add test coverage of tenant networks policies
2e1c10e269 Introduce scope_types in networks policy
ff9d31b333 Add test coverage of networks policies
2939847226 Introduce scope_types in security_groups policy
80156827ed Add test coverage of security_groups policies
9bf228a55a trivial: Test object backporting against correct version
d94ea23d3d Delete ARQs by UUID if Cyborg ARQ bind fails.
7ba8f40134 QEMU/KVM: accept vmxnet3 NIC
086796021b objects: Update keypairs when saving an instance
73aad31a34 resolve ResourceProviderSyncFailed issue
902f09af25 libvirt: Handle VIR_ERR_DEVICE_MISSING when detaching devices
24fe5d7dda Add new default roles in multinic policies
9c129ccef9 Introduce scope_types in multinic policy
d9954df201 Add test coverage of multinic policies
904e4db1f8 Fix multinic policy for admin_or_owner
6f121598b6 libvirt: Use better variable names, types for '_create_guest'
5964d7e11c libvirt: Remove workaround for really old QEMU
279f89e320 libvirt: Re-enable live snapshot for paused instances
f2659da160 test: add some notes and new tests for mixed instance
dd1b812ebd release note: add new features introduces by use-pcpu-and-vcpu-in-one-instance
916ffddca8 metadata: export the vCPU IDs that are pinning on the host CPUs
275ea2de36 hardware: create 'mixed' instance for realtime CPUs
5c71ac5e02 hardware: Enable 'hw:cpu_dedicated_mask' for creating a mixed instance
9ddc60539f compute: bump nova-compute version and check in API
f1d4d9762c Correct the check_str and pass actual target in FIP pools policy
c97ccb3634 libvirt: Track blockjob status in DEBUG when polling for completion
a8296eaf16 libvirt: Remove two-level loop
8c0d1acf6e Introduce scope_types in FIP pools
4e67f4aa27 Add test coverage of FIP pools policies
672aa45dd1 Introduce scope_types in baremetal node
bf9762f701 Add test coverage of baremetal nodes policies
e8eb8d8387 Remove broken legacy zuul jobs
c60f90cb2f tests: Make '_IntegratedTestBase' subclass 'PlacementInstanceHelperMixin'
58ecd338c1 tests: Add 'PlacementHelperMixin', 'PlacementInstanceHelperMixin'
bfe7b7f3ee tests: Remove 'test_servers.ServersTestBase'
c558b58619 tests: Define constants in '_IntegratedTestBase'
af5a6aae45 tests: Move single use constants to their callers
9ae79d3b29 tests: Rename tests for '_create_guest_with_network'
bf5eea6fda manager: Prevent compute startup on invalid vTPM config
6ac2287826 crypto: Add support for creating, destroying vTPM secrets
5550f86623 scheduler: Request vTPM trait based on flavor or image
e3b0412dda libvirt: Add vTPM config support
969a6d49e5 libvirt: Simplify '_create_domain' function
9bb54cab55 scheduler: mixed instance CPU resource translating
fba70587b6 Calculate the CPU usage for mixed instance
3a4814804d Validate CPU pinning configuration for mixed instance
6aa1931e8d libvirt: apply mixed instance CPU policy
c4e9e2e066 hardware: refactor the code for CPU policy sanity check
ba3388d666 objects: Introduce the 'CPUAllocationPolicy.MIXED' enum
d992eb2f5a notifications: add the pcpuset info to instance numa cell payload
a81189b0e2 Make our ceph job test with glance in multistore mode
867d447101 objects: Introduce 'pcpuset' field for InstanceNUMACell
ccfde2795a Move image verification and writing out of download method
84e8aa717c doc: Correct typo
6297e3aadc Replace assertItemsEqual with assertCountEqual
1b661c2669 Reduce gen conflict in COMPUTE_STATUS_DISABLED handling
bce4a3ab97 zuul: remove legacy-tempest-dsvm-neutron-dvr-multinode-full
f167891218 Repro gen conflict in COMPUTE_STATUS_DISABLED handling
b327b961f6 Document nova in tree virt drivers
55ff751775 test_hardware: code formating for multiline construct
9fc63c7644 hardware: Tweak the 'cpu_realtime_mask' handling slightly
f5aa144593 hardware: Allow 'hw:cpu_realtime_mask' to be omitted
9ce6c0d8e9 crypto: Add type hints
b9ff0ca94e compute: Do not allow rescue attempts using volume snapshot images
7e4d8afb95 virt: Add 'context', drop 'network_info' parameters for 'unrescue'
72cf37bca0 utils: Move 'get_bdm_image_metadata' to nova.block_device
8fa83ff62a Add traits for new AVX512 CPU feature
2ee9ad2516 Fix mock for 'autospec' and 'new' together
af80c3ffd1 catch libvirt exception when nodedev not found.
87fc1748f3 Implement extend_volume for libvirt NFS volume driver
e0d541073d Fix user creation with GRANT in MySQL 8.0(Ubuntu Focal)
be9b735847 Snapshot: offload glance upload in a native thread
6bb0c4fdab Limit the number of concurrent snapshots
01e3c8778d Extend is_ipv6_supported() to cover more error cases
c7c48c6f52 Fix cherry-pick check for merge patch
68a5531568 Prevent libvirt driver starting on non Linux platform
e567adf7f6 Correct reported system memory
2fbe8e02d5 Remove deprecated nova.image.download hook
16df22dcd5 Raise InstanceMappingNotFound if StaleDataError is encountered
07025abf72 Make libvirt able to trigger a backend image copy when needed
4a6a366b05 Plumb image import functionality through our glance module
d689533d9e hardware: Remove '_numa_fit_instance_cell_with_pinning'
eedac34b21 hardware: Invert order of NUMA topology generation
4d58c0bb3d Switch from unittest2 compat methods to Python 3.x methods
385df41b70 Remove lxml deprecated methods
a45daafd31 Delete resource provider in tree by top-down traversable order
a85753778f Guard against missing image cache directory
c88a35e8ea hardware: Rework 'get_realtime_constraint'
184a2cadf0 hardware: Remove handling of pre-Train compute nodes
0a0c174fbc hardware: Don't consider overhead CPUs for unpinned instances
690ce37e72 objects: Replace 'cpu_pinning_requested' helper
dff70b3bce tests: Split instance NUMA object tests
b065974187 hardware: Add validation for 'cpu_realtime_mask'
6a71981e47 libvirt: Add typing information
26c1567a16 hardware: Update and correct typing information
61084702f4 libvirt: ensure disk_over_commit is not negative
9dca0d186f Remove hacking rules for python 2/3 compatibility
aebc829c4e Check cherry-pick hashes in pep8 tox target
0eb77b0ad2 Update interop repo link
b2f07a4959 Fix pdf-docs build failing for TeX over capacity
69079f072d Remove unused function parameters
6ae11a0bcf Remove unnecessary retrieval of Migration object
3b99747b42 libvirt: Don't allow "reserving" file-backed memory
644cb5cb8b libvirt: Mark e1000e VIF as supported
125df26bf9 Use 'Exception.__traceback__' for versioned notifications
03b00ae02f Add reproducer for bug #1881455
e9eb52dee4 libvirt: Remove unused host parameters
be3c56c793 libvirt: Remove MIN_*_INTERFACE_MTU, MIN_*_TX_QUEUE_SIZE
d84446bdd8 libvirt: Remove MIN_LIBVIRT_ETHERNET_SCRIPT_PATH_NONE
49788b7633 libvirt: Remove workaround for unsupported libvirt version
b72980960e Remove hooks
45a88f08b4 hacking: Modify checks for translated logs
21fecc7060 trivial: Remove log translations
325e51f1b0 Cap jsonschema 3.2.0 as the minimal version
497360b0ea libvirt: Don't delete disks on shared storage during evacuate
90e0e874bd Add functional test for bug 1550919
236f1b2d09 zuul: Make devstack-plugin-ceph-tempest-py3 a voting check job again
58159470bf [Nova] Add reference to Placement installation guide
cf74d24032 Fix configure() called after DatabaseAtVersion fixture
714c5a3ede Cleanup libvirt test_mount unit tests
d8f7325181 Add missing test bindep on openssl
bcfa24a09b Remove eventlet hub workaround for monotonic clock
4e394380a3 zuul: Make barbican-simple-crypto-devstack-tempest a non-voting check job
ee84b2688e Remove compatibility check from migrate_data
2e7acc3249 Remove inject_file from compute manager and virt driver
3c8079666f Fix an erroneous grammar in explanatory notes
f76d09b19d hardware: Raise useful error for invalid mempage size
ef83f67a58 Remove unused object_compat decorator
79e6d3e135 docs: Remove subtitles, metadata from man pages
f4534e5148 [Trivial]Add missing white spaces between words in log messages
9e457deba0 Fix pygments_style
ab3fab0322 Add admin doc information about image cache resource accounting
6458c3dba5 rbd_utils: increase _destroy_volume timeout
89fe504abf Reserve DISK_GB resource for the image cache
61b99a1295 Bump hacking min version to 3.1.0
d40a0856ad Add packages required for pdf-docs run to bindep.txt
2eb2752988 Add link to PDF document
d565e7a092 trivial: Remove remaining '_LI' instances
3a28b0e771 trivial: Remove remaining '_LW' instances
eee57f2380 trivial: Remove remaining '_LE' instances
ab16946885 Make quotas respect instance_list_per_project_cells
6c963e7712 Switch to newer openstackdocstheme and reno versions
34ecf5ab91 tox: Integrate mypy
7776cc02a1 compute: Remove snapshot quiesce tests for STOPPED and SUSPENDED instances
cfde53e4b4 compute: Allow snapshots to be created from PAUSED volume backed instances
9f2e24a5a4 Bump hacking min version to 3.0.1
2cc105b46a Poison netifaces.interfaces() in tests
2ac289ce12 libvirt: Remove MIN_LIBVIRT_MULTIATTACH
324c9b596b Suppress remaining policy warnings in unit tests
c3834e675f Moving functional jobs to Victoria testing runtime
f203da3838 objects: Add MigrationTypeField
bf488a8630 replace the "hide_hypervisor_id" to "hw:hide_hypervisor_id"
8a2ed8a78e docs: Resolve issue with deprecated extra specs
ca2fe01cc1 remove support of oslo.messaging 9.8.0 warning message
d6f664524d Silence amqp heartbeat warning
eb433bf17e Fix aggregate placement sync issue
dc5dc4de2f Wait for all servers to be active when testing vGPUs
2362970d5c config: Explicitly register 'remote_debug' CLI opts
eff787626f Fix ut error on Aarch64(And other non-x86 platform)
0f61d926b1 objects: Add migrate-on-load behavior for legacy NUMA objects
87936baaac Support for --force flag for nova-manage placement heal_allocations command
40e3366ea3 docs: Add evacuation pre-conditions around the src host
ca8f1f4222 Follow-up for NUMA live migration functional tests
5af9ad4e54 Remove monotonic usage
505e1f1838 Don't show upgr note for policy validation in V
e722fb63e4 Add py38 package metadata
2b82575f3f doc: Fix list rendering in cli/nova-status.rst
c19de075e1 Add nested resource providers limit for multi create
d4af91f349 Add nova-status upgrade check and reno for policy new defaults
32bbbd698a Test multi create with vGPUs
d637b14092 Update contributor guide for Victoria
d10f4169c9 Fix list rendering in the accelerator support doc
9f0d2d8ecf zuul: Switch to the Zuulv3 grenade job
5c01be7bf3 Remove translation sections from setup.cfg
fcf1ce51c3 Imported Translations from Zanata
ff42d69aa7 Switch to TOX_CONSTRAINTS_FILE
75a2d600fc Add placeholder migrations for Ussuri backports
347d656c35 Add Python3 victoria unit tests
b5ab89762a Update master for stable/ussuri
d3ca735686 Remove stale nested backport from InstancePCIRequests
c59225cefd Remove Babel requirement
af2405e118 libvirt:driver:Disallow AIO=native when 'O_DIRECT' is not available
5ab9ef11e2 Don't recompute weighers' minval/maxval attributes
be810df06f Feature matrix: update AArch64 information
738110db74 Update scheduler instance info at confirm resize
b52c483308 Reproduce bug 1869050
1515a229e3 Remove future imports
32713a4fe8 NUMA LM: Add func test for bug 1845146
06aaa08dc4 Functional tests for NUMA live migration
7f3a8957fc Increase code reuse in test_numa_servers
efdcaf00e0 Handle flavor disk mismatches when resizing
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 1 +
.zuul.yaml | 161 +-
HACKING.rst | 7 +-
README.rst | 2 +-
api-guide/source/accelerator-support.rst | 89 +-
api-guide/source/conf.py | 20 +-
api-ref/source/conf.py | 8 +-
api-ref/source/parameters.yaml | 7 +-
api-ref/source/servers-action-evacuate.inc | 6 +
api-ref/source/servers-admin-action.inc | 3 +-
babel.cfg | 2 -
bindep.txt | 12 +
.../os-rescue/server-get-resp-rescue.json | 3 -
.../os-rescue/server-get-resp-unrescue.json | 3 -
.../os-rescue/v2.87/server-get-resp-rescue.json | 13 +-
.../os-rescue/v2.87/server-get-resp-unrescue.json | 13 +-
.../v2.26/server-tags-show-details-resp.json | 13 +-
.../v2.26/servers-tags-details-resp.json | 13 +-
.../servers/server-action-rebuild-resp.json | 2 +-
.../servers/v2.16/servers-details-resp.json | 2 +-
.../servers/v2.19/server-action-rebuild-resp.json | 2 +-
.../servers/v2.19/servers-details-resp.json | 2 +-
.../servers/v2.26/server-action-rebuild-resp.json | 2 +-
.../servers/v2.3/servers-details-resp.json | 2 +-
.../servers/v2.47/server-action-rebuild-resp.json | 2 +-
.../servers/v2.47/server-update-resp.json | 2 +-
.../servers/v2.47/servers-details-resp.json | 2 +-
.../servers/v2.52/servers-details-resp.json | 2 +-
.../servers/v2.54/server-action-rebuild-resp.json | 2 +-
.../servers/v2.57/server-action-rebuild-resp.json | 2 +-
.../servers/v2.63/server-action-rebuild-resp.json | 2 +-
.../servers/v2.63/server-update-resp.json | 2 +-
.../servers/v2.63/servers-details-resp.json | 2 +-
.../v2.66/servers-details-with-changes-before.json | 2 +-
.../servers/v2.71/server-action-rebuild-resp.json | 2 +-
.../servers/v2.71/server-get-down-cell-resp.json | 4 +-
.../servers/v2.71/server-groups-post-resp.json | 2 +-
.../servers/v2.71/server-update-resp.json | 2 +-
.../servers/v2.73/server-action-rebuild-resp.json | 2 +-
.../servers/v2.73/server-update-resp.json | 2 +-
.../servers/v2.73/servers-details-resp.json | 2 +-
.../servers/v2.75/server-action-rebuild-resp.json | 2 +-
.../servers/v2.75/server-update-resp.json | 2 +-
.../servers/v2.9/servers-details-resp.json | 2 +-
.../common_payloads/ImageMetaPropsPayload.json | 2 +-
.../common_payloads/InstanceNUMACellPayload.json | 3 +-
.../_static/images/xenserver_architecture.svg | 1035 ------
.../admin/configuration/hypervisor-hyper-v.rst | 2 +-
.../admin/configuration/hypervisor-xen-api.rst | 475 ---
.../admin/configuration/hypervisor-xen-libvirt.rst | 7 +-
gate/test_evacuate.sh | 17 +-
lower-constraints.txt | 73 +-
mypy-files.txt | 9 +
nova/accelerator/cyborg.py | 39 +-
nova/api/metadata/base.py | 18 +-
nova/api/metadata/password.py | 3 +-
nova/api/metadata/vendordata_dynamic.py | 3 +-
nova/api/openstack/compute/agents.py | 1 -
nova/api/openstack/compute/attach_interfaces.py | 3 +-
nova/api/openstack/compute/baremetal_nodes.py | 6 +-
nova/api/openstack/compute/console_auth_tokens.py | 2 +-
nova/api/openstack/compute/evacuate.py | 2 +
nova/api/openstack/compute/extension_info.py | 4 +-
nova/api/openstack/compute/floating_ip_pools.py | 2 +-
nova/api/openstack/compute/floating_ips.py | 32 +-
nova/api/openstack/compute/hosts.py | 19 +-
nova/api/openstack/compute/hypervisors.py | 10 +-
nova/api/openstack/compute/instance_actions.py | 4 +-
nova/api/openstack/compute/keypairs.py | 18 +-
nova/api/openstack/compute/limits.py | 10 +-
nova/api/openstack/compute/migrate_server.py | 13 +-
nova/api/openstack/compute/migrations.py | 11 +-
nova/api/openstack/compute/multinic.py | 10 +-
nova/api/openstack/compute/networks.py | 6 +-
nova/api/openstack/compute/quota_classes.py | 8 +-
nova/api/openstack/compute/quota_sets.py | 16 +-
nova/api/openstack/compute/rescue.py | 22 +-
.../openstack/compute/rest_api_version_history.rst | 4 +-
.../api/openstack/compute/schemas/server_groups.py | 18 +-
nova/api/openstack/compute/security_groups.py | 35 +-
nova/api/openstack/compute/server_migrations.py | 2 +-
nova/api/openstack/compute/server_topology.py | 2 +-
nova/api/openstack/compute/servers.py | 39 +-
nova/api/openstack/compute/services.py | 2 +-
nova/api/openstack/compute/shelve.py | 7 +-
nova/api/openstack/compute/simple_tenant_usage.py | 4 +-
nova/api/openstack/compute/tenant_networks.py | 6 +-
nova/api/openstack/compute/volumes.py | 32 +-
nova/api/openstack/urlmap.py | 7 +-
nova/api/openstack/wsgi.py | 38 +-
nova/api/validation/extra_specs/hw.py | 70 +-
nova/api/validation/extra_specs/null.py | 8 +-
nova/api/wsgi.py | 4 +-
nova/availability_zones.py | 4 -
nova/block_device.py | 98 +-
nova/cmd/api.py | 2 +
nova/cmd/api_metadata.py | 2 +
nova/cmd/api_os_compute.py | 2 +
nova/cmd/baseproxy.py | 3 +
nova/cmd/common.py | 2 -
nova/cmd/compute.py | 2 +
nova/cmd/conductor.py | 2 +
nova/cmd/manage.py | 44 +-
nova/cmd/novncproxy.py | 10 +-
nova/cmd/scheduler.py | 2 +
nova/cmd/serialproxy.py | 2 +
nova/cmd/spicehtml5proxy.py | 2 +
nova/cmd/status.py | 89 +-
nova/compute/api.py | 291 +-
nova/compute/claims.py | 7 +-
nova/compute/manager.py | 994 ++---
nova/compute/monitors/base.py | 5 +-
nova/compute/multi_cell_list.py | 5 +-
nova/compute/provider_config.py | 420 +++
nova/compute/resource_tracker.py | 254 +-
nova/compute/rpcapi.py | 28 +-
nova/compute/utils.py | 79 +-
nova/conductor/manager.py | 114 +-
nova/conductor/tasks/base.py | 4 +-
nova/conductor/tasks/cross_cell_migrate.py | 19 +-
nova/conductor/tasks/live_migrate.py | 18 +-
nova/conf/__init__.py | 5 -
nova/conf/compute.py | 28 +-
nova/conf/console.py | 28 +-
nova/conf/glance.py | 61 +-
nova/conf/libvirt.py | 130 +-
nova/conf/netconf.py | 11 +-
nova/conf/remote_debug.py | 41 +-
nova/conf/spice.py | 17 -
nova/conf/vnc.py | 25 -
nova/conf/workarounds.py | 19 +
nova/conf/xenserver.py | 549 ---
nova/config.py | 13 +
nova/console/rfb/auth.py | 5 +-
nova/console/securityproxy/base.py | 5 +-
nova/console/websocketproxy.py | 11 +-
nova/crypto.py | 170 +-
nova/db/api.py | 8 +
nova/db/sqlalchemy/api.py | 18 +
.../migrate_repo/versions/073_placeholder.py} | 17 +-
.../migrate_repo/versions/074_placeholder.py} | 20 +-
.../migrate_repo/versions/075_placeholder.py | 22 +
.../migrate_repo/versions/076_placeholder.py | 22 +
.../migrate_repo/versions/077_placeholder.py | 22 +
.../sqlalchemy/migrate_repo/versions/216_havana.py | 2 +-
.../330_enforce_mitaka_online_migrations.py | 6 +-
.../migrate_repo/versions/408_placeholder.py | 22 +
.../migrate_repo/versions/409_placeholder.py | 22 +
.../migrate_repo/versions/410_placeholder.py | 22 +
.../migrate_repo/versions/411_placeholder.py | 22 +
.../migrate_repo/versions/412_placeholder.py | 22 +
nova/debugger.py | 10 +-
nova/exception.py | 104 +-
nova/exception_wrapper.py | 37 +-
nova/filters.py | 6 +-
nova/hacking/checks.py | 129 +-
nova/hooks.py | 165 -
nova/i18n.py | 10 -
nova/image/download/__init__.py | 54 -
nova/image/glance.py | 293 +-
nova/locale/cs/LC_MESSAGES/nova.po | 342 +-
nova/locale/de/LC_MESSAGES/nova.po | 374 +-
nova/locale/es/LC_MESSAGES/nova.po | 355 +-
nova/locale/fr/LC_MESSAGES/nova.po | 358 +-
nova/locale/it/LC_MESSAGES/nova.po | 354 +-
nova/locale/ja/LC_MESSAGES/nova.po | 358 +-
nova/locale/ko_KR/LC_MESSAGES/nova.po | 357 +-
nova/locale/pt_BR/LC_MESSAGES/nova.po | 350 +-
nova/locale/ru/LC_MESSAGES/nova.po | 350 +-
nova/locale/tr_TR/LC_MESSAGES/nova.po | 295 +-
nova/locale/zh_CN/LC_MESSAGES/nova.po | 333 +-
nova/locale/zh_TW/LC_MESSAGES/nova.po | 334 +-
nova/manager.py | 4 +-
nova/monkey_patch.py | 31 +-
nova/network/constants.py | 2 +-
nova/network/neutron.py | 63 +-
nova/network/security_group_api.py | 32 +-
nova/notifications/objects/exception.py | 41 +-
nova/notifications/objects/image.py | 6 +-
nova/notifications/objects/request_spec.py | 10 +-
nova/objects/compute_node.py | 6 +
nova/objects/fields.py | 47 +-
nova/objects/image_meta.py | 19 +-
nova/objects/instance.py | 31 +-
nova/objects/instance_mapping.py | 13 +-
nova/objects/instance_numa.py | 169 +-
nova/objects/instance_pci_requests.py | 8 -
nova/objects/migrate_data.py | 35 -
nova/objects/migration.py | 24 +-
nova/objects/numa.py | 53 +-
nova/objects/service.py | 7 +-
nova/pci/devspec.py | 3 +-
nova/pci/stats.py | 5 -
nova/pci/utils.py | 24 -
nova/policies/baremetal_nodes.py | 40 +-
nova/policies/extensions.py | 13 +-
nova/policies/floating_ip_pools.py | 11 +-
nova/policies/floating_ips.py | 92 +-
nova/policies/hosts.py | 90 +-
nova/policies/multinic.py | 45 +-
nova/policies/networks.py | 43 +-
nova/policies/security_groups.py | 93 +-
nova/policies/server_topology.py | 2 +-
nova/policies/servers.py | 14 +-
nova/policies/tenant_networks.py | 41 +-
nova/policies/volumes.py | 141 +-
nova/policy.py | 54 +-
nova/privsep/libvirt.py | 8 +-
nova/privsep/path.py | 21 +-
nova/privsep/xenapi.py | 37 -
nova/quota.py | 8 +-
nova/scheduler/client/report.py | 38 +-
nova/scheduler/driver.py | 5 +-
nova/scheduler/filters/core_filter.py | 98 -
nova/scheduler/filters/disk_filter.py | 95 -
nova/scheduler/filters/ram_filter.py | 89 -
nova/scheduler/filters/retry_filter.py | 60 -
nova/scheduler/request_filter.py | 9 +-
nova/scheduler/utils.py | 86 +-
nova/service.py | 29 +-
nova/servicegroup/api.py | 11 +-
nova/servicegroup/drivers/db.py | 14 +-
nova/servicegroup/drivers/mc.py | 13 +-
.../unit/virt/xenapi => storage}/__init__.py | 0
nova/{virt/libvirt => }/storage/rbd_utils.py | 46 +-
nova/test.py | 24 +-
.../os-rescue/server-get-resp-rescue.json.tpl | 3 -
.../os-rescue/server-get-resp-unrescue.json.tpl | 3 -
.../os-rescue/server-unrescue-req.json.tpl | 2 +-
.../v2.87/server-get-resp-rescue.json.tpl | 11 -
.../v2.87/server-get-resp-unrescue.json.tpl | 11 -
.../v2.26/server-tags-show-details-resp.json.tpl | 13 +-
.../v2.26/servers-tags-details-resp.json.tpl | 13 +-
.../servers/server-action-rebuild-resp.json.tpl | 2 +-
.../api_samples/servers/server-get-resp.json.tpl | 2 +-
.../servers/server-update-resp.json.tpl | 2 +-
.../servers/servers-details-resp.json.tpl | 2 +-
.../servers/v2.16/server-get-resp.json.tpl | 2 +-
.../servers/v2.16/servers-details-resp.json.tpl | 2 +-
.../v2.19/server-action-rebuild-resp.json.tpl | 2 +-
.../servers/v2.19/server-get-resp.json.tpl | 2 +-
.../servers/v2.19/server-put-resp.json.tpl | 2 +-
.../servers/v2.19/servers-details-resp.json.tpl | 2 +-
.../v2.26/server-action-rebuild-resp.json.tpl | 2 +-
.../servers/v2.3/server-get-resp.json.tpl | 2 +-
.../servers/v2.3/servers-details-resp.json.tpl | 2 +-
.../v2.47/server-action-rebuild-resp.json.tpl | 2 +-
.../servers/v2.47/server-get-resp.json.tpl | 2 +-
.../servers/v2.47/server-update-resp.json.tpl | 2 +-
.../servers/v2.47/servers-details-resp.json.tpl | 2 +-
.../servers/v2.52/server-get-resp.json.tpl | 2 +-
.../servers/v2.52/servers-details-resp.json.tpl | 2 +-
.../v2.54/server-action-rebuild-resp.json.tpl | 2 +-
.../v2.57/server-action-rebuild-resp.json.tpl | 2 +-
.../v2.63/server-action-rebuild-resp.json.tpl | 2 +-
.../servers/v2.63/server-get-resp.json.tpl | 2 +-
.../servers/v2.63/server-update-resp.json.tpl | 2 +-
.../servers/v2.63/servers-details-resp.json.tpl | 2 +-
.../servers-details-with-changes-before.json.tpl | 2 +-
.../servers/v2.69/server-get-resp.json.tpl | 6 +-
.../v2.71/server-action-rebuild-resp.json.tpl | 2 +-
.../v2.71/server-get-down-cell-resp.json.tpl | 4 +-
.../servers/v2.71/server-get-resp.json.tpl | 2 +-
.../servers/v2.71/server-groups-post-resp.json.tpl | 4 +-
.../servers/v2.71/server-update-resp.json.tpl | 2 +-
.../v2.73/server-action-rebuild-resp.json.tpl | 4 +-
.../servers/v2.73/server-get-resp.json.tpl | 4 +-
.../servers/v2.73/server-update-resp.json.tpl | 4 +-
.../servers/v2.73/servers-details-resp.json.tpl | 4 +-
.../v2.75/server-action-rebuild-resp.json.tpl | 2 +-
.../servers/v2.75/server-update-resp.json.tpl | 2 +-
.../servers/v2.9/server-get-resp.json.tpl | 2 +-
.../servers/v2.9/servers-details-resp.json.tpl | 2 +-
.../test_assisted_volume_snapshots.py | 3 +
.../test_preserve_ephemeral_rebuild.py | 4 +-
.../functional/compute/test_live_migration.py | 127 +-
.../functional/compute/test_resource_tracker.py | 264 +-
.../functional/libvirt/test_numa_live_migration.py | 613 ++++
.../functional/libvirt/test_pci_sriov_servers.py | 529 ++-
.../functional/libvirt/test_report_cpu_traits.py | 39 +-
.../libvirt/test_shared_resource_provider.py | 12 +-
.../notification_sample_base.py | 6 +-
.../functional/regressions/test_bug_1404867.py | 2 -
.../functional/regressions/test_bug_1522536.py | 8 +-
.../functional/regressions/test_bug_1541691.py | 11 +-
.../functional/regressions/test_bug_1548980.py | 15 +-
.../functional/regressions/test_bug_1558866.py | 8 +-
.../functional/regressions/test_bug_1595962.py | 10 +-
.../functional/regressions/test_bug_1620248.py | 6 +-
.../functional/regressions/test_bug_1669054.py | 2 -
.../functional/regressions/test_bug_1670627.py | 6 +-
.../functional/regressions/test_bug_1671648.py | 8 +-
.../functional/regressions/test_bug_1675570.py | 5 +-
.../functional/regressions/test_bug_1679750.py | 4 +-
.../functional/regressions/test_bug_1682693.py | 4 +-
.../functional/regressions/test_bug_1689692.py | 4 +-
.../functional/regressions/test_bug_1702454.py | 4 +-
.../functional/regressions/test_bug_1713783.py | 6 +-
.../functional/regressions/test_bug_1718455.py | 5 +-
.../functional/regressions/test_bug_1718512.py | 4 +-
.../functional/regressions/test_bug_1719730.py | 4 +-
.../functional/regressions/test_bug_1732947.py | 5 -
.../functional/regressions/test_bug_1735407.py | 7 +-
.../functional/regressions/test_bug_1741307.py | 5 +-
.../functional/regressions/test_bug_1746483.py | 7 +-
.../functional/regressions/test_bug_1764556.py | 4 +-
.../functional/regressions/test_bug_1764883.py | 8 +-
.../functional/regressions/test_bug_1780373.py | 13 +-
.../functional/regressions/test_bug_1781286.py | 8 +-
.../functional/regressions/test_bug_1781710.py | 9 +-
.../functional/regressions/test_bug_1784353.py | 8 +-
.../functional/regressions/test_bug_1797580.py | 9 +-
.../functional/regressions/test_bug_1806515.py | 6 +-
.../functional/regressions/test_bug_1815153.py | 5 +-
.../functional/regressions/test_bug_1823370.py | 2 -
.../functional/regressions/test_bug_1825020.py | 4 +-
.../functional/regressions/test_bug_1825034.py | 5 +-
.../functional/regressions/test_bug_1830747.py | 4 +-
.../functional/regressions/test_bug_1835822.py | 48 +-
.../functional/regressions/test_bug_1837955.py | 2 +-
.../functional/regressions/test_bug_1843708.py | 69 +
.../functional/regressions/test_bug_1849409.py | 5 +-
.../functional/regressions/test_bug_1852458.py | 4 +-
.../functional/regressions/test_bug_1862633.py | 10 +-
.../functional/regressions/test_bug_1879878.py | 361 ++
.../functional/regressions/test_bug_1886418.py | 82 +
.../functional/regressions/test_bug_1888395.py | 132 +
.../functional/regressions/test_bug_1889108.py | 97 +
.../functional/regressions/test_bug_1893284.py | 87 +
.../functional/regressions/test_bug_1894966.py | 40 +
.../functional/regressions/test_bug_1895696.py | 146 +
.../test_conf_max_attach_disk_devices.py | 8 +-
.../test_legacy_v2_compatible_wrapper.py | 20 +-
.../functional/test_list_servers_ip_filter.py | 10 +-
.../unit/api/openstack/compute/microversions.py | 8 +-
.../unit/api/openstack/compute/test_access_ips.py | 4 +-
.../openstack/compute/test_availability_zone.py | 4 +-
.../unit/api/openstack/compute/test_disk_config.py | 21 +-
.../unit/api/openstack/compute/test_evacuate.py | 8 +
.../api/openstack/compute/test_extension_info.py | 30 -
.../openstack/compute/test_flavors_extra_specs.py | 1 +
.../openstack/compute/test_floating_ip_pools.py | 18 -
.../api/openstack/compute/test_floating_ips.py | 59 -
.../api/openstack/compute/test_migrate_server.py | 13 +-
.../unit/api/openstack/compute/test_multinic.py | 37 +-
.../unit/api/openstack/compute/test_networks.py | 28 -
.../unit/api/openstack/compute/test_rescue.py | 29 +-
.../api/openstack/compute/test_security_groups.py | 2 +-
.../api/openstack/compute/test_server_actions.py | 48 +-
.../api/openstack/compute/test_server_topology.py | 5 +-
.../{test_serversV21.py => test_servers.py} | 52 +-
.../unit/api/openstack/compute/test_shelve.py | 51 +-
.../api/openstack/compute/test_tenant_networks.py | 30 -
.../unit/api/openstack/compute/test_urlmap.py | 8 +-
.../api/validation/extra_specs/test_validators.py | 5 +-
.../provider_config_data/v1/example_provider.yaml | 33 +
.../v1/validation_error_test_data.yaml | 204 ++
.../v1/validation_success_test_data.yaml | 113 +
.../validate_provider_bad_config.yaml | 72 +
.../validate_provider_good_config.yaml | 103 +
.../compute/{test_compute_api.py => test_api.py} | 508 ++-
.../conductor/tasks/test_cross_cell_migrate.py | 12 +-
.../unit/conductor/tasks/test_live_migrate.py | 66 +-
.../unit/notifications/objects/test_exception.py | 53 +
.../notifications/objects/test_notification.py | 4 +-
.../unit/objects/test_instance_pci_requests.py | 14 -
.../policies/test_assisted_volume_snapshots.py | 2 +
.../unit/policies/test_console_auth_tokens.py | 7 +-
.../unit/policies/test_instance_usage_audit_log.py | 2 +
.../unit/policies/test_server_external_events.py | 6 +-
.../unit/scheduler/filters/test_core_filters.py | 64 -
.../unit/scheduler/filters/test_disk_filters.py | 55 -
.../filters/test_numa_topology_filters.py | 125 +-
.../unit/scheduler/filters/test_ram_filters.py | 64 -
.../unit/scheduler/filters/test_retry_filters.py | 56 -
.../scheduler/weights/test_weights_affinity.py | 38 +-
.../unit/{virt/libvirt => }/storage/test_rbd.py | 77 +-
.../unit/virt/libvirt/volume/test_remotefs.py | 10 +
.../virt/libvirt/volume/test_vrtshyperscale.py | 74 -
.../unit/virt/xenapi/image/test_vdi_stream.py | 149 -
.../unit/virt/xenapi/image/test_vdi_through_dev.py | 204 --
nova/utils.py | 132 +-
nova/version.py | 4 +-
nova/virt/disk/api.py | 4 +-
nova/virt/driver.py | 77 +-
nova/virt/fake.py | 13 +-
nova/virt/hardware.py | 729 ++--
nova/virt/hyperv/driver.py | 20 +-
nova/virt/hyperv/snapshotops.py | 3 +-
nova/virt/hyperv/vmops.py | 11 +-
nova/virt/hyperv/volumeops.py | 4 +-
nova/virt/imagecache.py | 9 +
nova/virt/ironic/driver.py | 15 +-
nova/virt/libvirt/config.py | 87 +-
nova/virt/libvirt/designer.py | 15 +-
nova/virt/libvirt/driver.py | 1530 +++++---
nova/virt/libvirt/guest.py | 103 +-
nova/virt/libvirt/host.py | 79 +-
nova/virt/libvirt/imagebackend.py | 84 +-
nova/virt/libvirt/imagecache.py | 35 +-
nova/virt/libvirt/migration.py | 51 +-
nova/virt/libvirt/utils.py | 226 +-
nova/virt/libvirt/vif.py | 225 +-
nova/virt/libvirt/volume/aoe.py | 62 -
nova/virt/libvirt/volume/disco.py | 62 -
nova/virt/libvirt/volume/drbd.py | 59 -
nova/virt/libvirt/volume/fs.py | 9 +-
nova/virt/libvirt/volume/hgst.py | 52 -
nova/virt/libvirt/volume/mount.py | 16 +-
nova/virt/libvirt/volume/nfs.py | 6 +
nova/virt/libvirt/volume/quobyte.py | 2 +-
nova/virt/libvirt/volume/remotefs.py | 15 +-
nova/virt/libvirt/volume/vrtshyperscale.py | 58 -
nova/virt/powervm/disk/driver.py | 6 +-
nova/virt/powervm/driver.py | 3 +-
nova/virt/powervm/vif.py | 3 +-
nova/virt/vmwareapi/driver.py | 23 +-
nova/virt/vmwareapi/host.py | 4 +-
nova/virt/vmwareapi/vm_util.py | 15 +-
nova/virt/vmwareapi/vmops.py | 2 +-
nova/virt/xenapi/agent.py | 442 ---
nova/virt/xenapi/driver.py | 862 -----
nova/virt/xenapi/fake.py | 1172 ------
nova/virt/xenapi/host.py | 569 ---
nova/virt/xenapi/image/__init__.py | 0
nova/virt/xenapi/image/glance.py | 93 -
nova/virt/xenapi/image/utils.py | 121 -
nova/virt/xenapi/image/vdi_stream.py | 85 -
nova/virt/xenapi/image/vdi_through_dev.py | 108 -
nova/virt/xenapi/network_utils.py | 52 -
nova/virt/xenapi/pool.py | 240 --
nova/virt/xenapi/pool_states.py | 51 -
nova/virt/xenapi/vif.py | 443 ---
nova/virt/xenapi/vm_utils.py | 2607 -------------
nova/virt/xenapi/vmops.py | 2730 --------------
nova/virt/xenapi/volume_utils.py | 398 --
nova/virt/xenapi/volumeops.py | 226 --
nova/volume/cinder.py | 85 +-
nova/weights.py | 21 +-
nova/wsgi.py | 21 +-
playbooks/ceph/glance-copy-policy.yaml | 10 +
...s-refresh-deprecated-apis-a758af4090419b11.yaml | 9 +
...ative-io-is-not-supported-fe56014e9648a518.yaml | 14 +
.../notes/bug-1841932-c871ac7b3b05d67e.yaml | 9 +
.../notes/bug-1874032-2b01ed05bc7f6f8d.yaml | 8 +
.../notes/bug-1875418-0df3198e36530ec7.yaml | 31 +
...efault-policy-file-change-22bd4cc6e27e0091.yaml | 19 +
...erve-disk-for-image-cache-ef6688f869b12bcb.yaml | 10 +
...-memory-reserved-conflict-3ad4c04ab993ebf8.yaml | 15 +
...882919-support-e1000e-vif-5437a45c13dff978.yaml | 7 +
.../notes/bug-1884231-16acf297d88b122e.yaml | 16 +
...ach-multiattached-volumes-5fa862aea7f237ea.yaml | 6 +
.../notes/bug-1889633-37e524fb6c20fbdf.yaml | 9 +
.../notes/bug-1892870-eb894956bf04713d.yaml | 8 +
.../notes/bug-1893263-769acadc4b6141d0.yaml | 5 +
.../notes/bug-1894804-c03c20cd983c3192.yaml | 15 +
.../notes/bug-1894966-d25c12b1320cb910.yaml | 10 +
...eprecate-libvirt-backends-496446b8b8b225e9.yaml | 9 +
.../notes/emulated-tpm-cb277659fc2f9660.yaml | 9 +
.../enable_rbd_download-e60470890518a605.yaml | 9 +
.../force-heal-allocations-7834f3156be90c94.yaml | 4 +
...crease_glance_num_retries-ddfcd7053631882b.yaml | 11 +
.../libvirt-nodedev-lookup-d80174ac30bc82f0.yaml | 12 +
...irt-rbd-glance-multistore-ecb66a071c282183.yaml | 13 +
.../max-concurrent-snapshots-21a0a437dbe1044a.yaml | 12 +
.../provider-config-file-bf026380cb5a7898.yaml | 13 +
releasenotes/notes/qemu-accept-vmxnet3-nic.yaml | 7 +
.../rbd-increase-timeout-c4e5a34cf5da7fdc.yaml | 19 +
.../notes/remove-hooks-96d08645404d327c.yaml | 13 +
...emove-image-download-hook-27b39dca2497446a.yaml | 5 +
...ove-intel-cmt-perf-events-69df7324d6fe41a8.yaml | 7 +
.../remove-keymap-options-8db6d03ccf098db1.yaml | 19 +
...try-and-aggregate-filters-f872a85d0b815982.yaml | 21 +
.../remove-xenapi-driver-194756049f22dc9e.yaml | 46 +
...cky-portbinding-semantics-48e9b1fa969cc5e9.yaml | 14 +
.../support-sriov-attach-5a52a3388e2e41c2.yaml | 5 +
...deprecate-vmware-victoria-2eaf5d877733f8d9.yaml | 6 +
...-and-vcpu-in-one-instance-0ea66aeb9c2970de.yaml | 22 +
...oria-libvirt-version-bump-e1a09b3a72ee56a4.yaml | 8 +
.../notes/victoria-prelude-9b4c16ff8c6e7f3e.yaml | 44 +
releasenotes/source/conf.py | 8 +-
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 398 ++
.../source/locale/fr/LC_MESSAGES/releasenotes.po | 126 +
releasenotes/source/unreleased.rst | 2 +
releasenotes/source/ussuri.rst | 6 +
requirements.txt | 38 +-
setup.cfg | 22 +-
test-requirements.txt | 13 +-
tools/check-cherry-picks.sh | 42 +
tools/db/schema_diff.py | 2 -
tools/mypywrap.sh | 22 +
tools/test-setup.sh | 4 +-
tools/xenserver/destroy_cached_images.py | 85 -
tools/xenserver/populate_other_config.py | 103 -
tools/xenserver/rotate_xen_guest_logs.sh | 69 -
tools/xenserver/stress_test.py | 181 -
tools/xenserver/vdi_chain_cleanup.py | 128 -
tools/xenserver/vm_vdi_cleaner.py | 316 --
tox.ini | 31 +-
793 files changed, 26813 insertions(+), 43380 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 1ab8c54bdb..e62366561e 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -7,2 +7,2 @@ SQLAlchemy>=1.2.19 # MIT
-decorator>=3.4.0 # BSD
-eventlet!=0.20.1,>=0.20.0 # MIT
+decorator>=4.1.0 # BSD
+eventlet>=0.22.0 # MIT
@@ -11 +11 @@ keystonemiddleware>=4.20.0 # Apache-2.0
-lxml!=3.7.0,>=3.4.1 # BSD
+lxml>=4.5.0 # BSD
@@ -17 +17 @@ WebOb>=1.8.2 # MIT
-greenlet>=0.4.10,!=0.4.14 # MIT
+greenlet>=0.4.15 # MIT
@@ -24,2 +24 @@ netifaces>=0.10.4 # MIT
-paramiko>=2.0.0 # LGPLv2.1+
-Babel!=2.4.0,>=2.3.4 # BSD
+paramiko>=2.7.1 # LGPLv2.1+
@@ -27 +26 @@ iso8601>=0.1.11 # MIT
-jsonschema>=2.6.0 # MIT
+jsonschema>=3.2.0 # MIT
@@ -32,2 +31,2 @@ python-glanceclient>=2.8.0 # Apache-2.0
-requests>=2.14.2 # Apache-2.0
-six>=1.10.0 # MIT
+requests>=2.23.0 # Apache-2.0
+six>=1.11.0 # MIT
@@ -38,2 +37,2 @@ oslo.concurrency>=3.29.0 # Apache-2.0
-oslo.config>=6.1.0 # Apache-2.0
-oslo.context>=2.21.0 # Apache-2.0
+oslo.config>=6.8.0 # Apache-2.0
+oslo.context>=2.22.0 # Apache-2.0
@@ -44 +43 @@ oslo.upgradecheck>=0.1.1
-oslo.utils>=4.1.0 # Apache-2.0
+oslo.utils>=4.5.0 # Apache-2.0
@@ -48 +47 @@ oslo.messaging>=10.3.0 # Apache-2.0
-oslo.policy>=3.1.0 # Apache-2.0
+oslo.policy>=3.4.0 # Apache-2.0
@@ -52 +51 @@ oslo.service>=1.40.1 # Apache-2.0
-rfc3986>=1.1.0 # Apache-2.0
+rfc3986>=1.2.0 # Apache-2.0
@@ -56 +55 @@ oslo.versionedobjects>=1.35.0 # Apache-2.0
-os-brick>=3.0.1 # Apache-2.0
+os-brick>=3.1.0 # Apache-2.0
@@ -58 +57 @@ os-resource-classes>=0.4.0 # Apache-2.0
-os-traits>=2.2.0 # Apache-2.0
+os-traits>=2.4.0 # Apache-2.0
@@ -60 +59 @@ os-vif>=1.14.0 # Apache-2.0
-os-win>=3.0.0 # Apache-2.0
+os-win>=4.2.0 # Apache-2.0
@@ -63 +62 @@ microversion-parse>=0.2.1 # Apache-2.0
-os-xenapi>=0.3.3 # Apache-2.0
+os-xenapi>=0.3.4 # Apache-2.0
@@ -69 +68 @@ os-service-types>=1.7.0 # Apache-2.0
-taskflow>=2.16.0 # Apache-2.0
+taskflow>=3.8.0 # Apache-2.0
@@ -74,0 +74 @@ dataclasses>=0.7;python_version=='3.6' # Apache 2.0 License
+PyYAML>=3.13 # MIT
diff --git a/test-requirements.txt b/test-requirements.txt
index b04b42b0df..98b2a0e2bc 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -5 +5,2 @@
-hacking>=2.0<2.1
+hacking>=3.1.0,<3.2.0 # Apache-2.0
+mypy>=0.761 # MIT
@@ -7 +8 @@ coverage!=4.4,>=4.0 # Apache-2.0
-ddt>=1.0.1 # MIT
+ddt>=1.2.1 # MIT
@@ -10,2 +11,2 @@ mock>=3.0.0 # BSD
-psycopg2>=2.7 # LGPL/ZPL
-PyMySQL>=0.7.6 # MIT License
+psycopg2>=2.8 # LGPL/ZPL
+PyMySQL>=0.8.0 # MIT License
@@ -13 +14 @@ python-barbicanclient>=4.5.2 # Apache-2.0
-python-ironicclient!=2.7.1,>=2.7.0 # Apache-2.0
+python-ironicclient>=3.0.0 # Apache-2.0
@@ -16 +17 @@ oslotest>=3.8.0 # Apache-2.0
-stestr>=1.0.0 # Apache-2.0
+stestr>=2.0.0 # Apache-2.0
1
0
We are happy to announce the release of:
qinling 5.0.0: Function as a Service
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/qinling
Download the package from:
https://tarballs.openstack.org/qinling/
Please report issues through:
https://storyboard.openstack.org/#!/project/927
For more details, please see below.
Changes in qinling 4.0.0..5.0.0
-------------------------------
8787d06 remove unnecessary module constraint
ad501ac Remove all usage of six library
942c75e Use the 'all' tox env instead of 'all-plugin'
92b9cfa [goal] Fixing pep8 testing for Ubuntu Focal
56e8555 drop mock from lower-constraints
ec07bb0 Stop to use the __future__ module.
f1f9e61 Switch to newer openstackdocstheme and reno versions
984d6b9 Bump default tox env from py37 to py38
9638769 Add py38 package metadata
137b037 Add Python3 victoria unit tests
a9f9b96 Update master for stable/ussuri
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 11 +++++++----
api-ref/source/conf.py | 7 +++----
lower-constraints.txt | 9 ---------
qinling/api/controllers/v1/types.py | 3 +--
qinling/db/sqlalchemy/migration/alembic_migrations/env.py | 2 --
qinling/db/sqlalchemy/migration/cli.py | 3 +--
qinling/engine/utils.py | 3 +--
qinling/orchestrator/base.py | 4 +---
qinling/storage/base.py | 4 +---
qinling/utils/common.py | 3 +--
qinling/utils/jobs.py | 3 +--
qinling/utils/rest_utils.py | 13 ++++++-------
qinling_tempest_plugin/services/base.py | 4 ++--
releasenotes/source/conf.py | 7 +++----
releasenotes/source/index.rst | 1 +
releasenotes/source/ussuri.rst | 6 ++++++
requirements.txt | 1 -
setup.cfg | 1 +
test-requirements.txt | 5 +++++
tox.ini | 2 +-
22 files changed, 48 insertions(+), 56 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 9977aab..7731666 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -22 +21,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.
-six>=1.10.0 # MIT
diff --git a/test-requirements.txt b/test-requirements.txt
index 845ebb7..41fde73 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -5,0 +6,5 @@ hacking<0.13,>=0.12.0 # Apache-2.0
+# remove this pyflakes from here once you bump the
+# hacking to 3.2.0 or above. hacking 3.2.0 takes
+# care of pyflakes version compatibilty.
+pyflakes>=2.1.1
+
1
0
We are delighted to announce the release of:
networking-sfc 11.0.0: APIs and implementations to support Service
Function Chaining in Neutron.
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/networking-sfc
Download the package from:
https://pypi.org/project/networking-sfc
Please report issues through:
https://bugs.launchpad.net/networking-sfc/+bugs
For more details, please see below.
Changes in networking-sfc 10.0.0..11.0.0
----------------------------------------
79f95d9 Fix pep8 job
211e515 Switch to newer openstackdocstheme and reno versions
0b78dad Monkey patch original current_thread _active
7d871f6 Add Python3 victoria unit tests
d4d7cbb Update master for stable/ussuri
Diffstat (except docs and test files)
-------------------------------------
api-ref/source/conf.py | 9 +++++----
lower-constraints.txt | 1 +
networking_sfc/services/sfc/agent/__init__.py | 6 ++++++
releasenotes/source/conf.py | 9 +++++----
releasenotes/source/index.rst | 1 +
releasenotes/source/ussuri.rst | 6 ++++++
test-requirements.txt | 1 +
zuul.d/project.yaml | 2 +-
10 files changed, 34 insertions(+), 15 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index 477dd94..47d84f4 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -18,0 +19 @@ pylint==1.9.2 # GPLv2
+isort==4.3.21 # MIT
1
0
We are psyched to announce the release of:
murano 10.0.0: Murano API
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/murano
Download the package from:
https://tarballs.openstack.org/murano/
Please report issues through:
https://bugs.launchpad.net/murano/+bugs
For more details, please see below.
Changes in murano 9.0.0.0rc1..10.0.0
------------------------------------
91a58c57 Murano testing to Ubuntu Focal
242d6175 Add native grenade zuul v3 jobs
9c694a6b Fix cidr format error about ip_address in allowed_address_pairs.
fc12a879 Fix requirements-check job
371e99e4 Fix murano ci UT error
ae9b4e80 Murano api add monkey patch
4adf454c Switch from unittest2 compat methods to Python 3.x methods
4c2f898b Use uwsgi binary from path
cd27f95c Fix versions api by using webob correctly
0108d030 Always reset cfg.CONF when starting the wsgi app
a30825ca Stop to use the __future__ module.
8afa4912 Remove retired congress
572ac87b Cap jsonschema 3.2.0 as the minimal version
3698744b Switch to newer openstackdocstheme and reno versions
7eca01a7 Fix pep8 error
613575b3 Fix hacking min version to 3.0.1
9931c35d Cleanup py27 support
fe543a67 Monkey patch original current_thread _active
5f301156 Bump default tox env from py37 to py38
505bf728 Add py38 package metadata
388783c2 Add Python3 victoria unit tests
591f4722 Update master for stable/ussuri
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 74 ++++++++++------------
api-ref/source/conf.py | 8 +--
babel.cfg | 1 -
devstack/plugin.sh | 2 +-
lower-constraints.txt | 33 ++++------
.../Classes/resources/NeutronNetworkBase.yaml | 2 +-
murano/api/__init__.py | 14 ++++
murano/api/versions.py | 2 +-
murano/common/policy.py | 8 +--
murano/httpd/murano_api.py | 3 +
murano/monkey_patch.py | 6 ++
.../unit/policy/test_model_policy_enforcer.py | 7 +-
playbooks/legacy/grenade-devstack-murano/post.yaml | 15 -----
playbooks/legacy/grenade-devstack-murano/run.yaml | 70 --------------------
releasenotes/source/conf.py | 8 +--
releasenotes/source/index.rst | 1 +
releasenotes/source/ussuri.rst | 6 ++
requirements.txt | 17 +++--
setup.cfg | 20 +-----
test-requirements.txt | 8 +--
tools/lintstack.py | 2 -
tools/test-setup.sh | 4 +-
tox.ini | 9 +--
35 files changed, 151 insertions(+), 231 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index ccbeedca..6db80ab7 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -9 +9 @@ alembic>=0.8.10 # MIT
-eventlet!=0.18.3,!=0.20.1,!=0.21.0,!=0.23.0,!=0.25.0,>=0.18.2 # MIT
+eventlet>=0.26.0 # MIT
@@ -12 +12 @@ Routes>=2.3.1 # MIT
-tenacity>=4.4.0 # Apache-2.0
+tenacity>=4.12.0 # Apache-2.0
@@ -14 +14 @@ WebOb>=1.7.1 # MIT
-kombu!=4.0.2,>=4.0.0 # BSD
+kombu>=4.6.1 # BSD
@@ -17 +17 @@ netaddr>=0.7.18 # BSD
-PyYAML>=3.12 # MIT
+PyYAML>=3.13 # MIT
@@ -24 +24 @@ debtcollector>=1.2.0 # Apache-2.0
-cryptography>=2.1 # BSD/Apache-2.0
+cryptography>=2.7 # BSD/Apache-2.0
@@ -29 +29 @@ Paste>=2.0.2 # MIT
-jsonschema>=2.6.0 # MIT
+jsonschema>=3.2.0 # MIT
@@ -34 +33,0 @@ python-muranoclient>=0.8.2 # Apache-2.0
-python-congressclient<2000,>=1.9.0 # Apache-2.0
@@ -36 +35 @@ python-mistralclient!=3.2.0,>=3.1.0 # Apache-2.0
-oslo.db>=4.27.0 # Apache-2.0
+oslo.db>=4.44.0 # Apache-2.0
@@ -50 +49 @@ semantic-version>=2.8.2 # BSD
-castellan>=0.16.0 # Apache-2.0
+castellan>=0.18.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 29257c6b..c5a2e29f 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-hacking>=3.0,<4.0.0 # Apache-2.0
+hacking>=3.0.1,<3.1.0 # Apache-2.0
@@ -15 +15 @@ pylint==1.4.5 # GPLv2
-pycodestyle>=2.0.0 # MIT License
+pycodestyle>=2.5.0 # MIT License
@@ -22,2 +22,2 @@ bandit>=1.1.0,!=1.6.0 # Apache-2.0
-PyMySQL>=0.7.6 # MIT License
-psycopg2>=2.7.0 # LGPL/ZPL
+PyMySQL>=0.8.0 # MIT License
+psycopg2>=2.8.5 # LGPL/ZPL
1
0
We are psyched to announce the release of:
networking-hyperv 9.0.0: This project tracks the work to integrate the
Hyper-V networking with Neutron. This project contains the Hyper-V
Neutron Agent Mixin, Security Groups Driver, ML2 Mechanism Driver and
the utils modules they use in order to properly bind neutron ports on
a Hyper-V host. This project resulted from the neutron core vendor
decomposition.
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/networking-hyperv
Download the package from:
https://pypi.org/project/networking-hyperv
Please report issues through:
https://bugs.launchpad.net/networking-hyperv/+bugs
For more details, please see below.
Changes in networking-hyperv 8.0.0.0rc1..9.0.0
----------------------------------------------
fca3366 [goal] Migrate testing to ubuntu focal
5d66268 drop mock from lower-constraints
cb4ad01 Switch to newer openstackdocstheme and reno versions
9b61e7c Remove the unused coding style modules
a992ca3 Fix hacking min version to 3.0.1
7128866 Monkey patch original current_thread _active
11be493 Pick up security group RPC API changes
4cd8846 Bump default tox env from py37 to py38
36f1e1e Add py38 package metadata
f307d5a Add Python3 victoria unit tests
25906d1 Update master for stable/ussuri
9b8979f Use unittest.mock instead of third party mock
e8d839c Update to hacking 3.0
1fde008 Cleanup py27 support
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 2 +-
lower-constraints.txt | 24 +++++++----------
networking_hyperv/neutron/__init__.py | 6 +++++
.../neutron/security_groups_driver.py | 6 ++---
.../unit/neutron/agent/test_hnv_metadata_agent.py | 2 +-
.../unit/neutron/agent/test_hnv_neutron_agent.py | 2 +-
.../neutron/agent/test_hyperv_neutron_agent.py | 2 +-
.../unit/neutron/test_hyperv_agent_notifier.py | 2 +-
.../unit/neutron/test_security_groups_driver.py | 14 +++++-----
releasenotes/source/conf.py | 8 +++---
releasenotes/source/index.rst | 1 +
releasenotes/source/ussuri.rst | 6 +++++
requirements.txt | 1 -
setup.cfg | 12 +++------
setup.py | 9 -------
test-requirements.txt | 10 +++-----
tox.ini | 30 ++++++++++++----------
28 files changed, 84 insertions(+), 85 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index b930e34..90096f2 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6 +5,0 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0
-Babel!=2.4.0,>=2.3.4 # BSD
diff --git a/test-requirements.txt b/test-requirements.txt
index 7f15437..6d2108c 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -5 +5 @@
-hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
+hacking>=3.0.1,<3.1.0 # Apache-2.0
@@ -10 +9,0 @@ fixtures>=3.0.0 # Apache-2.0/BSD
-mock>=2.0.0 # BSD
@@ -12,2 +11 @@ docutils>=0.11 # OSI-Approved Open Source, Public Domain
-sphinx!=1.6.6,!=1.6.7,>=1.6.2,<2.0.0;python_version=='2.7' # BSD
-sphinx!=1.6.6,!=1.6.7,>=1.6.2,!=2.1.0;python_version>='3.4' # BSD
+sphinx>=2.0.0,!=2.1.0 # BSD
@@ -19 +17 @@ testtools>=2.2.0 # MIT
-openstackdocstheme>=1.20.0 # Apache-2.0
+openstackdocstheme>=2.2.1 # Apache-2.0
@@ -21 +19 @@ openstackdocstheme>=1.20.0 # Apache-2.0
-reno>=2.5.0 # Apache-2.0
+reno>=3.1.0 # Apache-2.0
1
0