Uploaded image for project: 'OpenShift Windows Containers'
  1. OpenShift Windows Containers
  2. WINC-578

Support adding BYOH instances

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Done
    • Icon: Major Major
    • 3.0.0
    • None
    • wmco
    • None
    • 8
    • False
    • False
    • OCPPLAN-2389 - Drive Workload and Consumption
    • Undefined
    • WinC - Sprint 201, WinC - Sprint 202

      As an OpenShift cluster administrator I would like to add an existing Windows instance to the cluster as a worker node.

      Description

      The cluster admin will create a ConfigMap called windows-instances in the openshift-windows-machine-config-operator namespace. WMCO will be configured to watch for this special ConfigMap, whose data section will have the following layout:

      kind: ConfigMap
      apiVersion: v1
      metadata:   name: windows-instances
        namespace: openshift-windows-machine-config-operator
      data:   10.1.42.1: |-
          username=Administrator
        instance.dns.com: |-
          username=core
      

      WMCO will configure instances based on the contents of the data section and will use the cloud-private-key to communicate with them. The key value above can either be the IP address of the instance or it's DNS name. The IP or DNS entries act as unique keys. If a specified IP and DNS entry resolve to the same instance then it will get prepped twice but will result in only one Windows worker.

      Engineering details

      WMCO will include a ConfigMap controller that watches for changes to the windows-instances ConfigMap and node objects. Any change will cause WMCO to compare the list of instances with the set of existing Windows nodes. The comparison will be based on the instance and node's IP addresses. WMCO will then react in the following manner:

      • If a new entry is found i.e. the list of nodes does not contain one that map to the instances' IP address, the instance will be configured by WMCO. The configuration process will be identical to configuring instances added using a MachineSet in an IPI cluster.

      Not required

      Handling of CSR approvals. This can be tackled in a separate story

      Acceptance criteria

      • ConfigMap controller that watches for openshift-windows-machine-config-operators/windows-instances and configures instances referenced there
      • e2e test that exercises the addition of a Windows instance added to the windows-instances
        • This can be achieved by creating a Windows Machine that does not have the machine.openshift.io/os-id: Windows label. Once this Machine has been created the Machine API and cluster provider controllers should be disabled to prevent them from reacting. Then the created Machine's IP can then be added to the windows-instances ConfigMap which will cause WMCO to react.
      • Update the docs reflecting how to add a BYOH instance.

              rh-ee-ssoto Sebastian Soto
              paravindh Aravindh Puthiyaparambil (Inactive)
              Shang Gao Shang Gao
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: