Uploaded image for project: 'Machine Config Operator'
  1. Machine Config Operator
  2. MCO-809

Hoist reconcilable functions out of MCD

XMLWordPrintable

    • Icon: Spike Spike
    • Resolution: Done
    • Icon: Normal Normal
    • None
    • None
    • None
    • 5
    • False
    • None
    • False
    • OCPSTRAT-1389 - On Cluster Layering: Phase 3 (GA)
    • MCO Sprint 249, MCO Sprint 250
    • 0
    • 0.0

      In the pre-layering world, it makes sense for some of the MachineConfig verification functions to live within the Machine Config Daemon (MCD). However, once on-cluster builds and layering becomes the default way of rolling out MachineConfig changes, leaving these functions here would impact the overall user experience in the following way:

      Producing the rendered MachineConfig from the individual MachineConfigs does not take very long. And the time it takes from when it was produced to when the MCD applies it to the first node is also very short as well. By comparison, an on-cluster build takes longer to start applying the produced image to each of the nodes. So in the former case, producing an error quickly does not diminish the overall user experience. But in the latter case, taking several minutes to produce an error is not a great user experience.

      Ideally we could perform the reconciliation check before we begin the build while maintaining backward compatibility with the current flow. To do that, we can hoist these functions out of the MCD codebase and put them somewhere like pkg/controller/common so that they can be reused in both the MCD, BuildController and / or the render controller. In this capacity, they can act as both a pre-build check as well as still work with the current flow.

      This a non-exhaustive list of potential functions / code paths to be moved:

       

      Done When:

      • It has been determined if this is feasible or not.

            zzlotnik@redhat.com Zack Zlotnik
            zzlotnik@redhat.com Zack Zlotnik
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: