summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Wipe Agent Token when cleaning timeout occcursbugfix/20.2Julia 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 "Align iRMC driver with Ironic's default boot_mode" into bugfix/20.2Zuul2023-02-204-17/+39
|\
| * Align iRMC driver with Ironic's default boot_modeVanou Ishii2022-12-124-17/+39
| | | | | | | | | | | | | | | | | | | | | | | | This commit modifies iRMC driver to use ironic.conf [deploy] default_boot_mode as default value of boot_mode. Before this commit, iRMC driver assumes Legacy BIOS as default boot_mode and value of default_boot_mode doesn't have any effect on iRMC driver's behavior. Story: 2010381 Task: 46643 Change-Id: Ic5a235785a1a2bb37fef38bd3a86f40125acb3d9
* | Merge "Fix selinux context of published image hardlink" into bugfix/20.2Zuul2023-02-013-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/20.2Zuul2023-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: Ic7f90d3c8c623daa00c32cd416f04a9be53373a0
* | | | 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/20.2Zuul2023-01-253-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)
* | | Use cinder from stable/zed for CI jobsRiccardo Pittau2023-01-241-0/+2
| | | | | | | | | | | | Change-Id: I1b11f7d5f2eba42ed6035c325a1e0cebcab61f5d
* | | Pin tox to version lower than 4Riccardo Pittau2023-01-191-1/+2
|/ / | | | | | | | | | | This branch is based on zed where tox version is lower than 4 Change-Id: Icde38d0d9bb12b23e80cf58cd504d6338feb5d0c
* | Fixes for tox 4.0Jay Faulkner2022-12-151-2/+7
|/ | | | | | Formatting changes in config file required for tox 4.0. Change-Id: I84202ac10e9195647162f0b5737ebb610ef1ef93
* All jobs should still run on focal and point to stable/zedRiccardo Pittau2022-12-091-1/+16
| | | | | | | The nodeset ubuntu-jammy does not have the correct configuration for this branch. Change-Id: If756adf3c90f16fc481a4687cb7749b90f1889c8
* Add support auth protocols for iRMCShukun Song2022-11-046-12/+40
| | | | | | | | | | | | | | This patch adds new SNMPv3 auth protocols to iRMC which are supported from iRMC S6. Conflicts: ironic/conf/irmc.py ironic/drivers/modules/irmc/common.py Change-Id: Id2fca59bebb0745e6b16caaaa7838d1f1a2717e1 Story: 2010309 Task: 46353 (cherry picked from commit 233c6408389be5f3e271b46154943bc744e0290e)
* Merge "Fix pxe image lookups" into bugfix/20.2Zuul2022-11-012-6/+17
|\
| * Fix pxe image lookupsJulia Kreger2022-09-202-6/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Image lookups in the PXE interface, for anaconda specific code, were previously hard coded to try and invoke use of glance if needed. Except, not everything is glance. Conflicts: ironic/tests/unit/common/test_pxe_utils.py Change-Id: I8791623be95e7e47739ee051753de97eb0e5e2a3 (cherry picked from commit 7b47e09a385d388854a3c81bc13c333b36c18a36)
* | Merge "Pin bugfix 20.2 ci jobs to zed" into bugfix/20.2Zuul2022-10-132-5/+92
|\ \
| * | Pin bugfix 20.2 ci jobs to zedRiccardo Pittau2022-09-262-5/+92
| | | | | | | | | | | | Change-Id: Ib30a5994394c0d05c6171feeaa5225c5d54b086a
* | | devstack: use CentOS 9 for DIB IPA buildsDmitry Tantsur2022-10-134-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Additionally bumps CPU model to host-model as centos9 builds now require a subset of CPU processors which include advanced features. Host-model also allows for the VM to still start when running with pure qemu, as opposed to KVM passthrough. https://developers.redhat.com/blog/2021/01/05/building-red-hat-enterprise-linux-9-for-the-x86-64-v2-microarchitecture-level#architectural_considerations_for_rhel_9 Change-Id: Ic261efd4bf6f5929687df5e7b1b51b541554af18 (cherry picked from commit 81f583f69b76d608bd99be0d59cc808b64effc4a)
* | | Merge "[iRMC] Add SNMPv3 authentication functionality" into bugfix/20.2Zuul2022-10-0610-65/+555
|\ \ \
| * | | [iRMC] Add SNMPv3 authentication functionalityShukun Song2022-09-2610-65/+555
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: doc/source/admin/drivers/irmc.rst driver-requirements.txt ironic/drivers/modules/irmc/common.py ironic/tests/unit/drivers/modules/irmc/test_common.py Change-Id: Id6f8996e4d103f849325f54fe0619b4acb43453a Story: 2010085 Task: 45590 (cherry picked from commit 79f82c0262c84f1e317991052d065259b3a4683d)
* | | 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/20.2Zuul2022-09-229-47/+484
|\ \
| * | Fix iRMC driver to use certification file in HTTPSVanou Ishii2022-09-229-47/+484
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/tests/unit/drivers/modules/irmc/test_common.py ironic/tests/unit/drivers/modules/irmc/test_power.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)
* | Merge "Redfish: Consider password part of the session cache" into bugfix/20.2Zuul2022-09-224-23/+111
|\ \ | |/ |/|
| * Redfish: Consider password part of the session cacheJulia Kreger2022-09-144-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)
* | Fix compatibility with oslo.db 12.1.0Stephen Finucane2022-09-081-1/+3
|/ | | | | | | | | | | | | oslo.db 12.1.0 has changed the default value for the 'autocommit' parameter of 'LegacyEngineFacade' from 'True' to 'False'. This is a necessary step to ensure compatibility with SQLAlchemy 2.0. However, we are currently relying on the autocommit behavior and need changes to explicitly manage sessions. Until that happens, we need to override the default. Change-Id: I9e095d810ff5398920e8ffd4f2f089d9b8d29335 Signed-off-by: Stephen Finucane <sfinucan@redhat.com> (cherry picked from commit 74795abf2ff972b2b848eee98426bcdfee2a9c20)
* Merge "Update raid_type handling for Redfish raid_config" into bugfix/20.2Zuul2022-09-022-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 "Fix Redfish RAID to update raid_config" into bugfix/20.2Zuul2022-09-023-5/+159
|\ \ | |/
| * Fix Redfish RAID to update raid_configAija Jauntēva2022-08-103-5/+159
| | | | | | | | | | | | | | Story: 2003514 Task: 41940 Change-Id: I753c4b00c0a64bcdc89c9bc0afd46f1211f7847b (cherry picked from commit 29364b7fb40327dc277c535e5b829133274ad420)
* | Merge "Modify test code to avoid CONF modification affection" into bugfix/20.2Zuul2022-08-319-133/+132
|\ \
| * | Modify test code to avoid CONF modification affectionVanou Ishii2022-08-109-133/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Depends-On: https://review.opendev.org/c/openstack/ironic/+/852253 (cherry picked from commit 3b28d0984d5eb82320c632dd5840cebf6d0762ad)
* | | Improve error message heuristics with jsonschema>=4.8Dmitry Tantsur2022-08-303-11/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before version 4.8, jsonschema did some wild guessing when producing error messages for schemas with several equivalent subschemas. In version 4.8 it is no longer done, causing error messages that are more correct but also more generic. This change restores guessing the potential root cause without claiming that it's the only possible root cause. Also the traits schema is simplified to make it less ambiguous. See https://github.com/python-jsonschema/jsonschema/issues/991 for details. Change-Id: Ia75cecd2bfbc602b8b2b85bdda20fdc04c5eadf4 (cherry picked from commit 62f9c61ae6657227fd1f5dbc86c59a22b6bac28f)
* | | 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)
* | | Do not reboot into nowhere after BIOS settings with fast-trackDmitry Tantsur2022-08-174-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. Change-Id: Ibdfe0775065f3b27478305dd18929a291df3ee3c (cherry picked from commit 89f421b166915a22626dcb919382ce13f4588973)
* | | Merge "Change molds option to appropriate class" into bugfix/20.2Zuul2022-08-101-2/+2
|\ \ \ | |/ / |/| |
| * | 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)
* | Log successful clean up in image cacheDmitry Tantsur2022-08-101-0/+11
|/ | | | | Change-Id: I6c53192b69a7b433b2758aa9374cd10b20191af7 (cherry picked from commit e48c62187ca15e130c35b421e5e311eea9a334db)
* 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 markup typo in Redfish driver docs" into bugfix/20.2Zuul2022-07-181-1/+1
|\
| * Fix markup typo in Redfish driver docsAija Jauntēva2022-07-141-1/+1
| | | | | | | | | | | | | | Missing whitespace renders formatting incorrectly. Change-Id: I471fd859a5d8557188e6ad41143552457b5bdb50 (cherry picked from commit 737ff34e76949cd4429e0cede8ceebfeba986c9c)
* | Update known issue for iDRAC Swift firmware updateAija Jauntēva2022-07-132-8/+17
|/ | | | | | | The issue is fixed in iDRAC firmware 6.00.00.00. Change-Id: Ie5b9ce3ed2a9b1cd61d51f64d72403f7dbc5367b (cherry picked from commit 70812aa6edadf87eb04b0661c204693fa98c3dd4)
* Fix redfish-virtual-media for newer iDRACsAija Jauntēva2022-07-045-19/+73
| | | | | | | | | The issue with standard Redfish virtual media boot has been fixed now. Update to restrict use of redfish-virtual-media based on iDRAC firmware version. Change-Id: I8ead1d24a9bd502b64fe7dd058e77550fcee141c (cherry picked from commit 73040c88d99f066644277f32e86d196305fc8596)
* Merge "No deploy_kernel/ramdisk with the ramdisk deploy and no cleaning" ↵Zuul2022-06-287-14/+60
|\ | | | | | | into bugfix/20.2
| * No deploy_kernel/ramdisk with the ramdisk deploy and no cleaningDmitry Tantsur2022-06-277-14/+60
| | | | | | | | | | | | | | | | | | | | Ramdisk deploys don't use IPA, no need to provide it. Cleaning may need the agent, so only skip verification if cleaning is disabled. Other boot interfaces may need fixing as well, I haven't checked them. Change-Id: Ia2739311f065e19ba539fe3df7268075d6075787 (cherry picked from commit 65583e64172a0188d125117d1f2288e105832395)
* | Merge "Configure CI for bugfix/20.2" into bugfix/20.2Zuul2022-06-281-4/+12
|\ \