Release-announce
Threads by month
- ----- 2026 -----
- March
- 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
- 17552 discussions
We are overjoyed to announce the release of:
ironic 15.0.1: OpenStack Bare Metal Provisioning
This release is part of the ussuri 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.
15.0.1
^^^^^^
New Features
************
* 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".
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.
* 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.
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.
* 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 RAID "apply_configuration" deploy step for "idrac-wsman"
where deployment failed with "TypeError". See story 2007963
(https://storyboard.openstack.org/#!/story/2007963)
* Cleans up nodes stuck in the "deleting" state on conductor
restart.
* Fixes deployment hanging on an invalid in-band deploy step in a
deploy templates.
* Allows deleting nodes with a broken driver unless they require
stopping serial console.
* Fixes fast-track deployments with the "direct" deploy interface
that used to hang previously.
* 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 json_rpc client connections always using HTTP even if
*use_ssl* was set to True.
* 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 fast track deployment preceeded by managed inspection by
providing the ironic API URL to the ramdisk so that it can
heartbeat.
* When Ironic is doing IPMI retries the configured
"min_command_interval" should be used instead of a default value of
"1", which may be too short for some BMCs.
* Fixes missing "agent" RAID compatibility for the "ilo5" and
"idrac" hardware type preventing software RAID for working with
them.
* 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 "ironic-conductor" initialization could
return a "NodeNotLocked" error for requests requiring locks when the
conductor was starting. This was due to the conductor removing locks
after beginning accepting new work. The lock removal has been moved
to after the Database connectivity has been established but before
the RPC bus is initialized.
* Removes stale agent token on rescue and unrescue operations.
Previously it would cause subsequent rescue operations to fail.
* 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.
Changes in ironic 15.0.0..15.0.1
--------------------------------
15ddcad20 Change UEFI PXE job to use tinyipa
a61bd3741 Wipe agent token and URL on rescue and unrescue
3730c92ce Update number of VM on ironic-base
528e54c79 Use TLS for json_rpc when configured
2c443946b Fix idrac-wsman RAID apply_configuration
062872bce Remove locks before RPC bus is started
ad8697674 Make the final deploy step validation actually fail deploy
2a34baa6f Force RAX hosts to run tinyipa
d1fe4b61a Change non-tinyipa jobs to use multiple cores
bc4024fac Fixes to skip validation of in-band deploy steps before agent boot
1db4f007e Stop running test_schedule_to_all_nodes in the multinode job
7908a6175 Auto extend the timeout for RAX hosts
a4311fb70 Add missing agent RAID compatibility for ilo5 and idrac
4253956c0 Allow deleting nodes with a broken driver
8825f4401 Use min_command_interval when ironic does IPMI retries
d35cd6a8b Correct Redfish boot once fallback conditional
798a585ef Stop using md5 for __repr__ of objects
dc97a2aa6 add tempest boot_mode config
ad072caa5 fix error word confiuration to configuration in docs
27df8e851 Increase vm ram size in uefi netbooted jobs
485dad97b Software RAID: don't try to set local_gb to MAX
bde1e8ea1 Fix the error message when reached max number of traits
4baa4fee1 Clean up nodes in DELETING on conductor restart
af86e8dc3 Fix fast track following managed inspection
316a868da Fix fast-track with the direct deploy interface
486f58564 Fix agent token and URL handling during fast-track deployment
0915d26cd Fix Redfish handle no continuous override boot src
f5a24f741 Enable grenade
f17b9e4ab devstack: Use uwsgi binary from path; temporary disable grenade
a7e7dcb62 Add IPv6 ci Job
d5f6f4d1a devstack: increase concurrency and worker timeout for sushy-tools
9f9a9abfb Fix fast track when exiting cleaning
0645f391d CI: raise DIB jobs memory to 3 GiB
7d9630146 Use ussuri ramdisks
e545e567e Increase timeout for introspection in ironic-inspector-tempest
3e52fd389 Increase timeout value for ironic-base job
0adedb2e6 New configuration parameter to use ipmitool retries
2860299df agent: do not hard power off if soft power off actually succeeds
09ff1dbcd Increase callback timeout
995a246a8 Add the noop management interface to the redfish hardware type
1b40644ed change devstack ipa-builder default to BRANCHLESS_TARGET_BRANCH
b1dacef6f Do not fail when raw image is larger than memory for http
475682f9b Remove iDRAC Redfish boot device known issue
0f77220df Revert "Deprecate ibmc"
07fd5b92a Collect ramdisk logs also during cleaning
48cfa42c3 Pin the python-ibmcclient upper bounds due to six usage
1e2039a44 redfish: handle hardware that is unable to set persistent boot
5774c3389 Fix pep8
9388ed196 Native zuulv3 grenade job for ironic
08887f8c5 Silence debug messages from oslo_messaging
d1a4c44e1 redfish: split reboot into power off followed by power on
ba6db8dcd Monkey patch original current_thread _active
3defeea7f Add PXE reset known issue to the docs
134f3b331 CI: migrate UEFI jobs to Cirros 0.5.1
6deed2634 Update TOX_CONSTRAINTS_FILE for stable/ussuri
39e8a1215 Update .gitreview for stable/ussuri
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
devstack/common_settings | 30 +--
devstack/lib/ironic | 254 ++++++++++++++++++---
devstack/plugin.sh | 1 +
driver-requirements.txt | 2 +-
ironic/cmd/__init__.py | 11 +-
ironic/common/json_rpc/client.py | 5 +-
ironic/common/pxe_utils.py | 2 +-
ironic/common/raid.py | 3 +-
ironic/common/rpc_service.py | 2 +
ironic/common/states.py | 4 +-
ironic/conductor/base_manager.py | 34 ++-
ironic/conductor/cleaning.py | 29 +--
ironic/conductor/deployments.py | 14 +-
ironic/conductor/manager.py | 38 ++-
ironic/conductor/task_manager.py | 4 +
ironic/conductor/utils.py | 52 +++--
ironic/conf/ipmi.py | 8 +
ironic/conf/opts.py | 2 +
ironic/db/sqlalchemy/api.py | 12 +-
ironic/drivers/drac.py | 8 +-
ironic/drivers/ilo.py | 8 +-
ironic/drivers/modules/agent.py | 26 +--
ironic/drivers/modules/agent_base.py | 45 ++--
ironic/drivers/modules/drac/raid.py | 2 +-
ironic/drivers/modules/ibmc/management.py | 2 -
ironic/drivers/modules/ibmc/power.py | 2 -
ironic/drivers/modules/ibmc/vendor.py | 2 -
ironic/drivers/modules/inspector.py | 3 +
ironic/drivers/modules/ipmitool.py | 10 +-
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/fields.py | 7 +-
.../unit/api/controllers/v1/test_allocation.py | 6 +-
.../unit/api/controllers/v1/test_conductor.py | 6 +-
.../api/controllers/v1/test_deploy_template.py | 6 +-
.../unit/api/controllers/v1/test_portgroup.py | 6 +-
.../api/controllers/v1/test_volume_connector.py | 6 +-
.../unit/api/controllers/v1/test_volume_target.py | 6 +-
.../drivers/modules/redfish/test_management.py | 113 +++++++++
.../unit/drivers/modules/redfish/test_power.py | 125 +++++++---
playbooks/legacy/grenade-dsvm-ironic/run.yaml | 121 ----------
playbooks/legacy/ironic-dsvm-base/post.yaml | 15 --
playbooks/legacy/ironic-dsvm-base/pre.yaml | 22 --
.../notes/agent-power-off-2115fcfaac030bd0.yaml | 5 +
.../notes/agent-token-817a03776bd46d5b.yaml | 6 +
...-raid-apply-configuration-792ccf195057016b.yaml | 6 +
.../notes/cleaning-logs-dc115b0926ae3982.yaml | 5 +
releasenotes/notes/deleting-dcdb9cf0d2a6a1a6.yaml | 4 +
.../deploy-step-validate-76b2aa97e02ba669.yaml | 5 +
.../notes/destroy-broken-8b13de8382199aca.yaml | 5 +
.../notes/direct-fast-track-d0f43850b6e80751.yaml | 5 +
.../fast-track-with-cleaning-438225116a11662d.yaml | 7 +
.../fix-json-rpc-client-ssl-2438a731beb3d5f9.yaml | 5 +
...edfish-sadness-workaround-ed02cb310ff369f4.yaml | 11 +
.../inspection-fast-track-ab5165e11d3e9522.yaml | 5 +
...ries-min-command-interval-070cd7eff5eb74dd.yaml | 6 +
...tool-use_ipmitool_retries-b55b2b8ed5cab603.yaml | 16 ++
.../notes/missing-sw-raid-b7fdc9259612970d.yaml | 5 +
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 ++
.../notes/remove-locks-first-d12ac27106f800f8.yaml | 9 +
.../notes/unrescue-token-ae664a17343e0610.yaml | 5 +
...e-format-for-memory-check-25b1f06701ccdc47.yaml | 6 +
test-requirements.txt | 1 +
tools/bandit.yml | 1 -
tox.ini | 18 +-
zuul.d/ironic-jobs.yaml | 184 +++++++++++++--
zuul.d/legacy-ironic-jobs.yaml | 45 ----
zuul.d/project.yaml | 6 +-
105 files changed, 1785 insertions(+), 619 deletions(-)
Requirements updates
--------------------
diff --git a/driver-requirements.txt b/driver-requirements.txt
index b8d91d0bc..2d8c9671c 100644
--- a/driver-requirements.txt
+++ b/driver-requirements.txt
@@ -20 +20 @@ ansible>=2.7
-python-ibmcclient>=0.1.0
+python-ibmcclient>=0.1.0,<0.2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 497bcdc99..a1a53786d 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -24,0 +25 @@ bandit!=1.6.0,>=1.1.0,<2.0.0 # Apache-2.0
+pycodestyle>=2.0.0,<2.6.0 # MIT
1
0
We are overjoyed to announce the release of:
masakari-monitors 8.0.1: Monitors for Masakari
This release is part of the train stable release series.
The source is available from:
https://opendev.org/openstack/masakari-monitors
Download the package from:
https://tarballs.openstack.org/masakari-monitors/
Please report issues through:
https://bugs.launchpad.net/masakari-monitors/+bugs
For more details, please see below.
Changes in masakari-monitors 8.0.0..8.0.1
-----------------------------------------
b02c6b6 Use crm_mon for pacemaker-remote deployments
79367dd Update TOX/UPPER_CONSTRAINTS_FILE for stable/train
cd673a4 Update .gitreview for stable/train
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
masakarimonitors/conf/host.py | 4 +
.../hostmonitor/host_handler/handle_host.py | 64 ++++++++-
.../hostmonitor/host_handler/parse_crmmon_xml.py | 81 +++++++++++
.../hostmonitor/host_handler/test_handle_host.py | 155 +++++++++++++++++++++
.../host_handler/test_parse_crmmon_xml.py | 78 +++++++++++
tox.ini | 2 +-
7 files changed, 382 insertions(+), 3 deletions(-)
1
0
We are psyched to announce the release of:
monasca-agent 3.0.2: Monitoring agent for gathering metrics and
sending them to the Monasca API.
This release is part of the ussuri stable release series.
The source is available from:
https://opendev.org/openstack/monasca-agent
Download the package from:
https://tarballs.openstack.org/monasca-agent/
Please report issues through:
https://bugs.launchpad.net/monasca/+bugs
For more details, please see below.
Changes in monasca-agent 3.0.1..3.0.2
-------------------------------------
efd7763 Update API version of monitored Cinder
5b34b64 Avoid single quote in help text
2111e39 Convert byte-stream to 'utf-8'
Diffstat (except docs and test files)
-------------------------------------
monasca_agent/collector/checks_d/http_check.py | 2 +-
monasca_setup/detection/plugins/cinder.py | 2 +-
monasca_setup/main.py | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
1
0
We are happy to announce the release of:
ironic 15.2.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.2.0
^^^^^^
New Features
************
* Adds inband deploy step "flash_firmware_sum" to the "management"
interface of the "ilo" and "ilo5" hardware types. The required
minimum version for the proliantutils library is 2.9.5.
* Adds functionality to the "ipxe" boot interface to support use of
an "instance_info\boot_iso" value with the "ramdisk" deployment
interface.
* Adds functionality to allow a user to supply a node
"instance_info/boot_iso" parameter on machines utilizing the
"redfish-virtual-media" boot interface. When combined with the
"ramdisk" deployment interface, this allows an instance to boot into
a user supplied ISO image.
* The new **experimental** "agent" power interface allows limited
provisioning operations on nodes without BMC credentials. See story
2007771 (https://storyboard.openstack.org/#!/story/2007771) for
details.
* The "agent" RAID interface now supports building RAID as a deploy
step "apply_configuration".
* Adds raid configuration validation to deploy step
"apply_configuration" of "agent" RAID interface. Also, a post deploy
hook has been added to this deploy step to update root device hint.
* Adds a new "driver_info" parameter "agent_verify_ca" that allows
specifying a file with certificates to use when accessing IPA. Set
to "False" to disable certificate validation.
* The "deploy" deploy step of the "direct" deploy interface has been
split into three deploy steps:
* "deploy" itself (priority 100) boots the deploy ramdisk
* "write_image" (priority 80) downloads the user image from inside
the ramdisk and writes it to the disk.
* "prepare_instance_boot" (priority 60) prepares the boot device
and writes the bootloader (if needed).
Priorities 81 to 99 to be used for in-band deploy steps that run
before the image is written. Priorities 61 to 79 can be used for in-
band deploy steps that modify the written image before the
bootloader is installed.
* Provides a new option "[DEFAULT]hash_ring_algorithm" that
specifies which cryptographic algorithm to use when building the
hash ring. Set to something other than "md5" when using ironic on a
system in FIPS mode.
* Adds support for boot mode retrieval and setting with the "ilo"
and "ilo5" hardware types.
* Adds support for running custom in-band deploy steps when
provisioning. Step priorities from 41 to 59 can be used for steps
that run after the image is written and the bootloader is installed.
* Adds the capability for an operator to set a configuration setting
which tells the ironic-python-agent it is okay to skip read-only
block devices when performing an "erase_devices" cleaning operation.
This requires ironic-python-agent version 6.0.0 or greater and can
be set using the "[deploy]erase_skip_read_only" configuration
option.
* The "deploy" deploy step of the "iscsi" deploy interface has been
split into three deploy steps:
* "deploy" itself (priority 100) boots the deploy ramdisk
* "write_image" (priority 80) writes the image to the disk exposed
via iSCSI.
* "prepare_instance_boot" (priority 60) prepares the boot device
and writes the bootloader (if needed).
Priorities 81 to 99 to be used for in-band deploy steps that run
before the image is written. Priorities 61 to 79 can be used for in-
band deploy steps that modify the written image before the
bootloader is installed.
* The "deploy" deploy step of the "ansible" deploy interface has
been split into two deploy steps:
* "deploy" itself (priority 100) boots the deploy ramdisk
* "write_image" (priority 80) writes the image to the disk and
configures the bootloader.
Priorities 81 to 99 to be used for in-band deploy steps that run
before the image is written.
* Adds *network_data* property to the node, a dictionary that
represents the node static network configuration. The Ironic API
performs formal JSON validation of node *network_data* content
against user-supplied JSON schema at driver validation step.
* Allow port lists to be filtered by project. Doing so checks the
specified project against the port's node's owner and lessee.
Deprecation Notes
*****************
* Running the whole deployment process as a monolithic
"deploy.deploy" deploy step is now deprecated. In a future release
this step will only be used to prepare deployment and starting the
agent, and special handling will be removed. All third party deploy
interfaces must be updated to provide real deploy steps instead and
set the "has_decomposed_deploy_steps" attribute to "True" on the
deploy interface level.
* The configuration options "[json_rpc]http_basic_username" and
"[json_rpc]http_basic_password" have been deprecated in favour of
the more generic "[json_rpc]username" and "[json_rpc]password".
Bug Fixes
*********
* Fixes RAID "apply_configuration" deploy step for "idrac-wsman"
where deployment failed with "TypeError". See story 2007963
(https://storyboard.openstack.org/#!/story/2007963)
* Fixes deployment hanging on an invalid in-band deploy step in a
deploy templates.
* Allows deleting nodes with a broken driver unless they require
stopping serial console.
* Fixes updating driver fields for nodes with a broken driver. This
is required to be able to set maintenance for such nodes.
* Fixes json_rpc client connections always using HTTP even if
*use_ssl* was set to True.
* When Ironic is doing IPMI retries the configured
"min_command_interval" should be used instead of a default value of
"1", which may be too short for some BMCs.
* Fixes missing "agent" RAID compatibility for the "ilo5" and
"idrac" hardware type preventing software RAID for working with
them.
* Fixes an issue where "ironic-conductor" initialization could
return a "NodeNotLocked" error for requests requiring locks when the
conductor was starting. This was due to the conductor removing locks
after beginning accepting new work. The lock removal has been moved
to after the Database connectivity has been established but before
the RPC bus is initialized.
* Fixes the conductor so the power sync operations are not asserted
for nodes in the "adopt failed" state.
* Fixes the issue that port auto allocation for the socat console
failed to correctly identify the availablility of ports under IPv6
networks.
* Removes stale agent tokens when rebooting nodes using API. This
prevents lookup failures for nodes that get rebooted between fast-
track operations.
* Removes stale agent token on rescue and unrescue operations.
Previously it would cause subsequent rescue operations to fail.
* Fixes the preservation of potentially incorrect power state
information when adoption process fails. Power state is now wiped as
part of the failure handling process instead of being preserved.
Other Notes
***********
* The proliantutils library version 2.9.5 enables "ssacli" based in-
band deploy step "apply_configuration" of "agent" RAID interface for
"ilo" and "ilo5" hardware types.
* Support for iPXE booting a ISO medium will only work if the
ramdisk loaded by the bootloader contains all artifacts required for
the booting operating system to load. This is a limitation of iPXE
and x86 systems architecture, as the memory allocated for the rest
of the ISO disk image in memory is freed by the booting kernel.
* As part of the agent deploy interfaces refactoring, breaking
changes will be made to implementations of "AgentDeploy" and
"ISCSIDeploy". Third party deploy interfaces must be updated to
inherit "HeartbeatMixin", "AgentBaseMixin" or "AgentDeployMixin"
from "ironic.drivers.modules.agent_base" instead since their API is
considered more stable.
* Starting in ironic-python-agent 6.0.0, metadata erasure of read-
only devices is skipped by default.
* A new method "supports_power_sync" has been added to
"PowerInterface". If it returns "False", the conductor will not try
to assert power state for the node, merely recording the returned
state instead.
* The base agent deploy interface code now correctly handles power
interfaces that do not support the "power on" action but support
"reboot".
Changes in ironic 15.1.0..15.2.0
--------------------------------
0d94ef67c Fix time usage in unit tests for agent power interface
0fc1ca7a2 Enforce autospec in irmc tests
45644c64a [Trivial]Fix some typos in docs
82a2fe4f7 Follow up to I44336423194eed99f026c44b6390030a94ed0522
bc0cc8a8f Adds support SUM based firmware update as deploy step
c6c79d143 Enforce autospec in xclarity tests
15fa7ac81 Enforce autospec in test_cinder
adcb05a84 agent_client: support custom TLS certificates
00a23de3a Use property plus abstractmethod for abstractproperty
07a7a269b Fix console auto port allocation under IPv6
707b32134 Fix iscsi deploy steps priorities
0b0ab9eb1 Wipe agent token and URL on rescue and unrescue
abed175fc Fix error word presistent in docs
013450826 Prevents power sync with ADOPTFAIL nodes
ceb0d284b Change UEFI PXE job to use tinyipa
ed10d7ed3 Enable deploy-time software RAID in standalone jobs
feae197c5 Use TLS for json_rpc when configured
040523ad1 Log the traceback of unexpected errors when verifying power credentials
01772c31e Add cirros-specific FAQ item for troubleshooting
328cb9291 Fix idrac-wsman RAID apply_configuration
4fa65099d Break out collection functions for json usage
b6a25d467 Convert v1 controller to plain, return JSON
bf1552011 Convert root controller to plain controller
2bc99efe4 Enforce autospec in test_iscsi_deploy
9ca38395b Fix invalid assertTrue which should be assertEqual
52b567e7d Trivial: fix a minor issue in standalone docs and improve formatting
89275bd50 AgentRAID: Account for empty results in post-configuration checks
b8e4aba1e Remove locks before RPC bus is started
e144453c1 Mark IPv6 job as non-voting to unblock the gate
44d66d351 Reset power state upon adoption failure
a1e079cae Make the final deploy step validation actually fail deploy
7a839569a Enforce autospec in some api tests
946087020 Add subsections to the standalone documentation
74e9e1d82 Deprecate http_basic_username and http_basic_password in [json_rpc]
a5ce4dd8d Adds raid validation for in-band AgentRAID deploy step
cf9188c2d Allow node lessee to see node's ports
6dfc40913 Force RAX hosts to run tinyipa
271d85e99 Update how to release section
67e51af6d Extend PXE boot retry timeout for RAX hosts
9189b4bb2 Add an option to choose the hash ring algorithm
9169085db Extend base build timeouts
1cb1df76d Stop running test_schedule_to_all_nodes in the multinode job
491147752 Document fast-track and the agent power interface
46f8c8575 Add agent power interface
e804f6c56 Account for power interfaces that cannot power on
1e28a056b Convert root path / to use plain JSON
0ac401732 Rename Response to PassthruResponse
b1328fa99 Remove Link type
5e12d502f Remove File type
dc87a189c Update number of VM on ironic-base
b1dd9147d Replace oslo_utils.netutils type compares with ipaddress
3750ba62d Auto extend the timeout for RAX hosts
3b6163afd Allow disabling retries in AgentClient.get_command_statuses
02d3efbd7 Explicitly set jobs to ML2/OVS
a7ee20501 Enforce autospec in test_notification_utils
5abb3aedc Enforce autospec in test_deployments
0cbb0397b iPXE ISO Ramdisk booting
ba0dc574b Follow-up on blocking port deletions
53f751dcf Remove old driver name from cross-gating job
5f557f47f Stop wiping driver_internal_info on node.driver updates
bec00bd85 Ironic to use DevStack's neutron"-legacy" module
8c191ceb5 Fixes to skip validation of in-band deploy steps before agent boot
a7976b349 Implement get_deploy_steps for AgentRAID
d430d1bdb Set min version of tox to 3.2.1
f27fcda53 Use default timeout for all jobs
2d4d37535 Wipe agent token during reboot or power off
c376cb321 Add missing agent RAID compatibility for ilo5 and idrac
44cc6dd79 Add wsme core types, remove WSME
8006c9dfd Add json and param parsing to args
44d56c559 Change non-tinyipa jobs to use multiple cores
3d778db0c Add knob for read-only and "erase_devices"
63f6adf68 Decompose the core deploy step on iscsi and ansible deploy
bd0033611 Iso booting via redfish virtual media
a7445d9f8 Use min_command_interval when ironic does IPMI retries
bf65acf6b fix error word presistent in docs
2d814fe60 Remove non-inclusive language
39ca67ac2 fix error word confiuration to configuration in docs
ddbc4a6a0 add tempest boot_mode config
2a6b5c14d Decompose the core deploy step of the direct deploy
deec7f4a9 agent_base: support inserting in-band deploy steps
8aecabcfe Stop using md5 for __repr__ of objects
22c68cd7f CI: Make ipv6 job to voting
533258815 Allow deleting nodes with a broken driver
217e354a2 Do not validate driver on changing non-driver fields
737076fae Use native oslo.concurrency execution timeout in ipmitool
25dbdb7dc [doc] Describe how to extract an fs UUID from an image
c84c6af08 Add `get_node_network_data` to Neutron NetworkInterface
e43aee3db Adds boot mode support to iLO management interface
f73338c99 Minor agent token log handling
9b4a63aa6 Add RPC objects for deployment API
Diffstat (except docs and test files)
-------------------------------------
devstack/lib/ironic | 45 +-
driver-requirements.txt | 2 +-
ironic/api/args.py | 381 +++++++++++
ironic/api/controllers/link.py | 39 +-
ironic/api/controllers/root.py | 73 +-
ironic/api/controllers/v1/__init__.py | 364 +++++-----
ironic/api/controllers/v1/allocation.py | 8 +-
ironic/api/controllers/v1/bios.py | 12 +-
ironic/api/controllers/v1/chassis.py | 36 +-
ironic/api/controllers/v1/collection.py | 54 +-
ironic/api/controllers/v1/conductor.py | 12 +-
ironic/api/controllers/v1/deploy_template.py | 12 +-
ironic/api/controllers/v1/driver.py | 32 +-
ironic/api/controllers/v1/node.py | 66 +-
ironic/api/controllers/v1/port.py | 59 +-
ironic/api/controllers/v1/portgroup.py | 22 +-
ironic/api/controllers/v1/state.py | 3 +-
ironic/api/controllers/v1/utils.py | 14 +-
ironic/api/controllers/v1/volume.py | 25 +-
ironic/api/controllers/v1/volume_connector.py | 16 +-
ironic/api/controllers/v1/volume_target.py | 16 +-
ironic/api/controllers/version.py | 57 +-
ironic/api/expose.py | 20 +-
ironic/api/method.py | 95 +++
ironic/api/types.py | 744 +++++++++++++++++++--
ironic/common/exception.py | 94 ++-
ironic/common/hash_ring.py | 3 +-
ironic/common/images.py | 30 +-
ironic/common/json_rpc/client.py | 31 +-
ironic/common/json_rpc/server.py | 4 +-
ironic/common/neutron.py | 159 ++++-
ironic/common/pxe_utils.py | 17 +-
ironic/common/release_mappings.py | 1 +
ironic/common/rpc_service.py | 2 +
ironic/common/utils.py | 12 +-
ironic/conductor/base_manager.py | 34 +-
ironic/conductor/deployments.py | 9 +-
ironic/conductor/manager.py | 54 +-
ironic/conductor/rpcapi.py | 1 +
ironic/conductor/task_manager.py | 17 +
ironic/conductor/utils.py | 54 +-
ironic/conf/default.py | 10 +
ironic/conf/deploy.py | 11 +
ironic/conf/json_rpc.py | 12 +-
ironic/db/sqlalchemy/api.py | 26 +-
ironic/dhcp/neutron.py | 22 +-
ironic/drivers/base.py | 12 +
ironic/drivers/drac.py | 8 +-
ironic/drivers/generic.py | 3 +-
ironic/drivers/hardware_type.py | 12 +-
ironic/drivers/ilo.py | 8 +-
ironic/drivers/modules/agent.py | 180 ++---
ironic/drivers/modules/agent_base.py | 150 ++++-
ironic/drivers/modules/agent_client.py | 68 +-
ironic/drivers/modules/agent_power.py | 220 ++++++
ironic/drivers/modules/ansible/deploy.py | 58 +-
ironic/drivers/modules/console_utils.py | 27 +-
ironic/drivers/modules/deploy_utils.py | 23 +-
ironic/drivers/modules/drac/raid.py | 2 +-
ironic/drivers/modules/ilo/common.py | 27 +
ironic/drivers/modules/ilo/management.py | 116 +++-
ironic/drivers/modules/ipmitool.py | 53 +-
ironic/drivers/modules/ipxe_config.template | 5 +
ironic/drivers/modules/iscsi_deploy.py | 57 +-
ironic/drivers/modules/network/common.py | 50 +-
ironic/drivers/modules/pxe_base.py | 11 +-
ironic/drivers/modules/redfish/boot.py | 49 +-
ironic/drivers/modules/snmp.py | 9 +-
ironic/objects/__init__.py | 1 +
ironic/objects/deployment.py | 259 +++++++
ironic/objects/fields.py | 7 +-
ironic/objects/node.py | 4 -
ironic/objects/port.py | 37 +-
.../common/json_samples/neutron_network_show.json | 33 +
.../json_samples/neutron_network_show_ipv6.json | 33 +
.../common/json_samples/neutron_port_show.json | 59 ++
.../json_samples/neutron_port_show_ipv6.json | 59 ++
.../common/json_samples/neutron_subnet_show.json | 32 +
.../json_samples/neutron_subnet_show_ipv6.json | 32 +
.../unit/conductor/test_notification_utils.py | 19 +-
.../drivers/ipxe_config_boot_from_iso.template | 39 ++
.../unit/drivers/modules/ansible/test_deploy.py | 137 +---
.../unit/drivers/modules/ilo/test_management.py | 450 ++++++++++---
.../drivers/modules/irmc/test_periodic_task.py | 73 +-
.../unit/drivers/modules/network/test_flat.py | 5 +-
.../unit/drivers/modules/network/test_neutron.py | 9 +-
.../unit/drivers/modules/redfish/test_boot.py | 200 +++++-
.../unit/drivers/modules/storage/test_cinder.py | 7 +-
.../unit/drivers/modules/test_agent_client.py | 97 ++-
.../unit/drivers/modules/test_console_utils.py | 47 +-
.../unit/drivers/modules/test_deploy_utils.py | 14 +
.../unit/drivers/modules/test_iscsi_deploy.py | 249 +++----
.../drivers/modules/xclarity/test_management.py | 5 +-
.../unit/drivers/modules/xclarity/test_power.py | 26 +-
lower-constraints.txt | 6 +-
...nsible-python-interpreter-2035e0f23d407aaf.yaml | 4 +-
...update-firmware-using-sum-cfee84a19120dd3c.yaml | 11 +
...add-ipxe-boot-iso-support-6ae2f5cc2250be3e.yaml | 12 +
...ish-boot_iso-pass-through-8a6f4d0c98ada1d5.yaml | 8 +
.../notes/agent-power-a000fdf37cb870e4.yaml | 6 +
.../notes/agent-raid-647acfd599e83476.yaml | 5 +
.../agent-raid-validate-f7348ac034606b83.yaml | 6 +
.../notes/agent-verify-ca-ddbfbb0f27198d82.yaml | 6 +
...-raid-apply-configuration-792ccf195057016b.yaml | 6 +
.../deploy-step-validate-76b2aa97e02ba669.yaml | 5 +
.../notes/destroy-broken-8b13de8382199aca.yaml | 5 +
.../direct-deploy-steps-36486987156017d7.yaml | 17 +
.../notes/driver-maintenance-0945c2939fa4e917.yaml | 5 +
.../fix-json-rpc-client-ssl-2438a731beb3d5f9.yaml | 5 +
...-option-for-software-raid-baa2cffd95e1f624.yaml | 2 +-
.../notes/hash-ring-algo-4337c18117b33070.yaml | 7 +
...boot-mode-management-apis-8173002daf79894c.yaml | 5 +
.../notes/in-band-steps-e4a1fe759029fea5.yaml | 23 +
...se_devices-skip-read-only-9f8cd9278c35a84e.yaml | 12 +
...ries-min-command-interval-070cd7eff5eb74dd.yaml | 6 +
.../iscsi-ansible-steps-817b52269d2455b0.yaml | 28 +
.../json_rpc_http_basic-42dfc6ca2471a30e.yaml | 6 +
.../notes/missing-sw-raid-b7fdc9259612970d.yaml | 5 +
.../notes/no-power-on-842b21d55b07a632.yaml | 9 +
.../notes/node-network-data-6f998aaa57020f4b.yaml | 7 +
.../port-list-by-project-8cfaf3b2cf0dd627.yaml | 5 +
.../notes/remove-locks-first-d12ac27106f800f8.yaml | 9 +
...-power-sync-for-adoptfail-d2498f1a2e997ed7.yaml | 5 +
...t-console-port-alloc-ipv6-26760f53f86209d0.yaml | 5 +
.../notes/token-reboot-b48b5981a58a30ae.yaml | 5 +
.../notes/unrescue-token-ae664a17343e0610.yaml | 5 +
...wer-state-on-adopt-failed-09194c8269c779de.yaml | 7 +
requirements.txt | 7 +-
setup.cfg | 1 +
tools/bandit.yml | 1 -
tox.ini | 10 +-
zuul.d/ironic-jobs.yaml | 112 ++--
zuul.d/project.yaml | 8 +-
193 files changed, 8135 insertions(+), 2294 deletions(-)
Requirements updates
--------------------
diff --git a/driver-requirements.txt b/driver-requirements.txt
index bb016f26e..539d27ba9 100644
--- a/driver-requirements.txt
+++ b/driver-requirements.txt
@@ -7 +7 @@
-proliantutils>=2.9.1
+proliantutils>=2.9.5
diff --git a/requirements.txt b/requirements.txt
index 9a59e6777..9f7593b3c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -13 +13 @@ python-glanceclient>=2.8.0 # Apache-2.0
-keystoneauth1>=3.18.0 # Apache-2.0
+keystoneauth1>=4.2.0 # Apache-2.0
@@ -19 +19 @@ pysendfile>=2.0.0;sys_platform!='win32' # MIT
-oslo.concurrency>=3.26.0 # Apache-2.0
+oslo.concurrency>=4.2.0 # Apache-2.0
@@ -37 +36,0 @@ jsonpatch!=1.20,>=1.16 # BSD
-WSME>=0.9.3 # MIT
@@ -46 +45 @@ futurist>=1.2.0 # Apache-2.0
-tooz>=1.58.0 # Apache-2.0
+tooz>=2.7.0 # Apache-2.0
1
0
We are chuffed to announce the release of:
ironic-python-agent 6.3.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.3.0
^^^^^
New Features
************
* The new kernel parameter "ipa-advertise-protocol" can be used to
change the protocol of the callback URL to "https".
* The "deploy.erase_devices_metadata" clean step can now also be
used as a deploy step.
* Introspection of PCI devices now collects PCI class, revision and
PCI bus.
* Adds a Poll extension which provides the ability to retrieve
hardware information as well as set node data from API. This feature
is required for poll mode deployment driven by ironic.
Bug Fixes
*********
* Fixes the return value of the "apply_configuration" deploy step:
the "agent" RAID interface expects the final RAID configuration to
be returned.
* Fixes an issue where the bootloader installation can fail on a
software RAID volume when no root_device hint is set. See Story
2007905 (https://storyboard.openstack.org/#!/story/2007905)
* Fixes retry logic issues with the Agent Lookup which can result in
the lookup failing prematurely before being completed, typically
resulting in an abrupt end to the agent logging and potentially
weird errors like TypeError being reported on the agent process
standard error output. For more information see bug 2007968
(https://storyboard.openstack.org/#!/story/2007968)
* Fixes an issue with the ironic-python-agent where we would call to
setup the bootloader, which is necessary with software raid, but
also attempt to clean up iSCSI. This can cause issues when using the
"direct" "deploy_interface". Now the agent will only clean up iSCSI
connections if iSCSI was explicitly started. For more information,
please see story 2007937
(https://storyboard.openstack.org/#!/story/2007937)
* Devices with size 0 are now ignored when collecting inventory.
Some hardware represents virtual floppy devices this way, see e.g.
https://www.dell.com/community/Systems-Management-General/How-to-
disable-iDRAC-Virtual-CD/td-p/4734424
Changes in ironic-python-agent 6.2.0..6.3.0
-------------------------------------------
1580781 Revert "Switch the inspector job to tinyIPA until DIB is fixed"
353d09c Support changing the protocol part of callback_url to https
5eab9bc Fix TypeError on agent lookup failure
b424fbf Extends pci devices metrics
ce53863 Examples: add deploy_steps examples
9830f3c set EVENTLET_NO_GREENDNS to 'yes'
7fb098a Import example hardware managers from ipa-example-hardware-managers
f03d720 Return the final RAID configuration from apply_configuration
eb87651 Allow erase_devices_metadata to be used as a deploy step
bc57788 Update version of hacking
52cc87e Revert jobs to dib
80e1181 More refactoring of the image module
5e95b13 Fix bootloader install issue with MDRAID
ab58515 Fix versions in release notes
2a56ee0 Prevent un-needed iscsi cleanup
c66bec0 Set min version of tox to 3.2.1
6bde89e Update jobs
1f3b70c Ignore devices with size 0 when collecting inventory
61c9555 Adds poll mode deployment support
4ba9ce6 Hint 404 lookup failures for Operators
Diffstat (except docs and test files)
-------------------------------------
examples/README.rst | 43 +++++
examples/business-logic/example_business_logic.py | 194 +++++++++++++++++++++
examples/business-logic/setup.cfg | 19 ++
examples/business-logic/setup.py | 6 +
examples/vendor-device/example_device.py | 152 ++++++++++++++++
examples/vendor-device/setup.cfg | 20 +++
examples/vendor-device/setup.py | 6 +
ironic_python_agent/__init__.py | 19 ++
ironic_python_agent/agent.py | 98 ++++++-----
ironic_python_agent/cmd/agent.py | 3 +-
ironic_python_agent/config.py | 13 +-
ironic_python_agent/extensions/image.py | 74 ++++----
ironic_python_agent/extensions/iscsi.py | 3 +-
ironic_python_agent/extensions/poll.py | 43 +++++
ironic_python_agent/hardware.py | 56 +++++-
ironic_python_agent/inspector.py | 33 +++-
ironic_python_agent/ironic_api_client.py | 51 ++++--
lower-constraints.txt | 2 +-
.../notes/advertise-protocol-110ae1587f727e62.yaml | 5 +
.../notes/apply-raid-aeca7848c6320d6b.yaml | 6 +
.../notes/erase-deploy-step-3e952fa863bca908.yaml | 5 +
.../notes/extend-pci-metric-5482284d6a9fe765.yaml | 4 +
...oader-install-with-mdraid-0a254035df9d0bed.yaml | 7 +
...ixes-agent-lookup-retries-1b4bb90b8e783aca.yaml | 9 +
releasenotes/notes/poll-mode-063bd36b2b18bffb.yaml | 6 +
...nt-needless-iscsi-cleanup-f8d602c0abc7e8ba.yaml | 9 +
releasenotes/notes/zero-size-78d3be2ac8fd59c2.yaml | 6 +
releasenotes/source/train.rst | 2 +-
releasenotes/source/ussuri.rst | 6 +-
setup.cfg | 1 +
test-requirements.txt | 2 +-
tox.ini | 11 +-
zuul.d/ironic-python-agent-jobs.yaml | 43 ++++-
zuul.d/project.yaml | 15 +-
42 files changed, 1097 insertions(+), 155 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index 0565105..d07515f 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-hacking>=3.0.1,<3.1.0 # Apache-2.0
+hacking>=3.1.0,<3.2.0 # Apache-2.0
1
0
We are amped to announce the release of:
openstack-ansible 21.0.0: Ansible playbooks for deploying OpenStack
This release is part of the ussuri 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.0.0
^^^^^^
New Features
************
* Support is added for deploying OpenStack on CentOS 8 with source
and distro based installs. However, nspawn support can't be offered,
as machinectl relies on btrfs which has been dropped by CentOS.
* Support is added for deploying OpenStack on Ubuntu Focal (20.04)
with source based installs. Ubuntu Cloud Archive is not available
for Focal at this point so it is not possible to offer distro
package based installs for Focal.
* Multiple HAProxy nodes can now be deployed in an HA configuration
with keepalived and LetsEncrypt certificates. Certbot can be treated
as a backend service for haproxy and acme-challenge requests from
LetsEncrypt can be directed to whichever HAProxy server is running a
certificate renewal. New variables are defined for frontend ACLs and
options to be passed to Certbot which enable this new feature, but
the majority of the required configuration is done via the existing
HAProxy service setup. An example is provided in the documentation.
* Added variables *cinder_active_active_cluster* and
*cinder_active_active_cluster_name* that allow to explicitly enable
or disable active/active feature, and set cluster name.
* The galera_server role now includes the functionality from the
galera_client role, and can optionally install the client and server
components. This is controlled using two booleans,
galera_install_server and galera_install_client, both of which
default to false.
Upgrade Notes
*************
* The galera_server role now includes the functionality from the
galera_client role, and as a result a number of the variables from
the galera_client defaults are now available to override in the
galera_server role defaults. In addition, a number of default
variables have been generalised, removing the specific *_client_* or
*_server_* parts of the names. Users of this role should check that
any overrides they are using have the correct variables names for
the new combined role.
Deprecation Notes
*****************
* To provide compatibility with Centos-8 the LXC cache preparation
has been greatly simplified to remove the requirement for machinectl
and btrfs, which is a combination not available on Centos-8. This
has the side effect of machinectl no longer being a supported
backing store for LXC.
* Fedora is no longer tested in CI for each commit.
* *rabbitmq_install_method: file* is deprecated now and will be
removed in the Wallaby release. As for now supported options are
only *external_repo* and *distro*. Among with that the following
variables are deprecated and prepared for the removal:
* rabbitmq_package_url
* rabbitmq_package_sha256
* rabbitmq_package_path
Variable *rabbitmq_release_version* has been removed as not used
anymore.
Changes in openstack-ansible 20.0.0.0rc1..21.0.0
------------------------------------------------
a21b05dd3 Bump SHAs for stable/ussuri
54d10eea9 Add ubuntu focal distro jobs
b3bc33f52 Always use the utility host for service setup tasks
5e396a182 Fix ceph deployment for CentOS 7
b74d2bbd2 Rename mysql to mariadb for registered var
1d9f2631a Add documentation for deploying letsencrypt certificates
c8332c5dd Fix management address lookup for metal hosts in some deployments
4a0325bfd Add rsync package for New CentOS-8 minimal installs
d25d301c3 Fix gate job for aio_metal template
e3a0384e2 Fix mysql binary name
fb4c00c78 Remove package cache proxy cleanup
2fc0370f9 Add Centos-8 support
739f0d82c Bump role SHA for ussuri
621705d72 Ensure distro packages are present for utility wheel build
59deac41e Fix KeyError raised when max hostname length exceeded
7f58002b8 Fix tmpfiles-setup wait handler
c353ccded Bump SHAs for stable/ussuri
35c84c4d5 Disable test_swift_acl_anonymous_download test
f8225264f Fix the name of the renamed network for trove
41e33b2a3 Add Ubuntu Focal support
16a96ff21 Cleanup ansible_python_interpreter
5e61842b1 Wait for systemd-tmpfiles-setup service to complete after container restart
441b36f47 Add murano to required_projects
08a926c9f Correct a typo in the document
c513e6881 Remove git repo haproxy backend
0830ba6c4 Update default requirements_git_url for utility
e72cfbd94 Only use zuul cloned git repos for code hosted at opendev.org
67f6afa51 Fix default openstack_deploy dir evaluation
268c66c6b Resolve issue with undefined facts while running with tags
4c4c65c16 Fix inventory_manage when the component for a host is not defined
47aace556 Rewrite CI provided apt sources to be http instead of https on focal
863b0487d auto-detect interpreter.
e6f963123 Use ansible openstack collection
fd045e4aa Remove pre-gate cleanup tasks for the new plain CI images
2759fea0e Add ansible openstack collection
b5de032b4 Update TOX_CONSTRAINTS_FILE for stable/ussuri
e0579f07e Update .gitreview for stable/ussuri
b6b6f6eb7 Create Ussuri
d41350808 Remove retired congress
465a1fea4 Rewrite CI provided apt sources to be http instead of https on bionic
3fc02402f Return lxc jobs
2679b80f2 Update ceph release to octopus
de67ccbac Use galera server role to install galera client
5d8000967 Update docstheme for style
5bb49c4e8 Include openstack_services.yml as vars file for Gnocchi role
8dc271b1e Update Magnum fedora image name
db75cb936 Enable octavia tempest tests
6185adefa [ussuri][goal] Update contributor documentation
2e0dfc240 Bump ansible version to 2.9.9
7171aecdf Increase disk size for manila service VM during tests
77f728398 Imported Translations from Zanata
7bb347db8 Drop proprietary repo usage for libselinux-python3
70a00cc28 Fix variables gathering for add-compute script
cf0f3a37f Local facts are strings so make this explicit
7c5a6d4d4 Imported Translations from Zanata
648effa56 Don't do cleanup for Suse images
25a303632 Move openSUSE to experimental status
51631a5e3 Suppress errors when ara is not installed
3cd981999 [doc] Adjust deploy-guide to install py3
cc7ff5fd4 Fix horizon_image_upload_mode naming
2860f1bda Update hacking for Python3
d719094a0 Update ansible to 2.9.7
473c5439c Use btrfs-progs instead of btrfs-tools
0546ab4bd Imported Translations from Zanata
8e28b8e85 Install python3 instead of python2 during host bootstrapping.
fec7887e8 Rewording Limited Connectivity for clarity
b7c6b42d5 Use defined keepalived track_scripts
47090c82c Bump SHAs for master
f9fd3c3ad Disable test_list_user_groups temepst test
2deabaeb4 Fix latest_tag rendering for stable versions
5d94b5b6c Fix update of the deploy guide
656a8dcd0 [doc] Update maturity matrix
560fc2d44 Grammar Cleanup - Maintenance Tasks
ef76ec297 Change glance haproxy balancing method
ba8032c5c [doc] Add Debian buster to the list of supported OS
600b23b1a [doc] Add line to distribute nova keys
0b7d97bea Update global-requirement-pins
189704a0c Update ansible to 2.8.10
4d0510bcf Update used cirros images
6db97829c Bump SHAs for master
6265118a9 Imported Translations from Zanata
9c0266082 [doc] Add firewall configuration step of quickstart guide
ed35aa04c Bump SHAs for master
b4665609e Add support to deploy zun
f05af2d77 Add default value for user_role_file when cloning git repos
934ea56e2 Imported Translations from Zanata
30dd0337e Imported Translations from Zanata
869f18580 Set bionic upgrade job to voting
2e277de55 Upate deployment verifiation endpoint example
b3932f0e8 Use zuul cached repos for openstack services
8176d320d Bump SHAs for master
e42b2898c ceph: run handlers after common
3505cab50 Update limited connectivity guide for easy_install configuration
b04481c82 Re-order gate cleanup pip package removal
8275bd045 Add CONTRIBUTING.rst
bb01eedcd Add compute node deployment script
2e80e5335 Add missing horizon dashboard variables
7589b6ec3 Imported Translations from Zanata
772059734 [ussuri][goal] Drop python 2.7
ce8439706 Add magnum tempest test
0ed271ddd Imported Translations from Zanata
932baa2cf Add magnum image upload CI
78adec035 manila: refactor playbooks
fb1a66e03 python3: use backported libselinux-python3
853dec794 ci: disable upgrade jobs
6bf489753 Bump SHAs for master
9d2a3c07e [doc] Add placement definition to config samples
5eeec731c Ensure utility binaries link to the latest versions
23c3bca4e Set bionic upgrade job to voting
5a9750eb1 Imported Translations from Zanata
3800754c1 Drop virtualenv pip package for CI
4d9b568f6 Fix idempotency for os-lxc-container-setup.yml
893aa5102 Add manila_service_region
0b9a302a2 manila: stop including all hosts in haproxy
2a7edfb03 Do not append container_name for metal containers
8a2ea4d3e Add manila tempest testing
83dbd97f2 Bump SHAs for master
23bf332db Imported Translations from Zanata
75f2f0f86 Bump ansible version to 2.8.8
1f50c8b53 Add ceph-mds and ceph-nfs setup
a1eb06048 Document user-role-requirements.yml
9ce120468 Install appropriate tempest releases on stable branches
18a35faea Allow ceph metal CI deployments
75879a02d Remove log compression before upload
aa79d8186 Set fixed version for networking-calico
6c6f25f81 Bump SHAs for master
be1bf3084 Update ansible to 2.8.7
8d8a8ecd9 Imported Translations from Zanata
13f5b3e95 [doc] Add placement definition to config sample
7313764be Imported Translations from Zanata
350c92ea9 Deploy heat with magnum
6eb90b8f1 Bump SHAs for master
c30ac4b96 Imported Translations from Zanata
2c4738918 Document container_extra_networks usage
d7a05389c Use py3 for venvs for all OS
2224cf162 Imported Translations from Zanata
2ac3c8afd Drop pip-conf-removal.yml from docs
9a05b6fd5 Update Train Release date
88bb4d33d Drop pip-conf-removal task
be89da6a1 Make upgrade script respect OSA_CONFIG_DIR
2e8474efb Set neutron_service_region in group_vars
827b2e992 Add reno regarding buster support
00d71feb8 Remove murano from os-infra_containers
280ddcee9 Imported Translations from Zanata
f66b4b277 Install chrony on AIO
e4f3da81c Set CentOS upgrade jobs to non-voting
e46d1ebe2 Don't install python2 for Debian
573420763 Revert "Add nova placement to placement migration"
7c837594c Bump SHAs for master
46358ae9d Move debian jobs to buster
6729ad423 Use unconfined apparmor profiles on Debian Buster.
94e477032 Don't require provider_networks with no_containers
be4360588 Imported Translations from Zanata
ed625067b Removes package cache references from yum config
41fa31325 Install galera client for placement migration
1bd21d80e Disable journald-remote playbook
384ae93a9 Roll back use of tempest smoke test for the integrated repo
096691d2e Adding missing tag for dynamic-address-fact task
69bee0fe6 Bump SHAs for master
28da36da7 Imported Translations from Zanata
97d448f22 Update inventory group/user_secrets for inspector change in Ironic
23c34a79a Change rabbitmq_package_state logic
b3de0e3f9 Collect etcd logs
ee679637f Fix core-reviewer source link.
1aa0aad4c Imported Translations from Zanata
717534356 Bump SHAs for master
e5a6a1416 Fix requirements_git_url call
035136af6 Switch upgrade jobs to Ussuri cycle
b8cd59c56 Add ceph-ansible filter plugins path to openstack-ansible.rc
9f9bfae7e Run setup module prior to bootstrapping aio
94eac3cb3 Fix spice-html5 git repo
a61c5aa4d Add metal upgrade jobs
3fbc5b959 Start Ussuri cycle
8971ab3b2 Drop rabbitmq_apply_openstack_policies
a1b567df1 Install python3 distro packages in the utility playbook
99439227c Imported Translations from Zanata
57d5a127b Add locale override for space identification
bb863c176 Update docs regarding train release
4ce8c74c9 Update master for stable/train
a224a2b65 Replace deprecated "lvm_share_export_ip" opt
0ff6e1fb3 Add support to deploy murano
655d265df tox: Keeping going with docs
9b1f331d9 Use bootstrap_host_scenarios_expanded for services
b5c288277 Add cloudkitty and zun to a-r-r
88360784d Imported Translations from Zanata
af588a44a Switch to opensuse-15 nodeset
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 2 +-
CONTRIBUTING.rst | 19 +
ansible-collection-requirements.yml | 4 +
ansible-role-requirements.yml | 240 ++---
deploy-guide/source/conf.py | 47 +-
deploy-guide/source/overview-requirements.rst | 4 +-
deploy-guide/source/targethosts-prepare.rst | 17 +-
.../admin/maintenance-tasks/ansible-modules.rst | 50 +-
.../admin/maintenance-tasks/inventory-backups.rst | 4 +-
.../admin/maintenance-tasks/rabbitmq-maintain.rst | 26 +-
.../admin/openstack-operations/verify-deploy.rst | 14 +-
.../reference/configuration/advanced-config.rst | 1 +
.../reference/configuration/extending-osa.rst | 22 +
.../reference/configuration/extra-networks.rst | 62 ++
etc/openstack_deploy/conf.d/ceph.yml.aio | 8 +
etc/openstack_deploy/conf.d/ironic.yml.aio | 4 +
etc/openstack_deploy/conf.d/murano.yml.aio | 3 +
etc/openstack_deploy/conf.d/murano.yml.example | 8 +
etc/openstack_deploy/conf.d/zun.yml.aio | 7 +
etc/openstack_deploy/conf.d/zun.yml.example | 9 +
etc/openstack_deploy/env.d/aio_metal.yml.example | 9 +
etc/openstack_deploy/openstack_user_config.yml.aio | 1 +
.../openstack_user_config.yml.aio.j2 | 1 +
.../openstack_user_config.yml.example | 2 +-
.../openstack_user_config.yml.prod-ceph.example | 14 +
.../openstack_user_config.yml.prod.example | 9 +
...openstack_user_config.yml.provnet-group.example | 9 +
.../openstack_user_config.yml.test.example | 5 +
etc/openstack_deploy/user_secrets.yml | 22 +
.../user_variables.yml.prod-ceph.example | 1 -
global-requirement-pins.txt | 9 +-
inventory/env.d/ceph.yml | 28 +
inventory/env.d/ironic.yml | 16 +-
inventory/env.d/murano.yml | 38 +
inventory/env.d/zun.yml | 36 +
inventory/group_vars/all/all.yml | 10 +-
inventory/group_vars/all/ceph.yml | 6 +-
inventory/group_vars/all/glance.yml | 2 +-
inventory/group_vars/all/horizon.yml | 2 +-
inventory/group_vars/all_containers.yml | 2 +-
inventory/group_vars/ceph_all.yml | 38 +-
inventory/group_vars/haproxy/haproxy.yml | 35 +-
inventory/group_vars/haproxy/keepalived.yml | 8 +-
inventory/group_vars/horizon_all.yml | 3 +
inventory/group_vars/manila_all.yml | 9 +-
inventory/group_vars/murano_all.yml | 26 +
inventory/group_vars/neutron_all.yml | 2 +
inventory/group_vars/rabbitmq_all.yml | 3 +-
inventory/group_vars/utility_all.yml | 62 +-
inventory/inventory.ini | 13 +-
osa_toolkit/filesystem.py | 26 +-
osa_toolkit/generate.py | 35 +-
osa_toolkit/manage.py | 3 +
playbooks/ceph-install.yml | 97 +-
playbooks/ceph-nfs-install.yml | 67 ++
playbooks/ceph-rgw-install.yml | 18 +-
playbooks/ceph-rgw-keystone-setup.yml | 10 +-
playbooks/common-playbooks/cinder.yml | 10 +-
playbooks/common-playbooks/glance.yml | 8 +-
playbooks/common-playbooks/neutron.yml | 10 +-
playbooks/common-playbooks/nova.yml | 12 +-
playbooks/common-tasks/ceph-server.yml | 61 +-
playbooks/common-tasks/os-lxc-container-setup.yml | 16 +-
playbooks/common-tasks/package-cache-proxy.yml | 67 --
playbooks/containers-lxc-create.yml | 11 +-
playbooks/containers-lxc-host.yml | 10 +-
playbooks/containers-nspawn-create.yml | 14 +-
playbooks/containers-nspawn-host.yml | 8 +-
playbooks/defaults/ceph_ansible.yml | 2 -
playbooks/defaults/distro_install.yml | 1 +
playbooks/defaults/healthchecks-vars.yml | 6 +-
playbooks/defaults/repo_packages/gnocchi.yml | 3 +-
playbooks/defaults/repo_packages/nova_consoles.yml | 12 +-
.../defaults/repo_packages/openstack_services.yml | 203 ++--
playbooks/defaults/source_install.yml | 4 +
playbooks/etcd-install.yml | 8 +-
playbooks/galera-install.yml | 13 +-
playbooks/haproxy-install.yml | 8 +-
playbooks/healthcheck-infrastructure.yml | 2 +-
playbooks/healthcheck-openstack.yml | 48 +-
playbooks/infra-journal-remote.yml | 8 +-
playbooks/memcached-install.yml | 8 +-
playbooks/openstack-hosts-setup.yml | 20 +-
playbooks/os-aodh-install.yml | 8 +-
playbooks/os-barbican-install.yml | 8 +-
playbooks/os-blazar-install.yml | 12 +-
playbooks/os-ceilometer-install.yml | 8 +-
playbooks/os-congress-install.yml | 12 +-
playbooks/os-designate-install.yml | 8 +-
playbooks/os-gnocchi-install.yml | 8 +
playbooks/os-heat-install.yml | 8 +-
playbooks/os-horizon-install.yml | 8 +-
playbooks/os-ironic-install.yml | 8 +-
playbooks/os-keystone-install.yml | 10 +-
playbooks/os-magnum-install.yml | 7 +
playbooks/os-manila-install.yml | 52 +-
playbooks/os-masakari-install.yml | 8 +-
playbooks/os-mistral-install.yml | 12 +-
playbooks/os-murano-install.yml | 43 +
playbooks/os-octavia-install.yml | 8 +-
playbooks/os-panko-install.yml | 8 +-
playbooks/os-placement-install.yml | 23 +-
playbooks/os-rally-install.yml | 8 +-
playbooks/os-sahara-install.yml | 6 +
playbooks/os-swift-install.yml | 9 +-
playbooks/os-tacker-install.yml | 8 +-
playbooks/os-tempest-install.yml | 9 +-
playbooks/os-trove-install.yml | 8 +-
playbooks/os-zun-install.yml | 66 ++
playbooks/qdrouterd-install.yml | 9 +-
playbooks/rabbitmq-install.yml | 11 +-
playbooks/repo-install.yml | 8 +-
playbooks/rsyslog-install.yml | 8 +-
playbooks/security-hardening.yml | 8 +-
playbooks/setup-infrastructure.yml | 6 +
playbooks/setup-openstack.yml | 2 +
playbooks/unbound-install.yml | 11 +-
playbooks/utility-install.yml | 51 +-
.../add-centos-8-support-af546bd6ca3b10cd.yaml | 7 +
.../notes/add-focal-support-54ae4be4f524db7b.yaml | 7 +
.../notes/add-iptables-5ff8c4317e2e8498.yaml | 2 +-
.../notes/add-murano-to-repo-ffsdgsdhgb332 | 4 +
.../notes/add-zun-to-repo-169a09b4ab52c1f7.yaml | 4 +
releasenotes/notes/apt_repo-097cb34c12e60207.yaml | 7 +
.../blockinfile_hosts_file-0959a64a030c8888.yaml | 7 +
.../ceph-backend-host-change-968edfbc15b59b0a.yaml | 2 +-
.../ceph_ceph_conf_overrides-7b3a09ac34f94a6b.yaml | 7 +
.../ceph_keyrings_in_files-7d6a01e64861f8c6.yaml | 15 +
.../notes/certbot_ha-83b56aed3f360dba.yaml | 11 +
...der-init-config-overrides-9e495aee023deed6.yaml | 2 +-
...der_active_active_cluster-62674205a3259902.yaml | 6 +
...tty-init-config-overrides-ffce7e419061c4da.yaml | 10 +
...dkitty-service-setup-host-9bd1d7372c501606.yaml | 17 +
...dkitty_init_time_settings-cba85875093eac61.yaml | 23 +
.../notes/combine-client-d6b135b9957d55ee.yaml | 17 +
.../notes/debian-buster-9c62d1182166545e.yaml | 9 +
.../disable-journald-remote-33d3b43e538786ed.yaml | 13 +
.../notes/drop-machinectl-5053dc9833535cd9.yaml | 8 +
.../notes/drop-py-2-7-ff5e69d0456fbf4c.yaml | 5 +
.../fedora-latest-support-bf58ecd96cc8fbd4.yaml | 4 +
...eat-init-config-overrides-004872081661a34c.yaml | 2 +-
...nic-init-config-overrides-e73d9fd46a69afcf.yaml | 2 +-
.../notes/journal-log-cfbr504hd9b49612.yaml | 5 +
.../keystone-openrc-v2-show-0bbfc8ab1dba8bd6.yaml | 5 +
.../notes/libvirt_packages-e826dec75312c077.yaml | 5 +
...num-init-config-overrides-aec21cbbd9da8e4e.yaml | 2 +-
.../notes/magnum_resources-84e50dbaebac7d1c.yaml | 8 +
.../notes/mod-auth-openidc-102bd253b677f3fc.yaml | 16 +
.../murano-horizon-panel-7875a53d695ba3f0.yaml | 9 +
...ng-generic-switch-support-6ae4be93aa50a7c3.yaml | 7 +
...udkitty-only-install-venv-449f52f2cf8a5e98.yaml | 5 +
...ssaging-separate-backends-601acca3643bd90c.yaml | 19 +
.../notes/package-state-34d9aa6d4c7aeffe.yaml | 14 +
.../rabbit_install_method-b1defcd376f3bf87.yaml | 13 +
.../notes/remove-fax-fail-5038b4b6eb4951b3.yaml | 2 +-
.../notes/remove-pki-support-d13581d93f245e92.yaml | 4 +
.../remove-requirements-git-ecb194a280b34192.yaml | 7 +
.../notes/remove_rpc_backend-1987334512353568.yaml | 4 +
.../removed-trusty-support-e312476a237187f5.yaml | 4 +
.../notes/session_engine-54753c41d355e34e.yaml | 11 +
.../notes/suse_experimental-247d141fe0381f21.yaml | 7 +
.../notes/tempestconf-extras-38a14ff705161872.yaml | 14 +
releasenotes/source/conf.py | 16 +-
releasenotes/source/index.rst | 1 +
.../source/locale/id/LC_MESSAGES/releasenotes.po | 1067 ++++++++++++++++++--
releasenotes/source/train.rst | 6 +
requirements.txt | 2 -
scripts/add-compute.sh | 88 ++
scripts/ansible-role-requirements-editor.py | 5 +-
scripts/bootstrap-ansible.sh | 30 +-
scripts/gate-check-commit.sh | 37 +-
scripts/get-ansible-role-requirements.yml | 24 +-
scripts/log-collect.sh | 14 +-
scripts/openstack-ansible.rc | 5 +-
scripts/openstack-ansible.sh | 2 +-
scripts/release-yaml-file-prep.py | 7 +-
scripts/run-upgrade.sh | 13 +-
scripts/scripts-library.sh | 20 +-
.../upgrade-utilities/deploy-config-changes.yml | 42 +-
.../galera-cluster-rolling-restart.yml | 10 +-
test-requirements.txt | 2 +-
.../bootstrap-host/tasks/check-requirements.yml | 5 +
.../bootstrap-host/tasks/prepare_aio_config.yml | 42 +-
.../templates/user_variables.aio.yml.j2 | 34 +-
.../templates/user_variables_ceph.yml.j2 | 5 +-
.../templates/user_variables_magnum.yml.j2 | 71 ++
.../templates/user_variables_manila.yml.j2 | 72 +-
.../templates/user_variables_murano.yml.j2 | 30 +
.../templates/user_variables_octavia.yml.j2 | 23 +
.../templates/user_variables_translations.yml.j2 | 4 +-
.../templates/user_variables_zun.yml.j2 | 18 +-
tox.ini | 57 +-
zuul.d/jobs.yaml | 180 +++-
zuul.d/playbooks/pre-gate-cleanup.yml | 55 +
zuul.d/playbooks/pre-gate-scenario.yml | 4 +-
zuul.d/playbooks/pre-osa-aio.yml | 9 +-
.../playbooks/templates/osa-gate-scenario.yml.j2 | 2 +-
zuul.d/project-templates.yaml | 78 +-
234 files changed, 5608 insertions(+), 2026 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 3064f4781..6a94d1d4e 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6 +5,0 @@ pyOpenSSL>=17.1.0 # Apache-2.0
-ndg-httpsclient>=0.4.2;python_version<'3.0' # BSD
@@ -11 +9,0 @@ PyYAML>=3.12 # MIT
-virtualenv>=14.0.6 # MIT
diff --git a/test-requirements.txt b/test-requirements.txt
index faa6d2423..f49cb49c4 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -6 +6 @@
-hacking>=1.1.0,<1.2.0 # Apache-2.0
+hacking>=3.0,<3.1.0 # Apache-2.0
1
0
We are psyched to announce the release of:
ironic-prometheus-exporter 2.1.0: Prometheus Exporter for Ironic
Hardware Sensor data
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/ironic-prometheus-exporter
Download the package from:
https://tarballs.openstack.org/ironic-prometheus-exporter/
Please report issues through:
https://storyboard.openstack.org/#!/project/openstack/ironic-
prometheus-exporter
For more details, please see below.
Changes in ironic-prometheus-exporter 2.0.0..2.1.0
--------------------------------------------------
7f799a3 Prometheus-exporter to use DevStack's neutron"-legacy" module
f8fc386 Set min version of tox to 3.2.1
3c51b2e drop mock from lower-constraints
be06c76 Revert "Remove six"
f7d8882 Remove six
ba18ac6 Switch to newer openstackdocstheme version
3258a6d Add releasenotes link to README
0826f88 Add coverage configuration for tox
45fefb8 Stop calling LOG.info on every function calls
b5dd6e0 Add py38 package metadata
95f2533 Add Python3 victoria unit tests
2b5ef36 Update master for stable/ussuri
Diffstat (except docs and test files)
-------------------------------------
.coveragerc | 11 +++++++++++
.zuul.yaml | 21 ++++++++-------------
README.rst | 1 +
ironic_prometheus_exporter/parsers/ipmi.py | 7 -------
lower-constraints.txt | 4 ++--
releasenotes/source/conf.py | 8 +++-----
releasenotes/source/index.rst | 1 +
releasenotes/source/ussuri.rst | 6 ++++++
setup.cfg | 1 +
test-requirements.txt | 1 +
tox.ini | 14 +++++++++++++-
13 files changed, 56 insertions(+), 32 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index e95e8fe..75c412a 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -6,0 +7 @@ oslotest>=3.2.0 # Apache-2.0
+coverage!=4.4,>=4.0 # Apache-2.0
1
0
We are psyched to announce the release of:
ironic-ui 4.1.0: Ironic plugin UI for Horizon to allow users to view
and manage bare metal nodes, ports and drivers.
This release is part of the victoria release series.
The source is available from:
https://opendev.org/openstack/ironic-ui
Download the package from:
https://pypi.org/project/ironic-ui
Please report issues through:
https://storyboard.openstack.org/#!/project/openstack/ironic-ui
For more details, please see below.
Changes in ironic-ui 4.0.0..4.1.0
---------------------------------
50134dc api: drop project_id from kwargs in client
6d253ca Cleanup py27 support
cae8625 drop mock from lower-constraints and requirements
beb5081 Switch to newer openstackdocstheme and reno versions
aa5d060 Imported Translations from Zanata
e5972f1 Imported Translations from Zanata
3528093 Add py38 package metadata
c0e231c Add Python3 victoria unit tests
4855969 Update master for stable/ussuri
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 2 +-
ironic_ui/api/ironic.py | 1 -
ironic_ui/api/ironic_rest_api.py | 3 +--
ironic_ui/content/ironic/panel.py | 1 +
ironic_ui/test/settings.py | 16 ++++++------
lower-constraints.txt | 6 -----
releasenotes/source/conf.py | 11 +++-----
releasenotes/source/index.rst | 1 +
.../source/locale/de/LC_MESSAGES/releasenotes.po | 29 ++++++++++++++++++++--
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 13 ++++++----
releasenotes/source/ussuri.rst | 6 +++++
setup.cfg | 17 +++----------
setup.py | 9 -------
test-requirements.txt | 2 +-
tox.ini | 8 +++---
17 files changed, 74 insertions(+), 65 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index 7cb47f4..ae17714 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -5 +5 @@
-hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
+hacking>=3.1.0,<=3.2.0 # Apache-2.0
1
0
We are jazzed to announce the release of:
bifrost 8.3.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.3.0
^^^^^
New Features
************
* Adds support for configuring credential-less deploy via the new
"agent" power interface and the "manual-management" hardware type.
* Extra parameters for ansible can now be passed to "bifrost-cli"
via the "-e"/"--extra-vars" flag. The format is the same as for
ansible- playbook.
* Metadata cleaning is now enabled by default, set "cleaning" to
"false" to disable completely.
* To enable full disk cleaning, set "cleaning_disk_erase" to "true".
* The new parameter "default_boot_mode" allows specifying the
default boot mode: "uefi" or "bios".
* Set the new parameter "developer_mode" to "true" to make all
packages installed from source to be installed with the "--editable"
flag. The corresponding "bifrost-cli" argument is "--develop".
* The new variable "git_url_root" allows overriding the root URL for
all repositories (e.g. changing the default "https://opendev.org" to
a local path).
* HTTP basic authentication for API services is now supported in
addition to no authentication and Keystone. It is triggered by
setting "noauth_mode=false" with "enable_keystone=false".
* Installations with "bifrost-cli" now use HTTP basic authentication
if Keystone is disabled.
* The ramdisk logs for inspection are now stored by default in
"/var/log/ironic-inspector/ramdisk".
* If "keystone_lockout_security_attempts" is enabled, the amount of
time the account stays locked is now regulated by the new parameter
"keystone_lockout_duration" (defaulting to 1800 seconds).
* Deploy/cleaning ramdisk logs are now always stored by default, use
"ironic_store_ramdisk_logs" to override.
* Added creation of a symbolic link from $VENV/collections directory
which contains ansible collections to the playbooks subdirectory of
bifrost. This is done in the env-setup.sh script.
* The "bifrost-create-vm-nodes" role now supports redfish emulation,
set "test_vm_node_driver=redfish" (or "--driver=redfish" for
"bifrost-cli testenv") to use.
* The new parameter "default_boot_mode" allows specifying the
default boot mode: "uefi" or "bios".
Upgrade Notes
*************
* The variable "ci_testing" is no longer taken into account by the
roles. Use the existing "copy_from_local_path" if you need Bifrost
to copy repositories from their pre-cached locations.
* If you use "cleaning=true" to enable full disk cleaning, you need
to also set "cleaning_disk_erase=true" now. Omitting it will result
in only metadata cleaning enabled.
* All services now use *journald* logging by default, "ironic-
api.log" and "ironic-conductor.log" are no longer populated. Use
"ironic_log_dir" and "inspector_log_dir" to override.
* The ramdisk logs for deploy/cleaning are now by default stored in
"/var/log/ironic/deploy".
* The "inspector_user" user is not created by default any more. Use
"bifrost_user" instead.
* If you're relying on default passwords (e.g. for the database or
keystone passwords), they will be changed on upgrade. Please use
explicit values if you want to avoid it.
* OpenStackSDK is now installed from PyPI by default, set
"openstacksdk_source_install=true" to override.
* Previously installation used to be skipped completely if the
"skip_install" variable is defined, independent of its value. This
has been fixed, and now installation is only skipped if
"skip_install" is defined and equals "true".
Deprecation Notes
*****************
* Deprecates providing inspector discovery parameters via
"inspector[discovery]", use explicit variables instead.
* Bifrost will switch to HTTP basic authentication by default in the
future. If you want to avoid it, please set "noauth_mode" to "false"
explicitly.
* The "ironic_db_password" parameter is deprecated, please use
"service_password" to set a password to use between services or
override the whole "ironic" and "keystone" objects.
Security Issues
***************
* Uses mode 0700 for the inspector log directories to prevent them
from being world readable.
* When using Keystone, no longer locks users out of their accounts
on 3 unsuccessful attempts to log in. This creates a very trivially
exploitable denial-of-service issue. Use
"keystone_lockout_security_attempts" to re-enable (not recommended).
* Uses mode 0700 for the ironic log directories to prevent them from
being world readable.
* Random passwords are now generated by default instead of using a
constant. The same parameters as before can be used to override
them.
Bug Fixes
*********
* No longer clones repositories with corresponding
"*_source_install" variables set to "false".
* Ironic Staging Drivers are now installed from source by default
since they are released very infrequently (usually once per cycle).
* The addition of the symbolic link makes bifrost playbooks
independent of the ANSIBLE_COLLECTIONS_PATHS environment variable
which wasn't reliably set in some environments.
* Removing dependency on libselinux-python for Fedora OS family.
This package is no longer present in Fedora 32 and was causing
installation failures. It is safe to remove as it is used with
python2 only.
* On systems with SELinux enforcing, enables nginx to read symbolic
links. Fixes network boot of instances.
Other Notes
***********
* The role "bifrost-openstack-ci-prep" has been removed. It was only
used in the upstream CI context and is no longer required.
* The variable "ci_testing_zuul" is no longer used or set.
* The version of cirros used by default is now 0.5.1 (instead of
0.4.0).
* Bifrost now uses the equivalent modules from the openstack.cloud
collection. The change on modules is listed below.
* *os_client_config* is *config*
* *os_ironic* is *baremetal_node*
* *os_ironic_inspect* is *baremetal_inspect*
* *os_ironic_node* is *baremetal_node_action*
* *os_keystone_role* is *identity_role*
* *os_keystone_service* is *catalog_service*
* *os_user* is *identity_user*
* *os_user_role* is *role_assignment*
Changes in bifrost 8.2.0..8.3.0
-------------------------------
bcda97b Support HTTP basic auth and switch bifrost-cli to it
02fb11f Support redfish emulation and run the keystone jobs with redfish
9f62bc9 Support default_boot_mode and prepare the CI for different boot modes
a52b831 Change to "collections" where needed
73d71b2 Clean up bindep.txt
d6f0551 Dynamic roles: consolidate auth parameters in one place
1dc4564 Add developer mode to bifrost
da35932 Clean up requirements
0d3cf24 Install openstacksdk from pypi by default
77d09f0 Remove upstart templates
33a63bc Make ironic logging more in line with other services.
e816543 Add non-voting jobs with the openstack ansible collection from source
42f6d94 Consolidate env-setup
29cbe1b Support installing the openstack collection from a local location
fbb66d1 Add ansible collections symlink to .gitignore
2a6fc72 Use random passwords by default
90ec389 Switch bifrost to openstack.cloud collections
1606aad Store inspector ramdisk logs by default
112932d Enable debug logging in virtualbmc
92ec342 Correct handling of inspect_nodes in test-bifrost.yaml
ac2c136 bifrost_inventory: use stderr for logging
c331093 Create symlink to ansible collections on install
3c5377c Auto-set ansible_python_interpreter when in venv
3657bf7 Support configuring credential-less deploy
716f0fe Disable keystone account locking by default
639d9a5 Make ansible ask for sudo password
b67115d Support extra-vars in bifrost-cli
e3f5984 Expand advanced install instructions
e03d187 Update to cirros 0.5.1
d5b49bd Enable metadata cleaning by default
fc2b247 Make skip_install a normal boolean variable
8210ff3 selinux: allow nginx to read symbolic links
6610cf4 Rework installation documentation for an easier start
df9c0d4 Set min version of tox to 3.2.1
f4f456d Removing libselinux-python package from Fedora dependencies
a47db1e Account for bugfix branches in bifrost-cli
9e9249c Add git_url_root to override root for all repositories at once
ab69cca Get rid of ci_testing variable in roles
9b1d1d5 Do not clone repos with source_install==false
12bbea5 Remove bifrost-openstack-ci-prep role
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 1 +
...nts.yml => ansible-collections-requirements.yml | 0
bifrost/cli.py | 50 +++-
bifrost/inventory.py | 1 +
bindep.txt | 13 +-
lower-constraints.txt | 7 +-
playbooks/ci/run.yaml | 3 +
playbooks/install.yaml | 3 +-
playbooks/inventory/group_vars/localhost | 4 +-
playbooks/inventory/group_vars/target | 4 +-
playbooks/redeploy-dynamic.yaml | 1 -
playbooks/roles/bifrost-cloud-config/README.md | 89 +++++++
.../roles/bifrost-cloud-config/defaults/main.yml | 2 +
.../roles/bifrost-cloud-config/tasks/main.yml | 62 +++++
.../bifrost-configdrives-dynamic/defaults/main.yml | 8 +-
.../tasks/update_facts_from_ironic.yaml | 26 +-
.../defaults/main.yml | 5 +
.../bifrost-create-dib-image/defaults/main.yml | 1 +
.../bifrost-create-vm-nodes/defaults/main.yml | 10 +-
.../defaults/required_defaults_CentOS.yml | 1 +
.../defaults/required_defaults_Debian.yml | 3 +
.../defaults/required_defaults_Fedora.yml | 3 +-
.../defaults/required_defaults_RedHat.yml | 1 +
.../defaults/required_defaults_Suse.yml | 3 +
.../defaults/required_defaults_Ubuntu_20.04.yml | 3 +
.../bifrost-create-vm-nodes/tasks/create_vm.yml | 12 +-
.../roles/bifrost-create-vm-nodes/tasks/main.yml | 11 +-
.../tasks/prepare_libvirt.yml | 68 +++++-
.../templates/redfish-emulator.conf.j2 | 11 +
.../templates/redfish-emulator.service.j2 | 15 ++
.../templates/virtualbmc.conf | 2 +
.../roles/bifrost-deploy-nodes-dynamic/README.md | 2 +-
.../bifrost-deploy-nodes-dynamic/defaults/main.yml | 7 +-
.../bifrost-deploy-nodes-dynamic/tasks/main.yml | 29 +--
playbooks/roles/bifrost-ironic-install/README.md | 29 ++-
.../roles/bifrost-ironic-install/defaults/main.yml | 128 +++++-----
.../defaults/required_defaults_Debian_family.yml | 1 +
.../defaults/required_defaults_Fedora.yml | 2 +-
.../defaults/required_defaults_RedHat_family.yml | 1 +
.../defaults/required_defaults_Suse_family.yml | 1 +
.../defaults/required_defaults_Ubuntu.yml | 1 +
.../bifrost-ironic-install/files/ironic_policy.te | 4 +-
.../bifrost-ironic-install/tasks/bootstrap.yml | 59 +++--
.../bifrost-ironic-install/tasks/hw_types.yml | 8 +
.../tasks/inspector_bootstrap.yml | 43 +++-
.../roles/bifrost-ironic-install/tasks/install.yml | 8 +-
.../tasks/keystone_setup.yml | 15 +-
.../tasks/keystone_setup_inspector.yml | 11 +-
.../templates/ironic-inspector.conf.j2 | 23 +-
.../templates/ironic.conf.j2 | 58 ++++-
.../templates/upstart_template.j2 | 10 -
.../defaults/main.yml | 18 ++
.../templates/clouds.yaml.j2 | 23 +-
.../templates/openrc.j2 | 25 +-
.../bifrost-keystone-install/defaults/main.yml | 25 +-
.../bifrost-keystone-install/tasks/install.yml | 2 +-
.../roles/bifrost-keystone-install/tasks/main.yml | 26 ++
.../templates/keystone.conf.j2 | 5 +-
.../templates/upstart_template.j2 | 10 -
.../roles/bifrost-openstack-ci-prep/README.md | 80 -------
.../bifrost-openstack-ci-prep/defaults/main.yml | 3 -
.../roles/bifrost-openstack-ci-prep/meta/main.yml | 15 --
.../roles/bifrost-openstack-ci-prep/tasks/main.yml | 49 ----
.../roles/bifrost-pip-install/defaults/main.yml | 3 +
playbooks/roles/bifrost-pip-install/tasks/main.yml | 7 +-
playbooks/roles/bifrost-prep-for-install/README.md | 20 +-
.../bifrost-prep-for-install/defaults/main.yml | 47 +++-
.../roles/bifrost-prep-for-install/tasks/main.yml | 4 +-
.../defaults/main.yml | 5 +
playbooks/roles/bifrost-rabbitmq/defaults/main.yml | 5 +
.../defaults/main.yml | 7 +-
.../tasks/main.yml | 25 +-
.../roles/ironic-delete-dynamic/defaults/main.yml | 6 +-
.../roles/ironic-delete-dynamic/tasks/main.yml | 24 +-
.../roles/ironic-enroll-dynamic/defaults/main.yml | 8 +-
.../roles/ironic-enroll-dynamic/tasks/main.yml | 22 +-
.../roles/ironic-inspect-node/defaults/main.yml | 5 +
playbooks/roles/ironic-inspect-node/tasks/main.yml | 42 +---
playbooks/test-bifrost-create-vm.yaml | 7 +-
playbooks/test-bifrost.yaml | 49 +---
.../notes/agent-power-0773acb338ae4169.yaml | 9 +
.../notes/bifrost-cli-extra-19fd989a05b2e4b4.yaml | 6 +
...bifrost-openstack-ci-prep-172cbb159e0a2b78.yaml | 5 +
.../notes/ci-testing-faa63db25ebc94df.yaml | 9 +
.../notes/cirros-0.5.1-d09a433cbea1a3b9.yaml | 4 +
releasenotes/notes/cleaning-9b4241342320f315.yaml | 12 +
.../notes/default-boot-mode-5561325f68224719.yaml | 5 +
.../notes/developer-mode-000e7a125642b9e1.yaml | 6 +
.../notes/git-url-root-c81478d395f66e46.yaml | 6 +
.../notes/http-basic-40df399ea63956aa.yaml | 14 ++
.../inspector-ramdisk-logs-0db7c111fd455cec.yaml | 9 +
.../notes/keystone-lockout-c8a26a09e0f0560b.yaml | 12 +
releasenotes/notes/logging-bcc7d552944c94e4.yaml | 17 ++
releasenotes/notes/no-clone-cebedc81211dcfa5.yaml | 8 +
.../notes/random-passwords-b33b8de010ee82b6.yaml | 18 ++
.../notes/releasenote-4812959d071329fc.yaml | 11 +
.../notes/releasenote-94bcb2b0da207f94.yaml | 7 +
.../notes/sdk-source-1bd77dbd11b08577.yaml | 5 +
.../notes/selinux-lnk_file-527ac51c60f9c2ad.yaml | 5 +
.../notes/skip-install-bfd642f5065cf304.yaml | 7 +
...h_to_openstack_collection-a6eb3e24a68a1a82.yaml | 14 ++
.../notes/test-redfish-54ed748e2305d8eb.yaml | 9 +
requirements.txt | 7 +-
scripts/collect-test-info.sh | 27 +--
scripts/env-setup.sh | 45 ++--
scripts/test-bifrost.sh | 33 ++-
test-requirements.txt | 4 -
tox.ini | 2 +-
zuul.d/bifrost-jobs.yaml | 14 +-
zuul.d/project.yaml | 4 +
114 files changed, 1333 insertions(+), 715 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 7531fba..70f3ed9 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -7 +7,4 @@ oslo.log>=3.36.0 # Apache-2.0
-paramiko>=2.0.0 # LGPLv2.1+
+PyYAML>=3.12 # MIT
+passlib>=1.7.2 # BSD
+# TODO(dtantsur): remove pyOpenSSL when we no longer support Bionic and
+# openSUSE updates its version to at least 18.0.0.
@@ -9 +12 @@ pyOpenSSL>=18.0.0 # Apache-2.0
-setuptools!=24.0.0,!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,>=21.0.0 # PSF/ZPL
+setuptools!=48.0.0,!=49.0.0,>=39.0.1 # PSF/ZPL
diff --git a/test-requirements.txt b/test-requirements.txt
index 08571a1..d9fdd01 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -9 +8,0 @@ doc8>=0.6.0 # Apache-2.0
-oslotest>=3.2.0 # Apache-2.0
@@ -11,2 +9,0 @@ stestr>=2.0.0 # Apache-2.0
-testrepository>=0.0.18 # Apache-2.0/BSD
-testscenarios>=0.4 # Apache-2.0/BSD
@@ -14 +10,0 @@ testtools>=2.2.0 # MIT
-PyYAML>=3.12 # MIT
1
0
We are delighted to announce the release of:
ironic-inspector 10.3.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.3.0
^^^^^^
New Features
************
* The new API "GET /v1/introspection/<node>/data/unprocessed" allows
retrieving raw (unprocessed) data if data store is enabled.
Upgrade Notes
*************
* API now listens on "::" by default, change the "listen_address"
configuration option to modify.
Bug Fixes
*********
* The "extra_hardware" processing hook no longer refuses to parse
extra data if some records are empty or have unexpected length.
These records are now discared.
The previous behavior can be returned by setting the new option
"[extra_hardware]strict" to "True".
* The "extra_hardware" processing hook no longer removes the
incoming "data" object if it has unexpected data format, assuming
that this object is used for something else.
The previous behavior can be returned by setting the new option
"[extra_hardware]strict" to "True".
* Using auth_strategy=http_basic incorrectly required authentication
for public paths such as / and /v1. These paths are now public.
* Fixes an issue which may occur with Apache httpd webservers acting
as a proxy where the server may report "Bad Gateway", however
inspector continues operating as if there was no problem. This was
due to a lack of a "Content-Type" header on HTTP 202 and 204
replies, and lack of message body with HTTP 202 messages which
Apache httpd can error upon.
* No longer tries to set "local_gb" to -1 if the matched root device
has size of zero.
Changes in ironic-inspector 10.2.0..10.3.0
------------------------------------------
523c52d Fix requirements job
9de65e3 Normalize formatting in the API versions reference
6a8d46b Listen on :: by default
3243cac Relax extra_hardware data validation by default
a5e8cce CI: run doc8 on api-ref
bd16d80 Remove built-in API documentation in favour of API-REF
cc7fcf4 Add support for retrieving unprocessed data
92c6422 Add public api support to basic auth
6e2cb60 Respond so Apache HTTPd doesn't think the request failed
32d68ef Set min version of tox to 3.2.1
039844a Make inspector base CI job use 2 CPUs
95e103d Do not try to set local_gb to -1 when the matched root device size is 0
a1f8926 Remove non-inclusive language in pxe filter
Diffstat (except docs and test files)
-------------------------------------
CONTRIBUTING.rst | 3 +-
api-ref/source/index.rst | 9 +-
api-ref/source/introspection-api-v1-continue.inc | 4 +-
...trospection-api-v1-introspection-management.inc | 42 +++
api-ref/source/introspection-api-versions.inc | 44 ++-
api-ref/source/parameters.yaml | 36 +-
devstack/plugin.sh | 1 -
ironic_inspector/conf/__init__.py | 2 +
ironic_inspector/conf/default.py | 2 +-
ironic_inspector/conf/extra_hardware.py | 33 ++
ironic_inspector/conf/opts.py | 3 +-
ironic_inspector/introspect.py | 6 +-
ironic_inspector/main.py | 55 ++-
ironic_inspector/node_cache.py | 2 +
ironic_inspector/plugins/extra_hardware.py | 70 ++--
ironic_inspector/plugins/standard.py | 16 +-
ironic_inspector/pxe_filter/dnsmasq.py | 110 +++---
ironic_inspector/pxe_filter/iptables.py | 28 +-
ironic_inspector/test/functional.py | 15 +-
.../test/unit/test_dnsmasq_pxe_filter.py | 84 ++---
ironic_inspector/test/unit/test_iptables.py | 54 +--
ironic_inspector/test/unit/test_main.py | 42 ++-
.../test/unit/test_plugins_extra_hardware.py | 70 +++-
.../test/unit/test_plugins_standard.py | 10 +
ironic_inspector/utils.py | 44 ++-
lower-constraints.txt | 2 +-
.../notes/extra-check-9cf0a7d89e534ccd.yaml | 16 +
.../http-basic-public-api-2cf0e206bea4b34e.yaml | 5 +
releasenotes/notes/listen-v6-effec95455e900f8.yaml | 5 +
.../reply-with-content-type-644b741261c87c8c.yaml | 9 +
.../notes/unprocessed-07842e56eb60e253.yaml | 5 +
releasenotes/notes/zero-size-55c4b4f2b9e8384d.yaml | 5 +
requirements.txt | 4 +-
tox.ini | 4 +-
zuul.d/ironic-inspector-jobs.yaml | 1 +
40 files changed, 628 insertions(+), 648 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 27b08bb..a31f8d9 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -8 +8 @@ eventlet!=0.18.3,!=0.20.1,>=0.18.2 # MIT
-Flask>=1.0 # BSD
+Flask>=1.1.0 # BSD
@@ -11 +11 @@ ironic-lib>=4.3.0 # Apache-2.0
-jsonpath-rw<2.0,>=1.2.0 # Apache-2.0
+jsonpath-rw>=1.2.0 # Apache-2.0
1
0