3067c8267802cccb34eb083100d6925a78aa6f97
2718 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
Zuul
|
3067c82678 | Merge "Fix RuntimeError when stopping heartbeater in rescue mode" | ||
|
Riccardo Pittau
|
bae591a808 |
Fix RuntimeError when stopping heartbeater in rescue mode
In rescue mode, the agent attempts to stop the heartbeater thread even though it was never started, causing a RuntimeError. This fix adds checks to ensure the heartbeater thread is alive before attempting to stop it. Assisted-By: Claude Sonnet 4.5 Change-Id: I3e97b10f2c7f3c454f0db2a3c3c8efb61ffeda5a Signed-off-by: Riccardo Pittau <elfosardo@gmail.com> |
||
|
Zuul
|
01cbcd69f3 | Merge "Build and publish updated debian images" | ||
|
Riccardo Pittau
|
e7653ee107 |
Build and publish updated debian images
This will allow us to run integration tests with debian images and compare sizes and results. Change-Id: I1b9b0f875f01691ea266cb2b77b7f64e4b8a2256 Signed-off-by: Riccardo Pittau <elfosardo@gmail.com> |
||
|
Riccardo Pittau
|
2c6cf7cf1f |
Test advertised ip reachability before assigning it
The advertised ip for ironic API is checked only as routable but it could still be unreachable, we need to check the actual connectivity before assigning it. Assisted-By: Claude Sonnet 4 Change-Id: I0adca5ad00ba419a7e2aa6883b3690b4507c25e5 Signed-off-by: Riccardo Pittau <elfosardo@gmail.com> |
||
|
Morten Stephansen
|
bb4b4fdb38 |
Fix for matching hints with lists of strings
Added logic for matching hints with lists of WWN/Serial. These lists appear when both lsblk and udev are used to fetch the information about a device. One consequence of this is that it allows a device on the skip list to be used as root device, thus overwriting the protected data. This has previously been handled before matching the hints, e.g. the removed section in hardware.py. This patch aims to fix the problem globally by handling the issue inside the find_devices_by_hints function. Closes-bug: #2130410 Change-Id: I28129f2ededb37474025f35164d5dc9ece21ec8e Signed-off-by: Morten Stephansen <morten.kaastrup.stephansen@cern.ch> Signed-off-by: Jakub Jelinek <jakub.jelinek@cern.ch> |
||
| 6fdb13d6d4 |
reno: Update master for unmaintained/2024.1
Update the 2024.1 release notes configuration to build from unmaintained/2024.1. Change-Id: I10313828ec74436cb1cc1111f40b719e77b0767d Signed-off-by: OpenStack Release Bot <infra-root@openstack.org> Generated-By: openstack/project-config:roles/copy-release-tools-scripts/files/release-tools/change_reno_branch_to_unmaintained.sh |
|||
|
Zuul
|
2f69eb3ec8 | Merge "Remove testing for pending-EOL items" | ||
|
Marek Skrobacki
|
82fef2db31 |
fix: docs(troubleshooting) update deprecated password hash algorithm
MD5 password hashes are no longer supported on modern Debian-based systems, as PAM removed MD5 support starting with Debian 11 (2021) [1]. When MD5 is used, no error is shown, but authentication to IPA silently fails. This change updates the documentation to use the more modern SHA-512 algorithm. [1]: https://metadata.ftp-master.debian.org/changelogs/main/p/pam/unstable_changelog Change-Id: I398b771c28ed65e71b279d48cb504afb8383e525 Signed-off-by: Marek Skrobacki <skrobul@skrobul.com> |
||
|
Zuul
|
f0888131c1 | Merge "Fix skip block devices for RAID arrays" | ||
|
Zuul
|
f770d6004e | Merge "Fix erasable devices check" | ||
|
Riccardo Pittau
|
57d2c86821 |
Remove the metalsmith job
Metalsmith has been deprecated entirely Change-Id: I63dd45607452af629ab3b20ad9f6237e660032fe Signed-off-by: Riccardo Pittau <elfosardo@gmail.com> |
||
|
Jay Faulkner
|
29deed1b73 |
Remove testing for pending-EOL items
Ironic-Inspector (standalone) and Metalsmith are scheduled to be retired. Unhook CI from IPA as a result. Change-Id: Idfa7796a406b4cd656ef6889835c0717977a5cf8 Signed-off-by: Jay Faulkner <jay@jvf.cc> |
||
|
kubajj
|
d43913453b |
Fix skip block devices for RAID arrays
The original implementation of the skip block devices for RAID arrays: https://review.opendev.org/c/openstack/ironic-python-agent/+/852999 introduced a couple bugs which were uncaught: 1. Key error when a holder disk contains just logical disks on the skip list. 2. RAID arrays on skip list throw "Failed to remove partitions" because they are not removed from the list of remaining RAID devices when running wipefs 3. list_block_devices_check_skip_list does not match volume names to RAID arrays 4. MD superblock wrongly checked (detail instead of examine) 5. Partition tables are being created when a partition is on a skip list 6. EFI partition handling in a scenario when a partition on the same physical disk is not deleted Closes-bug: #2080871 Signed-off-by: Jakub Jelinek <jakub.jelinek@cern.ch> Signed-off-by: Morten Stephansen <morten.kaastrup.stephansen@cern.ch> Change-Id: I59b65c6b69af2385ed8a5dcd427e4d9c91f90abe |
||
|
Riccardo Pittau
|
26b7d6f300 |
Remove support for Python 3.9
Support for Python 3.9 has been removed. Now Python 3.10 is the minimum version supported. Change-Id: If1066d05e905ef4c639278d0457177875e97871d Signed-off-by: Riccardo Pittau <elfosardo@gmail.com> |
||
|
Jakub Jelinek
|
f14c187a64 |
Fix erasable devices check
There is a conditional which is supposed to check whether there are any erasable devices. However, in the current state, the conditional is wrong as the call is missing the node as a parameter. Signed-off-by: Jakub Jelinek <jakub.jelinek@cern.ch> Signed-off-by: Morten Stephansen <morten.kaastrup.stephansen@cern.ch> Change-Id: I38768b9ba3dc1bb5160e5841865450a8d7df5466 |
||
| ae3dda4e5b |
Update master for stable/2025.2
Add file to the reno documentation build to show release notes for stable/2025.2. Use pbr instruction to increment the minor version number automatically so that master versions are higher than the versions on stable/2025.2. Sem-Ver: feature Change-Id: Ia5e895659db836f43c214568bc249bcb529ed079 Signed-off-by: OpenStack Release Bot <infra-root@openstack.org> Generated-By: openstack/project-config:roles/copy-release-tools-scripts/files/release-tools/add_release_note_page.sh |
|||
|
Zuul
|
ffafce66ca | Merge "Support transport type as a root device hint" 11.2.0 | ||
|
Morten Stephansen
|
41a00b2465 |
Removed redundant side-effects
In test_create_configuration_with_different_disks_skip_list there are redundant side-effects which are never used. Change-Id: I7b6acbd6583831ba82d6a68ce0d8410ee0bd18a2 Signed-off-by: Morten Stephansen <morten.kaastrup.stephansen@cern.ch> |
||
|
Zuul
|
0fa82ee2ee | Merge "Fix for motherboards where efibootmgr returns UTF-8." | ||
|
Morten Stephansen
|
f302c1c73e |
Fix for motherboards where efibootmgr returns UTF-8.
Some motherboards return UTF-8 for the efibootmgr. This results in IPA not being able to remove duplicate records, etc. This change implements a check for UTF-16 compatibility and tries to decode efibootmgr output as UTF-8 otherwise. Closes-bug: #2072336 Co-Authored-By: Jakub Jelinek <jakub.jelinek@cern.ch> Change-Id: I35432773826d13edb1dc9dd25f99bb0907a8fa0d Signed-off-by: Morten Stephansen <morten.kaastrup.stephansen@cern.ch> Signed-off-by: Jakub Jelinek <jakub.jelinek@cern.ch> |
||
|
Zuul
|
f46f56decc | Merge "Hard stop on image download duration threshold" | ||
|
Zuul
|
07f8c07674 | Merge "Hint at sector sizes when reporting an invalid written image" 11.1.0 | ||
|
Kaifeng Wang
|
2e4172a024 |
Support transport type as a root device hint
Adds a tran field to the block device and allow to use it as a root device hint. Change-Id: I3fc83730a6100abb2b2aa98fc894713ecbbe3043 Closes-Bug: #2100951 Signed-off-by: Kaifeng Wang <kaifeng.w@gmail.com> |
||
|
Zuul
|
5a96e0a937 | Merge "Vendor own option for tls cert file and key file" | ||
|
Zuul
|
c2c72eef97 | Merge "Provide usable __repr__ for serializable objects" | ||
|
Afonne-CID
|
e1a31eb97a |
Hard stop on image download duration threshold
Adds a wall timeout `image_download_max_timeout` to enforce an upper bound on total download duration. While the per-chunk timeout protects against stalled reads, downloads that trickle in just under the timeout threshold (e.g., due to heavy TCP retransmits) can hang for longer than intended. Now, if the total allowed time is exceeded, the download is aborted with a non-retryable `ImageDownloadTimeoutError` regardless of per-chunk retry or connection success. A value of 0 (the default) disables this feature. Closes-Bug: #2115995 Change-Id: I3b56d21abae0488853bfed14072ba21116d47baf Signed-off-by: Afonne-CID <afonnepaulc@gmail.com> |
||
|
Zuul
|
f693a10003 | Merge "doc: How hardware managers ignore certain devices" | ||
|
Afonne-CID
|
b4ae46d24a |
doc: How hardware managers ignore certain devices
Overriding or implementing `filter_device` activates filtering. Otherwise, GenericHardwareManager returns the device unchanged, effectively skipping filtering. Related-Bug: #2117234 Change-Id: Ifdda007e0c5001ab7df38c2c510e3f40c110d03c Signed-off-by: Afonne-CID <afonnepaulc@gmail.com> |
||
|
Dmitry Tantsur
|
0ad2685ce4 |
Fix wrong result of filter_device in the base interface
Returning None means "exclude any device". It still works if the only hardware manager is GenericHardwareManager, but enabling any more without overriding filter_device causes all devices to get filtered. Change-Id: I25eb028baa1b9182caee07a0b935e9fa107999a8 Closes-Bug: #2117234 Signed-off-by: Dmitry Tantsur <dtantsur@protonmail.com> |
||
|
Zuul
|
780cf3615d | Merge "Fix missing [mdns] options" | ||
|
Zuul
|
c3ef9a563d | Merge "Fix software RAID creation on different physical devices" | ||
|
Zuul
|
a7d8afde40 | Merge "Trivial: avoid root logger in modules" | ||
|
Zuul
|
4b0a3c162d | Merge "Log efibootmgr output as part of the system logs" | ||
|
Zuul
|
943cb8afff | Merge "Graceful way for hardware managers to ignore certain devices" | ||
|
Zuul
|
d86923e7ff | Merge "Split hardware manager initialize out of evaluate_hardware_support" | ||
|
kubajj
|
46af01c82f |
Log efibootmgr output as part of the system logs
Create a file efibootmgr with the verbose output of the efibootmgr command when collecting the system logs. This can be used for debugging of boot order. Change-Id: Ic957024d19bb01a45a3014dc2a5e4492d087e893 Signed-off-by: Jakub Jelinek <vilouskubajj@gmail.com> |
||
|
Julia Kreger
|
f9ae319fdd |
docs: remove tinyipa references
We have started down the path of eradicating tinyipa usage and testing because it was bifrucating our contirbutor resources and focus now that we have also been able to fix some of the CI jobs to be a bit more scalable. This does mean we're doing more with dib based images and they are larger, but we're willing ot pay that tax as a project for consistency and CI job stability. Change-Id: I8f96d106a85f6ab4493785e88955196da08af8e9 Signed-off-by: Julia Kreger <juliaashleykreger@gmail.com> |
||
|
Dmitry Tantsur
|
9e9334fa00 |
Hint at sector sizes when reporting an invalid written image
Change-Id: Iee7f22e9958b68f263d267c434678478b9a38648 Signed-off-by: Dmitry Tantsur <dtantsur@protonmail.com> |
||
|
Dmitry Tantsur
|
1840e987d5 |
Trivial: avoid root logger in modules
Change-Id: I1eb8c9637c38496b5d4dd6493be43f414f35680c Signed-off-by: Dmitry Tantsur <dtantsur@protonmail.com> |
||
|
Takashi Kajinami
|
cf621eb6cd |
Fix missing [mdns] options
Make sure these options are added to the sample config file generated by oslo-config-generator. Change-Id: I09dc6ace0725140bf3542d053e4c941ce190c0df Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com> |
||
|
Takashi Kajinami
|
a2739f7e56 |
Vendor own option for tls cert file and key file
... instead of using oslo.service. Current usage of oslo.service is too limited to add the dependency, because - oslo.service registers multiple options but only two of these are used - the wrap implementation from oslo.service is not actually used Change-Id: I4e8f18951d73e329a54cf6546344c5704fe4aa90 Signed-off-by: Takashi Kajinami <kajinamit@oss.nttdata.com> |
||
|
Dmitry Tantsur
|
9db3cd1e4d |
Graceful way for hardware managers to ignore certain devices
My use case for this feature is to exclude network devices that use the cdc_ether driver. These USB network interfaces often cause all sorts of issues. For example, some models have the same hardcoded MAC address, which breaks inspection. Currently, to exclude a certain device, a hardware manager must override the entire listing function (in my case, list_interfaces). Not only is it tedious, but it also requires constantly updating the hardware managers to match the implementation in GenericHardware. Realistically, it will cause hardware manager authors to inherit GenericHardware, which is the opposite of how hardware managers should be written. Note that the node-level skip list only affects root device selection and cleaning for block devices. This feature affects everything that uses list_block_devices and is applied before the node-level skip list. This change adds a new hardware manager call filter_device. For each network, block or USB device, it allows a hardware manager to do either of four things: 1. Delegate the decision to a lower level hardware manager by raising IncompatibleHardwareMethodError 2. Remove the device by returning None 3. Change the device by returning a modified instance 4. Return the device unchanged to keep it in the listing. Note that I'm removing debug logging when IncompatibleHardwareMethodError is raised. Not only the log message is incorrect (the error does not necessarily mean that the method is not implemented at all), it already noticeable space in the logs, and with this change will become very noisy. Change-Id: I5437343af6c6157882bcf0600dd89bd20478c948 Signed-off-by: Dmitry Tantsur <dtantsur@protonmail.com> |
||
|
Dmitry Tantsur
|
9426df9ab3 |
Split hardware manager initialize out of evaluate_hardware_support
The current code in GenericHardware.evaluate_hardware_support ends up using hardware manager calls, which then use partly initialized hardware manager list and can even cause a recursion. This change introduces a new optional call initialize() which is guaranteed to run: 1) After all hardware managers have been evaluated 2) After the hardware manager cache is populated 3) In the order of the support level of hardware managers Change-Id: I068d3d73483c161062aa3b48f3154a2d99941382 Signed-off-by: Dmitry Tantsur <dtantsur@protonmail.com> |
||
|
Dmitry Tantsur
|
ddeed6fa9e |
Provide usable __repr__ for serializable objects
These objects are frequently logged or compared in unit tests. It's very helpful to be able to inspect their content. Change-Id: Ib725dcd5f54f4492205f95974d887b8b42c74039 |
||
|
Dmitry Tantsur
|
521811cbcc |
Fix software RAID creation on different physical devices
When creating multiple software RAID logical disks that use different sets of physical devices, the partition indices were incorrectly shared across all devices. This caused the second RAID array creation to fail because it tried to use partition indices that didn't exist on those specific devices. This change fixes the issue by tracking partition indices separately for each physical device, ensuring that each device's partitions are numbered correctly starting from their first available index. Closes-Bug: #2115211 Change-Id: I440db4654f3d1d54274d1eee8c4b21c2b0a18d22 Signed-off-by: Mohammed Naser <mnaser@vexxhost.com> |
||
|
Julia Kreger
|
883e3cf057 |
Remove unused tinyipa CI job
The use of job ipa-tempest-bios-ipmi-direct-tinyipa-src was already removed in https://review.opendev.org/c/openstack/ironic-python-agent-builder/+/950235 Change-Id: Ib67d8d502fbc0f77282ea0e01a68334ec464acb3 Signed-off-by: Julia Kreger <juliaashleykreger@gmail.com>11.0.0 |
||
|
Julia Kreger
|
2e35dfc7bc |
Remove TinyIPA jobs
Depends-On: https://review.opendev.org/c/openstack/ironic-python-agent-builder/+/950235 Change-Id: I44fd4cd6e9cc52f884d14a5c8d0478d02d5b57ee |
||
|
Zuul
|
b64a41372d | Merge "trivial: Fix missing extra space in logging" | ||
|
Zuul
|
b51cc75ff3 | Merge "netutils: Use ethtool ioctl to get permanent mac address" |