-
Story
-
Resolution: Unresolved
-
Major
-
None
-
None
-
BU Product Work
-
3
-
False
-
None
-
False
-
OCPSTRAT-683 - Migrate MAPI to Cluster API for AWS -Phase 1
-
-
-
CLOUD Sprint 261, CLOUD Sprint 263, CLOUD Sprint 264, CLOUD Sprint 262
Background
For the MachineSet controller, we need to implement a forward conversion, converting the MachineAPI MachineSet to ClusterAPI.
This will involve creating the CAPI MachineSet if it does not exist, and managing the Infrastructure templates.
This card covers the case where MAPI is currently authoritative.
Behaviours
- Create Cluster API mirror if not present
- CAPI mirror should be paused on create
- Names of mirror should be 1:1 with original
- Manage InfraTemplate creation by converting MAPI providerSpec
- InfraTemplate naming should be based on hash to be able to deduplicate
- InfraTemplate naming should be based on parent resources
- InfraTemplate should have ownerReference to CAPI MachineSet
- If template has changed, remove ownerReference from old template. If no other ownerReferences, remove template.
- Should be identifiable as created by the sync controller (annotated?)
- Ensure CAPI MachineSet spec and status overwritten with conversion from MAPI
- Ensure Labels/Annotations copied from MAPI to CAPI
- On failures
- Set Synchronized condition to False and report error on MAPI resource
- On success
- Set Synchronized condition to True on MAPI resource
- Set status.synchronizedGeneration to match the auth resource generation
Steps
- Implement MAPI to CAPI conversion by leveraging library for conversion and applying above MachineSet level rules
Stakeholders
- Cluster Infra
Definition of Done
- When a MAPI MachineSet exists, a CAPI MachineSet is created and kept up to date if there are changes
- Docs
- <Add docs requirements for this card>
- Testing
- <Explain testing that will be added>