- 
                Notifications
    You must be signed in to change notification settings 
- Fork 455
[WIP] Implement install time support for Image Mode #5318
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
base: main
Are you sure you want to change the base?
Conversation
| Skipping CI for Draft Pull Request. | 
| [APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: umohnani8 The full list of commands accepted by this bot can be found here. The pull request process is described here 
Needs approval from an approver in each of these files:
 
 Approvers can indicate their approval by writing  | 
a391d17    to
    7b4e49b      
    Compare
  
    22f8675    to
    cfa7469      
    Compare
  
    96a5f14    to
    4ac99f0      
    Compare
  
    Add install time support for Image Mode by using a pre-built custom OS container image with the MachineOSConfig CR created at install time in the manifests directory. **Core Seeding Implementation for Pre-built Container Image:** - Added annotation-driven seeding detection in addMachineOSConfig() - Implemented seedMachineOSConfigWithExistingImage() for complete seeding workflow - Added createSyntheticMachineOSBuild() to generate "successful" builds for pre-built images - Added updateMachineOSConfigForSeeding() to update status and annotations **Bootstrap Integration:** - Added MachineOSConfig recognition in bootstrap processing - Implemented syncMachineOSConfigs() in operator for post-bootstrap processing - Creates /etc/mcs/bootstrap/machine-os-configs/ directory structure - Processes MachineOSConfig manifests during cluster startup **Constants and Configuration:** - Added PreBuiltImageAnnotationKey constant for annotation-driven behavior - Added bootstrap integration constants and paths - Enhanced build controller with seeding detection logic **Testing Infrastructure:** - Added comprehensive unit tests for seeding workflow - TestCreateSyntheticMachineOSBuild validates synthetic build creation - TestAddMachineOSConfigRouting tests annotation detection - TestAddMachineOSConfigSeeding tests seeding decision logic - Added bootstrap test validation with layered-worker example manifest **Key Features:** - Maintains 100% backward compatibility with existing MachineOSConfig objects - Routes annotated configs to seeding workflow, non-annotated to normal OCL - Creates proper metadata, labels, and object references expected by MCO - Enables seamless integration with existing controller logic **Technical Details:** - Uses PreBuiltImageAnnotationKey annotation to trigger seeding behavior - Validates image format (digest format @sha256: required) - Creates synthetic MachineOSBuild objects with success status - Updates MachineOSConfig status with CurrentImagePullSpec for MCD consumption - Uses PreBuiltImageLabelKey label to keep track of MOSB created by pre-built container image - Integrates with existing sync pipeline and bootstrap completion detection Signed-off-by: Urvashi <[email protected]>
Signed-off-by: Urvashi <[email protected]>
Signed-off-by: Urvashi <[email protected]>
Add install time support for Image Mode by using a pre-built custom OS container image with the MachineOSConfig CR created at install time in the manifests directory.
Core Seeding Implementation for Pre-built Container Image:
Bootstrap Integration:
Constants and Configuration:
Testing Infrastructure:
Key Features:
Technical Details:
- What I did
- How to verify it
- Description for the changelog