summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Wipe Agent Token when cleaning timeout occcursbugfix/19.0Julia Kreger2023-03-153-2/+15
| | | | | | | | | | | | In a relatively odd turn of events, should cleaning have started, but then timed out due to lost communications or a hard failure of the machine, an agent token could previously be orphaned preventing re-cleaning. We now explicitly remove the token in this case. Change-Id: I236cdf6ddb040284e9fd1fa10136ad17ef665638 (cherry picked from commit 47b5909486c336352c536eb2cadd121afea8cf12)
* Do not move nodes to CLEAN FAILED with empty last_errorDmitry Tantsur2023-03-029-27/+80
| | | | | | | | | | | | | | | | | | | | When cleaning fails, we power off the node, unless it has been running a clean step already. This happens when aborting cleaning or on a boot failure. This change makes sure that the power action does not wipe the last_error field, resulting in a node with provision_state=CLEANFAIL and last_error=None for several seconds. I've hit this in Metal3. Also when aborting cleaning, make sure last_error is set during the transition to CLEANFAIL, not when the clean up thread starts running. While here, make sure to log the current step in all cases, not only when aborting a non-abortable step. Change-Id: Id21dd7eb44dad149661ebe2d75a9b030aa70526f Story: #2010603 Task: #47476 (cherry picked from commit 9a0fa631ca53b40f4dc1877a73e65ded8ac37616)
* Merge "Fix selinux context of published image hardlink" into bugfix/19.0Zuul2023-02-023-7/+47
|\
| * Fix selinux context of published image hardlinkRiccardo Pittau2023-01-243-7/+47
| | | | | | | | | | | | | | | | If the published image is a hardlink, the source selinux context is preserved. This could cause access denied when retrieving the image using its URL. Change-Id: I550dac9d055ec30ec11530f18a675cf9e16063b5
* | Merge "Remove reno job" into bugfix/19.0Zuul2023-01-311-1/+0
|\ \
| * | Remove reno jobRiccardo Pittau2023-01-271-1/+0
| | | | | | | | | | | | | | | | | | It does not make sense to run it on bugfix branches Change-Id: I718e2a60b11ebd3b2831ea3aee328e61d568ec2c
* | | Move and fix reno config for releasenotes jobJay Faulkner2023-01-272-4/+5
|/ / | | | | | | | | | | | | | | | | | | | | | | | | In its current place, reno config changes will not cause build-openstack-releasenotes job to run, which means changes can land to that config without being tested. Yikes! Also fixes error in regexp which was preventing this from actually fixing the build-openstack-releasenotes job. Co-Authored-By: Adam McArthur <adam@mcaq.me> Change-Id: I4d46ba06ada1afb5fd1c63db5850a1983e502a6c (cherry picked from commit fbe22b23bc3f1c89822e17417747378c9449ebeb)
* | Merge "Prevent pxe retry when agent token exists" into bugfix/19.0Zuul2023-01-243-0/+25
|\ \
| * | Prevent pxe retry when agent token existsJulia Kreger2022-12-193-0/+25
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A race condition can be observed in CI under heavy load where the conductor triggers are boot of the agent before it is fully online based upon state, but not considering the existence of an agent token. As a result, agent is never able to check in with Ironic and the overall operation fails. We now consider agent token's existence before retrying PXE as it is the very earliest indicator of a starting agent. Change-Id: Ice764866a08647031d16570860ec384204269501 Story: 2010107 Task: 45674 (cherry picked from commit d75424b5e5685a9cf04b30a5b0555efd1313e9c3)
* | Pin tox to version lower than 4Riccardo Pittau2023-01-191-1/+2
|/ | | | | | This branch is based on yoga where tox version is lower than 4 Change-Id: Ia5858ad26110ffdc59a59e8736f0734a96788fc5
* Fixes for tox 4.0Jay Faulkner2022-12-151-2/+7
| | | | | | Formatting changes in config file required for tox 4.0. Change-Id: I84202ac10e9195647162f0b5737ebb610ef1ef93
* Add support auth protocols for iRMCShukun Song2022-11-296-12/+40
| | | | | | | | | | | This patch adds new SNMPv3 auth protocols to iRMC which are supported from iRMC S6. Change-Id: Id2fca59bebb0745e6b16caaaa7838d1f1a2717e1 Story: 2010309 Task: 46353 (cherry picked from commit 233c6408389be5f3e271b46154943bc744e0290e) (cherry picked from commit be0e687538c60b5273bc5a24829c137ad36b1661)
* Merge "Add SNMPv3 authentication functionality" into bugfix/19.0Zuul2022-11-2910-60/+551
|\
| * Add SNMPv3 authentication functionalityShukun Song2022-11-1510-60/+551
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently when using SNMPv3, iRMC driver does not use SNMPv3 authentication parameters so the SNMPv3 authentication will always fail. And iRMC cannot recognize FIPS mode, so when FIPS mode is enabled, iRMC driver could still use non-FIPS-compliant algorithms. This commit changes iRMC driver to require and use SNMPv3 authentication parameters when 'irmc_snmp_version' is set to v3 and also makes iRMC driver to force 'irmc_snmp_version' to v3, 'irmc_snmp_auth_proto' to SHA and 'irmc_snmp_priv_proto' to AES when FIPS mode is enabled, because currently among the algorithms supported by iRMC, only SHA and AES are FIPS compliant. Conflicts: ironic/common/utils.py Change-Id: Id6f8996e4d103f849325f54fe0619b4acb43453a Story: 2010085 Task: 45590 (cherry picked from commit 79f82c0262c84f1e317991052d065259b3a4683d) (cherry picked from commit c274231bf5bb9260d2b13865ab20f39131d30b4b)
* | Deals with migration of tox base job to Ubuntu JammyVanou Ishii2022-11-282-1/+8
|/ | | | | | | | | | | | | | OpenStack Infra Zuul jobs (openstack/openstack-zuul-jobs) adds support of Zuul node based on Ubuntu Jammy on 2022 Oct 12th (6d85fd8399ed6b9f2358412945cd6683989662cd). This causes CI failure in openstack-tox-cover, openstack-tox-pep8, ironic-tox-unit-with-driver-libs, ironic-tox-bandit and ironic-cross-sushy (there is no package named 'python-dev' in Ubuntu Jammy). This commit fixes this through specifying Ubuntu Focal Zuul node. Change-Id: I98955e90f216411c0ca3077dfb20fc3f2dc5b93e
* Merge "Redfish: Consider password part of the session cache" into bugfix/19.0Zuul2022-10-144-23/+111
|\
| * Redfish: Consider password part of the session cacheJulia Kreger2022-10-104-23/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, when a password change occured in ironic, the session would not be invalidated, and this, in theory, could lead to all sorts of issues with the old password still being re-used for authentication. In a large environment where credentials for BMCs may not be centralized, this can quickly lead to repeated account lockout experiences for the BMC service account. Anyhow, now we consider it in tracking the sessions, so when the saved password is changed, a new session is established, and the old session is eventually expired out of the cache. Change-Id: I49e1907b89a9096aa043424b205e7bd390ed1a2f (cherry picked from commit c2ba869040f535e4bb83481d1fe9468e7e6991d8) (cherry picked from commit de15ee79474273485d6979b88b973ff3833c4f0a)
* | Merge "Stable only: Correct release note, packaging not required" into ↵Zuul2022-10-121-6/+0
|\ \ | |/ |/| | | bugfix/19.0
| * Stable only: Correct release note, packaging not requiredJay Faulkner2022-10-071-6/+0
| | | | | | | | | | | | | | We removed the need for this library. Correcting release notes. Change-Id: I76abedacba369798cfddd169ec24efdf40338c89 (cherry picked from commit b418416c8b3277f831520ade605b5d5a95813454)
* | Merge "Stable only: Factor out addition of packaging lib" into bugfix/19.0Zuul2022-10-073-2/+632
|\ \ | |/ |/|
| * Stable only: Factor out addition of packaging libJay Faulkner2022-10-043-2/+632
| | | | | | | | | | | | | | | | | | | | Adding a new library to a stable branch is against stable policy, but we landed the patch anyway. In order to faciliate making a release without violating policy against stable versions not introducing new requirements, we've imported the relevant needed methods from the packaging library locally. Change-Id: Idca63219ee0491404bcecdc3ff74160e220d6511
* | Modify do_node_verify to avoid state machine stuckVanou Ishii2022-10-051-1/+1
|/ | | | | | | | | | | | | | | | do_node_verify function runs vendor-driver-defined verify_step. However, when vendor verify_step fails, it causes stuck of state machine at verifying. This is because do_node_verify function tries to retrieve name of verify_step through node.verify_step but node doesn't have verify_step attribute and there is no way to handle exception. This commit fixes this issue. Change-Id: Ie2ec6e08214661f7dc61c92de646e2f4d5bb5469 Story: 2010209 Task: 45942 (cherry picked from commit f6d2b2ed930caaa1fa7a6827876845eb02610848)
* Prevent clear_job_queue and reset_idrac failures on older iDRACsJacob Anders2022-09-303-8/+132
| | | | | | | | | | | | | | Currently, clear_job_queue and reset_idrac steps are only supported on idrac-redfish driver on iDRAC9 hardware. However, Ironic still attempts to run these steps on iDRAC8 BMCs configured with idrac-redfish driver which results in verification failures. This change attempts to resolve it by catching the related exception, logging a warning and continuing verification. In case of cleaning, it still fails. Story: 2010091 Task: 45630 Change-Id: Icd8c5378469887962ff32eea2f38697c539f7e95 (cherry picked from commit 1dda97c783653aef638113cb1faa250836ed99e1)
* Merge "Fix iRMC driver to use certification file in HTTPS" into bugfix/19.0Zuul2022-09-2811-50/+489
|\
| * Fix iRMC driver to use certification file in HTTPSVanou Ishii2022-09-2811-50/+489
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch modifies iRMC driver to use certification file when it connects to iRMC via HTTPS Conflicts: doc/source/admin/drivers/irmc.rst driver-requirements.txt ironic/drivers/modules/irmc/common.py ironic/drivers/modules/irmc/raid.py ironic/tests/unit/drivers/modules/irmc/test_common.py ironic/tests/unit/drivers/modules/irmc/test_power.py ironic/tests/unit/drivers/modules/irmc/test_raid.py releasenotes/notes/irmc-add-certification-file-option-34e7a0062c768e58.yaml Change-Id: If69ce1cf2789d9d60fb8e544596cf7d29eab514d Co-authored-by: Kobayashi Daisuke <kobayashi.da-06@fujitsu.com> Co-authored-by: Song Shukun <song.shukun@jp.fujitsu.com> Story: 2009801 Task: 44345 (cherry picked from commit 64d7a7f3077bc000a18c4a0c56f122941b262483) (cherry picked from commit 6c0152afa141d05ee28cba81178622021574ae17)
* | CI: disable bfv testing on bugfix/19.0Julia Kreger2022-09-271-2/+1
|/ | | | | | | | | | | We appear to be getting an odd mix with Cinder, specifically with os_brick no longer having a setup module internally. This was a known thing that could happen on bugfix branches, and since this is not really needing to be tested on this branch, we can disable the CI job. Change-Id: I124c9ca131e3aa34b700902f4984cfbdfae17df3
* Do not reboot into nowhere after BIOS settings with fast-trackDmitry Tantsur2022-08-314-24/+43
| | | | | | | | | | | | | Currently, the prepare_ramdisk implementation of the redfish-virtual-media boot interface skips configuring an ISO in fast-track mode. When rebooting after BIOS/RAID settings changes, we need to enforce the correct ISO configuration. Conflicts: ironic/drivers/modules/deploy_utils.py Change-Id: Ibdfe0775065f3b27478305dd18929a291df3ee3c (cherry picked from commit 89f421b166915a22626dcb919382ce13f4588973)
* Merge "CI: Removing ironic job queue" into bugfix/19.0Zuul2022-08-301-1/+0
|\
| * CI: Removing ironic job queueJulia Kreger2022-06-041-1/+0
| | | | | | | | | | | | Change-Id: Idf7991d8f8a8cebcdc0413f26ad31542f8ffa8a8 See: https://zuul-ci.org/docs/zuul/latest/releasenotes.html#relnotes-4-1-0-deprecation-notes (cherry picked from commit 63e53797adca625edd2fdacd16a025bedccf8731)
* | Merge "Update raid_type handling for Redfish raid_config" into bugfix/19.0Zuul2022-08-302-1/+28
|\ \
| * | Update raid_type handling for Redfish raid_configAija Jauntēva2022-08-102-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix indentation for case when raid_type is missing. Generally, it is not expected that raid_type will be missing, this is done as a precaution as raid_type was introduced in Redfish 1.3.1. Now log warning that raid_type is missing, thus cannot update raid_config correctly. Followup to I753c4b00c0a64bcdc89c9bc0afd46f1211f7847b Change-Id: Id66b87309dd26a2a165b35ac1d81580e4605d629 (cherry picked from commit 3a621e3983eb2eb1d013d687acc3f5981cdfbc64)
* | | Merge "redfish: fixes usage of ValueDisplayName" into bugfix/19.0Zuul2022-08-303-8/+18
|\ \ \
| * | | redfish: fixes usage of ValueDisplayNameDmitry Tantsur2022-08-263-8/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It's spelled this way, not DisplayValueName. Change-Id: I170d78bdb7ed0f6c36a80a9f2ceb9629f44394ed (cherry picked from commit 9f1f58c6af3aabcb3ae56e5f7b292f07e81e2864)
* | | | Merge "Modify test code to avoid CONF modification affection" into bugfix/19.0Zuul2022-08-307-115/+114
|\ \ \ \
| * | | | Modify test code to avoid CONF modification affectionVanou Ishii2022-08-107-115/+114
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Few unit tests change attribute of CONF variable via Python assignment. This changes attribute of CONF, which is instance of XxxOpt class defined in oslo_config, to Python literal value. This affects result of another unit test. To avoid this, we should change attribute of CONF variable with set_override method. Change-Id: I4bd8b1b4ea974834f1149fcaa79de85d24f5f7d1 Story: 2010214 Task: 45956 (cherry picked from commit 3b28d0984d5eb82320c632dd5840cebf6d0762ad) (cherry picked from commit 593a547a8dbbbeee2225520812f8b235c39656b0)
* | | | Pin Nova to Yoga in bugfix/19.0Dmitry Tantsur2022-08-291-0/+2
| |/ / |/| | | | | | | | Change-Id: Idd3aaa639458f6c2ac7e2844d9507999c09c9dd1
* | | Change molds option to appropriate classVanou Ishii2022-08-101-2/+2
|/ / | | | | | | | | | | | | | | | | | | | | | | At current, retry_attempt & retry_interval in ironic.conf [molds] is instance of StrOpt. However it should be IntOpt class. If it remains to StrOpt class, tenacity.retry wrapper in common/molds.py will fail with TypeError. Change-Id: Iafedf2ec0326009585c1cac251ecae65c9e666ac Story: 2010215 Task: 45957 (cherry picked from commit 35bc014ed94ee0c78ee8d44113fcea721f0c1af0)
* | Merge "Fix Redfish RAID to update raid_config" into bugfix/19.0Zuul2022-08-043-5/+159
|\ \
| * | Fix Redfish RAID to update raid_configAija Jauntēva2022-08-033-5/+159
| | | | | | | | | | | | | | | | | | | | | Story: 2003514 Task: 41940 Change-Id: I753c4b00c0a64bcdc89c9bc0afd46f1211f7847b (cherry picked from commit 29364b7fb40327dc277c535e5b829133274ad420)
* | | Merge "Fix Redfish RAID for non-immediate controllers" into bugfix/19.0Zuul2022-08-044-146/+436
|\ \ \ | |/ /
| * | Fix Redfish RAID for non-immediate controllersAija Jauntēva2022-08-034-146/+436
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes ``redfish`` RAID interface workflow to not create more than 1 logical disks per controller at the same time when controller does not support 'Immediate' application time and system needs rebooting. With this fix virtual disks are grouped by controller and executed in batches when reboot is required. This enables ``redfish`` RAID interface to be used with iDRAC systems directly as although there are many controllers that support 'Immediate' application time, they do it only when system has completed loading. System intermittently completes loading after IPA starts executing clean or deploy steps rendering controllers not supporting 'Immediate' apply time and requiring reboot. This fix handles such scenario instead of failing to create more than 1 virtual disk. Story: 2009863 Task: 44529 Conflicts: ironic/drivers/modules/redfish/raid.py Change-Id: Ia2ce34f09695731b0f48798f662006c4904e2223 (cherry picked from commit d7d8f8754b36af4b686ce540e699fc5cb945c10c)
* | | Merge "Fix compatibility with jsonschema>=4.0.0" into bugfix/19.0Zuul2022-08-034-2/+12
|\ \ \
| * | | Fix compatibility with jsonschema>=4.0.0Dmitry Tantsur2022-07-284-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Specify the schema version for network_data and node, otherwise the latest one is used. Also fix one test where the error messages was changed. Change-Id: I4a614d7e73348bbe6c355a40881b013cbfe00b03 (cherry picked from commit 55b9579f14ea08a2dc732336d8f552cc14ab895d)
* | | | Merge "Fix redfish RAID failed tasks" into bugfix/19.0Zuul2022-08-033-39/+124
|\ \ \ \ | | |/ / | |/| |
| * | | Fix redfish RAID failed tasksAija Jauntēva2022-08-033-39/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Redfish Tasks do not report failures via HTTP status codes. Instead have to check TaskState and TaskStatus. Story: 2009767 Task: 44244 Change-Id: I8f9a89d18d22d18a2e695fde894bcd27f18f8954 (cherry picked from commit 196d8f7fc055667af501ea0569ba5c501a2c6e8d)
* | | | Merge "Fix prepare ramdisk for 'wait' states" into bugfix/19.0Zuul2022-08-034-31/+25
|\ \ \ \ | |/ / /
| * | | Fix prepare ramdisk for 'wait' statesAija Jauntēva2022-08-034-31/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Node can be in CLEANWAIT or DEPLOYWAIT during async step handling when it needs another reboot. Without this change node fails to boot back to IPA. This unifies all occurrences and create utility method for reuse. All occurrences are aligned to have the same set of states in case they are needed in future. Change-Id: I685c5827a70df4abb358635d89b86894671ac493 (cherry picked from commit dd1cb46f2b0146524f0cb4d3579ac5c5b9a6fa45)
* | | | Merge "CI: Add iweb to the use tinyipa on list" into bugfix/19.0Zuul2022-08-031-3/+6
|\ \ \ \ | |/ / / |/| | |
| * | | CI: Add iweb to the use tinyipa on listJulia Kreger2022-06-271-3/+6
| | | | | | | | | | | | | | | | | | | | Change-Id: Ib1d415928a6555298d42e8d525f04eb1028a4bb8 (cherry picked from commit e0c758bb95f92081e54f3c8ed9fa95dcbe7d917e)
* | | | Use yoga upper-constraints for all testsRiccardo Pittau2022-08-032-3/+32
| |/ / |/| | | | | | | | Change-Id: If0d08fc151afbdba8c7f65ae1fe8b1f6aa949af8