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

On Cluster Layering: Install Time Support (enhancement)

XMLWordPrintable

    • OCL Day 1 Support
    • False
    • Hide

      None

      Show
      None
    • False
    • Not Selected
    • Done
    • 0% To Do, 0% In Progress, 100% Done
    • S
    • 0

      Done When the enhancement for install time support is written and reviewed by stake holders.

       

      Some notes from discussions:

      • Install-config.yaml has an option to enable OCL
      • Bootstrap MCO can parse MOSC yamls for master and worker nodes
        • An image is built for each pool and then rolled out onto the nodes

       

      Installer Process:

      • First step: Installer (openshift-install) generates manifests
        • Runs on local machine and generates items needed to start the installation process
      • Second step: Bootstrap node comes up and parses generated manifest
        • Content and objects needed to create master nodes is processed during this step
        • Bootstrap MCO process runs on any MCO objects existing in the installation directory
      • Third step: Master nodes create content and objects needed to spin up worker nodes

       

      What needs to be done for OCL:

      • Field in the install-config.yaml to manage enabling OCL
      • MOSC yaml created in the installation directory
        • In future, generate an MOSC when one is not provided
        • Bootstrap MCO will parse this
        • Should contain all secrets, containerfiles, and specs needed for image build
        • 2 yamls should be created, one each for the master and worker pools
        • For now, require users to create an MOSC when OCL is enabled in the install-config.yaml
          • In future, generate an MOSC when one is not provided
      • Bootstrap MCO parses the master MOSC yaml
        • This process will be started after the first rendered MachineConfig is created
        • Run a registry on the bootstrap node to host the build master mcp image
          • Given we will host the registry on the node, what image pushspec will be used in the MOSC? 
          • Maybe, it is something we generate and keep track of
        • Build pod to build the image is created
          • Should MOSB be created here?
          • Need to see if current process can just be used for bootstrap node
        • Once build is done, image is pushed to registry running on bootstrap node
        • Once the master nodes are up with current version of RHCOS, do a bootc switch or rpm-ostree rebase to boot into the built image
      • Bootstrap node cannot communicate with worker nodes
        • Bootstrap node created the master nodes
        • The master nodes then create the worker nodes
        • Communication is only possible between bootstrap and master nodes and between master and worker nodes
        • Does the bootstrap node or installer create the master nodes?
      • Master nodes parse the worker MOSC yaml
        • Can use external registry here for build image or imagestream (while it is still available)
        • MOSB generated and build job created
        • Once build is done, image is pushed to registry
        • Once the worker nodes are up with current version of RHCOS, do a bootc switch or rpm-ostree rebase to boot into the built image
      • Build and rollout failures
        • Handle failures the same way we handle any installation failures today
          • The installation has to be cleared out and started again
        • Gather more data into the install log bundle related to the OCL process

       

      Questions:

      • Do we want to make the bootstrap be able to install itself via a container image eventually?
      • Do we want to be able to boot into the container image built directly instead of having to do a switch or rebase?
      • Do we want to make image mode the only path and remove ignition completely?
      • Consider how this would hook into hypershift

       

      Relevant code paths:

       

      T-shirt size:

      • Enhancement: S
      • Implementation: L

              umohnani Urvashi Mohnani
              mkrejci-1 Michelle Krejci
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: