You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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]>
0 commit comments