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

CVO hotloops on ImageStream and logs the information incorrectly

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Undefined Undefined
    • None
    • 4.13
    • None
    • Moderate
    • None
    • 3
    • OTA 232
    • 1
    • False
    • Hide

      None

      Show
      None
    • N/A
    • Bug Fix
    • Done

      Description of problem:

      CVO hotloops on multiple different ImageStream resources, and while hotlooping, it logs the information incorrectly.
      
      Hotloopng:
      
      While checking the log file of the CVO in version 4.13.0-0.ci-2023-01-19-175836 we can see a new hotlooping on the ImageStream resources. Please note the whole lines. Even though the CVO logs "Updating Namespace...", we can see the additional information in the line "...due to diff:   &v1.ImageStream".
      
      The output of checking for any hotlooping:
      
      $ grep -io 'updating.*due to diff.*' cluster-version-operator-c98796f6b-cll9c-cluster-version-operator.log | sort | uniq -c
            2 Updating CRD alertmanagerconfigs.monitoring.coreos.com due to diff:   &v1.CustomResourceDefinition{
            2 Updating CRD consoleplugins.console.openshift.io due to diff:   &v1.CustomResourceDefinition{
            2 Updating CRD performanceprofiles.performance.openshift.io due to diff:   &v1.CustomResourceDefinition{
            2 Updating CronJob openshift-operator-lifecycle-manager/collect-profiles due to diff:   &unstructured.Unstructured{
            2 Updating Namespace cli-artifacts due to diff:   &v1.ImageStream{
            2 Updating Namespace cli due to diff:   &v1.ImageStream{
            2 Updating Namespace driver-toolkit due to diff:   &v1.ImageStream{
            2 Updating Namespace installer-artifacts due to diff:   &v1.ImageStream{
            2 Updating Namespace installer due to diff:   &v1.ImageStream{
            2 Updating Namespace must-gather due to diff:   &v1.ImageStream{
            2 Updating Namespace oauth-proxy due to diff:   &v1.ImageStream{
            2 Updating Namespace tests due to diff:   &v1.ImageStream{
            2 Updating Namespace tools due to diff:   &v1.ImageStream{
            2 Updating ValidatingWebhookConfiguration /controlplanemachineset.machine.openshift.io due to diff:   &unstructured.Unstructured{
            2 Updating ValidatingWebhookConfiguration /performance-addon-operator due to diff:   &unstructured.Unstructured{
      
      Incorrect logging:
      
      CVO logs "Updating Namespace" instead of "Updating ImageStream" as noted above.
      
      It also doesn't log the reason why the update happened. CVO logs the diff but the diff doesn't include the exact lines that caused the update. This issue was already fixed for some other resources (for example, the commit that fixed a similar issue for deployments: "resourceapply: improve diff logging for deployments" [1]).
      
      
      [1] https://github.com/openshift/cluster-version-operator/pull/855/commits/6065c601ae69ca63f16d12d34c1b2657a1f0d23d
      
      
      

      Version-Release number of selected component (if applicable):

       

      How reproducible:

      1/1

      Steps to Reproduce:

      1. Install the cluster
      2.
      3.
      

      Actual results:

      CVO hotloops on the ImageStream resources and logs the information incorrectly.

      Expected results:

      CVO doesn't hotloop on the ImageStream resources. And in the case of updating the ImageStream resources, it logs the necessary information correctly.

      Additional info:

       

              dhurta@redhat.com David Hurta
              dhurta@redhat.com David Hurta
              Evgeni Vakhonin Evgeni Vakhonin
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated:
                Resolved: