summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Clean-up releasenotes for 8.0.0 release8.0.0bugfix/8.0Iury Gregory Melo Ferreira2021-06-022-2/+2
| | | | | | | | | | | | Change-Id: I6a52b55237225f169ff59ac8854f739d9c0f92c7
* | | Merge "Stop accepting duplicated configdrive"Zuul2021-06-023-39/+77
|\ \ \ | |/ / |/| |
| * | Stop accepting duplicated configdriveDmitry Tantsur2021-06-023-39/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We're currently requiring it twice: in image_info and in a separate configdrive argument. I think we should eventually settle on separate arguments for separate entities, so this change makes the value in image_info optional with a goal to stop accepting it. We could probably just remove the handling in image_info, but a deprecation is safer. The (unused in ironic) cache_image call is updated with an optional configdrive arguments. Story: #2008904 Task: #42480 Change-Id: I1e2efa28efa3ea7e389774cb7633d916757bc6ed
* | | Merge "Make _get_efi_bootloaders return relative paths"Zuul2021-05-272-17/+27
|\ \ \
| * | | Make _get_efi_bootloaders return relative pathsSteve Baker2021-05-262-17/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To make this function useful for purposes other than efibootmgr entries, this change moves the path manipulation to _run_efibootmgr. This change also adds boot*.efi entries to BOOTLOADERS_EFI so that it includes every entry in the UEFI Spec 2.9[1] Table 3-2 UEFI Image Types. [1] https://uefi.org/sites/default/files/resources/UEFI_Spec_2_9_2021_03_18.pdf Story: 2008923 Task: 42521 Change-Id: Ibe02786609aa0de65115897d8f4a9b4f36c8aed2
* | | | Limit qemu-img execution arenasJulia Kreger2021-05-263-2/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qemu-img attempts to launch multiple threads by default *and* attempts to have multiple memory allocation arenas to operate from. While multithreading can be good for performance, this pattern and the memory footprint for process launch and dependencies can turn the memory footprint for a cirros image conversion (16MB) into 1.2GB of memory being asked for by the qemu-img tool. In order to limit this impact, as the default number of arenas is governed by the number of CPUs times the number 8, it seems reasonable to lower this to a more reasonable number which also helps keep our possible memory footprint from being exceeded. Change-Id: I71a28ec59ec31c691205eb34d9fcab63a2ccb682 Story: 2008928 Task: 42528
* | | | Merge "Rewrite write_image.sh in Python"Zuul2021-05-263-78/+42
|\ \ \ \ | |/ / / |/| | |
| * | | Rewrite write_image.sh in PythonDmitry Tantsur2021-05-183-78/+42
| | | | | | | | | | | | | | | | Change-Id: I0caa65561948f4e0934943a7a0d3a209701b5a59
* | | | Merge "Enable out-of-order writes when writing whole disk images"Zuul2021-05-252-1/+6
|\ \ \ \ | |/ / / | | | / | |_|/ |/| |
| * | Enable out-of-order writes when writing whole disk imagesDmitry Tantsur2021-05-182-1/+6
| | | | | | | | | | | | | | | | | | Per documentation it improves performance when using -O host_device. Change-Id: Ic6a97af9f865d07c9cb4257397a320475a28f88b
* | | Merge "Do not serialize command_params"Zuul2021-05-183-7/+6
|\ \ \ | |/ / |/| |
| * | Do not serialize command_paramsDmitry Tantsur2021-05-183-7/+6
| |/ | | | | | | | | | | | | | | | | The command params can be huge when configdrive is used. There is no point in sending them back, Ironic does not use them anyhow. Story: #2008904 Task: #42479 Change-Id: I6e3db5db2042ca3fb5dafacfacf036fd7fc2fc4c
* | Merge "Remove the iscsi extension"Zuul2021-05-129-699/+14
|\ \
| * | Remove the iscsi extensionDmitry Tantsur2021-05-109-699/+14
| |/ | | | | | | Change-Id: I2f0e581575112d6c7ba0d211661cab3e0b6caca6
* | Merge "Migrate functional tests for work_on_disk from ironic-lib"Zuul2021-05-122-0/+83
|\ \
| * | Migrate functional tests for work_on_disk from ironic-libDmitry Tantsur2021-05-102-0/+83
| |/ | | | | | | | | | | Missed in commit 24951b1029170840484a50fdd38d2a57858a578c. Change-Id: Iad5e8f161ac69b96b9332d83fe22b5e0b9192258
* | Merge "Burn-in: Add memory step"Zuul2021-05-116-0/+99
|\ \
| * | Burn-in: Add memory stepArne Wiebalck2021-05-016-0/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a clean step for memory burn-in via stress-ng. Get basic run parameters from the node's driver_info. Story: #2007523 Task: #42383 Change-Id: I33a83968c9f87cf795ec7ec922bce98b52c5181c
* | | Merge "Software RAID: RAID the ESPs"Zuul2021-05-113-126/+124
|\ \ \
| * | | Software RAID: RAID the ESPsArne Wiebalck2021-04-163-126/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For software RAID in UEFI mode, we create ESPs on all holder disks and copy the bootloader there. Since there is no mechanism to keep the ESPs in sync, e.g. on kernel upgrades or when kernel parameters are updated, the ESPs will get out of sync eventually. This may lead to a situation where a node boots with outdated parameters or does not have any of the installed kernels in the boot menu anymore. This change proposes to RAID the ESPs. While the UEFI firmware will find an ESP partition (one leg of the mirror), the node will see an md device and all subsequent updates will go to all member disks. Also, remove the source ESP after copying in order to avoid mount confusion (same UUID!). Story: #2008745 Task: #42103 Change-Id: I9078ef37f1e94382c645ae98ce724ac9ed87c287
* | | | Merge "Fix NVMe Partition image on UEFI"Zuul2021-05-103-1/+51
|\ \ \ \
| * | | | Fix NVMe Partition image on UEFIJulia Kreger2021-05-043-1/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The _manage_uefi code has a check where it attempts to just identify the precise partition number of the device, in order for configuration to be parsed and passed. However, the same code did not handle the existence of a `p1` partition instead of just a partition #1. This is because the device naming format is different with NVMe and Software RAID. Likely, this wasn't an issue with software raid due to how complex the code interaction is, but the docs also indicate to use only whole disk images in that case. This patch was pulled down my one RH's professional services folks who has confirmed it does indeed fix the issue at hand. This is noted as a public comment on the Red Hat bugzilla. https://bugzilla.redhat.com/show_bug.cgi?id=1954096 Story: 2008881 Task: 42426 Related: rhbz#1954096 Change-Id: Ie3bd49add9a57fabbcdcbae4b73309066b620d02
* | | | | Merge "Burn-in: Add CPU step"Zuul2021-05-106-1/+138
|\ \ \ \ \ | | |_|/ / | |/| | / | |_|_|/ |/| | |
| * | | Burn-in: Add CPU stepArne Wiebalck2021-05-016-1/+138
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a clean step for CPU burn-in via stress-ng. Get basic run parameters from the node's driver_info. Story: #2007523 Task: #42382 Change-Id: I14fd4164991fb94263757244f716b6bfe8edf875
* | | Merge "setup.cfg: Replace dashes with underscores"Zuul2021-05-051-4/+4
|\ \ \
| * | | setup.cfg: Replace dashes with underscoresXinxinShen2021-05-041-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setuptools v54.1.0 introduces a warning that the use of dash-separated options in 'setup.cfg' will not be supported in a future version [1]. Get ahead of the issue by replacing the dashes with underscores. Without this, we see 'UserWarning' messages like the following on new enough versions of setuptools: UserWarning: Usage of dash-separated 'description-file' will not be supported in future versions. Please use the underscore name 'description_file' instead [1] https://github.com/pypa/setuptools/commit/a2e9ae4cb Change-Id: I5b71e5ef287a9557ed60bd23cd97dfe74571b457
* | | | Merge "Remove runtime dependency on pbr"Zuul2021-05-044-7/+13
|\ \ \ \
| * | | | Remove runtime dependency on pbrDmitry Tantsur2021-04-264-7/+13
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pbr is a very heavy package to depend on. It requires git-core, which is 16 MiB on my Fedora. We only use it to detect the version, which can be done without pbr using a much lighter importlib_metadata. Copied from https://review.opendev.org/c/openstack/osprofiler/+/739379 Change-Id: I5f434e6bfde6f645804941f3a36d5458a28270e7
* | | | Merge "Import deployment logic from ironic-lib"Zuul2021-05-044-33/+1546
|\ \ \ \ | |_|/ / |/| | |
| * | | Import deployment logic from ironic-libDmitry Tantsur2021-05-034-33/+1546
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The two functions work_on_disk and create_config_drive_partition contain a substantial part of the deployment logic. Previously we placed them in ironic-lib for re-using on the conductor side in the iSCSI deploy interface. Since the iSCSI deploy is going away, we can move this code to ironic-python-agent to simplify maintenance. Imports code from ironic_lib commit 9fb5be348202f4854a455cd08f400ae12b99e1f2. Change-Id: I6cbcd81533f135208b57746cb0e33ffdfaf94eee
* | | | Stop testing the iscsi deploy interfaceDmitry Tantsur2021-04-302-37/+2
|/ / / | | | | | | | | | | | | | | | | | | | | | Remove the jobs that are now redundant. Depends-On: https://review.opendev.org/c/openstack/diskimage-builder/+/788972 Depends-On: https://review.opendev.org/c/openstack/ironic-python-agent-builder/+/788971 Change-Id: Ic0b7bc509652c23cec85e685d66de368fdc4761d
* | | Merge "Fix getting memory size in some lshw output"Zuul2021-04-304-7/+210
|\ \ \
| * | | Fix getting memory size in some lshw outputZane Bitter2021-04-294-7/+210
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to a regression in lshw introduced by https://github.com/lyonel/lshw/pull/60, there are some versions in the wild that do not return sizes for memory banks <32GiB. In those cases, work around the problem by looking at the top-level size (if available) to find the total size. Previously we assumed that we only needed the top-level size when there was no list of memory banks. The issue is fixed upstream by https://github.com/lyonel/lshw/pull/65, but the erroneous patch is still present in the lshw-B.02.19.2-5.el8 package in CentOS 8.4 and 8.5. Change-Id: I6eb5981d28b9ae368239af0c1d0ec32ff79d95b3 Story: #2008865 Task: 42395
* | | | unit tests: Capture log outputZane Bitter2021-04-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Debugging unit test failures is very challenging because all of the log output is mixed together. Capture the log messages and store them as part of the test, so that only log messages associated with failures are output, interleaved correctly with the results. This does not capture logs sent to stdout by _early_log(), although that would be a nice further improvement. Change-Id: I01e409ea73ff444e16caae0078e81585c703d5a5
* | | | Fix missing data in log messagesZane Bitter2021-04-291-2/+2
|/ / / | | | | | | | | | Change-Id: I5d08deed86d79a7ea0b7a1625122af595037dab5
* | | [trivial] Add versions to wallaby release notesRiccardo Pittau2021-04-231-3/+3
|/ / | | | | | | Change-Id: I806b5f4b74c087a16d194d36665b1115f6d34184
* | Merge "Do not fail network interface collection on unsupported interface"Zuul2021-04-223-6/+19
|\ \
| * | Do not fail network interface collection on unsupported interfaceDmitry Tantsur2021-04-073-6/+19
| | | | | | | | | | | | | | | | | | | | | Currently if one interface cannot be handled (e.g. it has empty MAC), the whole collection fails. Ignore unsupported interfaces instead. Change-Id: Ibdaad62b39c239d4f3fb3111c2fae9e31e877b28
* | | Add a call to "udevadm settle" in write_image.shDerek Higgins2021-04-202-0/+8
| |/ |/| | | | | | | | | | | | | | | | | After GPT and MBR are destroyed systemd-udevd gets triggered which may hold /dev/sda open preventing qemu-img from writting its image. Story: 2008830 Task: 42312 Change-Id: I6105192a16fcb7f6898910e8d0ab824d731d491d
* | Merge "Always fall back to sysrq when power off fails"Zuul2021-04-143-10/+25
|\ \
| * | Always fall back to sysrq when power off failsDmitry Tantsur2021-04-133-10/+25
| |/ | | | | | | | | | | | | The line we're looking for is not there when IPA is in a container, at least for CentOS based containers. Just fall back to sysrq on errors. Change-Id: Ie4ee605ad9c6cda58808512a563247175859c71e
* | Merge "Capture the early logging"Zuul2021-04-084-2/+44
|\ \
| * | Capture the early loggingJulia Kreger2021-04-014-2/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | _early_log prints to stdout, which is fine in some cases, however in other cases it gets lost in the shuffle of process launch by things like systemd. Lets try to save everything, and re-log it so it is easy to debug early issues. Change-Id: I334a9073d17cccec4c669fae82edc3e388debc5c
* | | Add Python3 xena unit testsOpenStack Release Bot2021-03-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an automatically generated patch to ensure unit testing is in place for all the of the tested runtimes for xena. See also the PTI in governance [1]. [1]: https://governance.openstack.org/tc/reference/project-testing-interface.html Change-Id: Ib3d406de284d5b2211eebb03e71ca92ce93bc01f
* | | Update master for stable/wallabyOpenStack Release Bot2021-03-312-0/+7
| |/ |/| | | | | | | | | | | | | | | | | | | | | Add file to the reno documentation build to show release notes for stable/wallaby. Use pbr instruction to increment the minor version number automatically so that master versions are higher than the versions on stable/wallaby. Sem-Ver: feature Change-Id: Ibbcd82ef613d07f57623d5d22335f017ecd23edb
* | Make the virtual media job voting7.0.0Dmitry Tantsur2021-03-301-2/+2
| | | | | | | | | | Depends-On: https://review.opendev.org/c/openstack/ironic/+/783722 Change-Id: I4905c17d2e78ed02e9005ffbd93b036674e6ff51
* | Fix incorrect lsblk tag and add a virtual media jobDmitry Tantsur2021-03-304-16/+47
|/ | | | | | | | | | | Follow-up to 8dd6589e66d03e45e1d510601da9531a30842cff: PATH is not a valid lsblk tag, we need to use KNAME with -p flag. Also add a vmedia job to avoid breakages in the future. It's added non-voting because we have a deadlock with this change: https://review.opendev.org/c/openstack/ironic/+/783722 Change-Id: Ifffeac9c1c4d394526d655eaa14c9fe7bd3a1e5e
* Merge "Validate vmedia for vmedia usage"Zuul2021-03-293-61/+337
|\
| * Validate vmedia for vmedia usageJulia Kreger2021-03-293-61/+337
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Virtual media devices based logic needs to be guarded from being used or considered based upon if the machine actually booted from virtual media, or not. At the same time, actual devices need to be checked in order to make sure they align with what we expect in order to prevent consideration of content which should not be leveraged. Change-Id: If2d5c6f4815c9e42798a2d96d59015e1b1dbd457 Story: 2008749 Task: 42108
* | Do not permit IPA standalone to be enabled by confJay Faulkner2021-03-254-14/+9
|/ | | | | | | | | | IPA standalone mode is a developer-only option, and if enabled accidentally on a production agent could cause undesired behavior. Developers who need this behavior should build a purpose-built agent, with standalone hardcoded to True in cmd/agent.py. Change-Id: Icc67dbe15acbbf6fee886f274d2169a0769a5053