2e35dfc7bc0a4188d223748b4c9111945abe126f
2671 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
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" | ||
|
Nicolas Belouin
|
48422a532f |
netutils: Use ethtool ioctl to get permanent mac address
Fetching the permanent MAC address of the interface instead of the default one allows to get the right one in case it got changed during setup (likely with a bonding setup). In order to fetch the permanent MAC address of a given interface, one can either use Netlink (either rtnetlink or ethtool), or use ethtool ioctl. The use of ioctl feels simpler and requires no additional dependency. The implementation falls back to older behavior should an error occur. Closes-Bug: #2103450 Change-Id: I54151990e396ddcf775128ca24d3db08e45c256d Signed-off-by: Nicolas Belouin <nicolas.belouin@suse.com> |
||
|
cid
|
c03021fee2 |
Remove eventlet from Ironic Python Agent
This change removes several usages of eventlet from IPA: - Upgrades all requirements on oslo library versions to new ones that support non-eventlet use. - Removes use of the eventlet wsgi server (via oslo_service.wsgi) and replaces it with the cheroot wsgi server. - Removes explicit patching of python modules with eventlet Note that due to some oslo libraries still using ``eventlet`` to detect and workaround it's use. This means that it is still installed in environments alongside IPA, even if it's not used or patched into any modules. Depends-On: https://review.opendev.org/c/openstack/requirements/+/947727 Change-Id: I9accab2d5e9529a88ef5d3db85e76901f14114eb |
||
|
Zuul
|
a15680f51e | Merge "Base standalone job on redfish standalone" | ||
|
Zuul
|
b20ed83d78 | Merge "Remove unnecessary +x mode" | ||
|
Takashi Kajinami
|
9b03ca7d52 |
Remove unnecessary +x mode
These files are not actually executable. Change-Id: Id4208a91c005b8199d62320882c4f14dcd7f7761 |
||
|
Julia Kreger
|
f359c81c28 |
trivial: Fix missing extra space in logging
Change-Id: Id85563015b3ea9e2802baa7b8ab1ca1d858568d5 |
||
|
Zuul
|
53349cc7cf | Merge "Remove agent_token_required upgrade knob" | ||
|
Zuul
|
88b6e914ad | Merge "Run UT of metricis_lib" | ||
|
Jay Faulkner
|
a709e6fbb5 |
Base standalone job on redfish standalone
The non-redfish standalone job is pending removal from Ironic. Change-Id: I2b6d542ce7af3eeeff23f06e43e82de5d7b09701 |
||
|
satoshi-sh
|
7e6bc5cb85 |
Implement manual cleaning for ContainerHardwareManager
- Implemented manual cleaning - Refactored the code Change-Id: I301aaf9dfd6aff90f505148b65e75033f5043553 |
||
|
satoshi-sh
|
c3e9266f92 |
Ironic Config Intergration for IPA
Update container-based cleaning hardware manager to use ironic conductor config. Note: - Moved conf variables from __init__ and evaluate_hardware_support as the config overwritten after those process - Utilized getattr instead of making methods beforehand. The methods created don't stick for a new instance. Partial-Bug: #2100556 Change-Id: I53d5a4f112fbed455d5574840611ef6ea2db3eae |
||
|
satoshi-sh
|
7efe3dfc04 |
Fix test_timeout on Python3.13
- Python 3.13 uses time.time_ns for logging https://github.com/python/cpython/blob/main/Lib/logging/__init__.py#L303 Change-Id: I3de44cc0fda662f3d5b1c6ea8add973cf2ed3bd9 |
||
|
luocanhui
|
228033e9b6 |
Run UT of metricis_lib
Change-Id: I54dc23d8e8cec12a4685a82c4807ddd6a2267533 |
||
|
Zuul
|
c4f62beedb | Merge "Remove eventlet greendns patching" | ||
|
Zuul
|
60deb16ccc | Merge "Add ContainerHardwareManager" | ||
|
Jay Faulkner
|
5d3192e93a |
Remove eventlet greendns patching
Eventlet patches two things in socket, effectively: - create_connection - various greendns things By adding this environment variable, we're going to disable a large portion of the greened module code in IPA, which will be a boost to our migration off. Change-Id: I1f94238c8d83f9e7cb0f7e096172ffb7c20c862b |
||
|
satoshi-sh
|
a3a2b83594 |
Add ContainerHardwareManager
Implement container-based cleaning process Partial-Bug: #2100556 Change-Id: I39b92462d1454df888fc413e0aac439b9df199f7 |
||
|
Zuul
|
3be946aedb | Merge "Missing 'interface' in Clean Step" | ||
|
Satoshi-Sh
|
aa65b8c127 |
Missing 'interface' in Clean Step
Add 'interface': 'deploy' to the clean step configuration to avoid the error Change-Id: Ie2297fc3375f6e0a389fa19789506a72fcf967e7 |
||
| ac85195b7a |
Update master for stable/2025.1
Add file to the reno documentation build to show release notes for stable/2025.1. Use pbr instruction to increment the minor version number automatically so that master versions are higher than the versions on stable/2025.1. Sem-Ver: feature Change-Id: I259249774c39e95b214e77b2ae632c7278e78754 |
|||
|
cid
|
91f520356d |
Doc: Fix incorrect function in example code
The referenced bug looks mostly fixed. This patch is basically closing it. Closes-Bug: #2039072 Change-Id: I22b80f2c995c365e9f19c3a06c80656cb6ce892210.2.0 |
||
|
Zuul
|
1e73cba5cb | Merge "Remove pre-victoria cycle agent token transition upgrade support" | ||
|
Zuul
|
03afbfe4bc | Merge "Fix the way qemu-img is called with prlimits" | ||
|
Zuul
|
20e75c2480 | Merge "Missing __init__.py file" | ||
|
Zuul
|
0067239074 | Merge "Lockout agent command results if a token is received" | ||
|
Thomas Goirand
|
14009b994f |
Missing __init__.py file
Change-Id: I916fe8187fb9d8513852b620df133309fbc92af1 |
||
|
Dmitry Tantsur
|
fd8032b360 |
Fix the way qemu-img is called with prlimits
Using prlimits is incompatible with passing arguments as a list: oslo.concurrency ends up executing something like: /opt/ironic-python-agent/bin/python3 -m oslo_concurrency.prlimit \ --as=2147483648 -- ['env', 'LC_ALL=C', 'LANG=C', 'qemu-img', 'info', \ '/tmp/cirros-0.6.2-x86_64-disk.img', '--output=json'] Which obviously fails. I don't understand how our CI has worked so far, but the Metal3 BMO suite fails on this. Change-Id: I46dbcb0f73bcbe09bb89b5c7195259570412698e |
||
|
Zuul
|
badcd94f9d | Merge "oci: permit an 'unknown' but valid image" | ||
|
Zuul
|
173c754c61 | Merge "oci: Enable embedded authentication passing" | ||
|
Julia Kreger
|
94fde4b3b4 |
Remove agent_token_required upgrade knob
To help ease upgrades to Victoria, IPA had a knob added to enable operators to express if agent tokens were required in their deployment. Since then, the feature is required, however we left the logic enabling the fun upgrade case handling. At this point, this knob serves no further use, and can be removed. Change-Id: I202f06e1b6598a802c9853fb99201c55e7a40cb1 |
||
|
Julia Kreger
|
6c22ab2d39 |
Remove pre-victoria cycle agent token transition upgrade support
In order to support a state of mid-cluster upgrades, IPA had logic to permit the case of getting a call where we didn't have a token but got token, which could happen in a deployment which is mid-upgrade. The code now explicitly lacks that permissive logic because, at this point, upgrades no longer need to be supported from the pre-victoria clusters by current IPA. Related-Bug: #2086865 Related-Bug: #2086866 Change-Id: Ia4c459158098f48cde4a6f6f9c96b25431a88081 |
||
|
Julia Kreger
|
a6ca65201a |
Lockout agent command results if a token is received
This is a second attempt at securing the get command output endpoint which could have data such as logs which could potentially have sensitive details and information after the agent has completed one or more actions. Now, if a token is receieved, the agent locks out the command results endpoint, and requires all future calls to include it. This allows for the agent to be backwards compatible. Special thanks go to cid for his first attempt at this, which I took for the basis of some of the testing required. Closes-Bug: #2086866 Co-Authored-By: cid@gr-oss.io Change-Id: Ia39a3894ef5efaffd7e1d22cc6244059a32175ff |
||
|
Zuul
|
8ab0bfbd9b | Merge "Revert "Add token validation to GET command endpoints"" | ||
|
Dmitry Tantsur
|
3968715908 |
Revert "Add token validation to GET command endpoints"
This reverts commit
|
||
|
Zuul
|
3261052f5d | Merge "follow-up: update release note for bootable container work" | ||
|
Zuul
|
2e9964e126 | Merge "Add token validation to GET command endpoints" | ||
|
Zuul
|
7a70cc87fc | Merge "Ensure IPA is locked down in rescue mode" | ||
|
cid
|
a42980a016 |
Ensure IPA is locked down in rescue mode
Securely handle state transition by locking down IPA at the final stage of rescue operation to prevent restarts on tenant networks. Closes-Bug: #2086865 Change-Id: I8e1be8da93a8c3fdf3cff7ad386c702d970d15f1 |
||
|
cid
|
6f860995c6 |
Add token validation to GET command endpoints
Currently, we only validate authentication tokens for POST but not for GET requests which could mean anyone can retrieve command results without authentication. Adding that uniformly across all command-related endpoints. Closes-Bug: #2086866 Depends-On: https://review.opendev.org/c/openstack/ironic/+/941607 Change-Id: Ib7f58b1694273beeb25314984c6e049376244d86 |
||
|
Julia Kreger
|
c4998fc584 |
oci: permit an 'unknown' but valid image
One of the "fun" aspects of accessing OCI images, is we have no way to realistically gain awareness of the underlying disk format in the OCI model, at least unless it is hinted at in the data model. Where we're unable to really figure that out is when a user supplies a specific digest URL. Ironic recognizes this and "right sizes" the process and data discovery and explicitly notes the disk format it believe to be 'unknown'. In order for IPA to be able to stream, and appropriately check this data format, IPA has be "okay" with 'unknown'. Everything else appears good to get to this point. This doesn't prohibit the image safety checking, just allows for the perception mismatch when the format is 'unknown' Change-Id: Ibe38245e906c659057a3c5ea7d8a0e474599ff5c |
||
|
Julia Kreger
|
a132e167f4 |
oci: Enable embedded authentication passing
For the OCI artifact retrieval case, to enable authentication to be passed from the conductor (in the form of a bearer token), we need to be able to handle the case where this data is present, and then initiate the connection with the appropriate token. Change-Id: I380b32671cbc3a640bc5012ac241a7244750d117 |
||
|
cid
|
ced6f3a02a |
Trivial:Remove codespell job (moved to pre-commit)
Change-Id: I938eaaf29e3bc803155baa11b450d4d92e349d58 |
||
|
Julia Kreger
|
c8763bba06 |
follow-up: update release note for bootable container work
Updates the release note for the bootable container work to clarify the existence of the configuration option which can be utilized to disable bootable container deployments in the ramdisk. Change-Id: I5b269947884c015db38cf98ac782472a62858455 |
||
|
Zuul
|
a6d1921056 | Merge "Bootable container support" | ||
|
Riccardo Pittau
|
fe55bee475 |
Revert "Configure ipa bugfix 10.1"
This reverts commit
|
||
|
Julia Kreger
|
1508cc4cd0 |
Bootable container support
Adds support for bootable containers to be deployed by the agent. Related: https://review.opendev.org/c/openstack/ironic/+/937897 Change-Id: I66cb37d117d2afc335f015fb1fc31bdbd5c3cee5 |
||
|
Riccardo Pittau
|
412c8f3f4d |
Configure ipa bugfix 10.1
Pin upper-constraints Change-Id: Ideaf6a27ff01ed3f0dedba6df89202c5d7936817 |