Release-announce
Threads by month
- ----- 2026 -----
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- 1 participants
- 17403 discussions
We are excited to announce the release of:
castellan 3.3.0: Generic Key Manager interface for OpenStack
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/castellan
Download the package from:
https://tarballs.openstack.org/castellan/
Please report issues through:
https://bugs.launchpad.net/castellan/+bugs
For more details, please see below.
Changes in castellan 3.2.0..3.3.0
---------------------------------
3a3a738 Bump vault version
Diffstat (except docs and test files)
-------------------------------------
tools/setup-vault-env.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
1
0
We jubilantly announce the release of:
taskflow 4.3.1: Taskflow structured state management library.
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/taskflow
Download the package from:
https://pypi.org/project/taskflow
Please report issues through:
https://bugs.launchpad.net/taskflow/+bugs
For more details, please see below.
Changes in taskflow 4.3.0..4.3.1
--------------------------------
2a9761be Make test-setup.sh compatible with mysql8
1877565d Stop to use the __future__ module.
Diffstat (except docs and test files)
-------------------------------------
taskflow/listeners/base.py | 2 --
taskflow/listeners/claims.py | 2 --
taskflow/listeners/logging.py | 2 --
taskflow/listeners/printing.py | 2 --
taskflow/listeners/timing.py | 2 --
taskflow/logging.py | 2 --
taskflow/persistence/backends/impl_sqlalchemy.py | 2 --
taskflow/persistence/backends/sqlalchemy/alembic/env.py | 2 --
taskflow/test.py | 2 --
tools/test-setup.sh | 4 ++--
10 files changed, 2 insertions(+), 20 deletions(-)
1
0
We enthusiastically announce the release of:
ironic 15.1.0: OpenStack Bare Metal Provisioning
This release is part of the victoria 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.
15.1.0
^^^^^^
New Features
************
* Adds raid interface for ibmc driver which includes
"delete_configuration" and "create_configuration" steps.
* Enable Basic HTTP authentication middleware.
Having noauth as the only option for standalone ironic causes
constraints on how the API is exposed on the network. Having some
kind of authentication layer behind a TLS deployment eases these
constraints.
When the config option "auth_strategy" is set to "http_basic" then
non-public API calls require a valid HTTP Basic authentication
header to be set. The config option "http_basic_auth_user_file"
defaults to "/etc/ironic/htpasswd" and points to a file which
supports the Apache htpasswd syntax[1]. This file is read for every
request, so no service restart is required when changes are made.
Like the "noauth" auth strategy, the "http_basic" auth strategy is
intended for standalone deployments of ironic, and integration with
other OpenStack services cannot depend on a service catalog.
The only password digest supported is bcrypt, and the "bcrypt"
python library is used for password checks since it supports "$2y$"
prefixed bcrypt passwords as generated by the Apache htpasswd
utility.
To try HTTP basic authentication, the following can be done:
* Set "/etc/ironic/ironic.conf" "DEFAULT" "auth_strategy" to
"http_basic"
* Populate the htpasswd file with entries, for example: "htpasswd
-nbB myName myPassword >> /etc/ironic/htpassw"
* Make basic authenticated HTTP requests, for example: "curl
--user myName:myPassword http://localhost:6385/v1/drivers"
[1]
https://httpd.apache.org/docs/current/misc/password_encryptions.html
* Adds a new "[ipmi]use_ipmitool_retries" option. When set to "True"
and timing is supported by ipmitool, the number of retries and
command interval will be passed to ipmitool so that ipmitool will do
the retries. When set to "False", ironic will do the retries.
Default is "True".
* Adds an ability to generate network boot templates even for nodes
that use local boot via the new "[pxe]enable_netboot_fallback"
option. This is required to work around the situation where
switching boot devices does not work reliably.
* Adds the ability for Ironic to attach a node to a specific port or
portgroup. This is accomplished by having the node vif_attach API
accept a port_uuid or portgroup_uuid key within vif_info. If one is
specified, then Ironic will attempt to attach to the specified
port/portgroup. Specifying both returns an error.
Known Issues
************
* Some BMCs do not support the "Channel Cipher Suites" command that
newer versions of ipmitool use. These versions of ipmitool will
resend this command for each ipmitool retry, resulting in long
response times. Setting "[ipmi]use_ipmitool_retries" to "false"
will avoid this situation by implementing retries on the ironic
level.
* The SNMP hardware type cannot change boot devices and thus may
fail to deploy nodes with local boot. To work around this problem,
set "[pxe]enable_netboot_fallback" to "True".
* Some redfish-enabled hardware is known not to support persistent
boot device setting that is used by the Bare Metal service for
deployed instances. The "redfish" hardware type tries to work around
this problem, but rebooting such an instance in-band may cause it to
boot incorrectly. A predictable boot order should be configured in
the node's boot firmware to avoid issues and at least metadata
cleaning must be enabled. See this mailing list thread
(http://lists.openstack.org/pipermail/openstack-
discuss/2020-April/014543.html) for technical details.
Upgrade Notes
*************
* The "[conductor]api_url" was deprecated and removed, use
"[service_catalog]endpoint_override" instead if required to use a
specific ironic api url.
* The "[cinder]url" was removed, use "[cinder]endpoint_override"
instead.
* The "[DEFAULT]fatal_exception_format_errors" was removed, use
"[ironic_lib]fatal_exception_format_errors" instead.
* Operators upgrading from earlier versions using PXE should
explicitly set "[pxe]ipxe_bootfile_name",
"[pxe]uefi_ipxe_bootfile_name", and possibly
"[pxe]ipxe_bootfile_name_by_arch" settings, as well as a iPXE
specific "[pxe]ipxe_config_template" override, if required.
Setting the "[pxe]ipxe_config_template" to no value will result in
the "[pxe]pxe_config_template" being used. The default value points
to the supplied standard iPXE template, so only highly customized
operators may have to tune this setting.
* Updates required ibmcclient version for ibmc drivers to 0.2.2.
* A permission setting has been added for "redfish-virtual-media"
boot interface, which allows for explicit file permission setting
when the driver is used. The default for the new
"[redfish]file_permission setting is ``0u644", or 644 if manually
changed using "chmod" on the command line. Operators may need to
check "/httpboot/redfish" folder permissions if using "redfish-
virtual-media" if they were running the conductor with a specific
"umask" to work around the permission setting defect.
Bug Fixes
*********
* Instead of increasing timeout when running long synchronous tasks
on ironic-python-agent, ironic now runs them asynchronously and
polls the agent until completion. It is no longer necessary to
account for long-running tasks when setting
"[agent]command_timeout".
* Fixes a rare issue where agent successfully powers off a node
after deployment, but ironic never learns about it and does another
reboot.
* Fixes deployment in fast-track mode by keeping the required
internal fields ("agent_url" and "agent_secret_token") intact when
starting and finishing deployment and cleaning.
* Fixes deleting nodes with maintenance mode on and an allocation
present. Previously it caused an internal server error. See story
2007823 (https://storyboard.openstack.org/#!/story/2007823) for
details.
* Change the default for "use_ipmitool_retries" to "False" so that
Ironic will do the retries by default. This is needed for certain
BMCs that don't support the Cipher Suites command and ipmitool
retries take an excessively long time. See story 2007632
(https://storyboard.openstack.org/#!/story/2007632) for additional
information.
* Cleans up nodes stuck in the "deleting" state on conductor
restart.
* Fixes fast-track deployments with the "direct" deploy interface
that used to hang previously.
* Fixes periodic task initialization options to prevent a negative
number. If "[conductor]clean_callback_timeout",
"[conductor]inspect_wait_timeout" or
"[conductor]inspect_wait_timeout" have a negative value an error
will be triggered.
* Ironic now does not try to allocate the space needed for instance
image conversion to raw format if it is already raw.
* Addresses the lack of an ability to explicitly set different
bootloaders for "iPXE" and "PXE" based boot operations via their
respective "ipxe" and "pxe" boot interfaces.
* Fixes a bug in "fast track" where Ironic would delete the "agent
token" upon exiting cleaning steps. However, if we are in fast track
mode, we can preserve the token and continue operations with the
agent as it is not powered off during fast track operations.
* Fixes a workaround for hardware that does not support persistent
boot device setting with the "redfish" or "idrac-redfish" management
interface implementation. When such situation is detected, ironic
falls back to one-time boot device setting, restoring it on every
reboot or power on.
For more information, see story 2007733
(https://storyboard.openstack.org/#!/story/2007733)
* Fixes the virtual disks creation by changing PERC H740P controller
mode from *Enhanced HBA* to *RAID* in delete_configuration clean
step. PERC H740P controllers supports RAID mode and Enhanced HBA
mode. When the controller is in Enhanced HBA, it creates single disk
RAID0 virtual disks of NON-RAID physical disks. Hence the request
for VD creation with supported RAID fails due to no available
physical disk. This patch converts the PERC H740P RAID controllers
to RAID mode if enhanced HBA mode found enabled See bug bug 2007711
(https://storyboard.openstack.org/#!/story/2007711) for more details
* Fixes fast track deployment preceeded by managed inspection by
providing the ironic API URL to the ramdisk so that it can
heartbeat.
* Fixes the JSON RPC backend potentially hanging on inability to
connect to a conductor. The default timeout is now 120 seconds. The
timeout and the number of retries can be adjusted via the
configuration options "[json_rpc]timeout" and
"[json_rpc]connect_retries" accordingly.
* Fixes logic that is applied to port deletions to also consider the
presence of a VIF attachment record, which should be removed before
attempting to delete the node. Failure to do so can result in
erroneous records in the Networking Service.
* No longer tries to set "local_gb" to "MAX" when building RAID with
the root disk using "MAX" for its size.
* To provide a workaround for incorrect boot order problems on some
hardware, the "redfish" hardware type now supports the "noop"
management interface, similarly to IPMI and SNMP.
* Rebooting a node with the "redfish" power interface is now
implemented via a power off request followed by power on to avoid
returning success when a node stays powered on after the reboot
request.
* Provides a workaround for hardware that does not support
persistent boot device setting with the "redfish" hardware type.
When such situation is detected, ironic will fall back to one-time
boot device setting, restoring it on every reboot.
* Fixes an issue where the folder "/httpboot/redfish" was being
created with incorrect permissions.
* If the disk format of the image is provided in the instance_info,
skip the memory check if it is set to *raw* and raw image streaming
is enabled. That allows to stream raw images provided as URL and not
through Glance.
Other Notes
***********
* Ramdisk logs are now collected during cleaning the same way as
during deployment.
* The following configuration options can now be reloaded without
restarting ironic:
From "[agent]": "memory_consumed_by_agent", "stream_raw_images",
"deploy_logs_*", "image_download_source", "command_timeout" and
"neutron_agent_poll_interval".
From "[api]": "max_limit", "public_endpoint" and
"ramdisk_heartbeat_timeout".
From "[conductor]": "heartbeat_timeout",
"force_power_state_during_sync", "automated_clean",
"soft_power_off_timeout", "power_state_change_timeout",
"rescue_password_hash_algorithm" and
"require_rescue_password_hashed".
From "[DEFAULT]": "default_resource_class", "force_raw_images",
"parallel_image_downloads", "default_portgroup_mode" and
"require_agent_token".
From "[deploy]": "enable_ata_secure_erase",
"erase_devices_priority", "erase_devices_metadata_priority",
"shred_random_overwrite_iterations",
"shred_final_overwrite_with_zeros",
"continue_if_disk_secure_erase_fails", "disk_erasure_concurrency",
"power_off_after_deploy_failure", "default_boot_option",
"default_boot_mode", "configdrive_use_object_store", "fast_track",
and "fast_track_timeout".
From "[ipmi]": "kill_on_timeout", "disable_boot_timeout",
"command_retry_interval", "min_command_interval", "debug" and
"additional_retryable_ipmi_errors".
From "[iscsi]": "portal_port", "conv_flags" and "verify_attempts".
From "[neutron]": "port_setup_delay", "*_network",
"*_network_security_groups", "request_timeout", "add_all_ports" and
"dhcpv6_stateful_address_count".
From "[nova]": "send_power_notifications".
From "[pxe]": "pxe_append_params", "default_ephemeral_format",
"pxe_config_template", "uefi_pxe_config_template",
"pxe_config_template_by_arch", "ip_version" and "ipxe_use_swift".
From "[redfish]": "use_swift", "swift_container",
"swift_object_expiry_timeout" and "kernel_append_params".
Changes in ironic 15.0.0..15.1.0
--------------------------------
759b722a5 Add documentation on how to propose a release
5f7d84f48 Provide a path to set explicit ipxe bootloaders
addbdf7c2 Do not verify error messages from jsonpatch in unit tests
c85a33d65 Use assertCountEqual instead of assertItemsEqual, part 2
359d6bca9 Enforce autospec in test_task_manager
f26b500ef Follow up of enforce autospec in test_manager
daca49022 Follow up of fix uefi jobs with ovmf native ubuntu package
af897bc82 Fix missing print format in log message
b41bace32 Do not put the whole JSON error from the agent in last_error
0841943c9 Use unittest mock instead of 3rd party mock in test_raid
91b0f7383 Correct Redfish boot once fallback conditional
d90459a87 Fix the error message when reached max number of traits
cedc4a241 Software RAID: don't try to set local_gb to MAX
4f6374a20 Clean up nodes in DELETING on conductor restart
1a02c79ed Log when a node should be fast-track-able but it's not
aac89c214 Fix uefi jobs with native ubuntu ovmf package
00519ba61 Enforce autospec in test_manager
15079e3c9 Prepare release notes and docs for release 15.1
988f61b8a Add ironic 15.1 release mapping
498ab5224 Use getfullargspec to inspect functions
f9eb43d1c Fix fast track following managed inspection
f1a4725fd Explicitly use python3 for ironic_lib_prefix
296c8669a Fix hacking min version to 3.0.1
d0d772d72 devstack: get rid of python3_enabled
d72c42b1f Use IRONIC_VM_SPECS_RAM from ironic-base in ipv6 job
359bc24c9 Update git URLs
325f28043 DRAC: Fix a failure to create virtual disk
0fa90f658 Use virtio bus with uefi
2b412df42 Untie the ramdisk deploy from AgentDeploy
a58ca1f7a Enforce autospec in test_utils
caf63e403 Enforce autospec in test_flat
f2425ad89 Enforce autospec in test_common
dc7960982 Update [console]kill_timeout description
130f96d9d Trivial: clarify usage of AgentCommandTimeout in _wait_for_command
2f5456759 Add a bug reporting and triaging guide
58693c7f4 Make test-setup.sh compatible with mysql8
7828fe8b6 agent: poll long-running commands till completion
65480f6b9 Networking boot fallback for local boot
f0803493d Fix fast-track with the direct deploy interface
42f28a4d3 Add api-ref for indicators API
da49cf69d ironic-standalone, use http basic auth for json-rpc
29d711ad2 Use configure_keystone_authtoken_middleware
fbebcc320 Stop allocating double space for raw images
b99c71031 Enforce autospec in test_neutron
429c8013f Enforce autospec in test_base_manager
350d84ed4 Enable HTTP Basic authentication for JSON-RPC
0a7608cee Enforce autospec in test_rpc_api and test_steps
11ee8a603 Fix mock callable for Python 3.6 and precedent
0961b1750 Fix: review from dtantsur of 728123
1d84df93d Fix internal server error on deleting nodes with allocations
590916392 Fix agent token and URL handling during fast-track deployment
c56777929 Fix Redfish handle no continuous override boot src
e8f6fdd56 Allow node vif attach to specify port_uuid or portgroup_uuid
61c42839f CI: make grenade voting again
88b24354a devstack: Use uwsgi binary from path; temporary disable grenade
62408b32a Document http_basic auth strategy
864a0a568 doc: fix endpoint_override for inspector
ca1c1b87a Use assertCountEqual instead of assertItemsEqual
69549e5d7 Use unittest.mock instead of mock
30d0296f0 Fix requirements check
e8daa0f27 Add virtualbmc as an extra dependency
d602543dc [doc] Fix indentation in admin/troubleshooting
cd6e5ec49 Feature: Add raid configuration support for ibmc driver
1f2057680 [doc] Extend trouble shooting docs for node stuck in wait states
7a455a3ff devstack: increase concurrency and worker timeout for sushy-tools
697eb0102 Enforce autospec in test_snmp
ffca0e5fb Enforce autospec in test_ipxe and test_pxe
2509d282a Use the new extension call for getting partition UUIDs
62b0071ab Enforce autospec in test_deploy_utils module
f30d2f348 Follow-up patch for ilo out-of-band `erase_devices`
2e291b69e Add troubleshooting docs on -ing state failures.
c6112b01c Enable Basic HTTP authentication middleware
1afb69b25 [doc] Harmonize the prompt for bash commands
da28bead6 [doc] Check placement in case of "No valid host found"
5b785569b Fix fast track when exiting cleaning
64674bf0e Block port deletions where vif is present
63bd40c89 Enforce autospec in test_agent_base module
3daffe07a Enforce autospec in test_agent module
be4b97828 Move introspection timeout option to base job
14a8b308d Add function definition handling
68cc5fbcb Add validate decorator to expose
2e9fede75 Remove ironic-grenade-dsvm
af6cd1093 Fix redfish-virtual-media file permission
6c712454a Enforce autospec in ansible tests
3ae7e6880 Change default to ``False`` for ``use_ipmitool_retries``
bffde661e Enforce autospec in drac tests
0d0d8aae5 Extend vmedia job timeout
0fa282eee agent: do not hard power off if soft power off actually succeeds
6520b373f New configuration parameter to use ipmitool retries
17decbcb9 Add IPv6 ci Job
5f24029c4 Increase callback timeout
488797996 Set default tempest_test_timeout for ironic-base
82f1e0c92 CI: use the default devstack cirros version
f266baffc Cap jsonschema 3.2.0 as the minimal version
c717f0e49 change devstack ipa-builder default to BRANCHLESS_TARGET_BRANCH
51eff6010 Add the noop management interface to the redfish hardware type
4fe89203a Add agent_token param to docstrings
ab262d4ff Make redfish boot interface to use `network_data`
734a0a0cb Add `get_node_network_data` to non-Neutron NetworkInterface
cf12521f7 Add `get_node_network_data` method to NetworkInterface
d13c6026e Change IRONIC_VM_SPECS_RAM default
16f5950f1 Do not fail when raw image is larger than memory for http
c1834cc4b Add py38 package metadata
4a69b6398 [Trivial]Add missing white space between words
271ecdd11 Fix pygments style
4ae482897 Remove iDRAC Redfish boot device known issue
94af61bc1 Revert "Deprecate ibmc"
5750cca0d Increase timeout for introspection in ironic-inspector-tempest
df5bb921b Collect tftpd info from journald
a2efd0b82 Switch to newer openstackdocstheme and reno versions
846d70698 Fix image type reference
93202bf5a rm duplicate word 'that'
d213488dd RAID docs: fix an invalid json example
805a785a3 Change ibmcclient compatible version
38137e6c4 Raise the JSON RPC connection timeout to 2 minutes and disable retries
60c7d97c9 CI: add test-requirements to irrelevant-files
a017447ec Encapsulate auth_token middleware
f6b9f3435 Pin the python-ibmcclient upper bounds due to six usage
d31e71a73 Collect ramdisk logs also during cleaning
1deefcbae Doc building: Silence automated_steps
07fa29999 Remove deprecated [cinder]url
dc2a2da1f Remove deprecated [DEFAULT]fatal_exception_format_errors
c38465eaa Remove translation sections from setup.cfg
893029493 Add ussuri release notes version
bb39f20d3 Fix the wrong description
774bc9264 Cap pycodestyle explicitly to be < 2.6.0
bc79bbd57 Update lower-constraints.txt
ead9ecfcb Fix pep8
57e71bae2 Increase timeout value for ironic-base job
68b6378db CI: raise DIB jobs memory to 3 GiB
f464e78ef If the "[conductor]XXX_timeout" is less than 0,disable periodic task
ccdd5e977 [Trivial] Fix awkward mocking in redfish boot tests
18a8e2f6e redfish: handle hardware that is unable to set persistent boot
2da8a102b Change the name of the inspector job
8562df092 redfish: split reboot into power off followed by power on
c5543b572 Enforce autospec in some unit tests modules
14524c265 Add timeout and retries to JSON RPC client
981b24255 Fix 3rd party driver mocks and related tests
6c8579c0d Temporary add per-file-ignores to flake8 tests
50c81cdbc Mark more configuration options as reloadable
aa4332254 Silence debug messages from oslo_messaging
a83dfd5b9 Do all serialization in the expose decorator
4d2567c2c Use tempest_plugins Zuul CI role
653d4e4ef Add `network_data` field to ironic node object
c647408f8 Fix tempest plugin location
5ab51c977 Update grenade job
ce878131c Remove testscenarios, testrepository and Babel from test-requirements
627d4dfd1 Monkey patch original current_thread _active
90777c127 Native zuulv3 grenade job for ironic
3e6dfdb3b Remove [conductor]api_url
2051b1979 Imported Translations from Zanata
d6e755245 Switch to unittest mock
2ffbfb4b4 Refactor RedfishVirtualMediaBoot
32beb7d98 Add Python3 victoria unit tests
2afbd77c1 Update master for stable/ussuri
b4341305d CI: exclude the inspection abort tests from the inspector-redfish-vmedia job
9c69103e3 CI: repair the SNMP job and make it voting.
1673d7b1c Fix configure-vm.py and xml file for centos8
4d810c160 Add PXE reset known issue to the docs
2dc18de2e Add ironic-standalone-redfish
0e401f3af CI: migrate UEFI jobs to Cirros 0.5.1
Diffstat (except docs and test files)
-------------------------------------
api-ref/source/baremetal-api-v1-indicators.inc | 154 +++
api-ref/source/baremetal-api-v1-nodes.inc | 4 +
api-ref/source/conf.py | 8 +-
api-ref/source/index.rst | 1 +
api-ref/source/parameters.yaml | 65 ++
api-ref/source/samples/node-create-response.json | 1 +
.../node-indicators-component-list-response.json | 45 +
.../node-indicators-get-state-response.json | 3 +
.../samples/node-indicators-list-response.json | 34 +
.../source/samples/node-indicators-set-state.json | 3 +
api-ref/source/samples/node-show-response.json | 1 +
.../samples/node-update-driver-info-response.json | 1 +
.../samples/nodes-list-details-response.json | 2 +
babel.cfg | 2 -
bindep.txt | 4 +-
devstack/common_settings | 26 +-
devstack/files/debs/ironic | 32 +-
devstack/lib/ironic | 290 ++++--
devstack/plugin.sh | 1 +
devstack/tools/ironic/scripts/configure-vm.py | 2 +-
devstack/tools/ironic/templates/vm.xml | 9 +-
driver-requirements.txt | 2 +-
ironic/api/app.py | 17 +-
ironic/api/controllers/v1/allocation.py | 3 +-
ironic/api/controllers/v1/chassis.py | 3 +-
ironic/api/controllers/v1/deploy_template.py | 3 +-
ironic/api/controllers/v1/network-data-schema.json | 580 +++++++++++
ironic/api/controllers/v1/node.py | 54 +-
ironic/api/controllers/v1/port.py | 3 +-
ironic/api/controllers/v1/portgroup.py | 3 +-
ironic/api/controllers/v1/ramdisk.py | 1 +
ironic/api/controllers/v1/utils.py | 4 +-
ironic/api/controllers/v1/versions.py | 6 +-
ironic/api/controllers/v1/volume_connector.py | 3 +-
ironic/api/controllers/v1/volume_target.py | 3 +-
ironic/api/expose.py | 204 +++-
ironic/api/functions.py | 182 ++++
ironic/api/hooks.py | 2 +-
ironic/api/middleware/__init__.py | 6 +-
.../{auth_token.py => auth_public_routes.py} | 13 +-
ironic/api/types.py | 26 +
ironic/cmd/__init__.py | 11 +-
ironic/common/cinder.py | 8 +-
ironic/common/exception.py | 4 +
ironic/common/images.py | 42 +-
ironic/common/json_rpc/__init__.py | 4 +-
ironic/common/json_rpc/client.py | 20 +-
ironic/common/json_rpc/server.py | 10 +-
ironic/common/policy.py | 6 +-
ironic/common/pxe_utils.py | 42 +-
ironic/common/raid.py | 3 +-
ironic/common/release_mappings.py | 23 +-
ironic/common/states.py | 4 +-
ironic/conductor/cleaning.py | 29 +-
ironic/conductor/deployments.py | 12 +-
ironic/conductor/manager.py | 39 +-
ironic/conductor/rpcapi.py | 1 +
ironic/conductor/utils.py | 100 +-
ironic/conf/agent.py | 24 +-
ironic/conf/api.py | 4 +
ironic/conf/cinder.py | 8 -
ironic/conf/conductor.py | 21 +-
ironic/conf/console.py | 4 +-
ironic/conf/default.py | 23 +-
ironic/conf/deploy.py | 13 +
ironic/conf/ilo.py | 5 +-
ironic/conf/ipmi.py | 14 +
ironic/conf/iscsi.py | 3 +
ironic/conf/json_rpc.py | 19 +-
ironic/conf/neutron.py | 13 +
ironic/conf/nova.py | 1 +
ironic/conf/opts.py | 2 +
ironic/conf/pxe.py | 39 +-
ironic/conf/redfish.py | 12 +
.../cf1a80fdb352_add_node_network_data_field.py | 30 +
ironic/db/sqlalchemy/api.py | 19 +-
ironic/db/sqlalchemy/models.py | 1 +
ironic/drivers/base.py | 20 +
ironic/drivers/ibmc.py | 6 +
ironic/drivers/modules/agent.py | 153 +--
ironic/drivers/modules/agent_base.py | 140 ++-
ironic/drivers/modules/agent_client.py | 130 ++-
ironic/drivers/modules/deploy_utils.py | 65 +-
ironic/drivers/modules/drac/bios.py | 2 +-
ironic/drivers/modules/drac/raid.py | 164 ++-
ironic/drivers/modules/ibmc/management.py | 2 -
ironic/drivers/modules/ibmc/power.py | 2 -
ironic/drivers/modules/ibmc/raid.py | 199 ++++
ironic/drivers/modules/ibmc/utils.py | 2 +-
ironic/drivers/modules/ibmc/vendor.py | 23 +-
ironic/drivers/modules/image_cache.py | 7 +-
ironic/drivers/modules/inspector.py | 5 +-
ironic/drivers/modules/ipmitool.py | 15 +-
ironic/drivers/modules/irmc/boot.py | 2 +-
ironic/drivers/modules/iscsi_deploy.py | 113 +--
ironic/drivers/modules/network/common.py | 77 +-
ironic/drivers/modules/pxe.py | 7 +-
ironic/drivers/modules/pxe_base.py | 26 +-
ironic/drivers/modules/redfish/boot.py | 1067 ++++++++++----------
ironic/drivers/modules/redfish/management.py | 90 +-
ironic/drivers/modules/redfish/power.py | 57 +-
ironic/drivers/redfish.py | 3 +-
ironic/drivers/utils.py | 10 +-
ironic/objects/node.py | 29 +-
.../unit/api/controllers/v1/test_allocation.py | 12 +-
.../unit/api/controllers/v1/test_conductor.py | 12 +-
.../api/controllers/v1/test_deploy_template.py | 40 +-
.../api/controllers/v1/test_notification_utils.py | 3 +-
.../unit/api/controllers/v1/test_portgroup.py | 12 +-
.../api/controllers/v1/test_volume_connector.py | 12 +-
.../unit/api/controllers/v1/test_volume_target.py | 12 +-
.../unit/conductor/test_notification_utils.py | 3 +-
.../unit/drivers/modules/ansible/test_deploy.py | 46 +-
.../unit/drivers/modules/drac/test_inspect.py | 3 +-
.../unit/drivers/modules/drac/test_management.py | 7 +-
.../drivers/modules/drac/test_periodic_task.py | 26 +-
.../unit/drivers/modules/ibmc/test_management.py | 2 +-
.../drivers/modules/ilo/test_firmware_processor.py | 3 +-
.../unit/drivers/modules/ilo/test_management.py | 3 +-
.../drivers/modules/intel_ipmi/test_management.py | 2 +-
.../unit/drivers/modules/irmc/test_inspect.py | 2 +-
.../unit/drivers/modules/irmc/test_management.py | 3 +-
.../drivers/modules/irmc/test_periodic_task.py | 3 +-
.../modules/network/json_samples/network_data.json | 113 +++
.../unit/drivers/modules/network/test_common.py | 219 ++--
.../unit/drivers/modules/network/test_flat.py | 96 +-
.../unit/drivers/modules/network/test_neutron.py | 144 +--
.../unit/drivers/modules/network/test_noop.py | 6 +
.../unit/drivers/modules/redfish/test_bios.py | 17 +-
.../unit/drivers/modules/redfish/test_boot.py | 289 +++---
.../unit/drivers/modules/redfish/test_inspect.py | 3 +-
.../drivers/modules/redfish/test_management.py | 116 ++-
.../unit/drivers/modules/redfish/test_power.py | 128 ++-
.../unit/drivers/modules/redfish/test_utils.py | 2 +-
.../unit/drivers/modules/storage/test_cinder.py | 3 +-
.../unit/drivers/modules/storage/test_external.py | 2 +-
.../unit/drivers/modules/test_agent_client.py | 99 +-
.../unit/drivers/modules/test_boot_mode_utils.py | 8 +-
.../unit/drivers/modules/test_console_utils.py | 2 +-
.../unit/drivers/modules/test_deploy_utils.py | 103 +-
.../unit/drivers/modules/test_inspect_utils.py | 3 +-
.../unit/drivers/modules/test_iscsi_deploy.py | 2 +-
.../unit/drivers/modules/xclarity/test_common.py | 3 +-
.../drivers/modules/xclarity/test_management.py | 4 +-
.../unit/drivers/modules/xclarity/test_power.py | 2 +-
lower-constraints.txt | 100 +-
playbooks/ci-workarounds/get_tftpd.yaml | 5 +
playbooks/legacy/grenade-dsvm-ironic/run.yaml | 121 ---
playbooks/legacy/ironic-dsvm-base/post.yaml | 15 -
playbooks/legacy/ironic-dsvm-base/pre.yaml | 22 -
.../add-ibmc-raid-interface-0c13826e134fb4ce.yaml | 5 +
.../notes/agent-client-poll-ce16fd589e88c95a.yaml | 7 +
.../notes/agent-power-off-2115fcfaac030bd0.yaml | 5 +
.../notes/agent-token-817a03776bd46d5b.yaml | 6 +
.../notes/allocation-delete-26c7c2f1651759f5.yaml | 6 +
...ault_use_ipmitool_retries-2529ce032eae7d1b.yaml | 9 +
.../notes/cleaning-logs-dc115b0926ae3982.yaml | 5 +
.../notes/del-api-url-eb2ea29aa63a2cb5.yaml | 6 +
.../notes/del-cinder-url-cf43cd0336c22878.yaml | 3 +
...l_exception_format_errors-f63b15c8aa460dff.yaml | 5 +
releasenotes/notes/deleting-dcdb9cf0d2a6a1a6.yaml | 4 +
.../notes/direct-fast-track-d0f43850b6e80751.yaml | 5 +
.../disable_periodic_task-590a91c0a5235cfb.yaml | 7 +
.../dont-cleanup-cache-twice-0395a50ad723bca8.yaml | 5 +
...licit_ipxe_config_options-d7bf9a743a13f523.yaml | 17 +
.../fast-track-with-cleaning-438225116a11662d.yaml | 7 +
...edfish-sadness-workaround-ed02cb310ff369f4.yaml | 11 +
.../notes/http-basic-auth-f8c0536eba989918.yaml | 34 +
.../notes/ibmcclient-fix-8c6cb49be0aef5f2.yaml | 4 +
.../idrac-add-ehba-support-10b90c92b8865364.yaml | 15 +
.../inspection-fast-track-ab5165e11d3e9522.yaml | 5 +
...tool-use_ipmitool_retries-b55b2b8ed5cab603.yaml | 16 +
.../notes/json-rpc-timeout-ac30eea164b3a294.yaml | 7 +
.../notes/netboot-fallback-b208b2c3b40a0d01.yaml | 12 +
...t-ports-with-vif-deletion-3edac3df5aa1becf.yaml | 7 +
releasenotes/notes/raid-max-c0920cc44b9779ee.yaml | 5 +
.../notes/redfish-noop-mgmt-b61d02b77b1c9d6b.yaml | 6 +
.../notes/redfish-power-87062756bce8b047.yaml | 6 +
.../notes/redfish-sadness-6e2a37b3f45ef1aa.yaml | 18 +
...tual-media-permission-fix-1909b9cdbbbf9fd1.yaml | 15 +
.../notes/reloadable-301ec2aa421abf66.yaml | 48 +
...e-format-for-memory-check-25b1f06701ccdc47.yaml | 6 +
.../notes/vif-port-attach-17a9993bf5c21d69.yaml | 8 +
releasenotes/source/conf.py | 9 +-
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 60 +-
releasenotes/source/ussuri.rst | 6 +
requirements.txt | 4 +-
setup.cfg | 18 +-
test-requirements.txt | 7 +-
tools/test-setup.sh | 4 +-
tox.ini | 24 +-
zuul.d/ironic-jobs.yaml | 250 ++++-
zuul.d/legacy-ironic-jobs.yaml | 45 -
zuul.d/project.yaml | 16 +-
337 files changed, 9072 insertions(+), 3017 deletions(-)
Requirements updates
--------------------
diff --git a/driver-requirements.txt b/driver-requirements.txt
index b8d91d0bc..bb016f26e 100644
--- a/driver-requirements.txt
+++ b/driver-requirements.txt
@@ -20 +20 @@ ansible>=2.7
-python-ibmcclient>=0.1.0
+python-ibmcclient>=0.2.2,<0.3.0
diff --git a/requirements.txt b/requirements.txt
index da87b3037..9a59e6777 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -14 +14 @@ keystoneauth1>=3.18.0 # Apache-2.0
-ironic-lib>=2.17.1 # Apache-2.0
+ironic-lib>=4.3.0 # Apache-2.0
@@ -43 +43 @@ oslo.versionedobjects>=1.31.2 # Apache-2.0
-jsonschema>=2.6.0 # MIT
+jsonschema>=3.2.0 # MIT
diff --git a/test-requirements.txt b/test-requirements.txt
index 497bcdc99..4d3bdfcea 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-hacking>=3.0.0,<3.1.0 # Apache-2.0
+hacking>=3.0.1,<3.1.0 # Apache-2.0
@@ -9,2 +8,0 @@ fixtures>=3.0.0 # Apache-2.0/BSD
-mock>=3.0.0 # BSD
-Babel!=2.4.0,>=2.3.4 # BSD
@@ -18,2 +15,0 @@ testtools>=2.2.0 # MIT
-testresources>=2.0.0 # Apache-2.0/BSD
-testscenarios>=0.4 # Apache-2.0/BSD
@@ -21,0 +18 @@ bashate>=0.5.1 # Apache-2.0
+pycodestyle>=2.0.0,<2.6.0 # MIT
1
0
We are excited to announce the release of:
ironic-python-agent 6.2.0: Ironic Python Agent Ramdisk
This release is part of the victoria 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.2.0
^^^^^
Bug Fixes
* Fixes deployment failures when the image download is interrupted
mid-stream while the contents are being downloaded. Previously
retries were limited to only opening the initial connection.
* Fixes the short timeout retries interval, which was previously "5"
seconds, to a length that will allow the agent to retry after a
network interruption. The time between retries is now "10" seconds,
and the number of retries are set to "9" to help ensure intermittent
network outages do not cause recoverable failures.
* Fixes an issue with high cpu usage caused by ironic-python-agent
greenthread eventlent implementation.
Using eventlet.sleep(0.1) instead of eventlet.sleep(0) gives other
processes of IPA more cpu time to run.
* Speeds up going from inspection to cleaning with fast-track
enabled by caching hardware information between the steps.
* Fixes serializing exceptions originating from ironic-lib.
Previously an attempt to do so would result in a "TypeError", for
example: *Object of type 'InstanceDeployFailure' is not JSON
serializable*.
* The size of the ESP partition created for software RAID has been
increased from 128 MiB to 550 MiB. This change is in line with the
recent diskimage-builder change (https://opendev.org/openstack
/diskimage-builder/commit/7fd52ba84180b4e749ccf4c9db8c49eafff46ea8)
as well as the guidance from the author of gdisk
(https://www.rodsbooks.com/efi-bootloaders/principles.html)
* Fixes failure to detect a hung file download connection in the
event that the kernel has not rapidly detected that the remote
server has hung up the socket. This can happen when there is
intermittent and transient connectivity issues such as those that
can occur due to LACP failure response hold-downs timers in
switching fabrics.
Changes in ironic-python-agent 6.1.0..6.2.0
-------------------------------------------
9d9a6bc Refactor part of image module
c76b8b2 Limit Inspection->Lookup->Heartbeat lag
a08029a Switch the inspector job to tinyIPA until DIB is fixed
ba3caa6 Increase the ESP partition size to 550 MiB when using software RAID
a4855c5 Fix serializing ironic-lib exceptions
c1c093f Bump hacking min version to 3.0.1
c502279 Mount all vfat partitions before calling grub2
00ad03b Fixes minor issues in the read() retries patch
4e0981e Temporary switch to tinyipa jobs
0eee26e Fix confusing logging when running asynchronous commands
5cc44d2 Add debug message to node lookup
7abda4e Minor clean-up follow-up to timeout on read() fix
c77a7df Extend retries to 9, 10 seconds apart.
159ab9f Add full download retries
c5b97eb Add timeout operations to try and prevent hang on read()
29eab32 Remove .travis.yml (wow, it is ancient)
6d7ec35 Make get_partition_uuids work with whole disk images
cf870ae Fix apidoc build
3dd929e Document how to output journal to console
648ac49 drop mock from lower-constraints
7e5fe11 Make the install_bootloader command asynchronous
4da53ab Add ffi development lib to bindep
9d4cf55 Add a deploy step for writing an image
6c1545b New extension call to return partition UUIDs
9524890 Fix an issue with high cpu usage caused by ironic-python-agent
557d560 Split and move logic for partition tables
f108b7a Switch to newer openstackdocstheme and reno versions
437a8c6 Convert jobs to dib
06267a9 Update lower-constraints.txt
67dd91d CI: raise DIB jobs memory to 3 GiB
f6ee877 Fix pep8 errors
e00fe3b Add py38 package metadata
318828c Add Python3 victoria unit tests
0edc9c1 Update master for stable/ussuri
8d21063 Fix TypeError with newer version of lshw
2738e57 Add function to calculate memory
Diffstat (except docs and test files)
-------------------------------------
.travis.yml | 19 -
bindep.txt | 2 +
ironic_python_agent/agent.py | 21 +-
ironic_python_agent/config.py | 4 +-
ironic_python_agent/encoding.py | 12 +
ironic_python_agent/extensions/base.py | 42 +-
ironic_python_agent/extensions/image.py | 94 ++--
ironic_python_agent/extensions/standby.py | 168 ++++--
ironic_python_agent/hardware.py | 107 ++--
ironic_python_agent/inspector.py | 2 +-
ironic_python_agent/ironic_api_client.py | 3 +
ironic_python_agent/raid_utils.py | 39 +-
ironic_python_agent/utils.py | 27 +-
lower-constraints.txt | 37 +-
...y-retries-image-downloads-67409a493c6d08ae.yaml | 6 +
.../extend-retry-timeout-30c930a33d97c193.yaml | 8 +
...x-high-cpu-usage-eventlet-1dccf3b81dd42c47.yaml | 8 +
.../notes/inspect-to-clean-b3616d843775c187.yaml | 5 +
releasenotes/notes/lib-exc-41ee122eb4a04bc4.yaml | 6 +
.../notes/raid-esp-size-2c322adb2d3b9ce7.yaml | 9 +
.../timeout_on_file_download-ed77918318316075.yaml | 9 +
releasenotes/source/conf.py | 8 +-
releasenotes/source/index.rst | 1 +
releasenotes/source/ussuri.rst | 6 +
setup.cfg | 1 +
test-requirements.txt | 7 +-
tox.ini | 4 +
zuul.d/ironic-python-agent-jobs.yaml | 72 ++-
zuul.d/project.yaml | 6 +-
43 files changed, 1407 insertions(+), 893 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index c48ea59..0565105 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-hacking>=3.0.0,<3.1.0 # Apache-2.0
+hacking>=3.0.1,<3.1.0 # Apache-2.0
@@ -13 +13 @@ bandit!=1.6.0,>=1.1.0,<2.0.0 # Apache-2.0
-# Doc requirements
+# Doc test requirements
@@ -15,3 +14,0 @@ doc8>=0.6.0 # Apache-2.0
-sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
-openstackdocstheme>=1.20.0 # Apache-2.0
-reno>=2.5.0 # Apache-2.0
1
0
We are ecstatic to announce the release of:
python-openstackclient 5.3.0: OpenStack Command-line Client
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/python-openstackclient
Download the package from:
https://pypi.org/project/python-openstackclient
Please report issues through:
https://storyboard.openstack.org/#!/project/openstack/python-
openstackclient
For more details, please see below.
5.3.0
^^^^^
New Features
************
* Add a new option *--description* to "floating ip port forwarding
create" and "floating ip port forwarding set" commands.
* Added "--import" flag to "openstack image create" to allow the
user to force use of the image import codepath.
* Added the below mentioned parameters to the user create and set
commands.
* --ignore-lockout-failure-attempts
* --no-ignore-lockout-failure-attempts
* --ignore-password-expiry
* --no-ignore-password-expiry
* --ignore-change-password-upon-first-use
* --no-ignore-change-password-upon-first-use
* --enable-lock-password
* --disable-lock-password
* --enable-multi-factor-auth
* --disable-multi-factor-auth
* --multi-factor-auth-rule
This will now allow users to set user options via CLI.
<https://docs.openstack.org/keystone/latest/admin/resource-
options.html#user-options>
* Added the below mentioned parameters to the role, project and
domain commands.
* --immutable
* --no-immutable
This will allow user to set "immutable" resource option.
* Add "--force" options to the "openstack quota set" command. The
compute service allows us to to force set a quota, setting a quota
value that is less than the amount of the resource currently
consumed. Expose this feature by way of a "--force" boolean
parameter.
* Add "address_scope" as a valid "--type" value for the "network
rbac create" and "network rbac list" commands.
* Add "subnetpool" as a valid "--type" value for the "network rbac
create" and "network rbac list" commands.
* Add new commands "router add route" and "router remove route" to
support new Neutron extension: "extraroute-atomic" (see Neutron RFE
(https://bugs.launchpad.net/neutron/+bug/1826396))
* Add "--stateful" and "--stateless" option to the "security group
create" and "security group set" commands to support stateful and
stateless security groups.
Deprecation Notes
*****************
* The use of "router set --route" to add extra routes next to
already existing extra routes is deprecated in favor of "router add
route --route", because "router set --route" if used from multiple
clients concurrently may lead to lost updates.
Bug Fixes
*********
* [Story 2005246
(https://storyboard.openstack.org/#!/story/2005246) The *is_domain*
property safely handles type checking.
* While uploading a signed image, a private key to sign that image
must be specified. The CLI client asks for the password of that
private key. Due to wrong encoding handling while using Python 3,
the password is not accepted, whether it is correct or not.
* Makes "volume backup record" commands available in Volume API v3.
Task 40279
Changes in python-openstackclient 5.2.0..5.3.0
----------------------------------------------
c06d8256 Fix uploading an signed image does not work if private signing key is encrypted
5c4eb0bf Add a command to trigger entrypoint cache creation
870cf011 switch to stevedore for entry points
b1fc587a Make volume backup record commands available in v3
4638dbc7 Remove enabling of glance v1 API
c04ec16c Expose flag for forcing use of import for images
ff2a70c4 Remove translation sections from setup.cfg
307d23bb port: add --host to list command
8b7a2c8d Don't display Munch objects in the output
a0417296 Revert "Format location columns in network commands"
da3c3bde image: autogenerate docs
26878e7d identity: autogenerate docs
7696593d Remove os-client-config references
2cb41935 Add cliff to libs-from-git for devstack functional tips
aa7b84fd Add OpenStack Client for Manila docs
b5389dab Remove congress
a15b1add Replace assertItemsEqual with assertCountEqual
533af9f1 Client should parse string to boolean for value 'is_domain'
7049fd85 Add py38 package metadata
709dfd9c Switch to newer openstackdocstheme and reno versions
41a2e829 Make container list --all work
f6ee42cd Cleanup: remove a useless reference to "object"
52ff421e Resolve PEP8
ae673171 Correct image lookup during server rebuild
cc135e3b Add Python3 victoria unit tests
66202464 Update master for stable/ussuri
da4e1ca9 Remove Babel from requirements
b328cf74 Add '--force; parameter to 'openstack quota set'
557e65d8 Add 'subnetpool' type support to rbac commands
7f66273d Add resource option immutable
bdaebeb5 Revert "Disallow setting default on internal network"
725e004d Use unittest.mock instead of third party mock
74a7c1d9 Add description field to portforwarding NAT rules
5e62411e Support for stateless security groups
f01a0f33 Cleanup Python 2.7 support
dba57c85 Add command: router add/remove route --route
05da145e Adding options to user cli
8efb3198 Be explicit about python version in image
97d027ca Add libc6-dev to bindep
f03cb68a Add 'address_scope' type support to network rbac commands
3e83e747 Allow os quota list query to filter by project
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 17 +-
Dockerfile | 7 +-
babel.cfg | 1 -
bindep.txt | 1 +
.../command-objects/application-credentials.rst | 107 +-
.../cli/command-objects/ec2-credentials-v2.rst | 6 +
.../cli/command-objects/ec2-credentials-v3.rst | 6 +
.../command-objects/federation-domain-project.rst | 11 +
.../cli/command-objects/federation-protocol.rst | 14 +-
.../cli/command-objects/identity-provider.rst | 14 +-
.../cli/command-objects/registered-limit.rst | 133 +-
.../cli/command-objects/service-provider.rst | 14 +-
lower-constraints.txt | 17 +-
openstackclient/api/object_store_v1.py | 14 +-
openstackclient/common/clientmanager.py | 23 +-
openstackclient/common/quota.py | 21 +-
openstackclient/compute/v2/server.py | 9 +-
openstackclient/identity/common.py | 24 +
openstackclient/identity/v3/domain.py | 9 +
openstackclient/identity/v3/project.py | 17 +
openstackclient/identity/v3/role.py | 10 +-
openstackclient/identity/v3/user.py | 120 +-
openstackclient/image/v2/image.py | 17 +
openstackclient/network/sdk_utils.py | 5 +
openstackclient/network/v2/address_scope.py | 10 +-
openstackclient/network/v2/floating_ip.py | 2 -
.../network/v2/floating_ip_port_forwarding.py | 20 +
openstackclient/network/v2/ip_availability.py | 2 -
openstackclient/network/v2/network.py | 8 +-
openstackclient/network/v2/network_agent.py | 1 -
.../network/v2/network_auto_allocated_topology.py | 17 +-
openstackclient/network/v2/network_flavor.py | 10 +-
.../network/v2/network_flavor_profile.py | 10 +-
openstackclient/network/v2/network_meter.py | 10 +-
openstackclient/network/v2/network_meter_rule.py | 10 +-
openstackclient/network/v2/network_qos_policy.py | 10 +-
openstackclient/network/v2/network_qos_rule.py | 10 +-
.../network/v2/network_qos_rule_type.py | 8 +-
openstackclient/network/v2/network_rbac.py | 32 +-
openstackclient/network/v2/network_segment.py | 10 +-
.../network/v2/network_segment_range.py | 9 +-
openstackclient/network/v2/port.py | 7 +-
openstackclient/network/v2/router.py | 98 +-
openstackclient/network/v2/security_group.py | 37 +-
openstackclient/network/v2/security_group_rule.py | 10 +-
openstackclient/network/v2/subnet.py | 1 -
openstackclient/network/v2/subnet_pool.py | 1 -
.../functional/network/v2/test_security_group.py | 4 +-
.../network/v2/test_floating_ip_port_forwarding.py | 15 +-
.../unit/network/v2/test_security_group_network.py | 10 +
...-field-in-port-forwarding-c536e077b243d517.yaml | 6 +
.../add-image-import-flag-899869dc5a92aea7.yaml | 5 +
...ns_to_user_create_and_set-302401520f36d153.yaml | 19 +
...resource_option_immutable-efed6e1ebdc69591.yaml | 9 +
.../notes/bug-2005246-3fb70206bafc5444.yaml | 5 +
...fault-on-internal-network-824fdea1a900891c.yaml | 9 -
.../notes/fix-story-2007890-0974f3e69f26801e.yaml | 7 +
...orce-flag-openstackclient-c172de2717e5cfac.yaml | 6 +
.../rbac-add-address-scope-7f6409ab70d36306.yaml | 4 +
.../rbac-add-subnetpool-f1fc0e728ff61654.yaml | 4 +
.../router-extraroute-atomic-d6d406ffb15695f2.yaml | 12 +
.../stateful-security-group-a21fa8498e866b90.yaml | 6 +
.../notes/task-40279-eb0d718ac1959c50.yaml | 5 +
releasenotes/source/conf.py | 12 +-
releasenotes/source/index.rst | 1 +
releasenotes/source/ussuri.rst | 6 +
requirements.txt | 4 +-
setup.cfg | 42 +-
setup.py | 9 -
test-requirements.txt | 4 +-
tox.ini | 2 -
143 files changed, 3038 insertions(+), 3586 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index b17b6a55..2b7976e5 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -7 +6,0 @@ six>=1.10.0 # MIT
-Babel!=2.4.0,>=2.3.4 # BSD
@@ -9 +8 @@ cliff!=2.9.0,>=2.8.0 # Apache-2.0
-openstacksdk>=0.36.0 # Apache-2.0
+openstacksdk>=0.48.0 # Apache-2.0
@@ -15,0 +15 @@ python-cinderclient>=3.3.0 # Apache-2.0
+stevedore>=2.0.1 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 55ae1ea4..3dce687b 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -8 +7,0 @@ flake8-import-order>=0.13 # LGPLv3
-mock>=2.0.0 # BSD
@@ -12,2 +10,0 @@ requests-mock>=1.2.0 # Apache-2.0
-stevedore>=1.20.0 # Apache-2.0
-os-client-config>=1.28.0 # Apache-2.0
@@ -19,0 +17 @@ wrapt>=1.7.0 # BSD License
+ddt>=1.0.1 # MIT
1
0
We eagerly announce the release of:
ironic-inspector 10.2.0: Hardware introspection for OpenStack Bare
Metal
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/ironic-inspector
Download the package from:
https://tarballs.openstack.org/ironic-inspector/
Please report issues through:
https://storyboard.openstack.org/#!/project/944
For more details, please see below.
10.2.0
^^^^^^
New Features
************
* Adds the ability for periodic clean-up and synchronization tasks
with "ironic" to be able to be disabled by setting the
"[DEFAULT]clean_up_period" to a value of "0". This is intended for
"stand-alone" operators only as it may result in unexpected
behaviors if used in a non-standalone environment.
* Adds a new configuration option "[discovery]enroll_node_fields"
that specifies additional fields to set on a node (e.g. driver
interfaces).
* Enable Basic HTTP authentication middleware.
When the config option "[DEFAULT]auth_strategy" is set to
"http_basic" then non-public API calls require a valid HTTP Basic
authentication header to be set. The config option
"[DEFAULT]http_basic_auth_user_file" defaults to "/etc/ironic-
inspector/htpasswd" and points to a file that supports the Apache
htpasswd syntax[1]. This file is read for every request, so no
service restart is required when changes are made.
The only password digest supported is bcrypt, and the "bcrypt"
python library is used for password checks since it supports "$2y$"
prefixed bcrypt passwords as generated by the Apache htpasswd
utility.
To try basic authentication, the following can be done:
* Set "/etc/ironic-inspector/inspector.conf"
"[DEFAULT]auth_strategy" to "http_basic"
* Populate the htpasswd file with entries, for example: "htpasswd
-nbB myName myPassword >> /etc/ironic-inspector/htpasswd"
* Make basic authenticated HTTP requests, for example: "curl
--user myName:myPassword http://localhost:6385/v1/introspection"
[1]
https://httpd.apache.org/docs/current/misc/password_encryptions.html
* Adds periodic leader election for the cleanup sync with Ironic.
The election interval is configured by the new
"leader_election_interval" config option.
* Adds a configuration option "[processing]update_pxe_enabled" to
control whether the pxe_enabled should be updated according to
introspection data for ports. The default value is True which is
backwards compatible.
Upgrade Notes
*************
* Remove upper constraint for python construct library and use the
latest version available. The minimum compatible version for python
construct is now 2.9.39
* The raw data from the "extra_hardware" processing hook is no
longer stored in Swift in an object named "extra_hardware-<node
UUID>". The same information is already available as part of the
unprocessed introspection data without a hard dependency on Swift.
Deprecation Notes
*****************
* The deprecated "[swift]max_retries" parameter has been removed.
Bug Fixes
*********
* Fixes an issue where IPv6 link local addresses are ignored during
interface validation, making introspection fail.
* Fixes "AttributeError: 'Node' object has no attribute 'uuid'" when
trying to introspect an active node that is not currently in the
cache.
* No longer aborts the whole process if one periodic task fails.
* Fixes accessing API endpoints with trailing slashes. Now they're
treated the same way as without slashes, although the latter remain
canonical URLs.
* No longer uses introspection delay for nodes with
"manage_boot==False" (i.e. boot is managed by ironic). It is useless
and may actually break introspection if a node boots before it gets
whitelisted in the PXE filter.
* The introspection start API is now synchronous when
"manage_boot==False". This means that any failures will be
propagated to ironic, preventing it from powering a node on and
booting it without the PXE filter updated.
Changes in ironic-inspector 10.1.0..10.2.0
------------------------------------------
b1e79e0 Add release version to release notes
06390e3 Use node.id instead of node.uuid in record_node
79878d7 Prepare release notes for release 10.2
0d20064 Add leader election for periodic sync with ironic
2f828ae Allow operators to disable clean_up sync
f78229f Allow setting other fields on discovery
2532be9 Document [ironic] auth options for inspector
b31888a Fix incorrect pxe-enabled was set during introspection
f416673 Merge jobs
610228a Imported Translations from Zanata
7166617 Accept IPv6 link local address during interface validation
463cc07 Remove cimc_address from address field list
2b87caa CI: make grenade voting again
47315f9 devstack: Use uwsgi binary from path; temporary disable grenade
52138f2 Update doc for multi-arch x86
80167d4 Use unittest.mock instead of mock
6175bc4 [doc] Add misconfigured BMC channel to trouble shooting guide
196c019 Enable Basic HTTP authentication middleware.
7470320 Remove introspection timeout option
5004f93 Update lower-constraints.txt
542db84 Set default timeouts for ironic inspector base job
5960cde Cap jsonschema 3.2.0 as the minimal version
5d61513 Add py38 package metadata
06ee500 Set tempest_test_timeout for managed job
c2224fd Bump hacking min version to 3.0.1
68ab6a0 Switch to newer openstackdocstheme and reno versions
0a037c5 Increase timeout for introspection in ironic-inspector-tempest-managed
9951b72 Imported Translations from Zanata
c044ebd extra_hardware: stop storing raw data in swift
b9f1746 Stop configuring install_command in tox.
721bd81 Use latest version of python construct
1818bda Remove translation sections from setup.cfg
5ccef9c Treat endpoints with trailing slashes the same way as without them
9643451 Stop creating a green thread in the introspection unit tests
f3e27c1 Make POST /v1/introspection synchronous when manage_boot==False
3d1bf55 Avoid using introspection start delays with non-managed boot
b5d3214 Convert jobs to dib
a7ef716 Revert disabling the grenade job
edfec4c Temporary disbling grenade and non-standalone-tempest
6ba9e00 [docs] remove the horribly outdated version support matrix
bb71167 Fix grenade job
a02fcd1 Add variable to set inspection timeout in tempest tests
fe15db0 Silence debug logging from oslo_messaging
8a02e5a Stop running a periodic task for the noop PXE filter
6e38eff Stop aborting the process on periodic task failures
1b972c7 Monkey patch original current_thread _active
8211ab4 Update local.conf example file.
84c47d9 Cleanup deprecated [swift]max_retries
41b3323 [trivial] Remove duplicate entry in lldp test
d580714 Remove testresources and testscenarios from test-requirements
cee5922 Hacking: enforce usage of autospec=True in tests
c4a057c Imported Translations from Zanata
a5a81cf Add Python3 victoria unit tests
3c23ad1 Update master for stable/ussuri
61cd2af Upgrade flake8-import-order version to 0.17.1
773b199 No need to import print function anymore
Diffstat (except docs and test files)
-------------------------------------
api-ref/source/conf.py | 36 +---
babel.cfg | 1 -
devstack/example.local.conf | 60 ++++---
devstack/plugin.sh | 6 +-
ironic_inspector/cmd/__init__.py | 6 +
ironic_inspector/cmd/migration.py | 2 -
ironic_inspector/common/coordination.py | 35 ++++
ironic_inspector/common/lldp_parsers.py | 13 +-
ironic_inspector/common/lldp_tlvs.py | 16 +-
ironic_inspector/conductor/manager.py | 95 ++++++----
ironic_inspector/conf/default.py | 32 +++-
ironic_inspector/conf/discovery.py | 2 +
ironic_inspector/conf/opts.py | 5 +-
ironic_inspector/conf/processing.py | 5 +
ironic_inspector/conf/swift.py | 3 -
ironic_inspector/introspect.py | 42 +++--
.../locale/en_GB/LC_MESSAGES/ironic_inspector.po | 57 ++++--
ironic_inspector/main.py | 27 ++-
ironic_inspector/node_cache.py | 5 +-
ironic_inspector/plugins/discovery.py | 2 +-
ironic_inspector/plugins/extra_hardware.py | 19 --
ironic_inspector/plugins/lldp_basic.py | 1 -
ironic_inspector/plugins/local_link_connection.py | 5 +-
ironic_inspector/plugins/standard.py | 6 +-
ironic_inspector/pxe_filter/base.py | 3 +
ironic_inspector/test/functional.py | 43 ++++-
ironic_inspector/test/unit/test_common_ironic.py | 6 +-
ironic_inspector/test/unit/test_introspect.py | 38 +++-
ironic_inspector/test/unit/test_iptables.py | 2 +-
ironic_inspector/test/unit/test_main.py | 85 ++++++---
ironic_inspector/test/unit/test_manager.py | 62 ++-----
ironic_inspector/test/unit/test_migrations.py | 22 +--
ironic_inspector/test/unit/test_node_cache.py | 13 +-
.../test/unit/test_plugins_base_physnet.py | 3 +-
.../test/unit/test_plugins_discovery.py | 23 +++
.../test/unit/test_plugins_extra_hardware.py | 73 +-------
.../test/unit/test_plugins_lldp_basic.py | 25 ++-
.../unit/test_plugins_local_link_connection.py | 3 +-
.../test/unit/test_plugins_pci_devices.py | 18 +-
.../test/unit/test_plugins_physnet_cidr_map.py | 14 +-
.../test/unit/test_plugins_standard.py | 23 +--
ironic_inspector/test/unit/test_process.py | 9 +-
ironic_inspector/test/unit/test_pxe_filter.py | 12 +-
ironic_inspector/test/unit/test_utils.py | 5 +
ironic_inspector/test/unit/test_wsgi_service.py | 10 ++
ironic_inspector/utils.py | 12 +-
lower-constraints.txt | 110 ++++++++++--
...to-turn-off-periodic-sync-5309ff2aa8a9ec14.yaml | 8 +
...accept-link-local-address-1fbb9cbdc3f980bb.yaml | 5 +
.../notes/construct-fly-free-fab62c0a5cb71fa5.yaml | 6 +
.../notes/enroll-node-fields-3f4e22213fd90307.yaml | 5 +
.../extra-hardware-data-2346f0163e4b7699.yaml | 7 +
.../notes/http-basic-auth-fbe1da9669f5388c.yaml | 27 +++
.../notes/leader-election-c6692d9962f30ad1.yaml | 6 +
releasenotes/notes/node-id-920629472f01c83a.yaml | 5 +
releasenotes/notes/periodics-18bf7fb57777c043.yaml | 4 +
.../pxe-enabled-for-pxe-a199e81128557bc0.yaml | 6 +
...swift-max-retries-removal-8f3c117240448760.yaml | 4 +
.../notes/trailing-slashes-93c2466b71829ec1.yaml | 5 +
.../notes/unmanaged-delay-d39871e1346d9448.yaml | 6 +
.../notes/unmanaged-result-4de3788e7820e3c5.yaml | 6 +
releasenotes/source/conf.py | 9 +-
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 194 ++++++++++++++++++++-
releasenotes/source/train.rst | 6 +-
releasenotes/source/ussuri.rst | 6 +
requirements.txt | 10 +-
setup.cfg | 15 +-
test-requirements.txt | 12 +-
tox.ini | 4 +-
zuul.d/ironic-inspector-jobs.yaml | 38 ++--
zuul.d/project.yaml | 8 +-
76 files changed, 1055 insertions(+), 521 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 95c0dd4..27b08bb 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,2 +5,2 @@ automaton>=1.9.0 # Apache-2.0
-alembic>=0.8.10 # MIT
-construct<2.9,>=2.8.10 # MIT
+alembic>=0.9.6 # MIT
+construct>=2.9.39 # MIT
@@ -10 +10 @@ futurist>=1.2.0 # Apache-2.0
-ironic-lib>=2.17.0 # Apache-2.0
+ironic-lib>=4.3.0 # Apache-2.0
@@ -12,2 +12,2 @@ jsonpath-rw<2.0,>=1.2.0 # Apache-2.0
-jsonschema>=2.6.0 # MIT
-keystoneauth1>=3.14.0 # Apache-2.0
+jsonschema>=3.2.0 # MIT
+keystoneauth1>=4.2.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index ce6c002..be6935d 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -8,3 +8,3 @@ doc8>=0.6.0 # Apache-2.0
-flake8-import-order>=0.13 # LGPLv3
-hacking>=3.0.0,<3.1.0 # Apache-2.0
-sphinx!=1.6.6,!=1.6.7,>=1.6.2 # BSD
+flake8-import-order>=0.17.1 # LGPLv3
+hacking>=3.0.1,<3.1.0 # Apache-2.0
+sphinx>=2.0.0,!=2.1.0 # BSD
@@ -13 +13 @@ sphinxcontrib-apidoc>=0.2.0 # BSD
-openstackdocstheme>=1.31.2 # Apache-2.0
+openstackdocstheme>=2.2.0 # Apache-2.0
@@ -17 +17 @@ stestr>=1.0.0 # Apache-2.0
-reno>=2.5.0 # Apache-2.0
+reno>=3.1.0 # Apache-2.0
@@ -19,2 +18,0 @@ fixtures>=3.0.0 # Apache-2.0/BSD
-testresources>=2.0.0 # Apache-2.0/BSD
-testscenarios>=0.4 # Apache-2.0/BSD
1
0
We are tickled pink to announce the release of:
oslo.policy 2.1.3: Oslo Policy library
This release is part of the stein stable release series.
The source is available from:
https://opendev.org/openstack/oslo.policy
Download the package from:
https://pypi.org/project/oslo.policy
Please report issues through:
https://bugs.launchpad.net/oslo.policy/+bugs
For more details, please see below.
2.1.3
^^^^^
Bug Fixes
* [bug 1880959 (https://bugs.launchpad.net/keystone/+bug/1880959)
The behavior of policy file reloading from policy directories was
fixed. Previously the rules from policy files located in the
directories specified in the "policy_dirs" option were not reapplied
after the rules from the primary policy file have been reapplied due
to a change.
Changes in oslo.policy 2.1.2..2.1.3
-----------------------------------
a49f31d Reload files in policy_dirs on primary file change
Diffstat (except docs and test files)
-------------------------------------
oslo_policy/policy.py | 41 +++++++++++++++++----
.../notes/bug-1880959-8f1370a59759d40d.yaml | 8 ++++
3 files changed, 85 insertions(+), 7 deletions(-)
1
0
We high-spiritedly announce the release of:
oslo.policy 2.3.4: Oslo Policy library
This release is part of the train stable release series.
The source is available from:
https://opendev.org/openstack/oslo.policy
Download the package from:
https://pypi.org/project/oslo.policy
Please report issues through:
https://bugs.launchpad.net/oslo.policy/+bugs
For more details, please see below.
2.3.4
^^^^^
Bug Fixes
* [bug 1880959 (https://bugs.launchpad.net/keystone/+bug/1880959)
The behavior of policy file reloading from policy directories was
fixed. Previously the rules from policy files located in the
directories specified in the "policy_dirs" option were not reapplied
after the rules from the primary policy file have been reapplied due
to a change.
Changes in oslo.policy 2.3.3..2.3.4
-----------------------------------
5904564 Reload files in policy_dirs on primary file change
Diffstat (except docs and test files)
-------------------------------------
oslo_policy/policy.py | 41 +++++++++++++++++----
.../notes/bug-1880959-8f1370a59759d40d.yaml | 8 ++++
3 files changed, 85 insertions(+), 7 deletions(-)
1
0
We jubilantly announce the release of:
bifrost 8.2.0: Deployment of physical machines using OpenStack Ironic
and Ansible
This release is part of the victoria 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.
8.2.0
^^^^^
New Features
************
* It is now possible to use the "bifrost" cloud with introspection
commands even in no-auth mode.
* Debian Buster is now supported as a base operating system.
* Configures the default deploy and rescue kernel/ramdisk, setting
them in "driver_info" is now optional.
* Ubuntu Focal (20.04) is now supported as a base operating system.
* The values of "enabled_bios_interfaces",
"enabled_boot_interfaces", "enabled_management_interfaces" and
"enabled_power_interfaces" are now derived from the
"enabled_hardware_types" if left empty (the default).
* Adds a new parameter "internal_ip" specifying which IP address to
use for nodes to reach ironic and the HTTP server, and for cross-
service interactions when keystone is disabled. By default the IPv4
address of the "network_interface" is used.
* The "manual-management" hardware type is now enabled by default.
It can be used with hardware that does not feature a supported BMC.
* The "noop" management interface can now be used out-of-box with
"ipmi" and "redfish" nodes to prevent ironic from changing the boot
device and order.
* MetalSmith (https://docs.openstack.org/metalsmith/) is now
installed by default.
* A normal ironic "nodes.json" (suitable for the "baremetal create"
command) is now generated when creating testing VMs. The default
location is "/tmp/nodes.json".
* Sets the default resource class for newly enrolled nodes without
an explicit resource class. Defaults to "baremetal", can be changed
via the "default_resource_class" parameter.
* Fedora 30 is now supported as a base operating system.
* Adds two new parameters for controlling how existing git checkouts
are handled:
* "update_repos" can be set to "false" to prevent the repositories
from being updated.
* "force_update_repos" can be set to "false" to prevent Bifrost
from overwriting local changes.
* Changes the default version of Ansible to version 2.9.
* The new variable "use_tinyipa" (defaulting to "true") defines
whether to use the pre-built tinyIPA images or production-ready
CentOS images built with DIB.
Upgrade Notes
*************
* Explicit support for Fedora versions precedent to 30 has been
removed.
* Explicit support for Debian Jessie has been removed.
* OpenStackClient is no longer installed when keystone is not
enabled. Use the ironic native "baremetal" command instead. For
example, instead of
openstack baremetal node list
use just
baremetal node list
* The shade library is no longer used, nor installed by default.
* The default version of Ansible used for this release of bifrost is
version 2.9. Operators may wish to upgrade if they are directly
invoking playbooks or roles.
* All packages are now installed in a virtual environment in
"/opt/stack/bifrost" by default instead of system-wide.
Deprecation Notes
*****************
* The "bifrost-inspector" cloud in "clouds.yaml" is now deprecated,
use the main "bifrost" cloud for all commands.
* The "os_ironic_facts" module is deprecated. Please use
"os_ironic_node_info" that returns information in the "node"
parameter.
* Support for system-wide installation of packages is deprecated,
untested and may be removed in a future release.
Bug Fixes
*********
* Fixes installing Keystone under CentOS 8.
* Fixes failure to install on systems with a local resolved by
setting "disable_dnsmasq_dns" to "True" by default.
* Fixes fast-track deployment after inspection/discovery by
providing the correct ironic API URL to the ramdisk.
* Fixes deployment in a testing environment on CentOS 8 by using
firewalld instead of iptables to enable access from nodes to ironic.
* An ironic-python-agent image is now updated every time the
installation playbooks are run. This is done to avoid discrepancy
between ironic and the ramdisk on updates. Set "update_ipa" to
"false" to prevent the ramdisk update (not recommended) or
"update_repos" to "false" to disable any updates.
Other Notes
***********
* Support for Ubuntu Xenial and Debian Stretch has been officially
removed (Bifrost has been broken on them since Ussuri because of the
transition to Python 3.6).
Changes in bifrost 8.0.0..8.2.0
-------------------------------
0b58a05 Do not use 'sudo pip install' when venv is used
3d2ee60 Prepare release notes for release 8.2
00ac26e Fix bifrost_venv_dir default assignment
deaa4d7 Use firewalld to open ports on CentOS and RHEL.
27d8752 install-deps: install setuptools early for Debian
dbb3f24 Get rid of venv_python_path
f5906a9 Derive enabled hardware interfaces from enabled_hardware_types
c0499c4 Consolidate the default IP address handling
fa1b8ea Add openstack collection
77a5ad3 CI: clean up non-votings jobs
ec72e0c Make bifrost more metalsmith-friendly
835a487 Fix fast-track deployment after discovery/inspection
188e121 Update IPA if update_repos is true (the default)
ed26a19 Only install proliantutils if ilo is enabled; support idrac
2c9ede3 Migrate pip_install.yml to a new role bifrost-pip-install
99b93f4 Remove the ansible_pkg_mgr hack
a78e64b Allow changing 'update' and 'force' when cloning repos
a071eb9 Update ansible versions in README of the roles
9f78723 Remove the workaround for PEP517 issues
7283e3d Convert with_items to loop
1ddaf56 reno: update release versions for Ussuri and Train
12c6f71 Quick start Bifrost CLI
3fe85c5 Add an option to use pre-built DIB images
59a0185 Install packages all at once instead of looping over them
81389bc drop mock from lower-constraints
3ffa9c7 Fix bifrost_inventory.py with no nodes enrolled
d5a279a bifrost-create-vm-nodes: generate a normal nodes.json
0477e45 Set default deploy/rescue kernel/ramdisk in ironic.conf
a077a50 Remove empty files from the roles
23f467b Restore installing DIB-specific dependencies
9c9c014 Moving to ansible 2.9
8aa8086 Switch to using virtual envs by default
b86f478 Set disable_dnsmasq_dns to True
4b2913a Documentation: minor fixes in the user guide
1dfe31d Documentation: reorder the contributors guide
7e363d4 Drop hard requirement on debootstrap and EPEL
c9866a0 Enable manual-management and the noop management interface
8593f23 Install uWSGI from PyPI to repair CentOS 8 support
6f44cd8 Stop supporting non-systemd systems
8b43bf0 Get rid of the shade dependency
95e78f1 Install metalsmith by default
85e1b82 CI: reduce memory and disk for testing nodes
e35293b Support Ubuntu Focal (20.04)
979bcae Remove support for Ubuntu Xenial and Debian Stretch
ccdfa1d Support Debian Buster and add CI jobs for it
7a7022b [Trivial] Correct a typo in the docs
3532919 Avoid running functional jobs for api-ref changes
ccfe458 Follow up on add Fedora 30 support
d8e8297 Add Fedora 30 based job
d8ff9ff CI: move the libvirt storage pool to /opt
5182388 Fix pip3 path
d75a07c Fix check packages command
2be8ee6 Fix detection of mkisofs
bb807b2 Correct handling enable_venv in pip_install.yml
d804de8 Remove explicit support for EOL Fedora versions and Debian Jessie
a381b0f install-deps: use system pip and bindep for installing dependencies
08b5bd7 Deprecate a separate bifrost-inspector cloud
0b7fd20 Stop installing openstackclient if keystone is not enabled
8b7a41e Make the keystone job voting and re-enable commented out jobs
28eb779 Fix pygments style
c1c360c Update docs references for CentOS 8
cc415e5 Install python3-pip system package
5d126e3 Switch to newer openstackdocstheme and reno versions
50132a8 Remove .testr.conf
327cc85 Remove the unused coding style modules
62ccb03 Remove translation sections from setup.cfg
999e1bb Update lower-constraints.txt
ceb5a49 Add py38 package metadata
80022d9 No need to import print from future anymore
f1cbedd Add Python3 victoria unit tests
ad48cad Update master for stable/ussuri
556ce37 Upgrade flake8-import-order version to 0.17.1
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 4 +
.testr.conf | 7 -
ansible-collection-requirements.yml | 4 +
babel.cfg | 2 -
bifrost-cli | 13 ++
bifrost/__init__.py | 10 +-
bifrost/cli.py | 240 +++++++++++++++++++++
bifrost/inventory.py | 56 ++---
bindep.txt | 4 +
lower-constraints.txt | 30 +--
playbooks/ci/run.yaml | 4 +-
playbooks/example-deploy-all-available-nodes.yaml | 8 +-
playbooks/library/os_ironic_facts.py | 148 +------------
playbooks/library/os_ironic_node_info.py | 178 +++++++++++++++
playbooks/redeploy-dynamic.yaml | 15 +-
.../bifrost-configdrives-dynamic/handlers/main.yml | 2 -
.../bifrost-configdrives-dynamic/meta/main.yml | 6 +-
.../bifrost-configdrives-dynamic/tasks/main.yml | 24 +--
.../tasks/update_facts_from_ironic.yaml | 3 +-
.../roles/bifrost-create-bootable-image/README.md | 2 +-
playbooks/roles/bifrost-create-dib-image/README.md | 4 +-
.../bifrost-create-dib-image/defaults/main.yml | 4 +-
.../roles/bifrost-create-dib-image/meta/main.yml | 6 +-
.../roles/bifrost-create-dib-image/tasks/main.yml | 16 +-
.../bifrost-create-vm-nodes/defaults/main.yml | 7 +-
.../defaults/required_defaults_Debian.yml | 4 +-
.../defaults/required_defaults_Debian_jessie.yml | 2 -
.../defaults/required_defaults_Ubuntu_20.04.yml | 14 ++
.../bifrost-create-vm-nodes/handlers/main.yml | 2 -
.../roles/bifrost-create-vm-nodes/meta/main.yml | 6 +-
.../bifrost-create-vm-nodes/tasks/create_vm.yml | 15 ++
.../roles/bifrost-create-vm-nodes/tasks/main.yml | 46 ++--
.../tasks/prepare_libvirt.yml | 32 +--
.../roles/bifrost-create-vm-nodes/vars/main.yml | 2 -
.../bifrost-deploy-nodes-dynamic/defaults/main.yml | 1 +
.../bifrost-deploy-nodes-dynamic/handlers/main.yml | 2 -
.../bifrost-deploy-nodes-dynamic/meta/main.yml | 6 +-
.../bifrost-deploy-nodes-dynamic/tasks/main.yml | 6 +-
.../bifrost-deploy-nodes-dynamic/vars/main.yml | 2 -
playbooks/roles/bifrost-ironic-install/README.md | 21 +-
.../roles/bifrost-ironic-install/defaults/main.yml | 51 +++--
.../defaults/required_defaults_Debian_family.yml | 5 +-
.../defaults/required_defaults_Debian_jessie.yml | 37 ----
..._Fedora_26.yml => required_defaults_Fedora.yml} | 41 ++--
.../defaults/required_defaults_Fedora_22.yml | 5 -
.../defaults/required_defaults_Fedora_25.yml | 42 ----
.../defaults/required_defaults_Fedora_27.yml | 43 ----
.../defaults/required_defaults_RedHat_family.yml | 5 +-
.../defaults/required_defaults_Suse_family.yml | 3 -
...untu_16.04.yml => required_defaults_Ubuntu.yml} | 5 +-
.../defaults/required_defaults_Ubuntu_18.04.yml | 36 ----
.../bifrost-ironic-install/tasks/bootstrap.yml | 62 ++++--
.../tasks/create_tftpboot.yml | 2 +-
.../tasks/download_ipa_image.yml | 27 +--
.../bifrost-ironic-install/tasks/get_ipxe.yml | 9 +-
.../bifrost-ironic-install/tasks/hw_types.yml | 45 ++++
.../tasks/inspector_bootstrap.yml | 27 ++-
.../tasks/inspector_install.yml | 30 +--
.../roles/bifrost-ironic-install/tasks/install.yml | 167 +++++++-------
.../bifrost-ironic-install/tasks/ironic_config.yml | 6 +-
.../tasks/keystone_setup.yml | 28 +--
.../tasks/keystone_setup_inspector.yml | 20 +-
.../bifrost-ironic-install/tasks/pip_install.yml | 81 -------
.../tasks/staging_install.yml | 13 +-
.../roles/bifrost-ironic-install/tasks/start.yml | 7 +-
.../bifrost-ironic-install/tasks/vendor_deps.yml | 26 +++
.../templates/dnsmasq.conf.j2 | 4 +-
.../templates/inspector-default-boot-ipxe.j2 | 2 +-
.../templates/ironic.conf.j2 | 16 +-
.../templates/systemd_template.j2 | 2 +-
.../templates/clouds.yaml.j2 | 5 +-
.../bifrost-keystone-install/defaults/main.yml | 8 +-
.../defaults/required_defaults_Debian_family.yml | 8 +-
.../defaults/required_defaults_Debian_jessie.yml | 19 --
.../defaults/required_defaults_Fedora_22.yml | 5 -
.../defaults/required_defaults_RedHat_family.yml | 6 +-
.../defaults/required_defaults_Suse_family.yml | 5 +-
...untu_18.04.yml => required_defaults_Ubuntu.yml} | 6 -
.../defaults/required_defaults_Ubuntu_16.04.yml | 19 --
.../files/keystone_policy.te | 11 +
.../roles/bifrost-keystone-install/meta/main.yml | 8 +-
.../bifrost-keystone-install/tasks/bootstrap.yml | 36 +++-
.../bifrost-keystone-install/tasks/install.yml | 105 +++------
.../bifrost-keystone-install/tasks/pip_install.yml | 78 -------
.../roles/bifrost-keystone-install/tasks/start.yml | 3 +-
.../templates/systemd_template.j2 | 2 +-
.../roles/bifrost-openstack-ci-prep/README.md | 5 +-
.../roles/bifrost-openstack-ci-prep/vars/main.yml | 2 -
playbooks/roles/bifrost-pip-install/README.md | 32 +++
.../roles/bifrost-pip-install/defaults/main.yml | 17 ++
playbooks/roles/bifrost-pip-install/tasks/main.yml | 78 +++++++
playbooks/roles/bifrost-prep-for-install/README.md | 10 +-
.../bifrost-prep-for-install/defaults/main.yml | 11 +-
.../roles/bifrost-prep-for-install/tasks/main.yml | 8 +-
.../handlers/main.yml | 2 -
.../tasks/main.yml | 2 +-
.../bifrost-prepare-for-test-dynamic/vars/main.yml | 2 -
playbooks/roles/bifrost-rabbitmq/tasks/main.yml | 4 +-
.../roles/bifrost-test-dhcp/defaults/main.yml | 2 -
.../roles/bifrost-test-dhcp/files/test-dhcp.py | 1 -
.../roles/bifrost-test-dhcp/handlers/main.yml | 3 -
playbooks/roles/bifrost-test-dhcp/vars/main.yml | 2 -
.../bifrost-test-inspection/defaults/main.yml | 2 -
.../bifrost-test-inspection/handlers/main.yml | 2 -
.../roles/bifrost-test-inspection/tasks/main.yml | 4 +-
.../roles/bifrost-test-inspection/vars/main.yml | 2 -
playbooks/roles/bifrost-test-vm/defaults/main.yml | 2 -
playbooks/roles/bifrost-test-vm/handlers/main.yml | 2 -
playbooks/roles/bifrost-test-vm/vars/main.yml | 2 -
.../handlers/main.yml | 2 -
.../bifrost-unprovision-node-dynamic/vars/main.yml | 2 -
.../roles/ironic-delete-dynamic/handlers/main.yml | 2 -
.../roles/ironic-delete-dynamic/vars/main.yml | 2 -
playbooks/roles/ironic-enroll-dynamic/README.md | 4 +-
.../roles/ironic-enroll-dynamic/handlers/main.yml | 2 -
.../roles/ironic-enroll-dynamic/tasks/main.yml | 5 +-
.../roles/ironic-enroll-dynamic/vars/main.yml | 2 -
playbooks/roles/ironic-inspect-node/README.md | 4 +-
.../roles/ironic-inspect-node/handlers/main.yml | 2 -
playbooks/roles/ironic-inspect-node/vars/main.yml | 2 -
playbooks/roles/venv_python_path/tasks/main.yml | 33 ---
playbooks/test-bifrost.yaml | 11 +-
.../ancient-fedora-jessie-773ba251b28f4a94.yaml | 6 +
.../notes/bifrost-inspector-a154561802d8d614.yaml | 9 +
.../notes/centos-keystone-acad21e70153067d.yaml | 4 +
.../notes/debian-buster-dd7cfde9908deb09.yaml | 4 +
.../notes/default-ipa-fe012dfdba580bf4.yaml | 5 +
.../disable_dnsmasq_dns-0d545cdaa81b92a2.yaml | 5 +
.../fast-track-inspection-a28a062e86f06190.yaml | 5 +
releasenotes/notes/firewalld-d53c6396828b91ee.yaml | 5 +
releasenotes/notes/focal-36208207a571f354.yaml | 4 +
releasenotes/notes/hw-types-17106c0397f34ef1.yaml | 6 +
.../notes/internal-address-c1f9ffb731373ea3.yaml | 7 +
.../notes/manual-management-c204a200b0f0e6e0.yaml | 9 +
.../notes/metalsmith-7044429597a5f137.yaml | 5 +
releasenotes/notes/no-osc-b39d14591103b2c3.yaml | 15 ++
releasenotes/notes/no-shade-b861f699b8a9919f.yaml | 8 +
releasenotes/notes/no-xenial-1c27b7bb2cf165ed.yaml | 6 +
.../notes/nodes.json-d47a30a22a04c7ed.yaml | 6 +
.../notes/resource-class-243535c9049cbd73.yaml | 6 +
.../notes/support-fedora-3b14bffb24097b28.yaml | 4 +
.../notes/update-ipa-76691dbca92246b6.yaml | 8 +
.../notes/update-repos-b60563ee51b574fc.yaml | 10 +
...pdate_default_ansible_2.9-e96335c0ef609642.yaml | 9 +
.../notes/use-tinyipa-31f5343def1c0bf4.yaml | 6 +
.../notes/venv-default-895f7b633803297f.yaml | 9 +
releasenotes/source/conf.py | 12 +-
releasenotes/source/index.rst | 1 +
releasenotes/source/train.rst | 2 +-
releasenotes/source/ussuri.rst | 6 +
scripts/collect-test-info.sh | 4 +-
scripts/env-setup.sh | 26 ++-
scripts/install-deps.sh | 133 ++++--------
scripts/split_json.py | 2 -
scripts/test-bifrost.sh | 113 ++++------
setup.cfg | 15 +-
test-requirements.txt | 3 +
tox.ini | 3 +
zuul.d/bifrost-jobs.yaml | 46 ++--
zuul.d/project.yaml | 26 ++-
176 files changed, 1689 insertions(+), 1546 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index 64ddfa3..08571a1 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -15,0 +16,3 @@ Pygments>=2.2.0 # BSD license
+flake8-import-order>=0.17.1 # LGPLv3
+
+openstacksdk>=0.37.0 # Apache-2.0
1
0
We are overjoyed to announce the release of:
ironic 13.0.5: OpenStack Bare Metal Provisioning
This release is part of the train stable 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.
13.0.5
^^^^^^
Bug Fixes
* Fixes a rare issue when agent successfully powers off a node after
deployment, but ironic never learns about it and does another
reboot.
* Cleans up nodes stuck in the "deleting" state on conductor
restart.
* Fixes fast-track deployments with the "direct" deploy interface
that used to hang previously.
* Fixes a workaround for hardware that does not support persistent
boot device setting with the "redfish" or "idrac-redfish" management
interface implementation. When such situation is detected, ironic
falls back to one-time boot device setting, restoring it on every
reboot or power on.
For more information, see story 2007733
(https://storyboard.openstack.org/#!/story/2007733)
* No longer tries to set "local_gb" to "MAX" when building RAID with
the root disk using "MAX" for its size.
Changes in ironic 13.0.4..13.0.5
--------------------------------
fa6c71ff1 Software RAID: don't try to set local_gb to MAX
a436d666d Fix the error message when reached max number of traits
94d74f2de Clean up nodes in DELETING on conductor restart
089b84e4c Fix fast-track with the direct deploy interface
49ce9993e Fix Redfish handle no continuous override boot src
87ccb8376 devstack: Use uwsgi binary from path; temporary disable grenade
b7c4ce4ca agent: do not hard power off if soft power off actually succeeds
Diffstat (except docs and test files)
-------------------------------------
devstack/lib/ironic | 2 +-
ironic/common/raid.py | 3 +-
ironic/common/states.py | 4 +-
ironic/conductor/manager.py | 5 ++-
ironic/db/sqlalchemy/api.py | 12 +++---
ironic/drivers/modules/agent.py | 17 ++++-----
ironic/drivers/modules/agent_base_vendor.py | 17 +++++++--
ironic/drivers/modules/redfish/management.py | 23 ++++++------
.../unit/drivers/modules/test_agent_base_vendor.py | 43 +++++++++++++++++++++-
.../notes/agent-power-off-2115fcfaac030bd0.yaml | 5 +++
releasenotes/notes/deleting-dcdb9cf0d2a6a1a6.yaml | 4 ++
.../notes/direct-fast-track-d0f43850b6e80751.yaml | 5 +++
...edfish-sadness-workaround-ed02cb310ff369f4.yaml | 11 ++++++
releasenotes/notes/raid-max-c0920cc44b9779ee.yaml | 5 +++
zuul.d/project.yaml | 5 ++-
19 files changed, 158 insertions(+), 44 deletions(-)
1
0