Uploaded image for project: 'OpenShift Over the Air'
  1. OpenShift Over the Air
  2. OTA-1283

Cluster-version operator should reconcile labels on MachineHealthCheck manifests

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • None
    • None
    • None
    • False
    • None
    • False

      OTA-827 is up to try and get ourselves out of the business of managing resource group/kinds we are not familiar with.  But today the machine-API operator is asking us to reconcile a MachineHealthCheck. Back in 2021, they updated labels to set api: clusterapi instead of api: clsuterapi. That's been part of releases for a while, including 4.15.13:

      $ oc adm release extract --to manifests quay.io/openshift-release-dev/ocp-release:4.15.13-x86_64
      $ grep api: manifests/0000_30_machine-api-operator_13_machinehealthcheck.yaml 
          api: clusterapi
      

      But the born-way-back app.ci cluster still has the old value:

      $ oc -n openshift-machine-api get -o json --show-managed-fields machinehealthcheck machine-api-termination-handler | jq '.metadata | {labels, managedFields: ([.managedFields[] | select(.fieldsV1 | tostring | contains("f:labels"))])}'
      {
        "labels": {
          "api": "clsuterapi",
          "k8s-app": "termination-handler"
        },
        "managedFields": [
          {
            "apiVersion": "machine.openshift.io/v1beta1",
            "fieldsType": "FieldsV1",
            "fieldsV1": {
              "f:metadata": {
                "f:annotations": {
                  ".": {},
                  "f:exclude.release.openshift.io/internal-openshift-hosted": {},
                  "f:include.release.openshift.io/self-managed-high-availability": {}
                },
                "f:labels": {
                  ".": {},
                  "f:api": {},
                  "f:k8s-app": {}
                }
              },
              "f:spec": {
                ".": {},
                "f:maxUnhealthy": {},
                "f:nodeStartupTimeout": {},
                "f:selector": {},
                "f:unhealthyConditions": {}
              }
            },
            "manager": "cluster-version-operator",
            "operation": "Update",
            "time": "2021-03-08T14:49:55Z"
          }
        ]
      }
      

      This ticket is asking us to check how label-validation works for our generic-resource reconciler, so we can see about enforcing listed-in-the-manifest labels and annotations.

              Unassigned Unassigned
              trking W. Trevor King
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: