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

'type: Always' risks serialize with empty promql property

XMLWordPrintable

    • Critical
    • 3
    • OTA 223
    • 1
    • False
    • Hide

      None

      Show
      None

      Description of problem:

      Risks defined like this get serialized like:

      $ curl -s 'https://api.openshift.com/api/upgrades_info/graph?channel=candidate-4.11' | jq -c '.conditionalEdges[].risks[].matchingRules[] | select(.type == "Always")' | sort | uniq -c
            3 {"type":"Always","promql":{"promql":""}}
      

      But we want just {"type": "Always"} to avoid:

      W0817 01:12:29.073438       1 cincinnati.go:221] Conditional update to 4.11.0, risk "RPMOSTreeTimeout", has empty pruned matchingRules; dropping this target to avoid rejections when pushing to the Kubernetes API server. Pruning results: the 'promql' property is not valid for 'type: Always' conditions
      

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

      5.0.0

      How reproducible:

      100%

      Steps to Reproduce:

      1. Point Cincinnati at the current graph-data tip, or any recent tip, because we have had things like this since June:

      $ git --no-pager log -G 'type: Always' --date=short --format='%ad %h %s' blocked-edges
      2022-08-16 18582fb Adding Conditional update edge from 4.10 to 4.11 because of BZ:2111817
      2022-06-16 8467cfc Adding conditional risk ClusterVersionPreconditionCheck for 4.11.0-fc.0
      

      Actual results:

      $ curl -s 'https://api.openshift.com/api/upgrades_info/graph?channel=candidate-4.11' | jq -c '.conditionalEdges[].risks[].matchingRules[] | select(.type == "Always")' | sort | uniq -c
            3 {"type":"Always","promql":{"promql":""}}
      

      Expected results:

      $ curl -s 'https://api.openshift.com/api/upgrades_info/graph?channel=candidate-4.11' | jq -c '.conditionalEdges[].risks[].matchingRules[] | select(.type == "Always")' | sort | uniq -c
            3 {"type":"Always"}
      

      Additional info:

      Need something like omitempty around here.

            pratikam Pratik Mahajan
            trking W. Trevor King
            Yang Yang Yang Yang
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: