Release-announce
Threads by month
- ----- 2024 -----
- 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
December 2020
- 1 participants
- 50 discussions
We are stoked to announce the release of:
ironic 16.1.0: OpenStack Bare Metal Provisioning
This release is part of the wallaby release series.
The source is available from:
https://opendev.org/openstack/ironic
Download the package from:
https://tarballs.openstack.org/ironic/
Please report issues through:
https://storyboard.openstack.org/#!/project/943
For more details, please see below.
16.1.0
^^^^^^
New Features
************
* Allows disabling automated cleaning per node if it is enabled
globally. An existing "automated_clean" field will allow disabling
of automated cleaning on the node object. A new
"baremetal:node:disable_cleaning" policy is added which defaults to
"baremetal:node:update".
* Retrieves BIOS configuration settings when moving a node to
"manageable". This allows the settings to be used when choosing
which node to deploy. For more details, see story 2008326
(https://storyboard.openstack.org/#!/story/2008326).
* When deploying a node with software RAID with an image not from
Glance, the new "instance_info" field "image_rootfs_uuid" can be
used to specify the UUID of the root partition to install the
bootloader on.
* The ramdisk log file name now contains the node name when it is
set.
* Provides a new vendor passthru method for Redfish to eject a
virtual_media device. A specific device can be given (either "cd",
"dvd", "floppy", or "usb"), or if no device is provided then all
attached devices will be ejected.
* A new option "[agent]api_ca_file" allows passing a CA file to the
ramdisk when "redfish-virtual-media" boot is used. Requires ironic-
python-agent from the Wallaby cycle.
Known Issues
************
* Building ramdisks for DHCP-less deploy using the "simple-init"
element is known not to work for distributions using NetworkManager.
The "debian-minimal" element seems to work.
* When "redfish-virtual-media" is used, fast-track mode will not
work as expected, nodes will be rebooted between operations.
Upgrade Notes
*************
* The default value of "[api]api_workers" is now limited to 4. Set
it explicitly if you need a higher value.
* An automated detection of a IPMI BMC hardware vendor has been
added to appropriately handle IPMI BMC variations. Ironic will now
query this and save this value if not already set in order to avoid
querying for every single operation. Operators upgrading should
expect an elongated first power state synchronization if for nodes
with the "ipmi" hardware type.
* The "agent" RAID interface now removes any root device hint after
the RAID configuration is successfully deleted.
Bug Fixes
*********
* No longer launches too many API workers on systems with a lot of
CPU cores by default.
* Fixes the logic which determines the partition table type to
utilize with partition images account for the boot mode of the
machine. If no value is set by the API user, Ironic now correctly
defaults to GPT if the node has been set in UEFI mode.
* It is no longer possible to set a port's "physical_network" to an
empty string, making the port unusable.
* Fixes recognition of a busy agent to also handle recognition
during deployment steps by more uniformly detecting and identifying
when the "ironic-python-agent" service is busy.
* Fixes inspection with the "idrac-redfish-virtual-media" boot
interface.
* Correctly handles the node's custom network data when the "noop"
network interface is used. Previously it was ignored.
* Fixes incorrect injected network data location when using virtual
media.
* Fixes "redfish" BIOS "apply_configuration" clean and deploy step
to fail correctly in case of error when checking if BIOS updates are
successfully applied. Before the fix when BIOS updates were
unsuccessful, then node cleaning or deploying failed with timeout
instead of actual error in clean or deploy step.
* Fixes "idrac-wsman" RAID "create_configuration" clean step,
"apply_configuration" deploy step and "delete_configuration" clean
and deploy step to fail correctly in case of error when checking
completed jobs. Before the fix when RAID job failed, then node
cleaning or deploying failed with timeout instead of actual error in
clean or deploy step.
* Fixes issues when "UEFI" boot mode has been requested with
persistent boot to "DISK" where some versions of "ipmitool" do not
properly handle multiple options being set at the same time. While
some of this logic was addressed in upstream ipmitool
(https://github.com/ipmitool/ipmitool/issues/163) development, new
versions are not released and vendors maintain downstream forks of
the ipmitool utility. When considering vendor specific selector
differences (https://storyboard.openstack.org/#!/story/2008241)
along with the current stance of new versions from the upstream
"ipmitool" community, it only made sense to handle this logic with-
in Ironic. In part this was because if already set the selector
value would not be updated. Now ironic always transmits the selector
value for "UEFI".
* Fixes handling of Supermicro "UEFI" supporting BMCs with the
"ipmi" hardware type such that an appropriate boot device selector
value is sent to the remote BMC to indicate boot from local storage.
This is available for both persistent and one-time boot
applications. For more information, please consult story 2008241
(https://storyboard.openstack.org/#!/story/2008241).
* Fixes handling of the "ipmi" hardware type where "UEFI" boot mode
and "one-time" boot to PXE has been requested. As Ironic now
specifically transmits the raw commands, this setting should be
properly appied where previously PXE boot operations may have
previously occured in "Legacy BIOS" mode.
* Calculating the ipmitool "-N" and "-R" arguments from the
configuration options "[ipmi]command_retry_timeout" and
"[ipmi]min_command_interval" now takes into account the 1 second
interval increment that ipmitool adds on each retry event.
Failure-path ipmitool run duration will now be just less than
"command_retry_timeout" instead of much longer.
* When configured to use JSON RPC, the "[DEFAULT]host" configuration
option can now be set to an IPv6 address. Previously it could only
be an IPv4 address or a DNS name.
* No longer tries to pass "BOOTIF=None" as a kernel parameter when
using virtual media. This could break inspection.
* Fixes the issue that when the MAC address of a port group is not
set and been attached to instance, the landed bond port cannot get
IP address due to inconsistent MAC address between the tenant port
and the initially allocated one in the config drive.
* Fixes the issue that root device hint is not removed after the
"agent" RAID interface has successfully deleted RAID configuration.
The previous hint is not guranteed to be valid and may cause a
deployment failure.
* Fixes cleaning with the "ramdisk" deploy interface by reusing the
same procedure as for the "direct" deploy interface.
* Fixes a bug where a conductor could fail to complete a deployment
if there was contention on a shared lock. This would manifest as an
instance being stuck in the "deploying" state, though the node had
in fact started or even completed its final boot.
* After changing the boot device via Redfish, checks that the boot
mode being reported matches what is configured and, if not, sets it
to the configured value. Some BMCs change the boot mode when the
device is set via Redfish, see story 2008252
(https://storyboard.openstack.org/#!/story/2008252) for details.
* Fixes wiping agent token on rebooting via API.
* Adds secure boot support to ilo-uefi-https boot interface. Secure
boot support already exists for other boot interfaces but missing
for this interface.
* The virtual media ISO image building process now respects the
"default_boot_mode" configuration option.
* Fixes timeout in fast-track mode with "redfish-virtual-media" when
running one operation after another (e.g. cleaning after
inspection).
* Fixes permission issues when injecting network data into a virtual
media.
* Adds timeout to HTTP image validation and downloading operations,
so that the "direct" deploy does not hang when the remote server is
not responsive. The default timeout is 60 seconds and can be changed
via the new "webserver_connection_timeout" option.
Other Notes
***********
* Adds a "detect_vendor" management interface method to the "ipmi"
hardware type. This method is being promoted as a higher level
interface as the fundimental need to be able to have logic aware of
the hardware vendor is necessary with vendor agnostic drivers where
slight differences require slightly different behavior.
* The "configdrive" argument to some utils in "ironic.common.images"
and "ironic.drivers.modules.image_utils" has been replaced with a
new "inject_files" argument. The previous approach did not really
work in all situations and we don't expect 3rd party drivers to use
it.
Changes in ironic 16.0.0..16.1.0
--------------------------------
4cb406b8f Update outdated descripton for `default_boot_option`
443694b18 remove lower-constraints in tox
8669837ea Consistently use utils functions for policy auth
3b15d543f Document that DHCP-less deploy does work with debian-minimal
ca37578a0 Include HeartbeatMixin in the ramdisk deploy
9a858ad4f Remove detect_vendor decorator
50657a87d Complete the REST API POST documentation
840488e59 Remove lower-constraints job
8b83e9ec6 Revert "devstack: build DIB images with CentOS Stream by default"
a599f898d Document the current status of the DHCP-less deploy
255fac17a Rewrite DHCP-less documentation
628109f96 Inject TLS certificate when using virtual media
4e9c6184c Fix release guide and include intermediate branches
5c7158f01 Avoid a full install in tox environments that do not need it
219bf0c37 Prepare release 16.1
a7ac9ce8c IPMI: Handle vendor set boot device differences
97ceb38a7 CI: switch the multinode job to tempest-multinode-full-base
acb1c6b48 Do not pin Python version in tox config
bf6e28fa6 Use ddt for existing policy tests
98732623b Fix lower-constraints with the new pip resolver
05f2c8b79 devstack: build DIB images with CentOS Stream by default
8a2c715a0 Add TLS troubleshooting guide entry
b7ddeb314 Support port name
475af371d Use openstack-tox for ironic-tox-unit-with-driver-libs
32ab90b3b Test patching booleans with string values
a3644ebd6 Improve object_to_dict arguments
9ea414298 CI: add a non-voting bifrost-vmedia-uefi job
681940c8f Add secure boot support to ilo-uefi-https
e41893c9d JSON conversion followup change
ee6119e77 Allow disabling automated_clean per node
bfc2ad56d Always retry locking when performing task handoff
98958cd0a Add vendor_passthru method for virtual media
89af9aef8 Make standalone jobs voting again
f408d63ad Expunge the internal version of WSME
000bc72cc Convert volume/targets endpoint to plain JSON
2099c47e7 Convert volume/connectors endpoint to plain JSON
0bab4f176 Don't allow patching port internal_info
d4f8d4d94 [doc][trivial] Fix spelling error
ed4abbd51 Fix disk label to account for UEFI
9df407845 Minor follow-up doc change
e59bbe571 Remove from_dict function from context
20886329e Update .rst files
3a8f4324d Convert volume endpoint to plain JSON
ca53858db Convert ramdisk endpoint to plain JSON
989064a74 Convert portgroups endpoint to plain JSON
b911acb10 Convert ports endpoint to plain JSON
fc4793960 Convert nodes endpoint to plain JSON
c16ed232d Convert event endpoint to plain JSON
6a906a9d8 Convert drivers endpoint to plain JSON
284e22bc0 Convert deploy_templates endpoint to plain JSON
3c128467a Convert conductors endpoint to plain JSON
4e810dc8b Convert chassis endpoint to plain JSON
541f1acb2 Convert bios endpoint to plain JSON
7b5c26c4b Convert allocations endpoint to plain JSON
236c6b174 Utility functions for REST API JSON handling
8677be53b Duplicate trait validation with jsonschema
3846965e9 Add expose body decorator, status_code argument
6ea0e8eaf New argument validate decorator
870181f3a Update `cleaning_error_handler`
1ab192bec Convert last bionic jobs to focal
d48479b52 Simplify injecting network data into an ISO image
3fd513ee1 Fix incorrect network_data.json location
9b18336f7 Retrieve BIOS configuration when moving node to ``manageable``
31f3f9fca Document how to build an ESP image for redfish-virtual-media
2e5d01d48 Fix DHCP-less operations with the noop network interface
6a48900ad Make driver documentation more prominent on the landing page
fe01ddb2b Fixes the issue that instance bond port can't get IP address
2d5c7f80d Docs: a more complete example of ramdisk boot with redfish-virtual-media
c9c492725 Limit the default value of [api]api_workers to 4
6f92e2b90 Enforce autospec in some api controllers modules
64df3702c Update TOX_CONSTRAINTS_FILE
23951f4b4 Fix idrac-wsman RAID step async error handling
70b7ca345 Fix redfish BIOS apply config error handling
3e5f3df91 Enforce autospec in some api controllers modules
4bc1b7702 Fix typo in ipxe_config.template
551ca9c8f Prevent timeouts when using fast-track with redfish-virtual-media
545dc2106 Handle agent still doing the prior command
2dfb3f5ec Make redfish-virtual-media respect default_boot_mode
db7c0c069 devstack: log all requests to sushy-emulator
0a5fe3b40 Remove the support to create port in API
9696ec9a5 Mark standalone job non-voting/remove from gate
85b489288 json-rpc: surround IPv6 address with [] in conductor URL
d5d4a9996 Changes to add exception in "default_interface()" function
2e2b07bb9 Move the multinode grenade job to the experimental pipeline
87e634dee CI: increase cleaning timeout and tie it to PXE boot timeout
fece20c8a devstack: remove no longer required UEFI hacks
91d6426b0 Fixes empty physical_network is not guarded
da4c583ea Add node name to ironic-conductor ramdisk log filename
fe37fb6d5 Add timeout to image operations in the direct deploy
0a6862218 Allow passing rootfs_uuid for the standalone case
685131fd3 Sync boot mode when changing the boot device via Redfish
322f139e9 Revert patching _syscmd_uname
e6f0adcbc Python 3.9: base64.{en,de}codestring function is removed
ab77c5b17 Document by_path root device hint
7cb757d7b Change auth type to none in dev-quickstart
b0b8435bf Update test requirements
d5ca2ac7f Update .rst files
1de3db3b1 Fix ipmitool timing argument calculation
fc2964cb7 Run bifrost integration job on focal
86bee227c Use centos as base element for dib images
7a89ddcf0 Do not pass BOOTIF=None if no BOOTIF can be guessed
ade35dab2 Remove obsolete trusted boot doc
3b06feb91 Update checking reno script to use python3
6a34d4782 Remove root device hint after delete_configuration
2261302ed Log the ports we bind in flat
acdf1dc77 Updates ironic documentation
1dfb61dc4 Refactoring: split away continue_node_deploy/clean
c9c605d8b Trivial: use the correct error handler for do_next_clean_step
e39858dd8 Wiping agent tokens on reboot via API - take 2
4775288b9 migrate testing to ubuntu focal
eac7226ce CI: update bindep for centos-8 py36 job changes
a25da1c58 Imported Translations from Zanata
db5570038 Fix inspection for idrac
2bf0eefe9 Clarify power state logging
1c49b62e2 Add Python3 wallaby unit tests
a76c1932e Update master for stable/victoria
f5589de02 Remove compatibility with conductors that do not support groups
Diffstat (except docs and test files)
-------------------------------------
api-ref/source/baremetal-api-v1-chassis.inc | 9 +-
.../source/baremetal-api-v1-deploy-templates.inc | 10 +
api-ref/source/baremetal-api-v1-nodes-vifs.inc | 2 +
api-ref/source/baremetal-api-v1-nodes.inc | 63 +-
api-ref/source/baremetal-api-v1-portgroups.inc | 7 +-
api-ref/source/baremetal-api-v1-ports.inc | 1 +
api-ref/source/baremetal-api-v1-volume.inc | 4 +-
api-ref/source/parameters.yaml | 158 ++-
bindep.txt | 2 +-
devstack/lib/ironic | 82 +-
.../include/local-boot-partition-images.inc | 4 +-
ironic/api/args.py | 381 ------
ironic/api/controllers/base.py | 53 -
ironic/api/controllers/v1/allocation.py | 412 +++---
ironic/api/controllers/v1/bios.py | 90 +-
ironic/api/controllers/v1/chassis.py | 295 ++--
ironic/api/controllers/v1/collection.py | 68 +-
ironic/api/controllers/v1/conductor.py | 187 +--
ironic/api/controllers/v1/deploy_template.py | 421 +++---
ironic/api/controllers/v1/driver.py | 326 ++---
ironic/api/controllers/v1/event.py | 79 +-
ironic/api/controllers/v1/node.py | 1434 ++++++++------------
ironic/api/controllers/v1/notification_utils.py | 5 +-
ironic/api/controllers/v1/port.py | 633 ++++-----
ironic/api/controllers/v1/portgroup.py | 460 +++----
ironic/api/controllers/v1/ramdisk.py | 50 +-
ironic/api/controllers/v1/types.py | 515 -------
ironic/api/controllers/v1/utils.py | 345 ++++-
ironic/api/controllers/v1/volume.py | 72 +-
ironic/api/controllers/v1/volume_connector.py | 359 ++---
ironic/api/controllers/v1/volume_target.py | 378 ++----
ironic/api/expose.py | 222 ---
ironic/api/method.py | 47 +-
ironic/api/types.py | 709 ----------
ironic/common/args.py | 397 ++++++
ironic/common/context.py | 11 -
ironic/common/driver_factory.py | 10 +-
ironic/common/exception.py | 22 +-
ironic/common/image_service.py | 7 +-
ironic/common/images.py | 160 +--
ironic/common/json_rpc/client.py | 5 +-
ironic/common/neutron.py | 24 +-
ironic/common/policy.py | 8 +-
ironic/common/release_mappings.py | 20 +-
ironic/common/wsgi_service.py | 11 +-
ironic/conductor/cleaning.py | 93 +-
ironic/conductor/deployments.py | 46 +
ironic/conductor/manager.py | 89 +-
ironic/conductor/rpcapi.py | 3 +-
ironic/conductor/task_manager.py | 13 +-
ironic/conductor/utils.py | 100 +-
ironic/conf/agent.py | 4 +
ironic/conf/api.py | 6 +-
ironic/conf/default.py | 14 +-
ironic/db/api.py | 8 +
.../alembic/versions/c0455649680c_port_name.py} | 28 +-
ironic/db/sqlalchemy/api.py | 14 +-
ironic/db/sqlalchemy/models.py | 2 +
ironic/drivers/base.py | 20 +-
ironic/drivers/drac.py | 3 +-
ironic/drivers/modules/agent.py | 3 +
ironic/drivers/modules/agent_base.py | 103 +-
ironic/drivers/modules/agent_client.py | 37 +
ironic/drivers/modules/deploy_utils.py | 11 +-
ironic/drivers/modules/drac/raid.py | 18 +-
ironic/drivers/modules/drac/vendor_passthru.py | 8 +
ironic/drivers/modules/ilo/boot.py | 13 +-
ironic/drivers/modules/ilo/management.py | 18 +-
ironic/drivers/modules/ilo/raid.py | 10 +-
ironic/drivers/modules/image_utils.py | 122 +-
ironic/drivers/modules/ipmitool.py | 177 ++-
ironic/drivers/modules/ipxe_config.template | 2 +-
ironic/drivers/modules/irmc/boot.py | 3 +-
ironic/drivers/modules/network/common.py | 30 +-
ironic/drivers/modules/network/flat.py | 4 +
ironic/drivers/modules/network/neutron.py | 6 +-
ironic/drivers/modules/pxe.py | 3 +-
ironic/drivers/modules/redfish/bios.py | 9 +-
ironic/drivers/modules/redfish/boot.py | 19 +-
ironic/drivers/modules/redfish/management.py | 6 +-
ironic/drivers/modules/redfish/vendor.py | 92 ++
ironic/drivers/redfish.py | 6 +
ironic/drivers/utils.py | 3 +
ironic/objects/port.py | 60 +-
.../unit/api/controllers/v1/test_allocation.py | 41 +-
.../unit/api/controllers/v1/test_collection.py | 102 ++
.../api/controllers/v1/test_deploy_template.py | 99 +-
.../api/controllers/v1/test_notification_utils.py | 12 -
.../unit/api/controllers/v1/test_portgroup.py | 14 +-
.../api/controllers/v1/test_volume_connector.py | 14 +-
.../unit/api/controllers/v1/test_volume_target.py | 14 +-
.../drivers/ipxe_config_boot_from_iso.template | 2 +-
...e_config_boot_from_volume_extra_volume.template | 2 +-
...nfig_boot_from_volume_no_extra_volumes.template | 2 +-
.../unit/drivers/ipxe_config_timeout.template | 2 +-
.../drivers/modules/drac/test_periodic_task.py | 30 +-
.../unit/drivers/modules/ilo/test_management.py | 20 +-
.../unit/drivers/modules/network/test_common.py | 8 -
.../unit/drivers/modules/network/test_neutron.py | 90 +-
.../unit/drivers/modules/redfish/test_bios.py | 70 +-
.../unit/drivers/modules/redfish/test_boot.py | 39 +-
.../drivers/modules/redfish/test_management.py | 31 +-
.../unit/drivers/modules/redfish/test_vendor.py | 116 ++
.../unit/drivers/modules/test_agent_client.py | 45 +
.../unit/drivers/modules/test_deploy_utils.py | 45 +
lower-constraints.txt | 147 --
...o_disable_automated_clean-a3ccb1e19940a7a4.yaml | 7 +
.../notes/api-workers-c06ea95a0c55b8cf.yaml | 9 +
...me-gpt-for-uefi-boot-mode-8f9c77721394459a.yaml | 7 +
.../notes/bios-config-manage-ccefd24054cc73ee.yaml | 7 +
.../notes/dhcp-less-less-2a35df67d840f9d5.yaml | 6 +
.../empty-physical-network-2248a4adef210289.yaml | 5 +
.../fix-busy-agent-check-3cf75242b4783009.yaml | 6 +
.../fix-inspection-for-idrac-34b3ea09452af8be.yaml | 4 +
.../notes/fix-network-data-e10f2bf9dc38ba1a.yaml | 5 +
.../notes/fix-network-data2-f2600afdcc182dc4.yaml | 4 +
...figuration-error-handling-464695b09e4f81ac.yaml | 8 +
...async-step-error-handling-f44e2001ac018d12.yaml | 8 +
...uefi-disk-pxe-persistance-0d871825591918b5.yaml | 37 +
.../notes/image_rootfs_uuid-1ea54ba043d1aeaf.yaml | 6 +
...pmi_command_retry_timeout-889a49b402e82b97.yaml | 10 +
.../notes/json-rpc-ipv6-host-30eca350f34bc091.yaml | 6 +
.../notes/no-fake-bootif-505cc5bf48e7731f.yaml | 5 +
...mize-ramdisk-log-filename-270c401780b16e9c.yaml | 4 +
.../notes/portgroup-mac-649ed31c3525e4f0.yaml | 7 +
.../raid-remove-root-hint-ec87efd18e894256.yaml | 10 +
.../notes/ramdisk-clean-2d3b033a401b911b.yaml | 5 +
...fix-stuck-deploying-state-43d51149a02c08b8.yaml | 7 +
...r-changing-redfish-device-f60ef90ba5675215.yaml | 8 +
.../notes/token-reboot-3f18cf73e4dd10d3.yaml | 4 +
...https_secure_boot_support-41f4976e02c11162.yaml | 6 +
...dor-passthru-eject-vmedia-e4456320ee1c70c1.yaml | 7 +
.../notes/vmedia-boot-mode-f75c6fbef6349cbf.yaml | 5 +
.../notes/vmedia-fast-track-903076c33c4aca04.yaml | 9 +
.../vmedia-inject-files-b6e226e2db4cff06.yaml | 10 +
.../notes/vmedia-tls-117daa5ae0a9e30d.yaml | 6 +
.../notes/webserver-timeout-d85781bf634cef39.yaml | 7 +
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 38 +-
releasenotes/source/victoria.rst | 6 +
setup.cfg | 2 +
test-requirements.txt | 9 +-
tools/check-releasenotes.py | 2 +-
tools/test-setup.sh | 23 +
tox.ini | 39 +-
zuul.d/ironic-jobs.yaml | 17 +-
zuul.d/project.yaml | 29 +-
239 files changed, 8213 insertions(+), 9084 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index fb628fe40..72cd8e6b9 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-hacking>=3.0.1,<3.1.0 # Apache-2.0
+
@@ -7 +6,0 @@ ddt>=1.0.1 # MIT
-doc8>=0.6.0 # Apache-2.0
@@ -17,2 +15,0 @@ WebTest>=2.0.27 # MIT
-bashate>=0.5.1 # Apache-2.0
-pycodestyle>=2.0.0,<2.6.0 # MIT
@@ -20,3 +17 @@ pysnmp>=4.4.12
-flake8-import-order>=0.17.1 # LGPLv3
-Pygments>=2.2.0 # BSD
-bandit!=1.6.0,>=1.1.0,<2.0.0 # Apache-2.0
+bandit!=1.6.0,>=1.1.0,<2.0.0 # Apache-2.0
\ No newline at end of file
1
0
We are stoked to announce the release of:
ironic-python-agent 6.5.0: Ironic Python Agent Ramdisk
This release is part of the wallaby release series.
The source is available from:
https://opendev.org/openstack/ironic-python-agent
Download the package from:
https://tarballs.openstack.org/ironic-python-agent/
Please report issues through:
https://storyboard.openstack.org/#!/project/openstack/ironic-
python-agent
For more details, please see below.
6.5.0
^^^^^
New Features
************
* Adds UUID of the disks to the inventory of block devices that is
collected during inspection.
* Adds the ability to bring up VLAN interfaces and include them in
the introspection report. A new kernel params field is added -
"ipa- enable-vlan-interfaces", which defines either the VLAN
interface to enable, the interface to use, or 'all' - which
indicates all interfaces. If the particular VLAN is not provided,
IPA will use the LLDP information for the interface to determine
which VLANs should be enabled. See story 2008298
(https://storyboard.openstack.org/#!/story/2008298).
* Adds a clean step to erase the Linux kernel's pstore. The step is
disabled by default.
* Adds an configuration option which can be encoded into the ramdisk
itself or the PXE parameters being provided to instruct the agent to
ignore bootloader installation or configuration failures. This
functionality is useful to work around well-intentioned hardware
which is auto-populating all possible device into the UEFI nvram
firmware in order to try and help ensure the machine boots. Except,
this can also mean any explict configuration attempt will fail.
Operators needing this bypass can use the "ipa-ignore-bootloader-
failure" configuration option on the PXE command line or utilize the
"ignore_bootloader_failure" option for the Ramdisk configuration. In
a future version of ironic, this setting may be able to be overriden
by ironic node level configuration.
* Deployers in highly-secure environments can now manually set
Ironic API version instead of relying on unauthenticated
autodetection via the "ipa-ironic-api-version" on the kernel command
line. This is not a recommended configuration.
* For Software RAID, the IPA will use partition LABEL along with
UUID and PARTUUID passed from the conductor to identify the root
partition. The root file system LABEL can be set as value of the
"rootfs_uuid" image metadata property.
Security Issues
***************
* If enabled, the new clean step 'erase_pstore' removes all pstore
entries (the oops/panic logs from a failing kernel) upon cleaning.
This is to reduce the risk that potentially sensitive data is
preserved across instantiations (and therefore different users) of a
bare metal node.
Bug Fixes
*********
* Fixes an issue where intermittent or transitory connection issues
can cause inspection to fail. The ramdisk now retries to report to
inspector a total of five times.
* The system file system configuration file for Linux machines, the
"/etc/fstab" file is now updated to include a reference to the EFI
partition in the case of a partition image base deployment. Without
this reference, images deployed using partition images could end up
in situations where upgrading the bootloader could fail.
* Automatically generated TLS certificates now have their validity
starting in the past (1 hour by default) to allow for clock skew.
* Fixes the agent process for determining what partition label type
to utilize when writing partition images. In many cases, this could
fallback to "msdos" if the instance flavor was not properly labeled.
* Fixes issue where the running system operating mode was not taken
into account when writing partition images. The agent now utilises a
helper instead of explicitly expecting the flavor derived
information to supply all deployment context.
* Fixes an issue where deployments of Fedora or Centos can hang when
using grub2 with the execution of the "grub2-mkconfig" command not
returning before the deployment process times out. This is because
"grub2-mkconfig" triggers "os-prober" which can take an extended
period of time to evaluate additional unrelated devices for dual-
boot scenarios. Since operators are not dual booting their machines
enrolled in ironic, it seems like an un-necessary scan and has thus
been disabled.
* Correctly decodes error messages from ironic API.
* The "mdadm" utility is no longer a hard requirement. It's still
required if software RAID is used (even when not managed by ironic).
* Fixes the "write_image" deploy step to actually check and return
any errors during its execution.
* Fixes the agent's EFI boot handling such that EFI assets from a
partition image are preserved and used instead of overridden. This
should permit operators to use Secure Boot with partition images IF
the assets are already present in the partition image.
* Upon the creation of Software RAID devices, component devices are
sometimes kicked out immediately (for no apparent reason). This fix
re-adds devices in such cases in order to prevent the component to
be missing next time the device is assembled, which, for instance
may prevent the UEFI ESPs to be installed properly.
* Avoids a traceback when using "install_bootloader" with whole disk
images. If the root UUID cannot be detected, don't try to call grub.
Other Notes
***********
* Agent configuration files found on attached virtual media or
config drive devices are now copied to the ramdisk and loaded on
start up.
Changes in ironic-python-agent 6.4.0..6.5.0
-------------------------------------------
4fb8163 Fix boot mode detection for partition images
246e0cf Change default ironic_lib invocation to flag local booting
a12a574 Add fstab pointer to EFI partition
d69f12e Handle situation when a configdrive is already mounted
78b356c Remove lower-constraints job
88621e1 Avoid a full install in tox environments that do not need it
f9870d5 Prevent broken partition image UEFI deploys
cb6c005 Fix default disk label with partition images
67ee667 Upgrade version of doc8
557293c Generate TLS certificates with validity time in the past
7a83773 Option to enable bootloader config failure bypass
c327735 Fix lower-constraints with the new pip resolver
53dbc87 Correctly decode error messages from ironic API
b9b67fa Copy any configuration from the virtual media
ab8dee0 Make mdadm a soft requirement
6e3f28d Bring up VLAN interfaces and include in introspection report
60900d4 Reuse the docs deps to benefit from constraints
92e26b0 Add clean step 'erase_pstore'
3761a44 Fix vendor info retrieval for some versions of lshw
19c1a73 Remove the unused coding style modules
c7858d3 Add UUID to BlockDevice object
c585603 Log configuration options on start-up
448ded4 Fix physical memory calculation with new lshw
35d412e Updated Implementation of string interpolation delay on LOG messages
694ea74 Support using LABEL as identifier for rootfs
24a4b13 Use TOX_CONSTRAINTS_FILE
3a46586 Add example for custom disk erasure
066a96a Follow-up to API version setting
c3ab4a7 Remove nodeset option
1f15a10 Run dib ipa src jobs on ubuntu focal
a67807b Mark standalone job non-voting/remove from gate
8057556 Allow manual setting of Ironic API Version
71b6abc update lower-constraints.txt
6542a9c Don't run os-prober from grub2-mkconfig
7bcddee Set safe version of hacking
c7f6baf [trivial] Remove redundant list conversion
420ebc0 Do not silently swallow errors in the write_image deploy step
62672de Reduce the duration of retries in the inspector tests
1a67ddd Log a warning of target_boot_mode does not match current boot mode
fc4e0ee Don't try to call GRUB when root UUID is not provided
5c99f60 Use focal for tinyipa src jobs used by ipa-builder
13de98b Use bionic nodeset for DIB centos src jobs
253b488 Software RAID: Re-add missing devices
3ddca46 Add Python3 wallaby unit tests
fb45e58 Update master for stable/victoria
bb27bad Add basic retries for inspection
Diffstat (except docs and test files)
-------------------------------------
examples/README.rst | 9 +
examples/custom-disk-erase/example_disk_eraser.py | 59 ++
examples/custom-disk-erase/setup.cfg | 20 +
examples/custom-disk-erase/setup.py | 6 +
ironic_python_agent/api/app.py | 2 -
ironic_python_agent/cmd/agent.py | 13 +
ironic_python_agent/config.py | 36 +-
ironic_python_agent/extensions/base.py | 11 +
ironic_python_agent/extensions/image.py | 398 +++++++--
ironic_python_agent/extensions/standby.py | 11 +-
ironic_python_agent/hardware.py | 268 ++++--
ironic_python_agent/inspector.py | 20 +-
ironic_python_agent/ironic_api_client.py | 67 +-
ironic_python_agent/netutils.py | 117 +++
ironic_python_agent/tls_utils.py | 18 +-
ironic_python_agent/utils.py | 125 ++-
lower-constraints.txt | 93 --
.../add-block-device-uuid-c8b38264e1688110.yaml | 5 +
.../add-inspection-retry-1d385f69607c1452.yaml | 6 +
.../add-vlan-interfaces-cdfeb39d0f3d444d.yaml | 12 +
.../notes/add_erase_pstore-b109c58ed8f5d351.yaml | 11 +
...all-failure-to-be-ignored-b99667b13afa9759.yaml | 15 +
...nd-efi-partition-to-fstab-e9f945a4dd19bd7a.yaml | 8 +
.../notes/clock-skew-1fbf542b193cec17.yaml | 5 +
...n-of-partition-table-type-3c78bf78266e8cef.yaml | 6 +
...mode-for-partition-images-f96cf2b3c27b6533.yaml | 7 +
...edora-grub2-mkconfig-hang-fe22cde231994044.yaml | 11 +
.../notes/ironic-error-97e76d9ddacff039.yaml | 4 +
...figure-ironic-api-version-517afd0a423036ad.yaml | 7 +
releasenotes/notes/mdadm-d5b8c186182620b1.yaml | 5 +
.../notes/prepare-image-49744276cef719d5.yaml | 5 +
...serve-efi-folder-contents-ea1e278b3093ec55.yaml | 7 +
.../notes/readd_missing_devs-2ed85805388b6e42.yaml | 8 +
...-use-label-as-rootfs-uuid-d9a3827180f1a238.yaml | 6 +
.../notes/vmedia-copy-6a58f3183b166c42.yaml | 5 +
.../notes/whole-disk-grub-0b1b8b9c44e31d28.yaml | 5 +
releasenotes/source/index.rst | 1 +
releasenotes/source/victoria.rst | 6 +
test-requirements.txt | 6 +-
tox.ini | 25 +-
zuul.d/ironic-python-agent-jobs.yaml | 21 +-
zuul.d/project.yaml | 14 +-
53 files changed, 2842 insertions(+), 464 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index d07515f..339b33c 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-hacking>=3.1.0,<3.2.0 # Apache-2.0
+
@@ -9,2 +8,0 @@ stestr>=1.0.0 # Apache-2.0
-bashate>=0.5.1 # Apache-2.0
-flake8-import-order>=0.17.1 # LGPLv3
@@ -13,2 +10,0 @@ bandit!=1.6.0,>=1.1.0,<2.0.0 # Apache-2.0
-# Doc test requirements
-doc8>=0.6.0 # Apache-2.0
1
0
We are glad to announce the release of:
openstack-ansible 20.2.1: Ansible playbooks for deploying OpenStack
This release is part of the train stable release series.
The source is available from:
https://opendev.org/openstack/openstack-ansible
Download the package from:
https://tarballs.openstack.org/openstack-ansible/
Please report issues through:
https://bugs.launchpad.net/openstack-ansible/+bugs
For more details, please see below.
Changes in openstack-ansible 20.2.0..20.2.1
-------------------------------------------
edc92cb20 Bump SHAs for stable/train
0c48e0955 Make upgrade jobs get role relevant versions
6fc02d56e Bump SHAs for stable/train
543c7374d Remove git repo haproxy backend
Diffstat (except docs and test files)
-------------------------------------
ansible-role-requirements.yml | 8 +-
inventory/group_vars/haproxy/haproxy.yml | 1 +
playbooks/defaults/repo_packages/gnocchi.yml | 2 +-
playbooks/defaults/repo_packages/nova_consoles.yml | 2 +-
.../defaults/repo_packages/openstack_services.yml | 88 +++++++++++-----------
scripts/gate-check-commit.sh | 6 ++
scripts/get-ansible-role-requirements.yml | 6 +-
7 files changed, 60 insertions(+), 53 deletions(-)
1
0
We are thrilled to announce the release of:
openstack-ansible 21.2.1: Ansible playbooks for deploying OpenStack
This release is part of the ussuri stable release series.
The source is available from:
https://opendev.org/openstack/openstack-ansible
Download the package from:
https://tarballs.openstack.org/openstack-ansible/
Please report issues through:
https://bugs.launchpad.net/openstack-ansible/+bugs
For more details, please see below.
21.2.1
^^^^^^
New Features
* The role now supports creating system scoped credentials alongside
project scoped credentials. The default behavior of the role did not
changed, until "openrc_system_scope" variable was set to "true". If
the "openrc_system_scope" is "true" the default cloud in clouds.yaml
will set to system scoped credentials and another credentials named
"default_project_scope" will get created with project scoped
credentials. Due to usage of openrc file in other roles, the
opposite logic applies to openrc files, which means if
"openrc_system_scope" is set to "true" the credentials in openrc
will set to project scoped credentials and another openrc filec
named "openrc.system_scope" will get created with system scoped
credentials and will be placed in destination of
"openrc_system_file_dest" variable.
Changes in openstack-ansible 21.2.0..21.2.1
-------------------------------------------
9ddb616ea Bump SHAs for stable/ussuri
a3a3120aa Apply /etc/environment for runtime after adjustment
1973fee1f Bump SHAs for stable/ussuri
9c71a598d Add magnum tempest URL
c92a07130 Fix octavia tempest tests
aecc608cd Disable manila 2 vms tempest scenario
Diffstat (except docs and test files)
-------------------------------------
ansible-role-requirements.yml | 26 +++---
playbooks/defaults/repo_packages/gnocchi.yml | 2 +-
playbooks/defaults/repo_packages/nova_consoles.yml | 4 +-
.../defaults/repo_packages/openstack_services.yml | 94 +++++++++++-----------
.../system_scope_support-ab364c1725e2506e.yaml | 15 ++++
scripts/gate-check-commit.sh | 5 ++
.../bootstrap-host/tasks/prepare_aio_config.yml | 8 ++
.../templates/user_variables.aio.yml.j2 | 5 ++
.../templates/user_variables_magnum.yml.j2 | 1 +
.../templates/user_variables_manila.yml.j2 | 3 +
.../templates/user_variables_octavia.yml.j2 | 1 +
11 files changed, 101 insertions(+), 63 deletions(-)
1
0
We are psyched to announce the release of:
tempest 26.0.0: OpenStack Integration Testing
This release is part of the wallaby 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.
26.0.0
^^^^^^
Prelude
*******
This is an intermediate release during the Wallaby development cycle
to mark the end of support for EM Stein release in Tempest. After this
release, Tempest will support below OpenStack Releases:
* Victoria
* Ussuri
* Train
Current development of Tempest is for OpenStack Wallaby development
cycle.
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 a new config option "[compute-feature-enabled] shelve_migrate"
which enable test for environment that support cold migration of
qcow2 unshelved instance.
* A new config option in the validation section, image_alt_ssh_user,
to specify the user name used to authenticate to an alternative
instance (instance using image_ref_alt) in tests. By default this is
set to root.
* A new config option in the validation section,
image_alt_ssh_password, to specify the password used to authenticate
to an alternative instance (instance using image_ref_alt) in tests.
By default this is set to password.
* Added missing client methods for keystone's OS-ENDPOINT-POLICY and
OS-EP-FILTER APIs.
* Added missing clients and tests for keystone's v3 EC2 API which
already existed for keystone v2.
* Add show type API to v3 types_client library.
* default_volume_type
* Added associate_floating_ip() and dissociate_floating_ip() methods
to the scenario manager.
* 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".
* New config option to "network-feature-enabled":
"available_features". This is a list which can contain features that
are not discoverable through Neutron API, or it can be the special
entry "all".
* Add "placement" API methods for testing Routed Provider Networks
feature. The following API calls are available for tempest from now
in the new resource_providers_client:
* GET /resource_providers
* GET /resource_providers/{uuid}
* GET /resource_providers/{uuid}/inventories
* GET /resource_providers/{uuid}/aggregates
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.
* The test_reboot_server_soft has been skipped for more than 6
years. Take into account that the minimum scenario test uses soft
reboot and the nova functional test also covers reboot.
* "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.
* A number of Compute APIs that only worked with the XenAPI virt
driver have been removed in the Compute service. As a result, their
corresponding tests are now disabled by default. They can be re-
enabled using the new "[compute_feature_enabled] xenapi_apis" config
option.
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 25.0.1..26.0.0
---------------------------------
f9d31f2c4 Use victoria stable constraint in tox to release 26.0.0
2c3da54a8 Add releasenote to tag the end of support for Stein
b0b480c38 Remove unused LOG var in test_stamp_pattern.py
2e515fe59 Remove race due to 1907084
064a340dc New minimum guaranteed bandwidth tests
edda62ab3 Fix indentation for the example code in documentation.
a078ddd7c Need to add kwargs for the api
9ad9ca277 Allow kwargs in create_server_snapshot
2c230eb21 Allow kwargs in get_timestamp
27fd5cb38 Allow additional port_vnic_type
8581ea2cd compute: Skip AttachVolumeShelveTestJSON when cross_az_attach unavailable
7d9b50a81 Cleanup server before image at test level
0123f5212 Need to have stable implementation of apis
ed66447aa Added apis to scenario manager
0216b3768 Allow kwargs in create_volume_from_image
adcddceab compute: Cleanup server before image in AttachSCSIVolumeTestJSON
b50eabe29 Allow kwargs in image_create
61f5733a6 Decentralize the zuul jobs into zuul.d
940a9e215 Fix TypeError when there exists image with size None
cdcdf2ba5 Skip test_create_object_with_transfer_encoding
3d7010914 Change help string to use openstack instead of neutron
3ead99814 [Trivial]Remove unused variables
414ffbacb Fix "TypeError: format requires a mapping" in waiters
0a9b8235b Add related test to Bug #1732428
776185971 Add tag in compute interfaces schema for microversion 2.70
bf5ed0b67 [Trivial]Remove unused variables and methods
d926b8d08 [Trivial]Do not use cls in instance method
bc360aeb0 Skip test_server_rescue with volumes when there is no Cinder
e3405ba80 Check VM's console log before trying to SSH to it.
25f7ba2e1 Allow kwargs in create_timestamp
76819faf4 Allow kwargs in nova_volume_attach
f759bc1cf Allow kwargs in create_floating_ip
7d91c8734 Remove six.PY3/six.PY2
fec0dc182 Add glance multistore job (nv) in tempest gate
9cee53835 Remove 'gabbi_tempest_path' from devstack-tempest job
3fdbab4e3 Clarify tempest-full job description
b0642f90e Allow kwargs in get_server_ip
9523d51cc Allow kwargs in _get_server_port_id_and_ip4
c54a91100 Set image_alt_ssh_user during stack
d3ad5e94d Allow kwargs in create_volume
bee673e74 Allow kwargs in boot_instance_from_resource
6aa0fa356 Replace assertItemsEqual with assertEqual
05c35eb79 Improve tempest-cleanup ansible role
5e761bfad Allow kwargs in create_floating_ip
f9bb8b8b2 New list config option to list network features without API extension
e1d873a5f Stabilize _create_loginable_secgroup_rule
721aeca8e Unskip Device detach compute tests on Focal
91ded0401 Allow kwargs in _log_console_output
4346a82ff Add glance image import copy-image tests
fb1e4db2b Fix incorrect compute api microversion history links
35c2c1203 Fix url link for get_remote_console interface
0d6220824 Test attach scsi disk with config drive enabled
cfd6159f9 Make neutron-tempest-dvr job non-voting
8e673a408 Allow kwargs in create_volume_type
20c87c795 Replace display_name by name in scenario manager
30b4d5335 Allow kwargs in create_keypair
4de3d536b Skip adding host to aggregate with az if host already in other zone
5f65bf580 Fix error that instance could not be found
104e0b731 Delete test_reboot_server_soft
f0547d606 Add Tempest gate job for stable/victoria
9667217d5 zuul: Move tempest-integrated-compute to Focal
efb5d6aba Retry on ServerFault in call_and_ignore_notfound_exc()
ec60bfff2 add unittest for endpoints operation interface in identity part
ce23482fd Skip additional test if 'xenapi_apis' flag is False
e4f282051 Check port allocation for VM with resource request
23e0747e5 Add placement API methods for testing routed provider nets
cdbfb5eb3 Fix victoria releasenote to align yaml format
491d63e12 Add glance multistore tests
5eaf6bdc9 Add keystone v3 EC2 credential tests and client
97756b5b2 Remove install unnecessary packages
4599b91fe Add missing keystone clients
1ca760cd2 Migrate tempest jobs to focal
7313bc461 Revert "Use stable constraint in tox to release new tag for Victoria"
13c743407 Updating the paramiko version to 2.7.0 or greater
c00346cb2 Add missing replication_status in group schema
c8b966ff6 Fix import line location
4e7b2f459 Fix flavor NotFound in test_resize_server_revert_deleted_flavor
9b442510e Adding description for testcases - swift part1
639c4700a Set max_microversion 2.56 for ServerPersonalityTestJSON
cd9c2ea3a Add missing attachments schema in servers.py
0672955e1 Fix negative tests of update_volume for volume microversion 3.59
9542ad2fb Modify the fake data according to api reference
4bd9edbd3 volume: Introduce extend attached encrypted volume tests
5e8f04453 Add show types API to v3 types client library
46172435e Modify the fake data for test_networksks_client for v3
d2cbd3ad4 Add Access Rules tests
e42bd9354 Added stestr for running test using pdb flag
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 748 ---------------------
playbooks/devstack-tempest-ipv6.yaml | 5 -
playbooks/devstack-tempest.yaml | 16 +-
...e-test_reboot_server_soft-48fa786f38cd94dc.yaml | 6 +
...te-feature-shelve-migrate-fdbd3633abe65c4e.yaml | 6 +
...lt-ssh-user-config-option-1b775af2f468aa5b.yaml | 10 +
.../add-keystone-ep-clients-eeefd0904fbbe151.yaml | 5 +
...es-api-to-v3-types-client-44b2676f217d78dc.yaml | 6 +
...-disassociate-floating_ip-0b6cfebeef1304b0.yaml | 5 +
.../end-of-support-for-stein-f795b968d83497a9.yaml | 12 +
...nabled_available_features-35f9ac5f253e2ca3.yaml | 6 +
...-placement-client-methods-e35c473e29494928.yaml | 11 +
.../tempest-victoria-release-27000c02edc5a112.yaml | 1 +
requirements.txt | 2 +-
roles/tempest-cleanup/README.rst | 28 +
roles/tempest-cleanup/defaults/main.yaml | 1 +
roles/tempest-cleanup/tasks/dry_run.yaml | 7 +
roles/tempest-cleanup/tasks/dry_run_checker.py | 71 ++
roles/tempest-cleanup/tasks/main.yaml | 37 +-
tempest/api/compute/admin/test_migrations.py | 23 +-
tempest/api/compute/admin/test_volume.py | 116 ++++
tempest/api/compute/base.py | 4 +
.../security_groups/test_security_group_rules.py | 12 +-
.../api/compute/servers/test_attach_interfaces.py | 30 +
tempest/api/compute/servers/test_device_tagging.py | 4 +-
tempest/api/compute/servers/test_novnc.py | 11 +-
tempest/api/compute/servers/test_server_actions.py | 13 +-
.../servers/test_server_metadata_negative.py | 8 +-
.../api/compute/servers/test_server_personality.py | 1 +
tempest/api/compute/servers/test_server_rescue.py | 9 +
tempest/api/compute/volumes/test_attach_volume.py | 4 +
.../admin/v3/test_application_credentials.py | 2 +-
tempest/api/identity/base.py | 1 +
tempest/api/identity/v3/test_access_rules.py | 84 +++
.../identity/v3/test_application_credentials.py | 23 +-
tempest/api/identity/v3/test_ec2_credentials.py | 113 ++++
tempest/api/image/base.py | 10 +
tempest/api/image/v2/admin/test_images.py | 68 ++
tempest/api/image/v2/test_images.py | 93 ++-
tempest/api/network/test_floating_ips.py | 2 +-
.../api/object_storage/test_account_services.py | 91 ++-
tempest/api/object_storage/test_container_sync.py | 5 +-
.../test_container_sync_middleware.py | 2 +
tempest/api/object_storage/test_crossdomain.py | 5 +-
tempest/api/object_storage/test_healthcheck.py | 3 -
tempest/api/object_storage/test_object_expiry.py | 4 +
tempest/api/object_storage/test_object_services.py | 121 ++--
tempest/api/object_storage/test_object_slo.py | 14 +-
.../volume/admin/test_encrypted_volumes_extend.py | 35 +
tempest/api/volume/base.py | 21 +
tempest/api/volume/test_volumes_extend.py | 22 +-
tempest/api/volume/test_volumes_negative.py | 4 +-
tempest/clients.py | 9 +-
tempest/cmd/account_generator.py | 2 +-
tempest/cmd/run.py | 7 +-
tempest/common/compute.py | 20 +-
tempest/common/utils/__init__.py | 15 +
tempest/common/waiters.py | 104 ++-
tempest/config.py | 54 +-
.../response/compute/v2_70/interfaces.py | 37 +
.../api_schema/response/compute/v2_71/servers.py | 3 +
.../api_schema/response/compute/v2_73/servers.py | 3 +
tempest/lib/api_schema/response/volume/groups.py | 9 +-
tempest/lib/auth.py | 4 +-
tempest/lib/cli/base.py | 8 +-
tempest/lib/cmd/check_uuid.py | 139 +++-
tempest/lib/common/rest_client.py | 2 +-
tempest/lib/common/thread.py | 13 +-
tempest/lib/common/utils/data_utils.py | 2 +-
tempest/lib/common/utils/test_utils.py | 17 +-
tempest/lib/services/compute/interfaces_client.py | 9 +
tempest/lib/services/compute/servers_client.py | 2 +-
tempest/lib/services/identity/v3/__init__.py | 9 +-
.../services/identity/v3/access_rules_client.py | 68 ++
.../services/identity/v3/endpoint_filter_client.py | 54 ++
tempest/lib/services/identity/v3/groups_client.py | 2 +-
.../services/identity/v3/inherited_roles_client.py | 8 +-
.../lib/services/identity/v3/oauth_token_client.py | 2 +-
.../lib/services/identity/v3/policies_client.py | 24 +
tempest/lib/services/identity/v3/roles_client.py | 24 +-
tempest/lib/services/identity/v3/users_client.py | 27 +
tempest/lib/services/placement/__init__.py | 4 +-
.../placement/resource_providers_client.py | 82 +++
tempest/lib/services/volume/v1/volumes_client.py | 2 +-
tempest/lib/services/volume/v3/types_client.py | 13 +
tempest/scenario/manager.py | 242 ++++---
tempest/scenario/test_aggregates_basic_ops.py | 19 +-
.../scenario/test_minbw_allocation_placement.py | 158 ++++-
.../scenario/test_network_advanced_server_ops.py | 16 +-
tempest/scenario/test_shelve_instance.py | 44 +-
tempest/scenario/test_stamp_pattern.py | 2 -
.../identity/v3/test_access_rules_client.py | 97 +++
.../identity/v3/test_endpoint_filter_client.py | 116 ++++
.../services/identity/v3/test_endpoints_client.py | 68 +-
.../services/identity/v3/test_policies_client.py | 58 ++
.../lib/services/identity/v3/test_users_client.py | 83 +++
.../services/network/test_floating_ips_client.py | 22 +-
.../lib/services/network/test_networks_client.py | 18 +-
.../placement/test_resource_providers_client.py | 119 ++++
.../lib/services/volume/v3/test_types_client.py | 13 +
tox.ini | 4 +-
zuul.d/base.yaml | 86 +++
zuul.d/integrated-gate.yaml | 441 ++++++++++++
zuul.d/project.yaml | 146 ++++
zuul.d/stable-jobs.yaml | 23 +
zuul.d/tempest-specific.yaml | 113 ++++
114 files changed, 3765 insertions(+), 1274 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index d8738f08c..abc0bceda 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -8 +8 @@ testtools>=2.2.0 # MIT
-paramiko>=2.0.0 # LGPLv2.1+
+paramiko>=2.7.0 # LGPLv2.1+
1
0
We enthusiastically announce the release of:
patrole 0.11.0: Patrole is a tool for verifying that Role-Based Access
Control is being enforced across OpenStack deployments.
This release is part of the wallaby 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.11.0
^^^^^^
Prelude
*******
This is an intermediate release during the Wallaby development cycle
to mark the end of support for EM Stein release in Patrole. After this
release, Patrole will support below OpenStack Releases:
* Victoria
* Ussuri
* Train
Current development of Patrole is for OpenStack Wallaby development
cycle.
New Features
************
* Added new feature flag called "removed_nova_policies_wallaby"
under the configuration group "[policy-feature-enabled]" for
skipping Nova tests whose policies were removed in Wallaby. This
feature flag is currently applied to os-agents related policies.
Changes in patrole 0.10.0..0.11.0
---------------------------------
5c466a2 Add releasenote to tag the end of support for Stein
f6d7d0f Add Patrole gate job for stable/victoria
1b8838f Fix gate: Add feature flag for nova policies removed in Wallaby
a1e1ddc Remove install unnecessary packages
99ff11f Add release notes page for version 0.10.0
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 7 ++++++
devstack/plugin.sh | 28 ++++++++++++++++++++++
patrole_tempest_plugin/config.py | 5 ++++
.../end-of-support-for-stein-8b93f530ae9b7331.yaml | 12 ++++++++++
...cies-wallaby-feature-flag-abf3045a0a3e3315.yaml | 7 ++++++
releasenotes/source/index.rst | 1 +
releasenotes/source/v0.10.0.rst | 6 +++++
tox.ini | 1 -
9 files changed, 70 insertions(+), 1 deletion(-)
1
0
We contentedly announce the release of:
metalsmith 1.4.0: Deployment and Scheduling tool for Bare Metal
This release is part of the wallaby release series.
The source is available from:
https://opendev.org/openstack/metalsmith
Download the package from:
https://tarballs.openstack.org/metalsmith/
Please report issues through:
https://storyboard.openstack.org/#!/project/openstack/metalsmith
For more details, please see below.
1.4.0
^^^^^
New Features
* Add new metalsmith_instances instance option "config_drive". This
has sub-options "cloud_config` and ``meta_data" and allows
customization of data packaged in the config-drive to be consumed by
cloud-init.
Changes in metalsmith 1.3.0..1.4.0
----------------------------------
912e0a3 Move pep8 requirements to tox.ini
72d7624 Follow-up to metalsmith_instances config_drive
22a4e40 Add metalsmith_instances instance option config_drive
Diffstat (except docs and test files)
-------------------------------------
metalsmith/instance_config.py | 38 ++++++++++++++--------
metalsmith/test/test_instance_config.py | 7 ++++
metalsmith/test/test_metalsmith_instances.py | 12 +++++--
.../modules/metalsmith_deployment_defaults.py | 1 +
.../modules/metalsmith_instances.py | 24 +++++++++++++-
.../roles/metalsmith_deployment/README.rst | 12 +++++++
.../notes/config_drive-f59bb5d8e684b2ef.yaml | 7 ++++
test-requirements.txt | 6 ----
tox.ini | 6 ++++
9 files changed, 89 insertions(+), 24 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index 618af59..933cf4f 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -5,3 +4,0 @@ coverage!=4.4,>=4.0 # Apache-2.0
-doc8>=0.6.0 # Apache-2.0
-flake8-import-order>=0.17.1 # LGPLv3
-hacking>=3.1.0,<4.0.0 # Apache-2.0
@@ -9 +5,0 @@ stestr>=1.0.0 # Apache-2.0
-Pygments>=2.2.0 # BSD
@@ -11,2 +6,0 @@ ansible>=2.8
-pycodestyle>=2.0.0,<2.7.0 # MIT
-
1
0
We are satisfied to announce the release of:
tempest 25.0.1: 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.1
^^^^^^
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.
* A number of Compute APIs that only worked with the XenAPI virt
driver have been removed in the Compute service. As a result, their
corresponding tests are now disabled by default. They can be re-
enabled using the new "[compute_feature_enabled] xenapi_apis" config
option.
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.1
---------------------------------
c8d7a0101 Add releasenote to tag the Tempest for Victoria release
548e2d0b0 Use stable constraint in tox to release new tag for Victoria
27f410a2d Adding description for testcases - compute part11
39fa9c163 Add 'xenapi_apis' compute feature flag
764069ec1 compute: Wait until server is ACTIVE before deleting during resource_setup
5c243a9e4 Use the correct attachment id for multiattach.
dc4ceae3b Use assert_has_calls() correctly.
a09be7e01 Fix test_allowed_address_pair test case cleanup
cfddd400c Volume backup response schemas are incorrect
9e492eee8 Use os.path.join as possible
ae6311373 Need to have stable implementation of nova_volume_detach() and add missing docstrings
0c84f3ee2 Need to have stable tempest scenario manager
f18730dad Add response schema validation for volume manage
a9055010f Create documentation for tests
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
2480d2f91 Adding description for testcases - volume part3
735e169ff Adding description for testcases - compute part12
ef323632d Adding description for testcases - compute part10
e354fa767 Adding description for testcases - compute part9
e4fb4229c Adding description for testcases - compute part8
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
b9bdeb4f5 Move process-stackviz role from Tempest to Devstack
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
cf96636cf Fix test_list_flavors for compute microversion 2.55
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 +
.../notes/xenapi_apis-conf-fcca549283e53ed6.yaml | 7 +
releasenotes/source/conf.py | 8 +-
releasenotes/source/index.rst | 1 +
releasenotes/source/v24.0.0.rst | 6 +
requirements.txt | 2 +-
roles/process-stackviz/README.rst | 22 -
roles/process-stackviz/defaults/main.yaml | 3 -
roles/process-stackviz/tasks/main.yaml | 65 ---
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 | 21 +-
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 +-
.../compute/admin/test_instance_usage_audit_log.py | 5 +-
.../test_instance_usage_audit_log_negative.py | 10 +-
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 +-
tempest/api/compute/admin/test_security_groups.py | 18 +-
.../api/compute/admin/test_server_diagnostics.py | 6 +
.../admin/test_server_diagnostics_negative.py | 6 +-
tempest/api/compute/admin/test_servers.py | 39 +-
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/admin/test_volume_swap.py | 51 +-
tempest/api/compute/admin/test_volumes_negative.py | 21 +-
tempest/api/compute/base.py | 28 +-
.../api/compute/certificates/test_certificates.py | 5 +-
tempest/api/compute/flavors/test_flavors.py | 26 +-
.../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 +-
.../api/compute/images/test_images_oneserver.py | 3 +
.../images/test_images_oneserver_negative.py | 17 +-
.../api/compute/images/test_list_image_filters.py | 83 ++-
.../images/test_list_image_filters_negative.py | 8 +-
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 +-
.../servers/test_create_server_multi_nic.py | 14 +-
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 ++-
.../compute/servers/test_list_servers_negative.py | 46 +-
.../api/compute/servers/test_multiple_create.py | 14 +-
.../servers/test_multiple_create_negative.py | 11 +-
tempest/api/compute/servers/test_novnc.py | 8 +
tempest/api/compute/servers/test_server_actions.py | 97 +++-
.../api/compute/servers/test_server_addresses.py | 14 +-
.../servers/test_server_addresses_negative.py | 5 +-
tempest/api/compute/servers/test_server_group.py | 12 +-
.../api/compute/servers/test_server_metadata.py | 51 +-
.../servers/test_server_metadata_negative.py | 70 ++-
.../api/compute/servers/test_server_password.py | 4 +
.../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 +
tempest/api/compute/servers/test_servers.py | 40 +-
.../compute/servers/test_servers_microversions.py | 4 +
.../api/compute/servers/test_servers_negative.py | 138 +++--
.../api/compute/servers/test_virtual_interfaces.py | 6 +-
.../servers/test_virtual_interfaces_negative.py | 9 +-
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/compute/volumes/test_volume_snapshots.py | 2 +
tempest/api/compute/volumes/test_volumes_get.py | 3 +-
tempest/api/compute/volumes/test_volumes_list.py | 33 +-
.../api/compute/volumes/test_volumes_negative.py | 20 +-
.../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 +
.../api/volume/admin/test_backends_capabilities.py | 9 +-
tempest/api/volume/admin/test_group_snapshots.py | 43 ++
tempest/api/volume/admin/test_group_type_specs.py | 3 +
tempest/api/volume/admin/test_group_types.py | 4 +-
tempest/api/volume/admin/test_groups.py | 10 +
tempest/api/volume/admin/test_multi_backend.py | 34 +-
tempest/api/volume/admin/test_snapshot_manage.py | 1 +
tempest/api/volume/admin/test_snapshots_actions.py | 16 +-
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 +
.../api/volume/admin/test_volume_quota_classes.py | 7 +
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 | 11 +-
.../volume/admin/test_volume_types_extra_specs.py | 7 +-
.../test_volume_types_extra_specs_negative.py | 60 ++-
.../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 | 6 +-
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/init.py | 9 +-
tempest/cmd/subunit_describe_calls.py | 28 +-
tempest/cmd/verify_tempest_config.py | 8 +-
tempest/common/custom_matchers.py | 18 +-
tempest/common/waiters.py | 19 +
tempest/config.py | 51 +-
.../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/manage_volume.py | 27 +
.../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/cmd/skip_tracker.py | 5 +-
tempest/lib/common/dynamic_creds.py | 6 +-
tempest/lib/common/preprov_creds.py | 5 +-
tempest/lib/common/rest_client.py | 49 +-
tempest/lib/common/thread.py | 4 -
tempest/lib/common/utils/linux/remote_client.py | 6 +-
tempest/lib/decorators.py | 2 +-
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 +-
.../lib/services/volume/v3/volume_manage_client.py | 3 +-
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 +-
tempest/test_discover/test_discover.py | 4 +-
.../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 | 6 +-
.../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 | 30 +-
399 files changed, 6628 insertions(+), 1890 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 are pleased to announce the release of:
ansible-role-lunasa-hsm 1.1.0: ansible-role-lunasa-hsm - Ansible role
to configure Lunasa HSM clients.
This release is part of the wallaby 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 1.0.0..1.1.0
-----------------------------------------------
b3981c6 Add task to remove clients from HSM
Diffstat (except docs and test files)
-------------------------------------
tasks/unregister_client.yaml | 8 ++++++++
1 file changed, 8 insertions(+)
1
0
We are ecstatic to announce the release of:
bifrost 10.0.0: Deployment of physical machines using OpenStack Ironic
and Ansible
This release is part of the wallaby release series.
The source is available from:
https://opendev.org/openstack/bifrost
Download the package from:
https://tarballs.openstack.org/bifrost/
Please report issues through:
https://storyboard.openstack.org/#!/project/openstack/bifrost
For more details, please see below.
10.0.0
^^^^^^
New Features
************
* Set the new boolean parameter "ipa_add_ssh_key" to "True" to
configure an ability to log into ramdisk with the current user's SSH
key. Only works for DIB-based ramdisks built with the "dynamic-
login" element.
* Ansible 2.10 is now supported and used by default (2.9 is still
supported).
* Adds the "--uefi" argument to "./bifrost-cli testenv" to make
testing VMs boot in the UEFI mode.
* Adds the "--uefi" argument to "./bifrost-cli install" to make
ironic use UEFI by default.
* Enables support for "redfish-virtual-media" in legacy (BIOS) boot
mode.
* Adds support for testing bifrost with UEFI secure boot enabled in
VMs. Requires an IPA ramdisk with kernel signed by a key recognized
by GRUB2 on the host machine.
* Adds support for emulating UEFI bare metal machines in the testing
environment. Pass "default_boot_mode=uefi" to enable.
* Adds support for Redfish virtual media in UEFI mode.
Known Issues
************
* UEFI testing with network boot does not work on Ubuntu Focal
because of TFTP issues.
Upgrade Notes
*************
* Following an announcement (https://lists.centos.org/pipermail
/centos-announce/2020-December/048208.html) by the CentOS project,
Bifrost has switched to CentOS Stream for testing. Regular CentOS is
no longer tested in the CI, meaning that both it and RHEL will only
be tested indirectly and supported on the best effort basis.
* The role "bifrost-create-bootable-image", marked as legacy since
2015, has been removed. Please use diskimage-builder or other
external tools to build your images.
* Bifrost now uses HTTP basic authentication by default. The
generated credentials will be stored in
"~/.config/openstack/clouds.yaml". Use "noauth_mode=true" with
"enable_keystone=false" to disable authentication.
Deprecation Notes
*****************
* Fedora 30 has reached end-of-life and is no longer explicitly
tested. Its support will be removed in one of the future releases.
* openSUSE Leap 15.1 is reaching end-of-life and is no longer
explicitly tested. Its support will be removed in one of the future
releases.
Bug Fixes
*********
* Unsets the "OS_CLOUD" variable in the generated "openrc".
* "OS_AUTH_TYPE" is now always set in the generated "openrc".
* FirewallD is now used on Fedora 32 and newer to fix firewall
issues.
* Fixes an issue with the Bifrost inventory plugin when used with
"BIFROST_INVENTORY_SOURCE=ironic". All node fields are now returned
as facts, as in Ussuri and earlier releases. See story 2008394 for
details.
* Copies ironic-lib rootwrap.d filters to the correct location.
* Correctly copies rootwrap.d filters on upgrade.
* Fixes SELinux context not being applied to /httpboot and
/tftpboot. This renders the "ironic_policy" module unnecessary, and
it has been removed.
* Ensures that the checksums file has the correct ownership.
* Explicitly opens ports 68 and 69 in firewall on systems not using
firewalld (e.g. Ubuntu).
* Fixes "PATH" to always include the virtual environment when
running validations.
Other Notes
***********
* Fedora 32 and openSUSE Leap 15.2 have been added to the supported
OS list.
Changes in bifrost 9.0.0..10.0.0
--------------------------------
aa727de7 Switch to using authentication by default
50400ae1 Update lower-constraints from an up-to-date environment
72c16562 Switch to CentOS 8 Stream for testing
95b69e2b Fix two CI issues
71e26d17 Fix missing node facts with BIFROST_INVENTORY_SOURCE=ironic
b604f66e Allow inserting SSH public key for dynamic-login
faa328d4 Support UEFI in bifrost-cli and document it
e5f0b8d6 Expand testenv documentation
17d43324 Fix handling rootwrap.d filters
fa7e9404 CI: set BIFROST_TRACE for debugging output
5a68e6ea selinux: add inspector and IPA ports to http_port_t type
e3fd08fa Ensure the correct SELinux context for /httpboot and /tftpboot
a03335c4 test-bifrost: make sure selinux is enforcing
71b86a31 Recognize TOX_CONSTRAINTS_FILE as a valid constraints variable
81999de9 Specify the collections version more explicitly
fefb26f6 Support testing secure boot
fd530ac5 Support Ansible 2.10
d45e6c49 Change the machine type to q35 to support UEFI on CentOS
6486aaa5 Fix discrepancy in kernel params for PXE and Redfish
810370b5 Update TOX_CONSTRAINTS_FILE
912d8d4d Remove bifrost-create-bootable-image
e211e66a Fix invalid invocation of the shell command
28ff3bd0 Redfish virtual media boot in UEFI
b2c9a973 Specify mandatory name parameter for virt_net
a2bfc586 Add a CI job with Redfish and UEFI
acda312a Explicitly open ports 68 and 69 on Ubuntu
0463cd18 Switch to firewalld for Fedora >= 32
e6ff6912 Ensure PATH contains the virtual environment when validating CLI
a07750d4 Add prometheus-exporter to keystone test
2e4d8512 Stop using deprecated iPXE parameters
35998b78 Set safe version of hacking
4c588187 Fix hacking min version to 3.1.0
a6c56c66 Force local connection for localhost
a04b2854 Add missing space in error message
9e3c685e Support redfish-virtual-media with legacy boot
b6624b2d Use upper constraints when installing Bifrost requirements
9880db80 Declare support for Fedora 32 and openSUSE Leap 15.2
79d3af76 Explicitly unset OS_CLOUD in the generated openrc
136cb2a5 Documentation: make it clearer that Ussuri does not have bifrost-cli
9d905e6b Another case for skip_package_install
2f150b05 Add Python3 wallaby unit tests
83e27fb3 Update master for stable/victoria
Diffstat (except docs and test files)
-------------------------------------
.ansible-lint | 1 +
ansible-collections-requirements.yml | 2 +-
bifrost/cli.py | 6 ++
bifrost/inventory.py | 7 +-
bindep.txt | 1 +
lower-constraints.txt | 17 ++--
playbooks/ci/run.yaml | 2 +
playbooks/roles/bifrost-cloud-config/README.md | 4 +-
.../roles/bifrost-cloud-config/defaults/main.yml | 2 +-
.../roles/bifrost-create-bootable-image/README.md | 64 ---------------
.../defaults/main.yml | 9 --
.../bifrost-create-bootable-image/meta/main.yml | 16 ----
.../tasks/create_bootable_image.yml | 74 -----------------
.../bifrost-create-bootable-image/tasks/main.yml | 21 -----
.../roles/bifrost-create-dib-image/tasks/main.yml | 1 +
.../bifrost-create-vm-nodes/defaults/main.yml | 40 ++++++++-
.../defaults/required_defaults_CentOS.yml | 1 -
.../roles/bifrost-create-vm-nodes/tasks/main.yml | 7 ++
.../tasks/prepare_libvirt.yml | 31 ++++++-
.../templates/redfish-emulator.conf.j2 | 2 +
.../templates/testvm.xml.j2 | 15 ++--
playbooks/roles/bifrost-ironic-install/README.md | 4 +-
.../roles/bifrost-ironic-install/defaults/main.yml | 23 +++++-
.../defaults/required_defaults_CentOS.yml | 3 +
.../defaults/required_defaults_Debian_family.yml | 6 ++
.../defaults/required_defaults_Fedora.yml | 6 ++
.../defaults/required_defaults_RedHat.yml | 3 +
.../defaults/required_defaults_RedHat_family.yml | 4 +
.../defaults/required_defaults_Suse_family.yml | 8 ++
.../defaults/required_defaults_Ubuntu.yml | 4 +
.../bifrost-ironic-install/files/ironic_policy.te | 21 -----
.../ssh_public_key_path.yaml | 43 ++++++++++
.../bifrost-ironic-install/tasks/bootstrap.yml | 96 +++++++++++++---------
.../bifrost-ironic-install/tasks/create_esp.yml | 55 +++++++++++++
.../bifrost-ironic-install/tasks/hw_types.yml | 1 +
.../tasks/inspector_bootstrap.yml | 4 +-
.../bifrost-ironic-install/tasks/ironic_config.yml | 6 ++
.../templates/ironic.conf.j2 | 25 +++---
.../defaults/main.yml | 6 +-
.../tasks/validate.yml | 11 ++-
.../templates/clouds.yaml.j2 | 2 +-
.../templates/openrc.j2 | 7 +-
.../roles/bifrost-pip-install/defaults/main.yml | 5 +-
.../defaults/main.yml | 2 +-
.../roles/ironic-inspect-node/defaults/main.yml | 2 +-
.../notes/add-ssh-key-eceb7cde22c3eb4a.yaml | 6 ++
.../notes/ansible-2.10-ee0211e72f9522c9.yaml | 4 +
.../notes/bifrost-cli-uefi-0d7890fb53655845.yaml | 8 ++
.../notes/centos8-stream-0c6d9adb544e36af.yaml | 8 ++
.../client-config-existing-8041abc5db164fd4.yaml | 6 ++
.../notes/f32-suse15.2-44a8189e81b1bfd7.yaml | 11 +++
.../notes/fedora-firewalld-f8e2e15be5fe43fd.yaml | 4 +
.../notes/fix-story-2008394-9a77486a838a1f2c.yaml | 7 ++
.../notes/ironic-lib-filters-371185c7a7691106.yaml | 6 ++
.../notes/no-bootable-image-63c649c3f2008c96.yaml | 6 ++
.../notes/no-no-auth-303152d1c29c691d.yaml | 7 ++
.../redfish-virtual-media-969d8747ab97165d.yaml | 4 +
releasenotes/notes/secontext-1f5ac63dbd0762d2.yaml | 8 ++
.../notes/secure-boot-07d1503cd034f9d3.yaml | 6 ++
.../notes/ubuntu-ports-ce9d1ceaf516adce.yaml | 5 ++
releasenotes/notes/uefi-emu-5fd047d01c09ed32.yaml | 9 ++
.../notes/validate-path-5c303903900dcd65.yaml | 5 ++
.../notes/vmedia-uefi-ce34974eaacd571c.yaml | 4 +
releasenotes/source/index.rst | 1 +
releasenotes/source/victoria.rst | 6 ++
scripts/env-setup.sh | 2 +-
scripts/install-deps.sh | 6 +-
scripts/test-bifrost.sh | 18 +++-
test-requirements.txt | 5 --
tools/ansible-lint.sh | 4 +-
tox.ini | 14 +++-
zuul.d/bifrost-jobs.yaml | 35 +++++++-
zuul.d/project.yaml | 6 +-
77 files changed, 662 insertions(+), 345 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index d9fdd013..c7480dfa 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -5,2 +4,0 @@
-hacking>=3.0,<4.0.0 # Apache-2.0
-
@@ -8 +5,0 @@ coverage!=4.4,>=4.0 # Apache-2.0
-doc8>=0.6.0 # Apache-2.0
@@ -11,2 +7,0 @@ testtools>=2.2.0 # MIT
-Pygments>=2.2.0 # BSD license
-flake8-import-order>=0.17.1 # LGPLv3
1
0