Release-announce
Threads by month
- ----- 2025 -----
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
September 2020
- 1 participants
- 322 discussions
We are psyched to announce the release of:
patrole 0.10.0: Patrole is a tool for verifying that Role-Based Access
Control is being enforced across OpenStack deployments.
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/patrole
Download the package from:
https://tarballs.openstack.org/patrole/
Please report issues through:
https://bugs.launchpad.net/patrole/+bugs
For more details, please see below.
0.10.0
^^^^^^
Prelude
*******
This release is to tag the Patrole for OpenStack Victoria release.
This release marks the start of Victoria release support in Patrole.
After this release, Patrole will support below OpenStack Releases:
* Victoria
* Ussuri
* Train
* Stein
Current development of Patrole is for OpenStack Wallaby development
cycle. Every Patrole commit is also tested against master during the
Wallaby cycle. However, this does not necessarily mean that using
Patrole as of this tag will work against a Wallaby (or future release)
cloud. To be on safe side, use this tag to test the OpenStack Victoria
release.
New Features
************
* A new policy feature flag called
"[policy_feature_flag].changed_nova_policies_victoria" has been
added to Patrole's config to handle Nova policies changed in
Victoria. The policy feature flag is applied to tests that use
policies changed in Victoria, including the following:
* os_compute_api:os-hosts
* os_compute_api:os-tenant-networks
* os_compute_api:os-volumes
* os_compute_api:os-security-groups
Changes in patrole 0.9.0..0.10.0
--------------------------------
782375d Add releasenote to tag the Patrole for Victoria release
ff2fba2 Clean up tox.ini and document zuul.yaml settings
89d9ff8 Fix Extension gates by supporting Skip Execption in test case.
8746b77 fix patrole-multinode-member non-voting gate by skip_because a bug
2c80e38 Get the patrole gate working due to Nova category changes in Victoria
8e3b032 Set admin, member and reader gates to be the same
8592e58 [goal] Migrate patrole jobs to focal
a5b51b6 Shorten Identity project name due to 64 char limit.
cfac16a Fix gate for multiple issues
7a69fa0 Stop to use the __future__ module.
5d65c58 Switch to newer openstackdocstheme and reno versions
5a0c57c Fix hacking min version to 3.0.1
14d076b Followup for grouping imports
c5ea6f2 Use unittest.mock instead of third party mock
15d8f26 Switch testing to Victoria testing runtime
a19f3db Add Patrole gate job for stable/ussuri
6d97d0f Add Patrole gate job for stable/train
1d88d08 Add release notes page for version 0.9.0
5214bdc Fix typo in contributor guide
1fcf4bb Remove the stable rocky job from Patrole master gate
d69a636 Cleanup py27 support
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 77 ++++++++++++++--------
devstack/plugin.sh | 15 +++++
lower-constraints.txt | 12 +---
patrole_tempest_plugin/config.py | 7 +-
patrole_tempest_plugin/rbac_rule_validation.py | 9 +++
.../api/compute/test_quota_class_sets_rbac.py | 2 +-
.../test_server_misc_policy_actions_rbac.py | 13 +++-
.../compute/test_server_volume_attachments_rbac.py | 1 +
.../api/identity/v3/test_oauth_consumers_rbac.py | 4 +-
...ed-nova-policies-victoria-7a5f123238b099d9.yaml | 13 ++++
.../patrole-victoria-release-e3dc105ed55a7c4c.yaml | 17 +++++
releasenotes/source/conf.py | 12 ++--
releasenotes/source/index.rst | 1 +
releasenotes/source/v0.9.0.rst | 6 ++
setup.cfg | 11 +---
setup.py | 9 ---
test-requirements.txt | 4 +-
tox.ini | 24 ++++---
34 files changed, 267 insertions(+), 128 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index 63f290c..11f4a60 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-hacking>=3.0,<3.1.0 # Apache-2.0
+hacking>=3.0.1,<3.1.0 # Apache-2.0
@@ -6 +5,0 @@ fixtures>=3.0.0 # Apache-2.0/BSD
-mock>=2.0.0 # BSD
@@ -11,0 +11 @@ bandit>=1.5 # Apache-2.0
+mock>=2.0.0 # BSD
1
0
We are pumped to announce the release of:
ironic-python-agent-builder 2.2.0: Tools and scripts to build Ironic
Python Agent
The source is available from:
https://opendev.org/openstack/ironic-python-agent-builder
Download the package from:
https://tarballs.openstack.org/ironic-python-agent-builder/
For more details, please see below.
Changes in ironic-python-agent-builder 2.1.0..2.2.0
---------------------------------------------------
69e41ff Fix typo in spelling of "finalise", breaking build
841ef66 Fix cacert path for TLS element
c683807 Add dosfsutils for EFI to tinyipa
da78fa0 Followups for TLS support
79715dd Add element to configure IPA with TLS, use configdir
8602442 Install libssl-dev / openssl-devel when building IPA
0ece507 Use converted ipa jobs
def99cd Build centos8 on centos8
bf4d98a Move zuul config in zuul.d
54aa2ca Leave kbd installed
8556bda Remove old proc before finalising tinyipa
b609df3 Pin pip version to install in tinyipa images
11bb109 Fix finalise tinyipa
089ec16 Update name of ipa job
Diffstat (except docs and test files)
-------------------------------------
.../ironic-python-agent.conf | 2 +-
.../ironic-python-agent.init | 2 +-
.../ironic-python-agent.service | 2 +-
.../package-installs.yaml | 6 +--
dib/ironic-python-agent-ramdisk/pkg-map | 1 +
.../static/etc/ironic-python-agent.d/README | 3 ++
dib/ironic-python-agent-tls/README.rst | 32 +++++++++++++
dib/ironic-python-agent-tls/element-deps | 1 +
.../pre-finalise.d/10-configure-ipa-tls | 37 +++++++++++++++
tinyipa/build-tinyipa.sh | 4 +-
tinyipa/build_files/finalreqs.lst | 1 +
tinyipa/common.sh | 2 +
tinyipa/finalise-tinyipa.sh | 13 +++++-
.../ironic-python-agent-builder-jobs.yaml | 52 +---------------------
zuul.d/project.yaml | 45 +++++++++++++++++++
15 files changed, 144 insertions(+), 59 deletions(-)
1
0
We are pleased to announce the release of:
virtualbmc 2.2.0: Create virtual BMCs for controlling virtual
instances via IPMI
The source is available from:
https://opendev.org/openstack/virtualbmc
Download the package from:
https://tarballs.openstack.org/virtualbmc/
For more details, please see below.
Changes in virtualbmc 2.1.0..2.2.0
----------------------------------
d79f823 Fix lower-constraints for ubuntu focal
9d0750a Correct vmbc add command
43925d2 Set min version of tox to 3.2.1
1dbfd44 drop mock from lower-constraints
3c4390a Remove unneded Babel config
3602737 Update lower-constraints.txt
e9854ff Switch to newer openstackdocstheme and reno versions
4312849 Fix doc build failure
71773f6 Do not import print function from __future__
Diffstat (except docs and test files)
-------------------------------------
babel.cfg | 2 --
bindep.txt | 18 +++++++++---------
lower-constraints.txt | 23 ++++++++++++-----------
releasenotes/source/conf.py | 6 +++++-
requirements.txt | 6 +++---
setup.cfg | 14 --------------
test-requirements.txt | 6 +++---
tox.ini | 2 +-
virtualbmc/cmd/vbmcd.py | 2 --
11 files changed, 38 insertions(+), 50 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 0ec64bb..60d2d4c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6,2 +6,2 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0
-libvirt-python!=4.1.0,>=3.7.0 # LGPLv2+
-pyghmi>=1.0.22 # Apache-2.0
+libvirt-python>=6.0.0 # LGPLv2+
+pyghmi>=1.2.0 # Apache-2.0
@@ -9 +9 @@ cliff!=2.9.0,>=2.8.0 # Apache-2.0
-pyzmq>=14.3.1 # LGPL+BSD
+pyzmq>=19.0.0 # LGPL+BSD
diff --git a/test-requirements.txt b/test-requirements.txt
index 82137ae..a153cb4 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -11,2 +11,2 @@ python-subunit>=1.0.0 # Apache-2.0/BSD
-sphinx!=1.6.6,!=1.6.7,!=2.1.0,>=1.6.2 # BSD
-openstackdocstheme>=1.20.0 # Apache-2.0
+sphinx>=2.0.0,!=2.1.0 # BSD
+openstackdocstheme>=2.2.1 # Apache-2.0
@@ -20 +20 @@ stestr>=1.0.0 # Apache-2.0
-reno>=2.5.0 # Apache-2.0
+reno>=3.1.0 # Apache-2.0
1
0
We are jazzed to announce the release of:
tempest 25.0.0: OpenStack Integration Testing
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/tempest
Download the package from:
https://pypi.org/project/tempest
Please report issues through:
https://bugs.launchpad.net/tempest/+bugs
For more details, please see below.
25.0.0
^^^^^^
Prelude
*******
This release is to tag the Tempest for OpenStack Victoria release.
This release marks the start of Victoria release support in Tempest.
After this release, Tempest will support below OpenStack Releases:
* Victoria
* Ussuri
* Train
* Stein
Current development of Tempest is for OpenStack Wallaby development
cycle. Every Tempest commit is also tested against master during the
Wallaby cycle. However, this does not necessarily mean that using
Tempest as of this tag will work against a Victoria (or future
release) cloud. To be on safe side, use this tag to test the OpenStack
Victoria release.
New Features
************
* Add a new config option can_migrate_between_any_hosts in the
compute-feature-enabled section, which can be set to False for
environment with non homogeneous compute nodes, so that it can
select a destination host for migrating automatically, otherwise the
testcase may fail unexpectedly. e.g., if source host is with CPU
"E5-2699 v4" and the selected target host is with CPU "E5-2670 v3",
the live-migration will fail because of the downgrade issue.
* Add glance image import APIs function to v2 images_client library.
* stage_image_file
* info_import
* info_stores
* image_import
* [blueprint blueprint adopt-oslo-versioned-objects-for-db
(https://blueprints.launchpad.net/neutron/+spec/adopt-oslo-
versioned-objects-for-db)] Any reference to "tenant_id" in Network
objects is replaced with "project_id".
Upgrade Notes
*************
* The following deprecated image scenario options are removed after
a ~4 year deprecation period.
* "ami_img_file"
* "ari_img_file"
* "aki_img_file"
Starting Tempest 25.0.0 release, CONF.scenario.img_file need a full
path for the image. CONF.scenario.img_dir was deprecated and will be
removed in the next release. Till Tempest 25.0.0, old behavior is
maintained and keep working but starting Tempest 26.0.0, you need to
specify the full path in CONF.scenario.img_file config option.
* "Member" role has been deprecated and replaced by "member".
Therefore the default value of config option "[object-
storage].operator_role" is changed to "member". (Fixes bug #1330132)
* Remove the deprecated CLI "tempest-account-generator" in favor of
"tempest account-generator" command. You can use "tempest account-
generator" CLI to generate the accounts yaml file.
Bug Fixes
*********
* Fixed bug #1890060. tempest subunit_describe_calls --verbose not
working with Cliff CLI. The subunit_describe_calls --verbose
argument was a boolean and worked in the non Cliff CLI which is now
deprecated, but does not work with cliff since --verbase is a
standard cliff argument which is an int. Since the tool is in lib
directory we cannot change the interface, so we add a new argument
-a --all-stdout that will allow cliff CLI to support the feature in
subunnit_describe_calls to print request and response headers and
bodies to stdout.
* is_resource_deleted method of v3 volumes_client might have
returned a KeyError exception due to an incorrect accessing of a
volume id in the case the volume was in error_deleting state.
incorrect code - volume['id'] correct code - volume['volume']['id']
More details about the issue can be found at
https://bugs.launchpad.net/tempest/+bug/1887980
* Concurrency parameter for account-generator command was accepting
negative values and zero. The concurrency parameter now accepts only
positive numbers. When a negative value or zero is passed to the
program then the program ends and help is displayed.
Other Notes
***********
* New configuration options
"CONF.glance.image_feature_enabled.image_import" has been introduced
to enable the image import tests. If your glance deployement support
image import functionality then you can enable the image import
tests via this flag. Default value of this new config option is
false.
Changes in tempest 24.0.0..25.0.0
---------------------------------
c8d7a0101 Add releasenote to tag the Tempest for Victoria release
548e2d0b0 Use stable constraint in tox to release new tag for Victoria
a09be7e01 Fix test_allowed_address_pair test case cleanup
ae6311373 Need to have stable implementation of nova_volume_detach() and add missing docstrings
0c84f3ee2 Need to have stable tempest scenario manager
0976ae4ee Skip test_qos_min_bw_allocation_basic when not supported
e866da9a1 Wait until dependent resource is deleted
be8d51095 Use of single interface for creating image
ff145e61c Use the networking-l2gw project new location
0539a64d1 Adding description for testcases - swift part2
6aa733e0f Improve unit tests for subunit_describe_calls
85535164b Adding description for testcases - swift part3
0a07a0e51 Fix and unskip test_list_servers_filtered_by_ip_regex
067bcd070 Adding description for testcases - volume part5
a56823734 Adding description for testcases - volume part4
735e169ff Adding description for testcases - compute part12
e354fa767 Adding description for testcases - compute part9
36ef089e1 Adding description for testcases - compute part7
4e726a669 Adding description for testcases - compute part6
8e3aacd7e Adding description for testcases - identity part2
a7635d717 Adding description for testcases - identity part5
b5603bc4f Adding description for testcases - compute part5
67b3d3893 Adding description for testcases - compute part4
fe7a983a3 Add default headers to the volume show_version request
1425ecd42 Add glance image import web-download tests
a9af3ead3 Add new tests for check-uuid tool
b9358201c Adding description for testcases - identity part3
fcfb31bcc Adding description for testcases - volume part2
4810d887f Adding description for testcases - network part1
0abb76f9a Adding description for testcases - network part3
7cff13079 Tempest tests for glance import workflow
14e2a4e42 Fix KeyError exc in volumes_client
8aea02153 Stop to use the __future__ module.
99b7c11af remote_client: Use blkid -L to find config drive by filesystem label
0aa0636a0 Fix tempest plugin cookicutter repo path
b4e0e2c7e zuul: clean up some legacy jobs
93a047f42 Add response schema validation for volume backups
e18335e1a Add skip flags for block level live migration
e1eebfa84 Replace mock by unittest.mock in 2 forgotten cases
4f633edd9 Remove checking of Accept-Range header
d89122be4 Document the process to pin the constraint in tox.ini
02af6a44c Remove deprecated scenario image options
aaaafbb5b Fix pdf-doc build by skiping the sample file
42e111c7d object storage: fix and cleanup header checks
536d8284f Add unit tests for check_uuid.py
7cbe8b6b5 Add check_service_availability test
217eebd0b Fix pygments style
173c5c000 Unstable test_container_synchronization
fba44537c Unstable test_server_connectivity_cold_migration_revert
4c709ecaa Use python3 venv instead of virtualenv
cbf480ffa Fix request body for compute unshelve action API
8517b918a Fix test_get_service_by_invalid_params for microversion 2.75
58b053867 Fix the argument check for account-generator
99d4dae68 Change 'Member' role reference to 'member'
423ae450d Fix 404 when deleteing volume group
d89c6cb4a Fix flavor swap default value for compute microversion 2.75
3cb4772db Add response schema validation for volumes
fc7dd52a7 [compute] Blacklist test_create_second_image due to race
c1449d4ff Remove any reference to "tenant_id" in network
1f4bf4933 Allow snapshot name with null
a0e87dc58 Adding description for testcases - compute part3
7454db5d4 Add response schema validation for show_default_group_type
da8d25849 Add response schema validation for volume groups
9f0c59aed Add response schema validation for volume group snapshots
eee87b504 Cap jsonschema 3.2.0 as the minimal version
706723954 Sort roles in keystone token
2c8e8ae0e Add image "version" metadata in test_snapshot_pattern
05fc4f72b Adding description for testcases - network part2
adb162024 Add response schema validation for volume snapshots
126e996f0 Add response schema validation for volume pools
40e5eaa08 [Trivial]Do not use self in class method
19a487e5d Add response schema validation for volume group types
e973452ce Add response schema validation for encryption types
0fbce1722 Switch to newer openstackdocstheme and reno versions
eed8074e6 Use unittest.mock instead of third party mock
2fd745f97 compute: Fix boot from volume stable rescue tests
7ac89c977 Add explicit external network for test_create_router_set_gateway_with_fixed_ip
4bbe5b58e Add migration uuid API schema validation for 2.59
f4b5df6d1 Fix check_floating_ip_status utility's output
15d63094c Prevent raising exception if IP address is set in _hotplug_server
8d1974efa Bump hacking min version to 3.0.1
abda8712a test_server_rescue.py should use CONF.volume.volume_size
a85788042 Improve logging in tempest cleanup
710e877e4 Fix redirect for doc section
2f273243f Don't use deprecated configparser.readfp
de69845d7 Switch testing to Victoria testing runtime
f62dbc1c2 Add tempest-cleanup ansible role
08a40ad12 Use ensure-pip for stackviz pip install
da3bb61f1 Add index page for plugins documents
96800bb83 Add document for stable branch testing for tempest plugins
e8f1876aa Update supported version doc tempest
8c5333b06 Move ceph job to voting
6a2be436f Make image_ssh_password a secret so it does not show in console
239258820 Adding description for testcases - identity part4
f8b8987c5 Move the grenade-py3 job to new zuulv3 grenade job name
6d6bf5e6e Add Tempest gate job for stable/ussuri
2ad7ca4c0 compute: Add stable device rescue tests with BFV instances
5d7b43c00 Add release notes page for version 24.0.0
d9654dae5 Fix typo in contributor guide
ba416467e Remove the stable rocky from supported branch in Tempest master
99b085bdb Set TOX_CONSTRAINTS_FILE
06e1ba956 Use new encryption provider constants (reprise)
6726b74f4 Use the master constraint again in tox.ini
2ae7f55cb Adding description for testcases - image part2
e68f435b0 Adding description for testcases - image part1
abc06c36e Integrated gate storage/swift: blacklist more tests
b774666aa run-tempest: save the result of tempest execution
ddcd4f44a Remove the deprecated tempest-account-generator CLI
39f48588e Modify the fake data
be86aec05 Change bytes to str in servers_client for python3
be052d619 Do not specify a host for live-migration for non homogeneous nodes
b20c3a5cc Enable xindy for PDF build
40bbe0c91 Add response schema validation for volume limits
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 2 +-
.zuul.yaml | 55 +-
HACKING.rst | 2 +-
.../requirement_upper_constraint_for_tempest.rst | 56 ++
playbooks/devstack-tempest.yaml | 43 +-
.../25/subunt-describe-call-verbose-arg-fix.yaml | 10 +
...-bug-in-v3-volumes_client-ff5d9b894f2257c8.yaml | 10 +
...ed-image-scenario-options-b573c60e873ab451.yaml | 15 +
...f-operator_role-to-member-f9c3abd2ebde23b7.yaml | 6 +
...pts-positive-numbers-only-33a366a297494ef7.yaml | 7 +
.../notes/account_generator-6eb03f664a448c35.yaml | 7 +
...n-any-hosts-config-option-x8ah4f9737a28e9b.yaml | 9 +
...ge_import_testing_support-22ba4bcb9f2fb848.yaml | 17 +
...etwork-swap-to-project_id-a1d7fdf6c5e1cf44.yaml | 6 +
.../tempest-victoria-release-27000c02edc5a112.yaml | 16 +
releasenotes/source/conf.py | 8 +-
releasenotes/source/index.rst | 1 +
releasenotes/source/v24.0.0.rst | 6 +
requirements.txt | 2 +-
roles/process-stackviz/tasks/main.yaml | 13 +-
roles/run-tempest/README.rst | 3 +
roles/run-tempest/tasks/main.yaml | 4 +-
roles/tempest-cleanup/README.rst | 33 ++
roles/tempest-cleanup/defaults/main.yaml | 3 +
roles/tempest-cleanup/tasks/main.yaml | 31 ++
setup.cfg | 2 +-
tempest/api/compute/admin/test_agents.py | 11 +-
tempest/api/compute/admin/test_aggregates.py | 35 +-
.../api/compute/admin/test_aggregates_negative.py | 28 +-
.../api/compute/admin/test_availability_zone.py | 4 +-
.../admin/test_availability_zone_negative.py | 10 +-
tempest/api/compute/admin/test_create_server.py | 4 +-
tempest/api/compute/admin/test_delete_server.py | 6 +-
tempest/api/compute/admin/test_fixed_ips.py | 4 +
.../api/compute/admin/test_fixed_ips_negative.py | 6 +
tempest/api/compute/admin/test_flavors.py | 5 +-
tempest/api/compute/admin/test_flavors_access.py | 10 +-
.../compute/admin/test_flavors_access_negative.py | 8 +-
.../compute/admin/test_flavors_microversions.py | 8 +
.../api/compute/admin/test_floating_ips_bulk.py | 2 +-
tempest/api/compute/admin/test_hosts.py | 24 +-
tempest/api/compute/admin/test_hosts_negative.py | 40 +-
tempest/api/compute/admin/test_hypervisor.py | 19 +-
.../api/compute/admin/test_hypervisor_negative.py | 25 +-
tempest/api/compute/admin/test_keypairs_v210.py | 9 +
tempest/api/compute/admin/test_live_migration.py | 30 +-
.../compute/admin/test_live_migration_negative.py | 5 +-
tempest/api/compute/admin/test_quotas.py | 32 +-
tempest/api/compute/admin/test_quotas_negative.py | 14 +-
.../admin/test_server_diagnostics_negative.py | 6 +-
tempest/api/compute/admin/test_servers.py | 32 +-
tempest/api/compute/admin/test_servers_negative.py | 10 +-
tempest/api/compute/admin/test_services.py | 11 +-
.../api/compute/admin/test_services_negative.py | 3 +
.../api/compute/admin/test_simple_tenant_usage.py | 7 +-
.../admin/test_simple_tenant_usage_negative.py | 7 +-
tempest/api/compute/base.py | 20 +
.../api/compute/certificates/test_certificates.py | 5 +-
tempest/api/compute/flavors/test_flavors.py | 23 +-
.../floating_ips/test_floating_ips_actions.py | 18 +-
.../test_floating_ips_actions_negative.py | 27 +-
.../compute/floating_ips/test_list_floating_ips.py | 7 +-
.../test_list_floating_ips_negative.py | 8 +-
tempest/api/compute/images/test_image_metadata.py | 34 +-
.../compute/images/test_image_metadata_negative.py | 20 +-
tempest/api/compute/images/test_images.py | 6 +
tempest/api/compute/images/test_images_negative.py | 32 +-
tempest/api/compute/images/test_list_images.py | 14 +-
tempest/api/compute/keypairs/test_keypairs.py | 13 +-
.../api/compute/keypairs/test_keypairs_negative.py | 18 +-
tempest/api/compute/keypairs/test_keypairs_v22.py | 4 +
tempest/api/compute/limits/test_absolute_limits.py | 10 +
.../limits/test_absolute_limits_negative.py | 6 +-
.../security_groups/test_security_group_rules.py | 22 +-
.../test_security_group_rules_negative.py | 52 +-
.../security_groups/test_security_groups.py | 28 +-
.../test_security_groups_negative.py | 43 +-
.../api/compute/servers/test_attach_interfaces.py | 8 +-
.../api/compute/servers/test_availability_zone.py | 2 +-
tempest/api/compute/servers/test_create_server.py | 33 +-
tempest/api/compute/servers/test_delete_server.py | 17 +-
tempest/api/compute/servers/test_device_tagging.py | 24 +
tempest/api/compute/servers/test_disk_config.py | 12 +-
.../api/compute/servers/test_instance_actions.py | 13 +-
.../servers/test_instance_actions_negative.py | 6 +-
.../compute/servers/test_list_server_filters.py | 71 ++-
tempest/api/compute/servers/test_novnc.py | 8 +
.../servers/test_server_addresses_negative.py | 5 +-
tempest/api/compute/servers/test_server_group.py | 12 +-
.../api/compute/servers/test_server_personality.py | 17 +-
tempest/api/compute/servers/test_server_rescue.py | 93 +++-
.../compute/servers/test_server_rescue_negative.py | 9 +-
tempest/api/compute/servers/test_server_tags.py | 5 +
.../api/compute/servers/test_servers_negative.py | 135 +++--
tempest/api/compute/test_extensions.py | 5 +-
tempest/api/compute/test_networks.py | 2 +
tempest/api/compute/test_quotas.py | 7 +-
tempest/api/compute/test_tenant_networks.py | 9 +-
tempest/api/compute/volumes/test_attach_volume.py | 48 +-
.../compute/volumes/test_attach_volume_negative.py | 15 +-
.../api/identity/admin/v2/test_roles_negative.py | 78 ++-
tempest/api/identity/admin/v2/test_services.py | 9 +-
.../api/identity/admin/v2/test_tenant_negative.py | 42 +-
tempest/api/identity/admin/v2/test_tenants.py | 18 +-
tempest/api/identity/admin/v2/test_tokens.py | 5 +-
.../api/identity/admin/v2/test_tokens_negative.py | 5 +
tempest/api/identity/admin/v2/test_users.py | 23 +-
.../api/identity/admin/v2/test_users_negative.py | 56 +-
.../admin/v3/test_application_credentials.py | 2 +
tempest/api/identity/admin/v3/test_credentials.py | 4 +
.../identity/admin/v3/test_domain_configuration.py | 13 +-
tempest/api/identity/admin/v3/test_domains.py | 11 +-
.../api/identity/admin/v3/test_domains_negative.py | 16 +-
.../api/identity/admin/v3/test_endpoint_groups.py | 4 +
tempest/api/identity/admin/v3/test_endpoints.py | 5 +
.../identity/admin/v3/test_endpoints_negative.py | 22 +-
tempest/api/identity/admin/v3/test_groups.py | 7 +-
tempest/api/identity/admin/v3/test_inherits.py | 8 +
.../api/identity/admin/v3/test_list_projects.py | 16 +-
tempest/api/identity/admin/v3/test_projects.py | 22 +-
.../identity/admin/v3/test_projects_negative.py | 20 +-
tempest/api/identity/admin/v3/test_regions.py | 8 +-
tempest/api/identity/admin/v3/test_roles.py | 15 +
tempest/api/identity/admin/v3/test_tokens.py | 13 +-
tempest/api/identity/admin/v3/test_trusts.py | 31 +-
.../api/identity/admin/v3/test_users_negative.py | 5 +-
tempest/api/identity/v2/test_api_discovery.py | 5 +-
tempest/api/identity/v2/test_extension.py | 3 +-
tempest/api/identity/v2/test_tenants.py | 2 +
tempest/api/identity/v2/test_tokens.py | 3 +-
tempest/api/identity/v2/test_users.py | 2 +
tempest/api/identity/v3/test_api_discovery.py | 15 +-
.../identity/v3/test_application_credentials.py | 5 +
tempest/api/identity/v3/test_domains.py | 2 +
tempest/api/identity/v3/test_projects.py | 2 +
tempest/api/identity/v3/test_tokens.py | 24 +-
tempest/api/identity/v3/test_users.py | 4 +
tempest/api/image/v1/test_image_members.py | 4 +
.../api/image/v1/test_image_members_negative.py | 12 +-
tempest/api/image/v1/test_images.py | 19 +-
tempest/api/image/v1/test_images_negative.py | 16 +-
tempest/api/image/v2/admin/test_images.py | 3 +
tempest/api/image/v2/test_images.py | 120 ++++-
tempest/api/image/v2/test_images_member.py | 7 +
.../api/image/v2/test_images_member_negative.py | 3 +
.../v2/test_images_metadefs_namespace_objects.py | 3 +
.../test_images_metadefs_namespace_properties.py | 1 +
.../v2/test_images_metadefs_namespace_tags.py | 2 +
.../image/v2/test_images_metadefs_namespaces.py | 1 +
.../v2/test_images_metadefs_resource_types.py | 1 +
.../api/image/v2/test_images_metadefs_schema.py | 22 +-
tempest/api/image/v2/test_images_negative.py | 18 +-
tempest/api/image/v2/test_images_tags.py | 2 +
tempest/api/image/v2/test_images_tags_negative.py | 5 +-
tempest/api/image/v2/test_versions.py | 2 +
.../api/network/admin/test_dhcp_agent_scheduler.py | 4 +
.../admin/test_external_network_extension.py | 23 +-
.../admin/test_external_networks_negative.py | 9 +-
.../admin/test_floating_ips_admin_actions.py | 18 +-
.../api/network/admin/test_metering_extensions.py | 11 +-
tempest/api/network/admin/test_negative_quotas.py | 7 +-
tempest/api/network/admin/test_ports.py | 13 +
tempest/api/network/admin/test_quotas.py | 6 +-
tempest/api/network/admin/test_routers.py | 53 +-
tempest/api/network/admin/test_routers_dvr.py | 4 +-
tempest/api/network/admin/test_routers_negative.py | 2 +
tempest/api/network/test_allowed_address_pair.py | 14 +-
tempest/api/network/test_dhcp_ipv6.py | 84 ++-
tempest/api/network/test_extensions.py | 2 +-
tempest/api/network/test_extra_dhcp_options.py | 4 +-
tempest/api/network/test_floating_ips.py | 23 +-
tempest/api/network/test_floating_ips_negative.py | 3 +
tempest/api/network/test_networks.py | 43 +-
tempest/api/network/test_networks_negative.py | 11 +
tempest/api/network/test_ports.py | 61 ++-
tempest/api/network/test_routers.py | 41 +-
tempest/api/network/test_routers_negative.py | 10 +
tempest/api/network/test_security_groups.py | 16 +-
.../api/network/test_security_groups_negative.py | 28 +-
tempest/api/network/test_service_providers.py | 2 +
tempest/api/network/test_subnetpools_extensions.py | 1 +
tempest/api/network/test_tags.py | 4 +-
tempest/api/object_storage/test_account_bulk.py | 44 +-
tempest/api/object_storage/test_account_quotas.py | 2 +
.../test_account_services_negative.py | 3 +-
tempest/api/object_storage/test_container_acl.py | 5 +-
.../object_storage/test_container_acl_negative.py | 17 +-
.../api/object_storage/test_container_services.py | 51 +-
.../test_container_services_negative.py | 26 +-
.../api/object_storage/test_container_staticweb.py | 5 +
tempest/api/object_storage/test_container_sync.py | 2 +-
tempest/api/object_storage/test_healthcheck.py | 2 +
tempest/api/object_storage/test_object_formpost.py | 2 +
.../test_object_formpost_negative.py | 3 +
tempest/api/object_storage/test_object_slo.py | 13 +-
tempest/api/object_storage/test_object_temp_url.py | 6 +
.../test_object_temp_url_negative.py | 3 +-
tempest/api/object_storage/test_object_version.py | 11 +
tempest/api/volume/admin/test_groups.py | 10 +
tempest/api/volume/admin/test_snapshot_manage.py | 1 +
tempest/api/volume/admin/test_user_messages.py | 4 +
tempest/api/volume/admin/test_volume_hosts.py | 3 +
tempest/api/volume/admin/test_volume_manage.py | 2 +
tempest/api/volume/admin/test_volume_pools.py | 4 +
tempest/api/volume/admin/test_volume_quotas.py | 12 +-
.../volume/admin/test_volume_quotas_negative.py | 4 +
tempest/api/volume/admin/test_volume_retype.py | 23 +
tempest/api/volume/admin/test_volume_services.py | 6 +-
.../volume/admin/test_volume_services_negative.py | 6 +
.../admin/test_volume_snapshot_quotas_negative.py | 3 +
.../api/volume/admin/test_volume_type_access.py | 3 +
tempest/api/volume/admin/test_volume_types.py | 1 -
.../volume/admin/test_volume_types_extra_specs.py | 7 +-
.../api/volume/admin/test_volume_types_negative.py | 9 +-
tempest/api/volume/admin/test_volumes_actions.py | 17 +-
tempest/api/volume/admin/test_volumes_backup.py | 4 -
tempest/api/volume/admin/test_volumes_list.py | 3 +-
tempest/api/volume/base.py | 7 +-
tempest/api/volume/test_availability_zone.py | 2 +-
tempest/api/volume/test_extensions.py | 3 +-
tempest/api/volume/test_image_metadata.py | 2 +
tempest/api/volume/test_snapshot_metadata.py | 5 +-
tempest/api/volume/test_versions.py | 6 +-
tempest/api/volume/test_volume_absolute_limits.py | 3 +-
tempest/api/volume/test_volumes_actions.py | 14 +-
tempest/api/volume/test_volumes_backup.py | 29 +-
tempest/api/volume/test_volumes_get.py | 9 +-
tempest/api/volume/test_volumes_list.py | 49 +-
tempest/api/volume/test_volumes_negative.py | 58 +-
tempest/api/volume/test_volumes_snapshots.py | 24 +-
tempest/api/volume/test_volumes_snapshots_list.py | 41 +-
.../api/volume/test_volumes_snapshots_negative.py | 11 +-
tempest/cmd/account_generator.py | 63 +--
tempest/cmd/cleanup.py | 20 +-
tempest/cmd/cleanup_service.py | 39 +-
tempest/cmd/subunit_describe_calls.py | 28 +-
tempest/cmd/verify_tempest_config.py | 8 +-
tempest/common/custom_matchers.py | 18 +-
tempest/config.py | 39 +-
.../response/compute/v2_1/parameter_types.py | 7 +
.../api_schema/response/compute/v2_59/__init__.py | 0
.../response/compute/v2_59/migrations.py | 36 ++
tempest/lib/api_schema/response/volume/backups.py | 229 ++++++++
.../api_schema/response/volume/encryption_types.py | 95 ++++
.../api_schema/response/volume/group_snapshots.py | 106 ++++
.../lib/api_schema/response/volume/group_types.py | 134 +++++
tempest/lib/api_schema/response/volume/groups.py | 164 ++++++
tempest/lib/api_schema/response/volume/limits.py | 55 ++
.../api_schema/response/volume/scheduler_stats.py | 79 +++
.../lib/api_schema/response/volume/snapshots.py | 198 +++++++
tempest/lib/api_schema/response/volume/volumes.py | 368 +++++++++++++
tempest/lib/common/dynamic_creds.py | 6 +-
tempest/lib/common/rest_client.py | 49 +-
tempest/lib/common/thread.py | 4 -
tempest/lib/common/utils/linux/remote_client.py | 6 +-
tempest/lib/services/compute/migrations_client.py | 5 +-
tempest/lib/services/compute/servers_client.py | 17 +-
tempest/lib/services/image/v2/images_client.py | 86 +++
tempest/lib/services/network/quotas_client.py | 26 +
tempest/lib/services/volume/v3/backups_client.py | 21 +-
.../services/volume/v3/encryption_types_client.py | 11 +-
.../services/volume/v3/group_snapshots_client.py | 13 +-
.../lib/services/volume/v3/group_types_client.py | 24 +-
tempest/lib/services/volume/v3/groups_client.py | 18 +-
tempest/lib/services/volume/v3/limits_client.py | 3 +-
.../services/volume/v3/scheduler_stats_client.py | 5 +-
tempest/lib/services/volume/v3/snapshots_client.py | 35 +-
tempest/lib/services/volume/v3/versions_client.py | 5 +-
tempest/lib/services/volume/v3/volumes_client.py | 63 ++-
tempest/manager.py | 2 +-
tempest/scenario/manager.py | 363 +++++++++----
tempest/scenario/test_encrypted_cinder_volumes.py | 2 +-
.../scenario/test_minbw_allocation_placement.py | 7 +-
tempest/scenario/test_minimum_basic.py | 2 +-
.../scenario/test_network_advanced_server_ops.py | 2 +-
tempest/scenario/test_network_basic_ops.py | 18 +-
tempest/scenario/test_network_v6.py | 2 +-
tempest/scenario/test_security_groups_basic_ops.py | 8 +-
tempest/scenario/test_snapshot_pattern.py | 10 +
tempest/scenario/test_volume_boot_pattern.py | 3 +-
.../calls.subunit | Bin
.../calls_subunit_expected.json | 87 +++
.../lib/common/utils/linux/test_remote_client.py | 2 +-
.../services/compute/test_base_compute_client.py | 2 +-
.../lib/services/compute/test_servers_client.py | 2 +-
.../lib/services/compute/test_services_client.py | 2 +-
.../lib/services/identity/v2/test_token_client.py | 3 +-
.../lib/services/identity/v3/test_token_client.py | 3 +-
.../lib/services/image/v2/test_images_client.py | 19 +-
.../services/network/test_base_network_client.py | 2 +-
.../lib/services/network/test_quotas_client.py | 12 +-
.../network/test_security_group_rules_client.py | 2 +-
.../network/test_security_groups_client.py | 2 +-
.../services/object_storage/test_object_client.py | 2 +-
.../lib/services/volume/v3/test_backups_client.py | 3 +-
.../volume/v3/test_encryption_types_client.py | 4 +-
.../services/volume/v3/test_group_types_client.py | 4 +-
.../volume/v3/test_scheduler_stats_client.py | 12 +-
.../lib/services/volume/v3/test_services_client.py | 2 +-
.../volume/v3/test_snapshot_manage_client.py | 2 +-
.../services/volume/v3/test_transfers_client.py | 2 +-
.../volume/v3/test_volume_manage_client.py | 2 +-
.../lib/services/volume/v3/test_volumes_client.py | 4 -
test-requirements.txt | 4 +-
tools/generate-tempest-plugins-list.py | 4 +-
tools/generate-tempest-plugins-list.sh | 4 +-
.../tempest-integrated-gate-compute-blacklist.txt | 6 +
...st-integrated-gate-object-storage-blacklist.txt | 7 +-
.../tempest-integrated-gate-storage-blacklist.txt | 7 +-
tools/tempest-plugin-sanity.sh | 6 +-
tox.ini | 12 +-
351 files changed, 5774 insertions(+), 1596 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index bf38faed2..d8738f08c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6 +6 @@ cliff!=2.9.0,>=2.8.0 # Apache-2.0
-jsonschema>=2.6.0 # MIT
+jsonschema>=3.2.0 # MIT
diff --git a/test-requirements.txt b/test-requirements.txt
index a50905fb7..17fa9f108 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4,2 +4 @@
-hacking>=3.0,<3.1.0;python_version>='3.5' # Apache-2.0
-mock>=2.0.0 # BSD
+hacking>=3.0.1,<3.1.0;python_version>='3.5' # Apache-2.0
@@ -7,0 +7 @@ oslotest>=3.2.0 # Apache-2.0
+pycodestyle>=2.0.0,<2.6.0 # MIT
1
0
We joyfully announce the release of:
swift 2.26.0: OpenStack Object Storage
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/swift
Download the package from:
https://tarballs.openstack.org/swift/
Please report issues through:
https://bugs.launchpad.net/swift/+bugs
For more details, please see below.
2.26.0
^^^^^^
New Features
************
* Extend concurrent reads to erasure coded policies. Previously, the
options "concurrent_gets" and "concurrency_timeout" only applied to
replicated policies.
* Add a new "concurrent_ec_extra_requests" option to allow the proxy
to make some extra backend requests immediately. The proxy will
respond as soon as there are enough responses available to
reconstruct.
* The concurrent read options ("concurrent_gets",
"concurrency_timeout", and "concurrent_ec_extra_requests") may now
be configured per storage-policy.
* Replication servers can now handle all request methods. This
allows ssync to work with a separate replication network.
* All background daemons now use the replication network. This
allows better isolation between external, client-facing traffic and
internal, background traffic. Note that during a rolling upgrade,
replication servers may respond with "405 Method Not Allowed". To
avoid this, operators should remove the config option
"replication_server = true" from their replication servers; this
will allow them to handle all request methods before upgrading.
* S3 API improvements:
* Fixed some SignatureDoesNotMatch errors when using the AWS .NET
SDK.
* Add basic read support for object tagging. This improves
compatibility with AWS CLI version 2. Write support is not yet
implemented, so the tag set will always be empty.
* CompleteMultipartUpload requests may now be safely retried.
* Improved quota-exceeded error messages.
* Improved logging and statsd metrics. Be aware that this will
cause an increase in the proxy-logging statsd metrics emited for
S3 responses. However, this should more accurately reflect the
state of the system.
* S3 requests are now less demanding on the container layer.
* Servers now open one listen socket per worker, ensuring each
worker serves roughly the same number of concurrent connections.
* Server workers may now be gracefully terminated via "SIGHUP" or
"SIGUSR1". The parent process will then spawn a fresh worker.
* Allow proxy-logging middlewares to be configured more
independently.
* Improve performance when increasing partition power.
Known Issues
************
* In a rolling upgrade from liberasurecode 1.5.0 or earlier to 1.6.0
or later, object-servers may quarantine newly-written data, leading
to availability issues or even data loss. See bug 1886088 for more
information, including how to determine whether you are affected.
Several mitigations are available to operators:
* If proxy and object layers can be upgraded independently and
proxies can be upgraded quickly:
1. Stop and disable the object-reconstructor before upgrading.
This ensures no upgraded object server starts writing new
fragments that old object servers would quarantine.
2. Upgrade liberasurecode on all object servers. Object servers
can now read both old and new fragments.
3. Upgrade liberasurecode on all proxy servers. Newly-written
data will now use new fragments. Note that not-yet-upgraded
proxies will not be able to read these newly-written fragments
but will instead respond "500 Internal Server Error".
4. After upgrading, re-enable and restart the object-
reconstructor.
* If your users can tolerate it, consider a read-only rolling
upgrade. Before upgrading, enable the read-only middleware
cluster-wide to prevent new writes during the upgrade.
Additionally, stop and disable the object-reconstructor as above.
Upgrade normally, then disable the read-only middleware and re-
enable and restart the object-reconstructor.
* Avoid upgrading liberasurecode until swift and liberasurecode
better-support a rolling upgrade. Swift remains compatible with
liberasurecode 1.5.0 and earlier.
Note: Ubuntu 18.04 and RDO's CentOS 7 repos package liberasurecode
1.5.0, while Ubuntu 20.04 and RDO's CentOS 8 repos currently
package liberasurecode 1.6.0 or 1.6.1. Take care when upgrading
major distro versions!
Upgrade Notes
*************
* **If your cluster has encryption enabled and is still running
Swift under Python 2**, we recommend upgrading Swift *before*
transitioning to Python 3. Otherwise, new writes to objects with
non-ASCII characters in their paths may result in corrupted
downloads when read from a proxy-server still running old swift on
Python 2. See bug 1888037 for more information. Note that new tags
including a fix for the bug are planned for all maintained stable
branches; upgrading to any one of those should be sufficient to
ensure a smooth upgrade to the latest Swift.
* The above bug was caused by a difference in string types that
resulted in ambiguity when decrypting. To prevent the ambiguity for
new data, set "meta_version_to_write = 3" in your keymaster
configuration *after* upgrading all proxy servers.
If upgrading from Swift 2.20.0 or Swift 2.19.1 or earlier, set
"meta_version_to_write = 1" in your keymaster configuration *prior*
to upgrading.
See the provided "keymaster.conf-sample" for more information about
this setting.
* **If your cluster is configured with a separate replication
network**, note that background daemons will switch to using this
network for all traffic. If your account, container, or object
replication servers are configured with "replication_server = true",
these daemons may log a flood of "405 Method Not Allowed" messages
during a rolling upgrade. To avoid this, comment out the option and
restart replication servers before upgrading.
Bug Fixes
*********
* Python 3 bug fixes:
* Fixed an error when reading encrypted data that was written
while running Python 2 for a path that includes non-ASCII
characters.
* Object expiration respects the
"expiring_objects_container_divisor" config option.
* "fallocate_reserve" may be specified as a percentage in more
places.
* The ETag-quoting middleware no longer raises TypeErrors.
* Sharding improvements:
* Prevent object updates from auto-creating shard containers. This
ensures more consistent listings for sharded containers during
rebalances.
* Deleted shard containers are no longer considered root
containers. This prevents unnecessary sharding audit failures and
allows the deleted shard database to actually be unlinked.
* "swift-container-info" now summarizes shard range information.
Pass "-v"/"--verbose" if you want to see all of them.
* Improved container-sharder stat reporting to reduce load on root
container databases.
* Don't inject shard ranges when user quits.
* During rebalances, clients should no longer get 404s for data that
exists but whose replicas are overloaded.
* Improved cache management for account and container responses.
* Allow operators to pass either raw or URL-quoted paths to "swift-
get-nodes". Notably, this allows "swift-get-nodes" to work with the
reserved namespace used for object versioning.
* Container read ACLs now work with object versioning. This only
allows access to the most-recent version via an unversioned URL.
* Improved how containers reclaim deleted rows to reduce locking and
object update throughput.
* Large object reads log fewer client disconnects.
* Allow ratelimit to be placed multiple times in a proxy pipeline,
such as both before s3api and auth (to handle swift requests without
needing to make an auth decision) and after (to limit S3 requests).
* Shuffle object-updater work. This somewhat reduces the impact a
single overloaded database has on other containers' listings.
* Fix a proxy-server error when retrieving erasure coded data when
there are durable fragments but not enough to reconstruct.
* Fix an error in the proxy server when finalizing data.
* Various other minor bug fixes and improvements.
Changes in swift 2.25.0..2.26.0
-------------------------------
d6c6ab764 Authors/ChangeLog for 2.26.0
a8d214626 xlo: Drain error responses
f8a9a6e11 s3api: Make quota-exceeded errors more obvious
ae8a89f04 gate: Make rolling upgrade job work with either 60xx or 62xx ports
d5625abf6 proxy: Include thread_locals when spawning _fragment_GET_request
754defc39 Client should retry when there's just one 404 and a bunch of errors
6e9e41d9b Remove some useless swob.Request attr setting
b7b45eadc ec: Close down some unused responses more quickly
f043aedec Make all concurrent_get options per-policy
8ea227a0e Suppress CryptographyDeprecationWarnings
ee693265f swift-init: Don't expose misleading commands
eefe35755 docs: Clean up some formatting around using servers_per_port
8f60e0a26 Extend concurrent_gets to EC GET requests
3f5e712be wsgi: Allow workers to gracefully exit
452db14a0 Bind a new socket per-worker
829a0d9a7 [goal] Migrate testing to ubuntu focal
08eacf68d Fix a typo in the explanatory note
5b2c846c6 Start to decouple Object GET path
2a6dfae2f Allow direct and internal clients to use the replication network
7d429318d py3: Work with proper native string paths in crypto meta
3a6e85d9e s3api: Allow lower-cased region name for AWS .NET SDK compatibility
e10af5d26 docs: Clarify request_time in storage logs
770cc287a Treat add/remove/rebalance during part-power increase as error
cb67f9472 container-sharding: Stable overlap order
9eb81f6e6 Allow replication servers to handle all request methods
0dbf3d0a9 Actually interpolate error message
67e3830ab swift-container-info: Show shard ranges summary
fa5bad279 Decouple proxy_server tests
1c9154764 Use latest pip in gate jobs
314347a3c Update SAIO & docker image to use 62xx ports
c31e30ec2 docs: Improve replication-network remakerings
5bd95cf2b probe tests: Get rid of `server` arg for device_dir() and storage_dir()
907942eb4 Stop syncing empty suffixes list
a5ec38326 Add a reminder to configure firewall at storage nodes
36bd21488 Address a sharder/replicator race
a4cf508a3 Identify deleted shards as shards
b2efd185c s3api: Use swift.backend_path to proxy-log s3api requests
45be775eb Get rid of memcache attr on proxy-server app
7753eff66 py3: Stop munging RAW_PATH_INFO
2e001431f s3api: Don't do naive HEAD request for auth
5c087ad7b Fix up curl commands when object name has unix dir characters
02548717a s3api: Allow CompleteMultipartUpload requests to be retried
e91a3d73a Remove lxml deprecated methods
5eb677fe5 Bump up probe test timeout
51a587ed8 Use ensure-pip role
f5c25d7c6 Clean up some proxy tests
7be7cc966 proxy: Stop killing memcache entries on 5xx responses
9bc8c8258 py3: Fix expirer container generation
6afefe1ad s3api: Add basic support for ?tagging requests
2ffe598f4 proxy-logging: Be able to configure log_route
79811df34 Use ini_file to update timeout instead of crudini
2854eddb4 py3: (Better) fix percentages in configs
e4586fdcd memcached: Plumb logger into MemcacheRing
1dfa41dad swift-get-nodes: Allow users to specify either quoted or unquoted paths
1b6c8f7fd Remove etag-quoter from 2.25.0 release notes
11dd0da29 tests: Bump up timeout for unit and in-process func tests
fc731198a Quiet eventlet exceptions in test
ce4c0fb14 Don't auto-create shard containers
3d105b623 Switch to newer openstackdocstheme and reno versions
019bade19 Remove <py3.5 dependencies from requirements.txt
738514c16 docs: s3api doesn't support tagging
20c6bdb71 Enable s3api and staticweb tests across all func tests
99947150d func tests: work with etag-quoter on by default
ede9dad9f Better functest quarantine cleanup
cedec8c5e Latch shard-stat reporting
60f052f69 dsvm: Run service-user tests under keystoneauth
984b57a87 tests: Skip s3api copy-version test when OV not enabled
3aa4e3ec8 Remove swift-dsvm-functional-py3 job
650272eac Imported Translations from Zanata
fa768b434 Simplify wsgify()
a2feefb04 dsvm: Use devstack's s3api "service"
5034916c1 Skip tests when only changing README.rst, CONTRIBUTING.rst, etc.
78cce72f8 Ussuri contrib docs community goal
73f0b143d dsvm: Run service-user tests under tempauth
63b16a368 dsvm: Run domain_remap tests with tempauth
a8e03f42e versioning: Have versioning symlinks make pre-auth requests to reserved container
63e02fa9f Test for Versioned Object If-Match
bb9b0326f swift-dsvm: Enable s3api
aab45880f Breakup reclaim into batches
f25705ee1 Add py38 package metadata
67598b3a4 Bump up timeouts for DSVM and probe test jobs
1db11df4f ratelimit: Allow multiple placements
f4bc95150 fix s3api functional tests
1358d3732 versioning: Use CONTAINER_LISTING_LIMIT when doing container listings
971023e4c replication: Allow databases_per_second to be a float
0fd23ee54 Fix pep8 job
dee98a74d updater: Shuffle suffixes so we don't keep hitting the same failures
f57d4cfa7 object-updater: Ignore ENOENT when trying to unlink stale pending files
fe74ec048 py27: Suppress UnicodeWarnings in ShardRange setters
630c9ef80 probe tests: Work when fronted by a TLS terminator
0f2da2aee Use local py2 upper-constraints
695295007 Switch to new grenade job name
cb37d3acd docs: Clean up mount options
4c8512afb Use separate name for HeaderKeyDict var vs list of response headers
1af995f0e s3api: Check whether versioning is enabled more
f3c19459c Imported Translations from Zanata
69b8165cd obj: _finalize_durable may succeed even when data file is missing
a9c6ad7e2 Add stable/ussuri upgrade job
9581254e6 swift-dsvm: Enable more middlewares
dbeaabe54 Add experimental job to upgrade from master
e84d531b9 py3: Make etag-quoter work
63e6c91ab Make rolling-upgrade job non-voting
72a617752 func tests: Allow test_etag_quoter to be run multiple times
d0f0d1d4f sharding: Add probe test that exercises swift-manage-shard-ranges
c7fe823c0 Update master for stable/ussuri
eae27412d sharding: Don't inject shard ranges when user says quit
3061ec803 relinker: Improve performance by limiting I/O
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 172 ++--
AUTHORS | 4 +
CHANGELOG | 135 +++-
CONTRIBUTING.rst | 10 +
REVIEW_GUIDELINES.rst | 2 +-
api-ref/source/conf.py | 44 +-
bin/swift-container-info | 4 +
bin/swift-get-nodes | 2 +
bin/swift-object-relinker | 2 +
.../install/storage-install-ubuntu-debian.rst | 4 +-
etc/account-server.conf-sample | 14 +-
etc/container-server.conf-sample | 14 +-
etc/keymaster.conf-sample | 27 +
etc/object-server.conf-sample | 14 +-
etc/proxy-server.conf-sample | 52 +-
etc/rsyncd.conf-sample | 16 +-
examples/apache2/account-server.template | 2 +-
examples/apache2/container-server.template | 2 +-
examples/apache2/object-server.template | 2 +-
lower-constraints.txt | 5 -
py2-constraints.txt | 72 ++
.../notes/2_26_0_release-6548eadcba544f72.yaml | 216 +++++
releasenotes/source/conf.py | 14 +-
releasenotes/source/index.rst | 2 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 882 ++++++++++++++++++++-
releasenotes/source/ussuri.rst | 6 +
requirements.txt | 11 +-
roles/additional-keystone-users/tasks/main.yaml | 134 ++++
roles/additional-tempauth-users/tasks/main.yaml | 47 ++
roles/dsvm-additional-middlewares/tasks/main.yaml | 70 ++
setup.cfg | 1 +
swift/__init__.py | 7 +
swift/account/reaper.py | 10 +-
swift/cli/info.py | 65 +-
swift/cli/manage_shard_ranges.py | 4 +-
swift/cli/recon.py | 34 +-
swift/cli/relinker.py | 181 ++++-
swift/cli/ringbuilder.py | 8 +-
swift/common/base_storage_server.py | 29 +-
swift/common/db.py | 53 +-
swift/common/db_replicator.py | 2 +-
swift/common/direct_client.py | 33 +-
swift/common/internal_client.py | 7 +-
swift/common/manager.py | 98 ++-
swift/common/memcached.py | 21 +-
swift/common/middleware/crypto/keymaster.py | 61 +-
swift/common/middleware/dlo.py | 7 +-
swift/common/middleware/etag_quoter.py | 10 +-
swift/common/middleware/list_endpoints.py | 6 +-
swift/common/middleware/memcache.py | 5 +-
swift/common/middleware/proxy_logging.py | 15 +-
swift/common/middleware/ratelimit.py | 4 +
.../middleware/s3api/controllers/__init__.py | 3 +
.../middleware/s3api/controllers/multi_upload.py | 91 ++-
swift/common/middleware/s3api/controllers/obj.py | 24 +-
.../common/middleware/s3api/controllers/tagging.py | 57 ++
swift/common/middleware/s3api/etree.py | 2 +-
swift/common/middleware/s3api/s3api.py | 2 +
swift/common/middleware/s3api/s3request.py | 69 +-
swift/common/middleware/s3api/utils.py | 4 -
swift/common/middleware/slo.py | 14 +-
swift/common/middleware/symlink.py | 31 +-
swift/common/middleware/tempauth.py | 2 -
.../versioned_writes/object_versioning.py | 6 +-
swift/common/request_helpers.py | 30 +-
swift/common/ring/builder.py | 16 +-
swift/common/swob.py | 27 +-
swift/common/utils.py | 127 ++-
swift/common/wsgi.py | 394 ++++-----
swift/container/backend.py | 118 ++-
swift/container/reconciler.py | 19 +-
swift/container/server.py | 44 +-
swift/container/sharder.py | 43 +-
swift/container/sync.py | 7 +-
swift/locale/de/LC_MESSAGES/swift.po | 9 +-
swift/obj/diskfile.py | 21 +-
swift/obj/expirer.py | 3 +-
swift/obj/replicator.py | 3 +
swift/obj/updater.py | 13 +-
swift/proxy/controllers/account.py | 2 +-
swift/proxy/controllers/base.py | 129 +--
swift/proxy/controllers/container.py | 2 +-
swift/proxy/controllers/obj.py | 823 ++++++++++++++++---
swift/proxy/server.py | 58 +-
test/__init__.py | 6 +
test/functional/__init__.py | 29 +-
test/functional/s3api/__init__.py | 19 +-
test/functional/s3api/s3_test_client.py | 40 +-
test/functional/s3api/test_acl.py | 6 +-
test/functional/s3api/test_bucket.py | 16 +-
test/functional/s3api/test_multi_delete.py | 2 +-
test/functional/s3api/test_multi_upload.py | 66 +-
test/functional/s3api/test_object.py | 10 +-
test/functional/s3api/test_service.py | 2 +-
test/functional/s3api/test_versioning.py | 4 +-
test/functional/swift_test_client.py | 3 +
test/functional/test_object.py | 21 +-
test/functional/test_object_versioning.py | 110 ++-
test/functional/test_slo.py | 31 +-
test/functional/test_symlink.py | 79 +-
test/functional/test_versioned_writes.py | 11 +-
test/probe/__init__.py | 8 +
test/probe/brain.py | 3 +-
test/probe/common.py | 18 +-
.../probe/test_account_get_fake_responses_match.py | 12 +-
test/probe/test_container_failures.py | 31 +-
test/probe/test_object_async_update.py | 7 +-
test/probe/test_object_failures.py | 4 +-
test/probe/test_object_handoff.py | 19 +-
test/probe/test_object_metadata_replication.py | 3 +-
test/probe/test_object_partpower_increase.py | 4 +-
test/probe/test_reconstructor_rebuild.py | 6 +-
test/probe/test_reconstructor_revert.py | 20 +-
test/probe/test_sharder.py | 96 ++-
test/probe/test_signals.py | 72 +-
test/sample.conf | 5 +
test/unit/__init__.py | 51 +-
test/unit/account/test_backend.py | 66 ++
test/unit/account/test_reaper.py | 6 +-
test/unit/account/test_server.py | 11 +-
test/unit/cli/test_info.py | 241 ++++--
test/unit/cli/test_manage_shard_ranges.py | 21 +-
test/unit/cli/test_relinker.py | 218 ++++-
test/unit/cli/test_ringbuilder.py | 6 +-
.../common/middleware/crypto/test_keymaster.py | 227 +++++-
test/unit/common/middleware/s3api/__init__.py | 12 +
.../common/middleware/s3api/test_multi_upload.py | 185 ++++-
test/unit/common/middleware/s3api/test_obj.py | 135 +++-
test/unit/common/middleware/s3api/test_s3_acl.py | 16 +-
test/unit/common/middleware/s3api/test_s3api.py | 29 +-
.../unit/common/middleware/s3api/test_s3request.py | 4 +-
.../common/middleware/s3api/test_versioning.py | 2 +-
test/unit/common/middleware/test_copy.py | 4 +-
test/unit/common/middleware/test_dlo.py | 29 +-
test/unit/common/middleware/test_proxy_logging.py | 35 +-
test/unit/common/middleware/test_ratelimit.py | 114 +--
test/unit/common/middleware/test_slo.py | 17 +-
test/unit/common/middleware/test_symlink.py | 50 ++
test/unit/common/ring/test_builder.py | 2 +-
test/unit/common/test_base_storage_server.py | 25 +-
test/unit/common/test_db.py | 4 +-
test/unit/common/test_db_replicator.py | 6 +-
test/unit/common/test_direct_client.py | 55 ++
test/unit/common/test_internal_client.py | 73 +-
test/unit/common/test_memcached.py | 79 +-
test/unit/common/test_request_helpers.py | 13 +
test/unit/common/test_swob.py | 16 +
test/unit/common/test_utils.py | 177 ++++-
test/unit/common/test_wsgi.py | 311 ++++----
test/unit/container/test_backend.py | 314 +++++++-
test/unit/container/test_reconciler.py | 1 +
test/unit/container/test_server.py | 119 ++-
test/unit/container/test_sharder.py | 51 +-
test/unit/obj/test_diskfile.py | 86 ++
test/unit/obj/test_replicator.py | 37 +-
test/unit/obj/test_server.py | 24 +-
test/unit/proxy/controllers/test_account.py | 48 +-
test/unit/proxy/controllers/test_base.py | 206 ++++-
test/unit/proxy/controllers/test_container.py | 53 +-
test/unit/proxy/controllers/test_obj.py | 684 +++++++++++++++-
test/unit/proxy/test_server.py | 382 +++++----
test/unit/proxy/test_sysmeta.py | 82 +-
tools/playbooks/common/install_dependencies.yaml | 8 +-
tools/playbooks/dsvm/pre.yaml | 3 +
.../multinode_setup/configure_loopback.yaml | 2 +-
tools/playbooks/multinode_setup/make_rings.yaml | 10 +
.../templates/make_multinode_rings.j2 | 40 +-
.../saio_single_node_setup/setup_saio.yaml | 12 +-
tox.ini | 37 +-
204 files changed, 8389 insertions(+), 2342 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index d4c994af2..223fc617b 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5 +4,0 @@
-dnspython>=1.15.0;python_version=='2.7' # http://www.dnspython.org/LICENSE
@@ -16 +15,9 @@ cryptography>=2.0.2 # BSD/Apache-2.0
-ipaddress>=1.0.16;python_version<'3.3' # PSF
+
+# For python 2.7, the following requirements are needed; they are not
+# included since the requirments-check check will fail otherwise since
+# global requirements do not support these anymore.
+# Fortunately, these packages come in as dependencies from others and
+# thus the py27 jobs still work.
+#
+# dnspython>=1.15.0;python_version=='2.7' # http://www.dnspython.org/LICENSE
+# ipaddress>=1.0.16;python_version<'3.3' # PSF
1
0
We are psyched to announce the release of:
ansible-role-lunasa-hsm 1.0.0: ansible-role-lunasa-hsm - Ansible role
to configure Lunasa HSM clients.
This is the first release of ansible-role-lunasa-hsm. This release is
part of the victoria release series.
The source is available from:
https://opendev.org/openstack/ansible-role-lunasa-hsm
Download the package from:
https://tarballs.openstack.org/ansible-role-lunasa-hsm/
Please report issues through:
https://storyboard.openstack.org/#!/project/1180
For more details, please see below.
Changes in ansible-role-lunasa-hsm a0dbe15912d09351448d42f680904a15f0943659..1.0.0
----------------------------------------------------------------------------------
1f79d94 Ignore mode warning for unarchive
99dc088 Fix certificate file name
b4eaaeb Add support for High Availability
ce3e955 Small cleanups
235bfe9 Use underscore instead of dash
d131542 Set ha_slot fact
ad60739 Use ansible expect task instead of expect command
7e61087 Add zuul jobs
c33a9a7 Remove WIP hieradata tasks
4049e84 Fix yaml syntax errors
a29bb30 Check for errors in lunacm commands
95fb95b Remove zuul config
1
0
We are satisfied to announce the release of:
python-troveclient 3.3.2: Client library for OpenStack DBaaS API
This release is part of the ussuri stable release series.
The source is available from:
https://opendev.org/openstack/python-troveclient
Download the package from:
https://pypi.org/project/python-troveclient
Please report issues through:
https://bugs.launchpad.net/python-troveclient/+bugs
For more details, please see below.
Changes in python-troveclient 3.3.1..3.3.2
------------------------------------------
1feaf36 Support region in CLI
8dd8a69 Update TOX/UPPER_CONSTRAINTS_FILE for stable/ussuri
a85223e Update .gitreview for stable/ussuri
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
tox.ini | 6 +++---
troveclient/osc/plugin.py | 3 ++-
3 files changed, 6 insertions(+), 4 deletions(-)
1
0
We exuberantly announce the release of:
tripleo-heat-templates 12.6.0: Heat templates for deploying OpenStack
with OpenStack.
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/tripleo-heat-templates
Download the package from:
https://tarballs.openstack.org/tripleo-heat-templates/
Please report issues through:
https://bugs.launchpad.net/tripleo/+bugs
For more details, please see below.
12.6.0
^^^^^^
New Features
************
* Adds a new ContainerNovaLibvirtPidsLimit parameter in order to set
the PIDs limit for nova_libvirt container. Defaults to 65536, set to
0 for unlimited.
* This change updates the multiple-nics and multiple-nics-vlans
templates so that an external bridge is created if either the role
uses the External network or the "external_bridge" tag is set in the
role definition. This is done instead of checking if the role name
is "Controller". This change also assigns the "external_bridge" tag
to the Controller as well as the Compute roles so that both roles
can access the Neutron external bridge for floating IPs or SNAT by
default so that OVN can use DVR.
* The following parameters were added to support configuration of
gnocchi nfs backend.
* GnocchiNfsEnabled
* GnocchiNfsShare
* GnocchiNfsOptions
* The MariaDB tuning parameter for Innodb_buffer_pool_size can now
be set via a new TripleO Heat Template parameter
'MySQLInnodbBufferPoolSize'. By default this is undefined.
* The following parameters are now role specific:
* IronicConductorGroup
* IronicCleaningNetwork
* IronicProvisioningNetwork
* IronicRescuingNetwork
This allow operators to deploy the Baremetal service in a
configuration with multiple conductor groups utilizing different
networks for provisioning, cleaning and rescuing per conductor group
or conductor.
* The nova-ironic setting for 'max_concurrent_builds' can now be set
via the use of a new TripleO Heat templates parameter
'IronicMaxConcurrentBuilds'. It is set to the service default of 10
by default in TripleO Heat templates.
* Add the NovaImageCacheTTL to the nova compute service. This
exposes the remove_unused_original_minimum_age_seconds from
nova.conf which controls the time (in seconds) that nova compute
should continue caching an image once it is no longer used by and
instances on the host. Defaults to 86400 (24hrs)
* Floating IP port forwarding is now supported under ML2/OVN. A more
detailed explanation can be found in bug 1877447
(https://bugs.launchpad.net/neutron/+bug/1877447)
* Adding support for PowerFlex cinder driver.
* Support for PowerStore backend cinder driver. Supports both iSCSI
and FC protocols and support deploying one or multiple cinder
PowerStore storage backends.
* When SwiftRawDisks is set, try to mount the disks using uuids
instead of paths. This makes mounts more stable, eg. if a kernel
gets updates and device orders are changed.
Upgrade Notes
*************
* The "external_bridge" tag is now used for the Compute node. An
external network bridge is required on the compute nodes in order to
host floating IPs when using DVR. OVN deploys with DVR by default.
* The CIDR for the StorageNFS network in the sample
network_data_ganesha.yaml file has been modified to provide more
usable IPs for the corresponding Neutron overcloud StorageNFS
provider network. Since the CIDR of an existing network cannot be
modified, deployments with existing StorageNFS networks should be
sure to customize the StorageNFS network definition to use the same
CIDR as that in their existing deployment in order to avoid a heat
resource failure when updating or upgrading the overcloud.
* Operators utilizing the "firstboot/os-net-config-mappings.yaml"
should remove the resource registry entry. The template was replaced
by a module in ansible. The data format and parameter
"NetConfigDataLookup" is still used.
* The deprecated``ManilaCephFSDataPoolPGNum`` and
"ManilaCephFSMetadataPoolPGNum" parameters have been removed. As
with the other Ceph pools, use the "CephPoolDefaultPgNum" parameter
for the default value, or "CephPools" to override pg_num for
specific pools.
Deprecation Notes
*****************
* The firstboot template "firstboot/os-net-config-mappings.yaml"
that was used to create an os-net-config mapping file has been
deprecated and replaced by an ansible module. The parameter
"NetConfigDataLookup" remains with no data format change for
compatibility.
* As the fast forward upgrade workflow to skip multiple releases now
relies on the very same upgrade_tasks, there is no need to mantain
the fast_forward_upgrade_tasks, as well as any of its references.
* Resource OS::TripleO::Services::CinderBackendDellEMCVxFlexOS is
deprecated. Use the new resource
OS::TripleO::Services::CinderBackendDellEMCPowerFlex.
Bug Fixes
*********
* Designate producers will no longer be deployed in standalone mode
and produce duplicates as they are now configured to coordinate via
redis.
* Fixed issue in the sample network_data_ganesha.yaml file where the
IPv4 allocation range for the StorageNFS network occupies almost the
whole of its CIDR. If network_data_ganesha.yaml is used without
modification in a customer deployment then there are too few IPs
left over in its CIDR for use by the corresponding overcloud Neutron
StorageNFS provider network for its overcloud DHCP service. (See
bug: #1889682 (https://bugs.launchpad.net/tripleo/+bug/1889682))
* Previously, HorizonDebug and Debug parameters change the value of
horizon::django_debug. However, those parameters didn't set DEBUG
log level to horizon logger components. By this change, if those are
true, horizon::log_level is set to 'DEBUG'.
* Fix Swift ring synchronization to ensure every node on the
overcloud has the same copy to start with. This is especially
required when replacing nodes or using manually modifed rings.
Changes in tripleo-heat-templates 12.5.0..12.6.0
------------------------------------------------
a584099b9 Make sure we noop the Rabbitmq_ providers
4b0cc36ef Make sure we noop the Mysql_ providers
87b365afd Fix Flakes and lower-constraints errors
884be2060 Replace deprecated nova::compute::ironic::max_concurrent_builds
7b9199de9 os-net-config-mappings move out of firsboot
89e35393d Add parameter and CI config to enable Ceph OTW encryption
168961d66 Add environment to enable nova on undercloud
ab25f7d4d Remove ipa-client install task from undercloud-tls playbook
dc959f17c Make sure IPA has the right ACI
88ca5928e Remove CI env for net-config-multinode-os-net-config.yaml
83d1cb585 pcs commands on host: redis bundle
4e76e1fb7 pcs commands on host: ovn dbs
f37f21f31 pcs commands on host: cinder backup/volume
0e03ba791 Add the NovaImageCacheTTL to the nova compute service
13cc41a23 Fix Swift ring file synchronization issue
62a22a831 Add post_upgrade_task and remove puppet-ceph pkg
a1bee3913 pcs commands on host: manila-share
fdf873861 Mount libpod container volume into collectd container
cd6aae1ec reno only - ironic role specific parameters
846cb94bc Add new ansible tag for network configuration
29bc3de01 pcs commands on host: rabbitmq
da3d5e805 pcs commands on host: mysql
a11622359 pcs commands on host: haproxy bundle
05d943107 Expose Innodb_buffer_pool_size
2035b88f5 DCN: use FQDN in glance endpoint with internal TLS
8c358e2e7 Fix nCipher (aka thales) ansible role name
500ba0479 Remove Etcd from DCN roles that don't need it
cdcadbadc Ironic role_specific parameters
efe179190 Expose max_concurrent_builds as a Heat parameter
ccee58a60 Remove usage of RetryFilter
b81035d00 Default to storage_dashboard, when set, for the CephDashboard service
4e8a05833 Use appropriate allocation pools for StorageNFS
e4fd78880 Re-enable driver agent for scenario 10
c7ec72627 Use container_file_t for Cinder*NfsMountOptions by default
9d71882a4 Set a higher PIDs limit for nova_libvirt container
f860ca59a dpdk_telemetry is not used
1890ab0fb Expose mistral::rpc_response_timeout as Heat parameter
4d8c87a09 Modify how libvirt related containers use SELinux
6206d1959 Use UUID for mounted SwiftRawDisks
7010c60ee Revert "Disable Designate service for scenario 03"
164fac75a minor update: only migrate HA VIP away when needed
798010fab Remove deprecated Manila PGNum parameters
6d5ecfcdf Remove all UIConfig endpoints
4ac4524b1 Fix wrong description about cinder db purge
a9be4c6a3 [FFWD Ceph] Fix ceph post_upgrade_tasks for osd options
ec6305988 enable ovs_stats and ovs_events plugins for neutron ovs dpdk agent
94997223b Fix endpoint map tls - zaqar wss port
bc5b6133f Create external bridge on Compute nodes by default for OVN with DVR
dcfc98d23 Fix pcs restart in composable HA
973b056d9 Remove rrdtool from collectdExtraPLugins
e892d4004 Fix up ovn-dbs update tasks
a26638224 Create Container configs with a new module
1e1ea11be Create container config scripts with a new module
bdca0a03f Set keystone::cache parameters
40fa5244c [ovn]: Enable port forwarding in neutron service plugins
67dfa755e Revert "Workaround rhel8,0 iptables bug causing neutron_ovs_agent to restart continuously"
20131fd66 Do not hard-code vars_from
a9e95b26b [ovn] Don't add conntrack entries for Geneve
dcab84386 Add redis password for designate coordination
357a3eeb2 undercloud_upgrade: tear-down keepalived
1547fc8e3 Fix delegation with FreeIPA cleanup
2f460accb pcmk_remote FFU support for Instance HA
c4a270eec Run external_deploy_tasks per step for each role
52fdbaf9b Remove YAQL queries for RabbitCookie
7858b573e Deprecating VxFlex OS Cinder Config
b5dad0cf1 Switch host sshd configuration to ansible
d8e5ccb8c Add PermitRootLogin option in sshd_config before leapp.
2e76336c4 Remove remaining Skydive references
b3ec03464 Reset sriov_numvfs to 0 before leapp upgrade
dc171d249 Remove all broken references to ./puppet/services
19402ff04 Consolidate the barbican-api client configurations
f217eccc7 Align kernel args for system upgrade using leapp
ba471ee46 Fix HA resource restart when no replicas are running
e1d2ece78 Use sensible defaults for novnc TLS minimum versions and ciphers
6c33feb30 Add CephAnsibleRepo warning to make this validation more flexible
b3fd483c2 Use tripleo_network_config
08415cb54 Support for PowerFlex Cinder Backend
ead85251e Add new Luna HSM parameter for Barbican
0f5923d1d Update Nova VNC puppet variables
0f5488940 Rolling certificate update for HA services
8ca2b598c Add openvswitch special treatment to update too.
56e2702f4 Support for PowerStore Cinder Backend
7bcdd2448 Revamp how etcd's cert and key are handled in containers
0a27ab493 Small improvement on the default gateway(s) detection
2b7181352 Do not manage healthcheck for nova-compute anymore
812aa726e Set 'DEBUG' to horizon::log_level if HorizonDebug or Debug is true
9b894ecb6 Remove redundant file management for /run/redis
a6bbb4941 Add support for Gnocchi NFS Backend
ac50d6483 Unset keystone::public_endpoint
5e553da93 Update, avoid task skipping by directly importing step file.
7ff794663 Add dashboard_protocol variable when internal_tls is enabled
8783ec9c4 Remove ffwd-upgrade leftovers from THT.
52831ef10 Memcached collectd plugin uses host URI instead of IP address.
ea62bcf15 Stop using a conditional for role tasks
7a46a91e7 Remove strategy comment
d5820dba4 Generated passthrough_whitelist shall use all the user_configs fields
bf279de03 Attempt to remove octavia tls proxy service only present
86d5adf3a Add missing config_files kolla directives
adef06e43 Use parameters in new neutron::server::notifications::nova class
6c3c8b41d Avoid failing on deleted file
b91a1a09c Ensure redis_tls_proxy starts after all redis instances
c8d4429e9 Remove usage of ineffective parameter in nova::api class
3353d8cbd Cleanup parameters for keystone::bootstrap
a6f0a8eae Enable Dashboard on scenario004
4697bc2a5 Fix typos
Diffstat (except docs and test files)
-------------------------------------
ci/common/net-config-multinode-os-net-config.yaml | 271 -----
ci/environments/multinode-containers.yaml | 4 +-
ci/environments/scenario001-standalone.yaml | 7 +-
ci/environments/scenario003-standalone.yaml | 18 +-
ci/environments/scenario004-standalone.yaml | 6 +-
.../scenario007-multinode-containers.yaml | 4 +-
ci/environments/scenario010-standalone.yaml | 1 -
common/deploy-steps-tasks-step-1.yaml | 29 +-
common/deploy-steps.j2 | 276 +----
common/services/role.role.j2.yaml | 20 -
.../nova_statedir_ownership.py | 68 +-
.../pacemaker_mutex_restart_bundle.sh | 90 ++
.../pacemaker_resource_lock.sh | 237 ++++
.../pacemaker_restart_bundle.sh | 13 +-
container_config_scripts/wait-port-and-run.sh | 18 +
deployment/README.rst | 30 -
deployment/aodh/aodh-api-container-puppet.yaml | 46 -
.../aodh/aodh-evaluator-container-puppet.yaml | 18 -
.../aodh/aodh-listener-container-puppet.yaml | 18 -
.../aodh/aodh-notifier-container-puppet.yaml | 18 -
.../barbican/barbican-api-container-puppet.yaml | 79 +-
deployment/barbican/barbican-client-puppet.yaml | 15 +-
.../ceilometer-agent-central-container-puppet.yaml | 18 -
.../ceilometer-agent-compute-container-puppet.yaml | 18 -
.../ceilometer-agent-ipmi-container-puppet.yaml | 18 -
...ometer-agent-notification-container-puppet.yaml | 18 -
deployment/ceph-ansible/ceph-base.yaml | 70 +-
deployment/ceph-ansible/ceph-mds.yaml | 3 +-
deployment/ceph-ansible/ceph-mgr.yaml | 1 +
deployment/ceph-ansible/ceph-mon.yaml | 3 +-
deployment/ceph-ansible/ceph-osd.yaml | 52 +-
deployment/ceph-ansible/ceph-rgw.yaml | 3 +-
.../certs/certmonger-user-baremetal-puppet.yaml | 9 +
deployment/cinder/cinder-api-container-puppet.yaml | 55 +-
.../cinder/cinder-backend-dellemc-powerflex.yaml | 149 +++
.../cinder-backend-dellemc-powerstore-puppet.yaml | 105 ++
.../cinder/cinder-backend-netapp-puppet.yaml | 2 +-
.../cinder/cinder-backup-container-puppet.yaml | 11 +-
.../cinder/cinder-backup-pacemaker-puppet.yaml | 107 +-
deployment/cinder/cinder-base.yaml | 18 +-
.../cinder/cinder-common-container-puppet.yaml | 4 +-
.../cinder/cinder-scheduler-container-puppet.yaml | 27 +-
.../cinder/cinder-volume-container-puppet.yaml | 46 +-
.../cinder/cinder-volume-pacemaker-puppet.yaml | 101 +-
deployment/containers-common.yaml | 9 +
deployment/database/mysql-base.yaml | 11 +
deployment/database/mysql-container-puppet.yaml | 23 -
deployment/database/mysql-pacemaker-puppet.yaml | 71 +-
deployment/database/redis-container-puppet.yaml | 3 -
deployment/database/redis-pacemaker-puppet.yaml | 128 +-
.../cinder-backend-dellemc-vxflexos-puppet.yaml | 27 +
.../sahara/sahara-api-container-puppet.yaml | 30 -
.../sahara/sahara-engine-container-puppet.yaml | 18 -
deployment/etcd/etcd-container-puppet.yaml | 55 +-
.../designate-producer-container-puppet.yaml | 5 +
deployment/glance/glance-api-container-puppet.yaml | 28 -
.../glance/glance-api-edge-container-puppet.yaml | 22 +-
.../gnocchi/gnocchi-api-container-puppet.yaml | 128 +-
.../gnocchi/gnocchi-metricd-container-puppet.yaml | 34 +-
.../gnocchi/gnocchi-statsd-container-puppet.yaml | 36 +-
.../haproxy/haproxy-edge-container-puppet.yaml | 22 +-
deployment/haproxy/haproxy-pacemaker-puppet.yaml | 71 +-
deployment/heat/heat-api-cfn-container-puppet.yaml | 18 -
.../heat/heat-api-cloudwatch-disabled-puppet.yaml | 24 -
deployment/heat/heat-api-container-puppet.yaml | 30 -
deployment/heat/heat-engine-container-puppet.yaml | 18 -
deployment/horizon/horizon-container-puppet.yaml | 12 +
deployment/ipa/ipaservices-baremetal-ansible.yaml | 2 +-
deployment/ironic/ironic-api-container-puppet.yaml | 36 -
.../ironic/ironic-conductor-container-puppet.yaml | 59 +-
.../kernel-boot-params-baremetal-ansible.yaml | 20 +
deployment/keystone/keystone-container-puppet.yaml | 61 +-
deployment/manila/manila-api-container-puppet.yaml | 32 -
.../manila/manila-scheduler-container-puppet.yaml | 20 -
.../manila/manila-share-container-puppet.yaml | 20 -
.../manila/manila-share-pacemaker-puppet.yaml | 101 +-
.../memcached/memcached-container-puppet.yaml | 21 +-
deployment/metrics/collectd-container-puppet.yaml | 19 +-
deployment/mistral/mistral-base.yaml | 6 +-
.../neutron/derive_pci_passthrough_whitelist.py | 11 +-
.../neutron/neutron-api-container-puppet.yaml | 51 +-
.../neutron/neutron-dhcp-container-puppet.yaml | 18 -
.../neutron/neutron-l3-container-puppet.yaml | 18 -
.../neutron/neutron-metadata-container-puppet.yaml | 18 -
.../neutron-ovn-dpdk-config-container-puppet.yaml | 6 -
.../neutron-ovs-agent-container-puppet.yaml | 22 -
.../neutron-ovs-dpdk-agent-container-puppet.yaml | 7 +-
.../neutron-sriov-agent-container-puppet.yaml | 31 +-
deployment/nova/nova-api-container-puppet.yaml | 159 ---
deployment/nova/nova-compute-container-puppet.yaml | 42 +-
.../nova/nova-conductor-container-puppet.yaml | 18 -
deployment/nova/nova-ironic-container-puppet.yaml | 33 +-
deployment/nova/nova-libvirt-container-puppet.yaml | 38 +-
.../nova/nova-scheduler-container-puppet.yaml | 18 -
.../nova/nova-vnc-proxy-container-puppet.yaml | 37 +-
deployment/nova/novajoin-container-puppet.yaml | 10 +
.../octavia/octavia-api-container-puppet.yaml | 36 +-
.../ovn/ovn-controller-container-puppet.yaml | 16 +
deployment/ovn/ovn-dbs-pacemaker-puppet.yaml | 51 +-
.../pacemaker/pacemaker-baremetal-puppet.yaml | 4 +-
.../pacemaker-remote-baremetal-puppet.yaml | 60 +
deployment/podman/podman-baremetal-ansible.yaml | 2 -
deployment/rabbitmq/rabbitmq-container-puppet.yaml | 16 +-
...rabbitmq-messaging-notify-container-puppet.yaml | 15 +-
...rabbitmq-messaging-notify-pacemaker-puppet.yaml | 94 +-
.../rabbitmq-messaging-pacemaker-puppet.yaml | 94 +-
.../rabbitmq-messaging-rpc-container-puppet.yaml | 15 +-
.../rabbitmq-messaging-rpc-pacemaker-puppet.yaml | 104 +-
deployment/sshd/sshd-baremetal-ansible.yaml | 105 ++
deployment/swift/swift-proxy-container-puppet.yaml | 22 -
.../swift/swift-ringbuilder-container-puppet.yaml | 2 +-
.../swift/swift-storage-container-puppet.yaml | 42 +-
deployment/tls/undercloud-tls.yaml | 4 -
.../tripleo-packages-baremetal-puppet.yaml | 272 +----
deployment/undercloud/undercloud-upgrade.yaml | 163 +--
environments/barbican-backend-pkcs11-lunasa.yaml | 29 +-
environments/cavium-liquidio.yaml | 2 +-
environments/ceph-ansible/ceph-ansible.yaml | 7 +
environments/cinder-dellemc-powerflex-config.yaml | 35 +
environments/cinder-dellemc-powerstore-config.yaml | 28 +
environments/cinder-dellemc-vxflexos-config.yaml | 4 +
environments/cinder-netapp-config.yaml | 2 +-
environments/computealt.yaml | 2 +-
environments/lifecycle/ffwd-upgrade-prepare.yaml | 1 -
environments/low-memory-usage.yaml | 2 -
environments/ovs-hw-offload.yaml | 2 +-
.../services-baremetal/neutron-ovn-dvr-ha.yaml | 4 +-
.../services-baremetal/neutron-ovn-ha.yaml | 2 +-
environments/services-baremetal/neutron-sriov.yaml | 2 +-
environments/services/ironic.yaml | 1 -
environments/services/neutron-mlnx-agent.yaml | 2 +-
environments/services/neutron-ovn-dvr-ha.yaml | 2 +-
environments/services/neutron-ovn-ha.yaml | 2 +-
environments/services/neutron-ovn-sriov.yaml | 2 +-
environments/services/neutron-ovn-standalone.yaml | 2 +-
environments/services/neutron-sriov.yaml | 2 +-
environments/ssl/no-tls-endpoints-public-ip.yaml | 9 +-
environments/ssl/tls-endpoints-public-dns.yaml | 11 +-
environments/ssl/tls-endpoints-public-ip.yaml | 11 +-
environments/ssl/tls-everywhere-endpoints-dns.yaml | 11 +-
environments/storage-environment.yaml | 2 +-
environments/storage/cinder-netapp-config.yaml | 2 +-
environments/storage/cinder-nfs.yaml | 2 +-
environments/undercloud-enable-nova.yaml | 33 +
environments/undercloud.yaml | 27 +-
firstboot/os-net-config-mappings.yaml | 141 +--
lower-constraints.txt | 8 +-
.../config/multiple-nics-vlans/role.role.j2.yaml | 4 +-
network/config/multiple-nics/role.role.j2.yaml | 6 +-
network/endpoints/build_endpoint_map.py | 2 +-
network/endpoints/endpoint_data.yaml | 40 -
network/endpoints/endpoint_map.yaml | 1250 ++------------------
network/scripts/run-os-net-config.sh | 4 -
network/service_net_map.j2.yaml | 4 +-
network_data_ganesha.yaml | 50 +-
overcloud-resource-registry-puppet.j2.yaml | 13 +-
overcloud.j2.yaml | 35 +
plan-samples/plan-environment-derived-params.yaml | 6 +-
...ainerNovaLibvirtPidsLimit-cdad2166b6c0195f.yaml | 6 +
...ignate-redis-coordination-b4afdcc8855cc0ca.yaml | 4 +
...dge-by-default-on-compute-f3ff6bf46ab80640.yaml | 15 +
...e-for-StorageNFS-net.yaml-bd77be924e8b7056.yaml | 20 +
.../gnocchi-nfs-backend-90febc9f87e7df08.yaml | 9 +
.../horizon_logger_debug-cd70c45c1b695e4b.yaml | 8 +
.../innodb-tuning-param-e71d2fd727c450ec.yaml | 6 +
...ductor-group-and-networks-9c5c409253ebe3c8.yaml | 14 +
...ova-max_concurrent_builds-f900d84f35704452.yaml | 6 +
.../nova_image_cache_ttl-824f241363b9dd4e.yaml | 8 +
...-mappings-move-to-ansible-940a48711870ac58.yaml | 14 +
.../ovn-port-forwarding-1c954c1c57e136d0.yaml | 6 +
.../notes/powerflex-driver-abd8e372280c44e7.yaml | 3 +
.../notes/powerstore-driver-e528e372280c44e6.yaml | 6 +
...ila-ceph-pgnum-parameters-b7bb9c95e30467d5.yaml | 7 +
.../notes/remove_ffwd_tasks-d1ab630d96a66a59.yaml | 6 +
.../swift-fix-ring-sync-7bf3ddbb1ea1e342.yaml | 6 +
.../swift-mount-by-uuid-7744fe7696db4b85.yaml | 6 +
...vxflexos-deprecate-driver-cd38e372280c44e6.yaml | 5 +
roles/Controller.yaml | 5 +
roles/ControllerNoCeph.yaml | 2 +
roles/ControllerNovaStandalone.yaml | 2 +
roles/ControllerSriov.yaml | 2 -
roles/ControllerStorageDashboard.yaml | 2 +
roles/ControllerStorageNfs.yaml | 2 +
roles/DistributedCompute.yaml | 1 -
roles/DistributedComputeHCI.yaml | 2 +-
roles/DistributedComputeHCIScaleOut.yaml | 3 +-
roles/DistributedComputeScaleOut.yaml | 3 +-
roles/NetworkerSriov.yaml | 1 -
roles/Standalone.yaml | 2 +
roles_data.yaml | 5 +
sample-env-generator/ssl.yaml | 38 +-
sample-env-generator/standalone.yaml | 2 +-
sample-env-generator/storage.yaml | 1 +
sample-env-generator/undercloud-minion.yaml | 2 +-
test-requirements.txt | 2 +-
tools/render-ansible-tasks.py | 3 +-
tools/yaml-validate.py | 35 +-
tox.ini | 2 +-
validation-scripts/all-nodes.sh | 2 +-
201 files changed, 2569 insertions(+), 4598 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index 31a7e4d0b..e11f7e2c1 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
1
0
We are ecstatic to announce the release of:
python-troveclient 3.0.1: Client library for OpenStack DBaaS API
This release is part of the train stable release series.
The source is available from:
https://opendev.org/openstack/python-troveclient
Download the package from:
https://pypi.org/project/python-troveclient
Please report issues through:
https://bugs.launchpad.net/python-troveclient/+bugs
For more details, please see below.
Changes in python-troveclient 3.0.0..3.0.1
------------------------------------------
564edb7 Support region in CLI
fee2df6 Update TOX/UPPER_CONSTRAINTS_FILE for stable/train
b4b0e7a Update .gitreview for stable/train
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
tox.ini | 6 +++---
troveclient/osc/plugin.py | 3 ++-
3 files changed, 6 insertions(+), 4 deletions(-)
1
0
We are gleeful to announce the release of:
tripleo-validations 12.5.0: A collection of Ansible playbooks to
detect and report potential issues during TripleO deployments
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/tripleo-validations
Download the package from:
https://tarballs.openstack.org/tripleo-validations/
Please report issues through:
https://bugs.launchpad.net/tripleo/+bugs
For more details, please see below.
Changes in tripleo-validations 12.4.0..12.5.0
---------------------------------------------
9ed7ce4 Revert "Remove objects migrated to validations-common"
c899d97 Remove objects migrated to validations-common
cbb3375 Revert "Change path for validation Ansible files"
928fcb0 Fix lower-constraints errors
75ceae1 Updated playbook metadata for package-version
5678d7d Use importlib to take place of imp module
ea550f8 Change path for validation Ansible files
9a20e17 Add validation to check status of ipa server
8a1a8b4 New validation: Ensure sVirt is active
1c03c9f New validation: ensure we have access to the right package version
b47e1ad Clarify error message for Nova notification settings
ee19a57 Refactor vif plugging validations
e83ae79 Add os-cloud support for tripleo-ansible-inventory script
7c0481c Add new Upgrades validation groups.
ec0465e Allows to use custom role name for validations
9645db1 Corrected work directory for validate-selinux
1a4991d Updated "overcloud" to "allovercloud" group
5887cf0 Add new dependency for the tests: lxml
9b6c8cf Correct role name in generated playbook
3561628 Fix neutron_sanity_check for ML2/OVS overcloud
6c19d1b Make Get OSD stat percentage compatible with jq < 1.5
2fd1c92 Ensures script is executable
6521f1b Add a validation to check the local.
0f7389f Add tripleo-validation.py as script in setup.cfg
Diffstat (except docs and test files)
-------------------------------------
bindep.txt | 7 ++
groups.yaml | 40 ++++++++
lower-constraints.txt | 11 ++-
molecule-requirements.txt | 1 +
playbooks/ceph-dependencies-installed.yaml | 4 +-
playbooks/check-ftype.yaml | 2 +-
playbooks/container-status.yaml | 2 +-
playbooks/controller-token.yaml | 4 +-
playbooks/controller-ulimits.yaml | 2 +-
playbooks/dns.yaml | 2 +-
playbooks/haproxy.yaml | 2 +-
playbooks/healthcheck-service-status.yaml | 2 +-
playbooks/mysql-open-files-limit.yaml | 4 +-
playbooks/neutron-sanity-check.yaml | 13 +--
playbooks/no-op.yaml | 2 +-
playbooks/nova-event-callback.yaml | 2 +-
playbooks/nova-svirt.yaml | 13 +++
playbooks/ntp.yaml | 2 +-
playbooks/ovs-dpdk-pmd-cpus-check.yaml | 2 +-
playbooks/pacemaker-status.yaml | 2 +-
playbooks/package-version.yaml | 21 ++++
playbooks/rabbitmq-limits.yaml | 2 +-
playbooks/repos.yaml | 2 +-
playbooks/service-status.yaml | 2 +-
playbooks/stonith-exists.yaml | 2 +-
playbooks/system_encoding.yaml | 13 +++
playbooks/tls-everywhere-post-deployment.yaml | 2 +-
playbooks/validate-selinux.yaml | 2 +-
role-addition.yml | 18 +++-
roles/ceph/tasks/ceph-health.yaml | 4 +-
roles/neutron_sanity_check/defaults/main.yml | 3 +
roles/neutron_sanity_check/tasks/main.yml | 69 +++++++------
roles/node_health/tasks/main.yml | 4 +-
roles/nova_event_callback/tasks/main.yml | 35 ++++---
roles/nova_svirt/defaults/main.yml | 21 ++++
roles/nova_svirt/molecule/default/Dockerfile | 37 +++++++
roles/nova_svirt/molecule/default/converge.yml | 47 +++++++++
roles/nova_svirt/molecule/default/molecule.yml | 48 +++++++++
roles/nova_svirt/molecule/default/prepare.yml | 60 ++++++++++++
roles/nova_svirt/tasks/main.yml | 14 +++
roles/nova_svirt/tasks/validate.yml | 28 ++++++
.../tasks/openshift-nw-requirements.yaml | 2 +-
roles/openstack_endpoints/tasks/main.yml | 2 +-
roles/package_version/defaults/main.yaml | 2 +
.../package_version/molecule/default/Dockerfile.j2 | 37 +++++++
.../package_version/molecule/default/converge.yml | 58 +++++++++++
.../package_version/molecule/default/molecule.yml | 46 +++++++++
roles/package_version/tasks/compare.yaml | 16 +++
roles/package_version/tasks/main.yaml | 67 +++++++++++++
roles/package_version/vars/centos.yml | 2 +
roles/package_version/vars/redhat-8.yml | 6 ++
roles/system_encoding/defaults/main.yml | 24 +++++
roles/system_encoding/molecule/default/Dockerfile | 37 +++++++
.../system_encoding/molecule/default/converge.yml | 47 +++++++++
.../system_encoding/molecule/default/molecule.yml | 48 +++++++++
roles/system_encoding/tasks/main.yml | 36 +++++++
roles/tls_everywhere/defaults/main.yml | 3 +
roles/tls_everywhere/molecule/default/converge.yml | 36 ++++++-
roles/tls_everywhere/molecule/default/prepare.yml | 21 ++++
roles/tls_everywhere/tasks/ipa-server-check.yaml | 107 +++++++++++++++++++++
roles/tls_everywhere/vars/main.yml | 1 -
scripts/tripleo-ansible-inventory | 60 ++++++++----
scripts/tripleo-validation.py | 0
setup.cfg | 1 +
test-requirements.txt | 4 +
zuul.d/molecule.yaml | 33 ++++++-
72 files changed, 1173 insertions(+), 119 deletions(-)
Requirements updates
--------------------
diff --git a/molecule-requirements.txt b/molecule-requirements.txt
index 7c55a28..5b9078d 100644
--- a/molecule-requirements.txt
+++ b/molecule-requirements.txt
@@ -13,0 +14 @@ selinux # MIT
+lxml # BSD
diff --git a/test-requirements.txt b/test-requirements.txt
index b86e1e7..a0a962c 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -6,0 +7,4 @@ hacking>=3.0,<3.1.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