summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge "[iRMC] Handle IPMI incompatibility in iRMC S6 2.x" into stable/zedstable/zedZuul2023-04-199-89/+788
|\
| * [iRMC] Handle IPMI incompatibility in iRMC S6 2.xVanou Ishii2023-03-029-89/+788
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since iRMC S6 2.00, iRMC firmware disables IPMI over LAN with default iRMC firmware configuration. To deal with this firmware incompatibility, this commit modifies driver's methods which use IPMI to first try IPMI and, if IPMI fails, try to use Redfish API. Story: 2010396 Task: 46746 Change-Id: I1730279d2225f1248ecf7fe403a5e503b6c3ff87 (cherry picked from commit d23f72ee501a5bdcc89806eb0ebbba929a36e64d)
* | Always fall back from hard linking to copying filesDmitry Tantsur2023-04-113-107/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | The current check is insufficient: it passes for Kubernetes shared volumes, although hard-linking between them is not possible. This patch changes the approach to trying a hard link and falling back to copyfile instead. The patch relies on optimizations in Python 3.8 and thus should not be backported beyond the Zed series to avoid performance regression. Change-Id: I929944685b3ac61b2f63d2549198a2d8a1c8fe35 (cherry picked from commit 59c6ad96ce35c9deecfedb5698c5806f3883a8af)
* | Add error logging on lookup failures in the APIDmitry Tantsur2023-04-041-1/+5
| | | | | | | | | | | | | | | | Lookup returns generic 404 errors for security reasons. Logging is the only way of debugging any issues during it. Change-Id: I860ed6b90468a403f0f6cdec9c3d84bc872fda06 (cherry picked from commit 21437135ab3a8c9aa2fea99c48ab42eb45630941)
* | Fix online upgrades for Bios/TraitsJulia Kreger2023-03-153-13/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... And tags, but nobody uses tags since it is not available via the API. Anyhow, the online upgrade code was written under the assumption that *all* tables had an "id" column. This is not always true in the ironic data model for tables which started as pure extensions of the Nodes table, and fails in particular when: 1) A database row has data stored in an ealier version of the object 2) That same object gets a version upgrade. In the case which discovered this, BIOSSetting was added at version 1.0, and later updated to include additional fields which incremented the version to 1.1. When the upgrade went to evaluate and iterate through the fields, the command failed because the table was designed around "node_id" instead of "id". Story: 2010632 Task: 47590 Change-Id: I7bec6cfacb9d1558bc514c07386583436759f4df (cherry picked from commit cbe5f86ce7c100f834701cf43f7b9b1bfdfb9ea5)
* | Merge "Wipe Agent Token when cleaning timeout occcurs" into stable/zedZuul2023-03-153-2/+15
|\ \
| * | Wipe Agent Token when cleaning timeout occcursJulia Kreger2023-03-143-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)
* | | Merge "Clean out agent token even if power is already off" into stable/zedZuul2023-03-153-0/+38
|\ \ \ | |/ / |/| |
| * | Clean out agent token even if power is already offJulia Kreger2023-03-143-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While investigating a very curious report, I discovered that if somehow the power was *already* turned off to a node, say through an incorrect BMC *or* human action, and Ironic were to pick it up (as it does by default, because it checks before applying the power state, then it would not wipe the token information, preventing the agent from connecting on the next action/attempt/operation. We now remove the token on all calls to conductor utilities node_power_action method when appropriate, even if no other work is required. Change-Id: Ie89e8be9ad2887467f277772445d4bef79fa5ea1 (cherry picked from commit bcf6c12269168c5b4f0d9d4d3212e813f1827494)
* | | Do not recalculate checksum if disk_format is not changedDmitry Tantsur2023-03-136-22/+151
|/ / | | | | | | | | | | | | | | Even if a glance image is raw, we still recalculate the checksum after "converting" it to raw. This process may take exceptionally long. Change-Id: Id93d518b8d2b8064ff901f1a0452abd825e366c0 (cherry picked from commit f00da959eaa70a7e77059655c0050137cee78568)
* | 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 stable/zedZuul2023-02-204-17/+40
|\
| * Align iRMC driver with Ironic's default boot_modeVanou Ishii2022-12-084-17/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | 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 (cherry picked from commit 071cf9b2dd2233509c3cdb8261c0ee7b391e6b2c)
* | Merge "Update TOX_CONSTRAINTS_FILE for stable/zed" into stable/zedZuul2023-02-201-5/+5
|\ \
| * | Update TOX_CONSTRAINTS_FILE for stable/zedOpenStack Release Bot2022-09-231-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the URL to the upper-constraints file to point to the redirect rule on releases.openstack.org so that anyone working on this branch will switch to the correct upper-constraints list automatically when the requirements repository branches. Until the requirements repository has as stable/zed branch, tests will continue to use the upper-constraints list on master. Change-Id: If164c969e315935027fd53f4f21beed8a505cb75
* | | Merge "Fix "'NoneType' object is not iterable" in RAID" into stable/zedZuul2023-02-133-2/+17
|\ \ \
| * | | Fix "'NoneType' object is not iterable" in RAIDAija Jauntēva2023-01-123-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not update `raid_configs` if operation is synchronous. First, it is not needed, second, it will not be cleaned up by async periodics. As the result the data remains on the node and causes errors the next time node is in cleaning state. Story: 2010476 Task: 47037 Change-Id: Ib1850c58d1670c3555ac9b02eb7958a1b440a339 (cherry picked from commit 17c9e58c9ecaca6c058597d906c94a6d032b7efe)
* | | | Merge "Fix selinux context of published image hardlink" into stable/zedZuul2023-02-013-12/+52
|\ \ \ \
| * | | | Fix selinux context of published image hardlinkRiccardo Pittau2023-01-193-12/+52
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 (cherry picked from commit c05c09fd3ac7ed2c3a5dd13a602e3ae70dfb8734)
* | | | 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 "Fix unit tests for Python 3.11" into stable/zedZuul2022-12-161-12/+13
|\ \ \
| * | | Fix unit tests for Python 3.11Riccardo Pittau2022-12-131-12/+13
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | Mocks can no longer be provided as the specs for other Mocks. See https://github.com/python/cpython/issues/87644 and https://docs.python.org/3.11/whatsnew/3.11.html for more info. Change-Id: If7c10d9bfd0bb410b3bc5180b737439c92e515da (cherry picked from commit 342f4b37d757ac247aece95f7a4c3410a026b625)
* | | Fixes for tox 4.0Jay Faulkner2022-12-151-2/+7
|/ / | | | | | | | | | | Formatting changes in config file required for tox 4.0. Change-Id: I84202ac10e9195647162f0b5737ebb610ef1ef93
* | Fix the invalid glance client testDmitry Tantsur2022-11-094-16/+30
|/ | | | | | | | | | | | It relied on mocking tenacity.retry, but it's executed on class initialization. Depending on the ordering, it may do nothing or it may replace ImageService.call with a mock. Instead, add a new tenacity helper that loads an option in runtime. As a nice side effect, [glance]num_retries is now mutable. Change-Id: I2e02231d294997e824db77c998ef8d352fa69075 (cherry picked from commit cab51a9fcc022f2e4bb634277dd20e90e2dc78f7)
* Update .gitreview for stable/zedOpenStack Release Bot2022-09-231-0/+1
| | | | Change-Id: I542c0e979061c6608084f16d11b5e36612f27cf2
* Merge "Zed: Add a prelude for the release notes"21.1.0Zuul2022-09-231-0/+12
|\
| * Zed: Add a prelude for the release notesJulia Kreger2022-09-221-0/+12
| | | | | | | | | | | | | | | | | | | | The Zed cycle is coming to a close, and we need a release notes prelude. Contribtors, please edit, I just put this together so we wouldn't forget. Change-Id: I3a5ca31bf3648c9f8a956f4592c305d2b23f419e
* | Merge "Set stage for Zed Release with 21.1"Zuul2022-09-223-5/+25
|\ \
| * | Set stage for Zed Release with 21.1Iury Gregory Melo Ferreira2022-09-213-5/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a pre-release commit for the Yoga release following our docs [1] [1] https://docs.openstack.org/ironic/latest/contributor/releasing.html We will clean-up the releasenotes and include the prelude in other patch Change-Id: I3b8df0dce64c4ee3b20b7a714b6647d6e1ec0330
* | | Merge "Implement a DHCP driver backed by dnsmasq"Zuul2022-09-2211-10/+394
|\ \ \
| * | | Implement a DHCP driver backed by dnsmasqSteve Baker2022-09-0511-10/+394
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ``[dhcp]dhcp_provider`` configuration option can now be set to ``dnsmasq`` as an alternative to ``none`` for standalone deployments. This enables the same node-specific DHCP capabilities as the ``neutron`` provider. See the ``[dnsmasq]`` section for configuration options. Change-Id: I3ab86ed68c6597d4fb4b0f2ae6d4fc34b1d59f11 Story: 2010203 Task: 45922
* | | | Merge "Fix idrac-redfish RAID controller mode conversion"Zuul2022-09-224-4/+281
|\ \ \ \ | |_|/ / |/| | |
| * | | Fix idrac-redfish RAID controller mode conversionAija Jauntēva2022-09-154-4/+281
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PERC 9 and PERC 10 might not be in RAID mode with no or limited RAID support. This fixes to convert any eligible controllers to RAID mode during delete_configuration clean step or deploy step. Story: 2010272 Task: 46199 Change-Id: I5e85df95a66aed9772ae0660b2c85ca3a39b96c7
* | | | Merge "Concurrent Distructive/Intensive ops limits"Zuul2022-09-219-4/+287
|\ \ \ \ | |_|_|/ |/| | |
| * | | Concurrent Distructive/Intensive ops limitsJulia Kreger2022-09-209-4/+287
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide the ability to limit resource intensive or potentially wide scale operations which could be a symptom of a highly distructive and unplanned operation in progress. The idea behind this change is to help guard the overall deployment to prevent an overall resource exhaustion situation, or prevent an attacker with valid credentials from putting an entire deployment into a potentially disasterous cleaning situation since ironic only other wise limits concurrency based upon running tasks by conductor. Story: 2010007 Task: 45140 Change-Id: I642452cd480e7674ff720b65ca32bce59a4a834a
* | | Merge "increase disk_erasure_coconcurrency"Zuul2022-09-202-1/+11
|\ \ \
| * | | increase disk_erasure_coconcurrencyJulia Kreger2022-05-262-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When we added concurrent disk erasures, we kept the concurrency to 1 as to not risk any different oeprator behavior, at the cost of not faster erasure times. That being said, we have had the setting in place for some time and we have received no reports of issues, so we are incrementing it to four as that should be still quite relatively safe from a concurrency standpoint for disk controllers in systems. Change-Id: I6326422d60ec024a739ca596f46552bbd91b0419
* | | | Merge "Fix nodes stuck at cleaning on Network Service issues"Zuul2022-09-203-7/+29
|\ \ \ \
| * | | | Fix nodes stuck at cleaning on Network Service issuesKaifeng Wang2022-09-203-7/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ironic validates network interface before the cleaning process, currently invalid parameter is captured but for not others. There is chance that a node could be stucked at the cleaning state on networking issues or temporary service down of neutron service. This patch adds NetworkError to the exception hanlding to cover such cases. Change-Id: If20de2ad4ae4177dea10b7ebfc9a91ca6fbabdb9
* | | | | Merge "Document existence of non-production "fake" driver"Zuul2022-09-202-0/+37
|\ \ \ \ \
| * | | | | Document existence of non-production "fake" driverJay Faulkner2022-09-202-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ironic has fake drivers for development use. Document that they are not suitable for production. Story: 1326269 Task: 9877 Change-Id: Ibe6d43e1740a95b1cb3886394afaf8545de00e54
* | | | | | Merge "tests: Add a WarningsFixture"Zuul2022-09-202-1/+81
|\ \ \ \ \ \
| * | | | | | tests: Add a WarningsFixtureStephen Finucane2022-09-082-1/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We will use this in the future to prepare for SQLAlchemy 2.0. For now, we're simply using it to filter out some of the more annoying warnings and to highlight general SQLAlchemy issues we need to address. Change-Id: I7c26c20e4b36c4f3b98873939677b966ec6186a5 Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
* | | | | | | Merge "CI: Changes to support Anaconda CI jobs"Zuul2022-09-203-1/+84
|\ \ \ \ \ \ \
| * | | | | | | CI: Changes to support Anaconda CI jobsJulia Kreger2022-09-063-1/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduces additional job configuration to enable automated integration testing via tempest of the anaconda deployment interface. Also, configures a private subnet with DNS, which is required by anaconda executing, in order to facilitate processing of URLs. Change-Id: I61b5205cf2c9f83dfcabf4314247c76fb6a56acd
* | | | | | | | Merge "Correct Image properties lookup for paths"Zuul2022-09-203-92/+105
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / |/| | | | | | |
| * | | | | | | Correct Image properties lookup for pathsJulia Kreger2022-08-103-92/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The image lookup process, when handed a path attempts to issue a HEAD request against the path and gets a response which is devoid of details like a content length or any properties. This is expected behavior, however if we have a path, we also know we don't need to explicitly attempt to make an HTTP HEAD request in an attempt to match the glance ``kernel_id`` -> ``kernel`` and similar value population behavior. Also removes an invalid test which was written before the overall method was fully understood. And fixes the default fallback for kickstart template configuration, so that it uses a URL instead of a direct file path. And fix logic in the handling of image property result set, where the code previously assumed a ``stage2`` ramdisk was always required, and based other cleanup upon that. Change-Id: I589e9586d1279604a743746952aeabbc483825df
* | | | | | | | Merge "Update sushy-oem-idrac version"Zuul2022-09-141-1/+1
|\ \ \ \ \ \ \ \
| * | | | | | | | Update sushy-oem-idrac versionAija Jauntēva2022-09-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update sushy-oem-idrac version to indicate Zed compatibility with 5.*.* releases. Change-Id: Ifc69d3b267592bc8c087f10d84eaef8d46c19d96
* | | | | | | | | Merge "Zed Ironic requires Sushy >4"Zuul2022-09-141-1/+1
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|_|/ / / |/| | | | | | | |