Uploaded image for project: 'OpenShift Cloud'
  1. OpenShift Cloud
  2. OCPCLOUD-2644

Implement MAPI to CAPI MachineSet conversion

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • None
    • 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>

              ddonati@redhat.com Damiano Donati
              joelspeed Joel Speed
              Zhaohua Sun Zhaohua Sun
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: