MGMT-21232: Use library functions to embed system ignition#669
MGMT-21232: Use library functions to embed system ignition#669zaneb wants to merge 3 commits intoopenshift:masterfrom
Conversation
|
@zaneb: This pull request references MGMT-21232 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the sub-task to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: zaneb The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
d69941e to
b2d5ead
Compare
|
/retest |
|
/test e2e-agent-compact-ipv4-iso-no-registry |
1 similar comment
|
/test e2e-agent-compact-ipv4-iso-no-registry |
|
That worked except for the known issue of OCPBUGS-78476. |
aa2b36b to
8e4f709
Compare
Replace custom CPIO archive generation with the isoeditor library's Archive() method to avoid code duplication and simplify the API. The WrapIgnition function now accepts an IgnitionContent object directly instead of performing path manipulation (truncating with Base() only to have the library re-extend the path). Assisted-by: Claude Code
Remove WrapIgnition() and use the isoeditor library's NewInitRamFSStreamReaderFromISO() to append system ignition to the initrd file. This eliminates the need to create a separate bootstrap image and modify boot configuration files (grub.cfg, isolinux.cfg, kargs.json). Remove obsolete helper functions editFile() and fixKargsOffset() and their associated constants. Note that this will not work for s390 ISOs. The function NewIgnitionImageReader() is designed to work for all platforms, but it replaces the contents of the ignition embed area. For our purposes, we need to keep the system ignition out of this area so that the regular config.ign can be written to it in addition later. Assisted-by: Claude Code
Introduce a new coreos.WriteIgnitionToExtractedISO() function that writes ignition content directly to an already-extracted ISO directory using isoeditor.NewIgnitionImageReader(). This eliminates the need to call out to the external coreos-installer tool for embedding ignition. Apply this to the appliance live ISO build path, where ignition is now embedded inline during the build process (writing to the extracted directory before isoeditor.Create()) rather than calling EmbedIgnition() on the completed ISO afterward. Assisted-by: Claude Code
8e4f709 to
93da4e3
Compare
|
/retest |
1 similar comment
|
/retest |
|
@zaneb: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
|
@zaneb: This pull request references MGMT-21232 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the sub-task to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
Use the assisted-image-service library to embed the system ignition in the live ISO, to avoid code duplication.
Also use it to embed the user ignition in the live ISO, so that the live ISO builder no longer depends on coreos-installer.