Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-13656

MCO dropping new kubelet configuration field

XMLWordPrintable

      Description of problem

      oc adm node-logs feature has been upstreamed and is part of k8s 1.27. This resulted in the addition kubelet configuration enableSystemLogQuery to enable the feature. This feature has been enabled in the base kubelet configs in MCO. However in situations where TechPreview is enabled, it causes MCO to generate a kubelet configuration that overwrites the default and when it does this, the unmarshal and marshal cycle drops the field it is not aware of. This is because MCO currently vendors in k8s.io/kubelet at v0.25.1 and can be fixed by vendoring in v0.27.1

      How reproducible:always
      
      

      Steps to Reproduce:

      1. Bring up a 4.14 cluster with TechPreview enabled
      2. Run oc adm node-logs
      3.
      

      Actual results:

      Command returns "<a href="ec274df5b608cc7a149ece1ce673306c/">ec274df5b608cc7a149ece1ce673306c/</a>" which is the contents of /var/log/journal
      

      Expected results:

      Should return journal logs from the node
      
      

      Additional info

      I took a quick cut of updating the OpenShift and k8s APIs to 1.27. Running into the following during make verify:

      cmd/machine-config-controller/start.go:18:2: could not import github.com/openshift/machine-config-operator/pkg/controller/template (-: # github.com/openshift/machine-config-operator/pkg/controller/template
      pkg/controller/template/render.go:396:91: cannot use cfg.FeatureGate (variable of type *"github.com/openshift/api/config/v1".FeatureGate) as featuregates.FeatureGateAccess value in argument to cloudprovider.IsCloudProviderExternal: *"github.com/openshift/api/config/v1".FeatureGate does not implement featuregates.FeatureGateAccess (missing method AreInitialFeatureGatesObserved)
      pkg/controller/template/render.go:441:90: cannot use cfg.FeatureGate (variable of type *"github.com/openshift/api/config/v1".FeatureGate) as featuregates.FeatureGateAccess value in argument to cloudprovider.IsCloudProviderExternal: *"github.com/openshift/api/config/v1".FeatureGate does not implement featuregates.FeatureGateAccess (missing method AreInitialFeatureGatesObserved)) (typecheck)
              "github.com/openshift/machine-config-operator/pkg/controller/template"
              ^
      

      Here are some examples of how other operators have handled this. 

       This is a critical bug as oc adm node-logs runs as part of must-gather and debugging node issues with TechPreview jobs in CI is impossible without this working.

            rhn-engineering-skumari Sinny Kumari
            paravindh Aravindh Puthiyaparambil
            Sergio Regidor de la Rosa Sergio Regidor de la Rosa
            Votes:
            0 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated:
              Resolved: