Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[mic][iso] Save input ISO configuration as yaml #10743

Open
wants to merge 4 commits into
base: 3.0-dev
Choose a base branch
from

Conversation

gmileka
Copy link
Contributor

@gmileka gmileka commented Oct 15, 2024

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

  • The toolchain has been rebuilt successfully (or no changes were made to it)
  • The toolchain/worker package manifests are up-to-date
  • Any updated packages successfully build (or no packages were changed)
  • Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
  • Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
  • All package sources are available
  • cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
  • LICENSE-MAP files are up-to-date (./LICENSES-AND-NOTICES/SPECS/data/licenses.json, ./LICENSES-AND-NOTICES/SPECS/LICENSES-MAP.md, ./LICENSES-AND-NOTICES/SPECS/LICENSE-EXCEPTIONS.PHOTON)
  • All source files have up-to-date hashes in the *.signatures.json files
  • sudo make go-tidy-all and sudo make go-test-coverage pass
  • Documentation has been updated to match any changes to the build system
  • Ready to merge

Summary

[mix][iso] Save input ISO configuration as yaml.

'SavedConfigs' is a subset of the Image Customizer input configurations that needs to be saved on the output media so that it can be used in subsequent runs of the Image Customizer against that same output media.

This change updates the code from saving just the kernel parameters in a plain-text file, to saving the same yaml that's using in the input configuration. This allows the code to scale when we want to save other input configuration constructs. This is a step preparing for adding PXE specific configurations.

Background:

This preservation of input configuration is necessary for subsequent runs if the configuration does not result in updating root file system.

For example, if the user specifies a kernel argument that is specific to the ISO image, it will not be present in any of the grub config files on the root file system - only in the final ISO image grub.cfg. When that ISO image is further customized, the root file system grub.cfg migith get re-generated and we need to remember to add the ISO specific arguments from the previous
runs. SavedConfigs is the place where we can store such arguments so we can re-apply them.

Change Log
Does this affect the toolchain?

NO

Associated issues
Links to CVEs
  • n/a
Test Methodology
  • Build iso from vhdx - boot a virtual machine with it.
  • Build iso from iso - boot a virtual machine with it. Ensure ISO kernel parameters carry over.

@gmileka gmileka force-pushed the gmileka/iso-save-configs branch 2 times, most recently from 636efef to c9444dc Compare October 18, 2024 01:10
@gmileka gmileka changed the title [mic][iso] Save to yaml file. [mic][iso] Save input ISO configuration as yaml Oct 18, 2024
'SavedConfigs' is a subset of the Image Customizer input configurations that
needs to be saved on the output media so that it can be used in subsequent
runs of the Image Customizer against that same output media.

This preservation of input configuration is necessary for subsequent runs if
the configuration does not result in updating root file system.

For example, if the user specifies a kernel argument that is specific to the
ISO image, it will not be present in any of the grub config files on the
root file system - only in the final ISO image grub.cfg. When that ISO image
is further customized, the root file system grub.cfg migith get re-generated
and we need to remember to add the ISO specific arguments from the previous
runs. SavedConfigs is the place where we can store such arguments so we can
re-apply them.
@gmileka gmileka marked this pull request as ready for review October 18, 2024 18:09
@gmileka gmileka requested a review from a team as a code owner October 18, 2024 18:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants