e40984c084c47c71011a80b3bd146fb9cf6f0783
884 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
Zuul
|
e40984c084 | Merge "Fix default disk label with partition images" | ||
|
Zuul
|
9ae99506c0 | Merge "Correctly decode error messages from ironic API" | ||
|
Zuul
|
94b0e97e8b | Merge "Generate TLS certificates with validity time in the past" | ||
|
Zuul
|
13cfa68974 | Merge "Copy any configuration from the virtual media" | ||
|
Julia Kreger
|
cb6c0059b5 |
Fix default disk label with partition images
Partition images through the agent have the unfortunate side effect of being executed without full node context by default. Luckilly we've had a similar problem and cache the node. This patch changes the lookup from a default of msdos partitions to use the cached node object. Change-Id: I002816c9372fdf1cc32f3c67f420073551479fd9 |
||
|
Dmitry Tantsur
|
557293ca6a |
Generate TLS certificates with validity time in the past
Otherwise a slight clock skew may prevent them from working, see e.g. https://bugzilla.redhat.com/show_bug.cgi?id=1906448. Change-Id: Icea103af06edef16c0dc4578877dc04cd6ec3b0c |
||
|
Julia Kreger
|
7a83773fbc |
Option to enable bootloader config failure bypass
Some hardware is very well intentioned. However this intention can result in the UEFI NVRAM table being full which prevents us from adding new records to the table. We can't be sure what to delete, so in this case some operators just need the ability to tell ironic "it is okay if this fails, it will still work." The added ``ignore_bootloader_failure`` option adds this capability which can be set per-node either in the agent configuation via the ramdisk image, or in the pxe_append_params configuration parameter for the node itself with a ``ipa-ignore-bootloader-failure`` option in order to prevent the failure from being raised. Change-Id: If3c83fb2ea2025fce092d495a64f32077c70d2d6 Story: 2008386 Task: 41309 |
||
|
Dmitry Tantsur
|
53dbc87a35 |
Correctly decode error messages from ironic API
Knowing a status code is simply not enough for debugging. Change-Id: If1d3f182ab028948ff05aea7e8024d4e7bc3d53c |
||
|
Zuul
|
1a9491e651 | Merge "Bring up VLAN interfaces and include in introspection report" | ||
|
Zuul
|
22985da710 | Merge "Make mdadm a soft requirement" | ||
|
Dmitry Tantsur
|
b9b67fad77 |
Copy any configuration from the virtual media
For ramdisk TLS (and other potential future enhancements) we need to be able to inject configuration and certificates into the ramdisk. Since we cannot pass files through kernel parameters, we need to put them on the generated ISO or (in the future) config drive. This change detects IPA configuration and copies it into the ramdisk early enough for any configuration files to get picked. Changed /dev/disk/by-label to blkid since the former may not exist on all ramdisks (e.g. tinyIPA). Change-Id: Ic64d7842a59795bbf02f194221dedc07c6b56e8c |
||
|
Dmitry Tantsur
|
ab8dee0386 |
Make mdadm a soft requirement
No point in requiring it for deployments that don't use software RAID. Change-Id: I8b40f02cc81d3154f98fa3f2cbb4d3c7319291b8 |
||
|
Bob Fournier
|
6e3f28d720 |
Bring up VLAN interfaces and include in introspection report
Add the ability to bring up VLAN interfaces and include them in the introspection report. A new configuration field is added - ``ipa-enable-vlan-interfaces``, which defines either the VLAN interface to enable, the interface to use, or 'all' - which indicates all interfaces. If the particular VLAN is not provided, IPA will use the lldp info for the interface to determine which VLANs should be enabled. Change-Id: Icb4f66a02b298b4d165ebb58134cd31029e535cc Story: 2008298 Task: 41183 |
||
|
Zuul
|
4762aca077 | Merge "Add clean step 'erase_pstore'" | ||
|
Arne Wiebalck
|
92e26b01e9 |
Add clean step 'erase_pstore'
Add an automatic clean step to clean the Linux kernel's pstore. The step is disabled by default. Story: #2008317 Task: #41214 Change-Id: Ie1a42dfff4c7e1c7abeaf39feca956bb9e2ea497 |
||
|
Vladyslav Drok
|
3761a44800 |
Fix vendor info retrieval for some versions of lshw
There is one more place that relies on lshw json output being a dict, so let's fix the function that gets the dict rather than places it is being used in. Change-Id: Ia1c2c2e6a32c76ac0249e6a46e4cced18d6093a9 Task: 39527 Story: 2007588 |
||
|
Zuul
|
37dc11fcc1 | Merge "Log configuration options on start-up" | ||
|
Zuul
|
c33b3fff66 | Merge "Add UUID to BlockDevice object" | ||
|
Vladyslav Drok
|
c7858d3cc8 |
Add UUID to BlockDevice object
It'd allow for example custom ansible playbooks to use UUIDs of the introspected node's disks. In future it might also enable agent to use UUID (or by_path value) to refer to a device instead of name, as it happens currently. Change-Id: Id00437d2295c39fb12f3c25a92b30b56a58eef13 |
||
|
Dmitry Tantsur
|
c585603ee6 |
Log configuration options on start-up
This is very convenient for debugging and is something ironic and ironic-inspector already do. Register SSL options earlier so that they're accounted for. Change-Id: I56aca8eec1dfeb065ac657452a7076a9e3d17cc3 |
||
|
Zuul
|
1f590ea382 | Merge "Support using LABEL as identifier for rootfs" | ||
|
Vladyslav Drok
|
448ded43fe |
Fix physical memory calculation with new lshw
It seems that fix Id5a30028b139c51cae6232cac73a50b917fea233 was dealing with a different issue. According to the description in the story, and the linked commit there, the problem is the fact that output is changed from dictionary to a list (with just one value supposedly?). This commit changes the isinstance call to check if an output of lshw is a list, and if so, we just use the first element of the list. Story: 2007588 Task: 39527 Change-Id: I87d87fd035701303e7d530a47b682db84e72ccb9 |
||
|
Zuul
|
f52863a4d8 | Merge "Updated Implementation of string interpolation delay on LOG messages" | ||
|
ebagakis
|
35d412e9d5 |
Updated Implementation of string interpolation delay on LOG messages
This is a follow up to https://review.opendev.org/#/c/756300/ Change-Id: Ifba8a57b58d61ede169c60f6d51f224d134c7708 |
||
|
Fedor Tarasenko
|
694ea7425d |
Support using LABEL as identifier for rootfs
Add possibility to use disk LABEL to identify rootfs uuid for Software RAID deployment Change-Id: I77f36e70ddc539af0190db1c1abe0fb2c66f34b4 Story: 2008303 Task: 41188 |
||
|
Zuul
|
f356356486 | Merge "Follow-up to API version setting" | ||
|
Zuul
|
d84e88769e | Merge "Don't run os-prober from grub2-mkconfig" | ||
|
Julia Kreger
|
066a96a926 |
Follow-up to API version setting
Follow-up on Ib96a1057792f45f2e4554671e32c436140463ee8 to improve some of the wording and review feedback by Dmitry Tantsur. Change-Id: Id77b0d72f3d78e5befd05fbdb6b21bc780f4ddfe |
||
|
Jay Faulkner
|
80575566b1 |
Allow manual setting of Ironic API Version
Typically, the Ironic API client in IPA will autodetect the API version based on the output of a GET of the root of the API. If for some reason this API endpoint is restricted, or the operator wishes to limit the Ironic API version IPA uses, they can now set CONF.ironic_api_version to avoid autodetection and force a version. Change-Id: Ib96a1057792f45f2e4554671e32c436140463ee8 |
||
|
Julia Kreger
|
6542a9cb04 |
Don't run os-prober from grub2-mkconfig
By default, grub2-mkconfig scans everything to look for other environments and then load those into the grub configuration. It makes sense, but on newer versions of grub2 in distribution images, os-prober is taking an exceptionally long time in some cases where more than one storage device exists with other filesystems. As a result, of the os-prober execution by grub2-mkconfig, the bootloader installation can completely time out and fail the deployment. This is presently experienced with metalsmith on centos8. There are numerous sporatic reports of issues like this issue where grub2-mkconfig hangs for some period of time, and this is observable on Centos8.2 in our CI. While one report[0] mentions this issue, Another bug [1] has the dialog that actually helps us frame the context as to what we likely should do. Also, fixes the unit testing so we actually test if we're running with grub2. :\ [0]: https://bugzilla.redhat.com/show_bug.cgi?id=1744693 [1]: https://bugzilla.redhat.com/show_bug.cgi?id=1709682 Depends-On: https://review.opendev.org/#/c/748315 Change-Id: I14bf299afef3a1ddb2006fe5f182d7f0d249e734 |
||
|
Arne Wiebalck
|
c7f6baf7f4 |
[trivial] Remove redundant list conversion
Follow-up to https://review.opendev.org/#/c/756300/ Change-Id: Ibc6c044e24dde82928f19a9b9a7eaf68be53fb0e |
||
|
Zuul
|
80b0a9a132 | Merge "Software RAID: Re-add missing devices" | ||
|
Dmitry Tantsur
|
420ebc0d73 |
Do not silently swallow errors in the write_image deploy step
Calling join() does not raise, we need to explicitly check the result. Change-Id: I81d3d727af220c2b50358edab8139f07874611f0 Story: #2008240 Task: #41083 |
||
|
Zuul
|
bd127d193b | Merge "Reduce the duration of retries in the inspector tests" | ||
|
Zuul
|
35d2292aa4 | Merge "Log a warning of target_boot_mode does not match current boot mode" | ||
|
Dmitry Tantsur
|
62672de131 |
Reduce the duration of retries in the inspector tests
Currently the test takes 5*5=25 seconds. Re-arrange the code so that it's possible to change the retry delay in tests. Change-Id: Ia559dad4bc656f8ad6b2cb8cb0137a97e2614db7 |
||
|
Dmitry Tantsur
|
1a67dddde7 |
Log a warning of target_boot_mode does not match current boot mode
This is not a normal situation and is likely to cause problems. Change-Id: Id0668fd160ac0539d85997e985f8c43d9da75c90 |
||
|
Dmitry Tantsur
|
fc4e0eed6a |
Don't try to call GRUB when root UUID is not provided
We don't have a really working way to detect root UUID for whole disk images at the moment, which results in an ignored traceback every time install_bootloader is called with whole disk images in UEFI mode. Avoid it by skipping GRUB2 if root UUID is unknown. Change-Id: I84245538f59c664b72d1cafbca8d61be0978f489 |
||
|
Zuul
|
abd9f91813 | Merge "Add basic retries for inspection" | ||
|
Arne Wiebalck
|
253b4887d5 |
Software RAID: Re-add missing devices
Upon md device creation, component devices are sometimes removed immediately again due to a "disk failure". The disks seem healthy, though. This patch re-adds compoenent devices in such cases to prevent that the md device will remain in a degraded state (which would cause issues later, e.g. during ESP creation). Story: #2008164 Task: #40914 Change-Id: I2ac7cb4a546de84686d5c3435e850c14b3f6c1d7 |
||
|
Zuul
|
99dee5067e | Merge "Software RAID: Get component devices by md UUID" | ||
|
Zuul
|
faeb9441d3 | Merge "Simplify heartbeating by removing use of select()" | ||
|
Arne Wiebalck
|
044c64dbc0 |
Software RAID: Get component devices by md UUID
Scanning the output of mdadm commands for RAID members will miss component devices which are currently not part of the RAID. For proper cleaning it is better to scan block devices for a signature of the md device for which we would like to get the components. Story: #2008186 Task: #40947 Change-Id: Ib46612697851e36a16d272ccaeb0115106253863 |
||
|
Arne Wiebalck
|
c7aec775ff |
Software RAID: Don't delete partitions too early
Partions on the holder disk should only be deleted after all RAID devices have been deleted. Otherwise, super blocks on partitions which reside on the same disks cannot be cleaned. Story: #2008199 Task: #40979 Change-Id: I19293f5b992cd1fa68957d6f306dcec8f3b7a820 |
||
|
Zuul
|
5e61ad18e3 | Merge "When reporting that agent is busy, report the executed command" | ||
|
Zuul
|
c7ff931fe6 | Merge "Fix: make Intel CNA hardware manager none generic" | ||
|
Zuul
|
11a87365fb | Merge "Generate a TLS certificate and send it to ironic" | ||
|
Qianbiao.NG
|
4b0ef13d08 |
Fix: make Intel CNA hardware manager none generic
Currently, IntelCnaHardwareManager inherits GenericHardwareManager which makes it a new "GenericHardwareManager" with "MAINLINE" priority. This causes all other hardware-managers with lower priority than "MAINLINE" never be used. To fix this, make IntelCnaHardwareManager inherit basic HardwareManager. Change-Id: I28b665d8841b0b2e83b132e1f25df95e03e7ba10 Story: 2008142 Task: 40882 |
||
|
Jay Faulkner
|
a01646f56b |
Simplify heartbeating by removing use of select()
Heartbeating in IPA has used select.poll() for years to workaround a bug where changing the time in the ramdisk could cause heartbeats to stop and never resume. Now that IPA syncs time at start and exit, this workaround is no longer needed. So instead, we'll revert to using threading.Event() in order to make the code simpler and easier to understand. Since we need this to be an eventlet-event, and not a standard-thread event, also monkey_patch threading. Additionally, there were a few completely unused backoff interval values set, that were never applied. In respect of maintaining the 5+ years old behavior of not doing error backoffs, that code was removed instead of being made to work. Change-Id: Ibcde99de64bb7e95d5df63a42a4ca4999f0c4c9b |
||
|
Dmitry Tantsur
|
fe6b687968 |
When reporting that agent is busy, report the executed command
Also make this API return a proper HTTP code (409 instead of 500). Change-Id: I5d86878b5ed6142ed2630adee78c0867c49b663f |