Skip to content

TRT-2569: (fix) hypershift-e2e-aks and hypershift-e2e-aws failing with CVO bootstrap deadlock in ci amd64 payload#1342

Merged
openshift-merge-bot[bot] merged 5 commits intoopenshift:mainfrom
hongkailiu:TRT-2569
Mar 11, 2026
Merged

TRT-2569: (fix) hypershift-e2e-aks and hypershift-e2e-aws failing with CVO bootstrap deadlock in ci amd64 payload#1342
openshift-merge-bot[bot] merged 5 commits intoopenshift:mainfrom
hongkailiu:TRT-2569

Conversation

@hongkailiu
Copy link
Member

@hongkailiu hongkailiu commented Mar 9, 2026

The 1st commit reverts #1339

The 2nd commit includes the fix.

Take a failing job [1],

$ curl -s https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/logs/periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks/2030738474943909888/artifacts/e2e-aks/hypershift-azure-run-e2e/artifacts/TestCreateCluster/namespaces/e2e-clusters-v6hh4-create-cluster-pcmgf/core/pods/logs/cluster-version-operator-7d8d59977-vrrvw-bootstrap.log | tail -n 6
  rolebinding.rbac.authorization.k8s.io/prometheus-k8s unchanged
  error: resource mapping not found for name: "cluster-version-operator-accept-risks" namespace: "openshift-cluster-version" from "/var/payload/manifests/0000_90_cluster-version-operator_02_prometheusrule-TechPreviewNoUpgrade.yaml": no matches for kind "PrometheusRule" in version "monitoring.coreos.com/v1"
  ensure CRDs are installed first
...

So we apply the manifest too early.

How come the existing manifest
0000_90_cluster-version-operator_02_servicemonitor.yaml
has no such an issue? It contains PrometheusRules as well [2].

The answer is here:

$ curl -s https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/logs/periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks/2030738474943909888/artifacts/e2e-aks/hypershift-azure-run-e2e/artifacts/TestCreateCluster/namespaces/e2e-clusters-v6hh4-create-cluster-pcmgf/core/pods/cluster-version-operator-7d8d59977-vrrvw.yaml | yq -r '.spec.initContainers[]|select(.name=="prepare-payload").args[1]'
  cp -R /manifests /var/payload/
  rm -f /var/payload/manifests/*_deployment.yaml
  rm -f /var/payload/manifests/*_servicemonitor.yaml
  cp -R /release-manifests /var/payload/
  rm -f /var/payload/manifests/*-Default*.yaml
  rm -f /var/payload/manifests/*-CustomNoUpgrade*.yaml
  rm -f /var/payload/manifests/*-DevPreviewNoUpgrade*.yaml
  rm -f /var/payload/manifests/*-OKD*.yaml
  rm -f /var/payload/release-manifests/0000_50_olm_00-pprof-config.yaml
...

From the above command:

  • The FeatureSet on the cluster is TechPreviewNoUpgrade. Otherwise, we
    would have rm -f /var/payload/manifests/*-TechPreviewNoUpgrade*.yaml [3].
  • If the manifest has the suffix _servicemonitor.yaml in the filename,
    it would be removed too. As a result, the relevant PrometheusRule won't
    exist on the created HCP regardless of FeatureSet. It should not be a problem
    just like the existing one.

The annotations include.release.openshift.io/self-managed-high-availability: "true"
and release.openshift.io/feature-gate: "ClusterUpdateAcceptRisks" ensure
that it is installed on Standalone clusters only when
FeatureGate/ClusterUpdateAcceptRisks is enabled.

[1]. https://prow.ci.openshift.org/view/gs/test-platform-results/logs/periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks/2030738474943909888

[2].

[3]. https://github.com/openshift/hypershift/blob/23fc7eb379fa973ddd1fefd6cc9b4613ec4dc976/control-plane-operator/controllers/hostedcontrolplane/v2/cvo/deployment.go#L205-L241

Summary by CodeRabbit

  • New Features

    • Adds visibility for cluster update risks: a Prometheus alert and emitted metrics that report conditional update risk statuses and reasons.
  • Tests

    • Adds tests and test registration to verify the alert rule is installed and conditional update risk metrics are collected and exposed.
  • Chores

    • Updates multiple dependency and tooling versions.

Take a failing job [1],

```console
$ curl -s https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/logs/periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks/2030738474943909888/artifacts/e2e-aks/hypershift-azure-run-e2e/artifacts/TestCreateCluster/namespaces/e2e-clusters-v6hh4-create-cluster-pcmgf/core/pods/logs/cluster-version-operator-7d8d59977-vrrvw-bootstrap.log | tail -n 6
  rolebinding.rbac.authorization.k8s.io/prometheus-k8s unchanged
  error: resource mapping not found for name: "cluster-version-operator-accept-risks" namespace: "openshift-cluster-version" from "/var/payload/manifests/0000_90_cluster-version-operator_02_prometheusrule-TechPreviewNoUpgrade.yaml": no matches for kind "PrometheusRule" in version "monitoring.coreos.com/v1"
  ensure CRDs are installed first
...
```

So we apply the manifest too early.

How come the existing manifest
`0000_90_cluster-version-operator_02_servicemonitor.yaml`
has no such an issue? It contains PrometheusRules as well [2].

The answer is here:

```console
$ curl -s https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/logs/periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks/2030738474943909888/artifacts/e2e-aks/hypershift-azure-run-e2e/artifacts/TestCreateCluster/namespaces/e2e-clusters-v6hh4-create-cluster-pcmgf/core/pods/cluster-version-operator-7d8d59977-vrrvw.yaml | yq -r '.spec.initContainers[]|select(.name=="prepare-payload").args[1]'
  cp -R /manifests /var/payload/
  rm -f /var/payload/manifests/*_deployment.yaml
  rm -f /var/payload/manifests/*_servicemonitor.yaml
  cp -R /release-manifests /var/payload/
  rm -f /var/payload/manifests/*-Default*.yaml
  rm -f /var/payload/manifests/*-CustomNoUpgrade*.yaml
  rm -f /var/payload/manifests/*-DevPreviewNoUpgrade*.yaml
  rm -f /var/payload/manifests/*-OKD*.yaml
  rm -f /var/payload/release-manifests/0000_50_olm_00-pprof-config.yaml
...
```

From the above command:

* The FeatureSet on the cluster is `TechPreviewNoUpgrade`. Otherwise, we
  would have `rm -f /var/payload/manifests/*-TechPreviewNoUpgrade*.yaml` [3].
* If the manifest has the suffix `_servicemonitor.yaml` in the filename,
  it would be removed too. As a result, the relevant PrometheusRule won't
  exist on the created HCP regardless of FeatureSet. It should not be a problem
  just like the existing one.

The annotations `include.release.openshift.io/self-managed-high-availability: "true"`
and `release.openshift.io/feature-gate: "ClusterUpdateAcceptRisks"` ensure
that it is installed on Standalone clusters only when
`FeatureGate/ClusterUpdateAcceptRisks` is enabled.

[1]. https://prow.ci.openshift.org/view/gs/test-platform-results/logs/periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks/2030738474943909888

[2]. https://github.com/openshift/cluster-version-operator/blob/c4fb92f94551b8a94f2eb4e1d8c6fdbcbc4aca0f/install/0000_90_cluster-version-operator_02_servicemonitor.yaml#L30

[3]. https://github.com/openshift/hypershift/blob/23fc7eb379fa973ddd1fefd6cc9b4613ec4dc976/control-plane-operator/controllers/hostedcontrolplane/v2/cvo/deployment.go#L205-L241
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Mar 9, 2026

@hongkailiu: This pull request references TRT-2569 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the bug to target the "4.22.0" version, but no target version was set.

Details

In response to this:

The 1st commit reverts #1339

The 2nd commit includes the fix.

Take a failing job [1],

$ curl -s https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/logs/periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks/2030738474943909888/artifacts/e2e-aks/hypershift-azure-run-e2e/artifacts/TestCreateCluster/namespaces/e2e-clusters-v6hh4-create-cluster-pcmgf/core/pods/logs/cluster-version-operator-7d8d59977-vrrvw-bootstrap.log | tail -n 6
 rolebinding.rbac.authorization.k8s.io/prometheus-k8s unchanged
 error: resource mapping not found for name: "cluster-version-operator-accept-risks" namespace: "openshift-cluster-version" from "/var/payload/manifests/0000_90_cluster-version-operator_02_prometheusrule-TechPreviewNoUpgrade.yaml": no matches for kind "PrometheusRule" in version "monitoring.coreos.com/v1"
 ensure CRDs are installed first
...

So we apply the manifest too early.

How come the existing manifest
0000_90_cluster-version-operator_02_servicemonitor.yaml
has no such an issue? It contains PrometheusRules as well [2].

The answer is here:

$ curl -s https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/logs/periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks/2030738474943909888/artifacts/e2e-aks/hypershift-azure-run-e2e/artifacts/TestCreateCluster/namespaces/e2e-clusters-v6hh4-create-cluster-pcmgf/core/pods/cluster-version-operator-7d8d59977-vrrvw.yaml | yq -r '.spec.initContainers[]|select(.name=="prepare-payload").args[1]'
 cp -R /manifests /var/payload/
 rm -f /var/payload/manifests/*_deployment.yaml
 rm -f /var/payload/manifests/*_servicemonitor.yaml
 cp -R /release-manifests /var/payload/
 rm -f /var/payload/manifests/*-Default*.yaml
 rm -f /var/payload/manifests/*-CustomNoUpgrade*.yaml
 rm -f /var/payload/manifests/*-DevPreviewNoUpgrade*.yaml
 rm -f /var/payload/manifests/*-OKD*.yaml
 rm -f /var/payload/release-manifests/0000_50_olm_00-pprof-config.yaml
...

From the above command:

  • The FeatureSet on the cluster is TechPreviewNoUpgrade. Otherwise, we
    would have rm -f /var/payload/manifests/*-TechPreviewNoUpgrade*.yaml [3].
  • If the manifest has the suffix _servicemonitor.yaml in the filename,
    it would be removed too. As a result, the relevant PrometheusRule won't
    exist on the created HCP regardless of FeatureSet. It should not be a problem
    just like the existing one.

The annotations include.release.openshift.io/self-managed-high-availability: "true"
and release.openshift.io/feature-gate: "ClusterUpdateAcceptRisks" ensure
that it is installed on Standalone clusters only when
FeatureGate/ClusterUpdateAcceptRisks is enabled.

[1]. https://prow.ci.openshift.org/view/gs/test-platform-results/logs/periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks/2030738474943909888

[2].

[3]. https://github.com/openshift/hypershift/blob/23fc7eb379fa973ddd1fefd6cc9b4613ec4dc976/control-plane-operator/controllers/hostedcontrolplane/v2/cvo/deployment.go#L205-L241

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Mar 9, 2026
@coderabbitai
Copy link

coderabbitai bot commented Mar 9, 2026

Walkthrough

Adds Prometheus alerting and a GaugeVec metric for ClusterVersion ConditionalUpdateRisks, collection logic and tests, test harness wiring to verify PrometheusRule installation, and dependency updates.

Changes

Cohort / File(s) Summary
PrometheusRule Alert
install/0000_90_cluster-version-operator_02_prometheusrule_servicemonitor.yaml
Adds cluster-version-operator-accept-risks PrometheusRule (group cluster-version-tech-preview) with OpenShiftUpdateRiskMightApply alert that fires on recent "Applies" risk; for: 10m, severity: warning, and annotations including runbook.
Metrics Collection
pkg/cvo/metrics.go
Introduces cluster_version_risk_conditions GaugeVec, implements collectConditionalUpdateRisks() to emit metric values for ConditionalUpdateRisk.conditions (1 for true, -1 for unknown), and extends Describe/Collect, gated by shouldReconcileAcceptRisks().
Metrics Tests
pkg/cvo/metrics_test.go
Adds Test_collectConditionalUpdateRisks (appears duplicated) to validate gauge emission for unknown/Applies true/false statuses; test setup enables feature gates via featuregates.DefaultCvoGates("version").
Integration Test Hooks
test/cvo/accept_risks.go
Adds monitoringClient (Prometheus Operator monitoring client) initialization and a test that calls monitoringClient.PrometheusRules(...).Get to assert the PrometheusRule exists.
Test Manifest Registration
.openshift-tests-extension/openshift_payload_cluster-version-operator.json
Adds a new blocking test entry "cluster-version-operator should install prometheus rules correctly" to the cluster-version-operator payload test list.
Dependency Updates
go.mod
Bumps multiple dependencies and adds prometheus-operator client/apis v0.86.0; mostly transitive/indirect version upgrades (ginkgo/gomega, controller-runtime, protobuf, golang.org/x/*, k8s utils/openapi families, etc.).

Sequence Diagram(s)

sequenceDiagram
    participant CVO as CVO Operator
    participant Metrics as CVO Metrics Collector
    participant Prom as Prometheus
    participant RuleStore as PrometheusRule API
    participant Test as Test Harness

    CVO->>Metrics: Read ClusterVersion.ConditionalUpdateRisks
    Metrics->>Metrics: collectConditionalUpdateRisks() -> update GaugeVec labels(namespace,risk,reason)
    Metrics->>Prom: Expose metrics endpoint (scrape)
    Prom->>RuleStore: Evaluate `OpenShiftUpdateRiskMightApply` rule against scraped metrics
    Prom->>Prom: Fire alert when "Applies" condition present within window
    Test->>RuleStore: monitoringClient.Get(`cluster-version-operator-accept-risks`)
    Test->>Prom: Scrape metrics / assert gauge values
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

🚥 Pre-merge checks | ✅ 2 | ❌ 3

❌ Failed checks (3 warnings)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Test Structure And Quality ⚠️ Warning Test code exhibits critical quality issues including redundant error checking, assertions without meaningful messages, and insufficient timeout declarations. Remove redundant if-statement in PrometheusRule test, add explicit Ginkgo SpecTimeout decorators, enhance assertion messages with context, and split tests for better separation of concerns.
Title check ⚠️ Warning The PR title refers to fixing a CVO bootstrap deadlock in hypershift e2e tests, but the actual changes implement new PrometheusRule monitoring for cluster update risks, including metric collection, tests, and manifests. Update the title to reflect the actual implementation focus, such as 'Add PrometheusRule monitoring for cluster update risks' or clarify how the new metrics address the bootstrap deadlock.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Stable And Deterministic Test Names ✅ Passed All test names in the PR use static, descriptive strings with no dynamic content that would change between test runs.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Comment @coderabbitai help to get the list of available commands and usage tips.

@hongkailiu
Copy link
Member Author

/payload-job periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 9, 2026

@hongkailiu: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/3404e7f0-1bea-11f1-8cd7-db647934566b-0

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 9, 2026
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Mar 9, 2026

@hongkailiu: This pull request references TRT-2569 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the bug to target the "4.22.0" version, but no target version was set.

Details

In response to this:

The 1st commit reverts #1339

The 2nd commit includes the fix.

Take a failing job [1],

$ curl -s https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/logs/periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks/2030738474943909888/artifacts/e2e-aks/hypershift-azure-run-e2e/artifacts/TestCreateCluster/namespaces/e2e-clusters-v6hh4-create-cluster-pcmgf/core/pods/logs/cluster-version-operator-7d8d59977-vrrvw-bootstrap.log | tail -n 6
 rolebinding.rbac.authorization.k8s.io/prometheus-k8s unchanged
 error: resource mapping not found for name: "cluster-version-operator-accept-risks" namespace: "openshift-cluster-version" from "/var/payload/manifests/0000_90_cluster-version-operator_02_prometheusrule-TechPreviewNoUpgrade.yaml": no matches for kind "PrometheusRule" in version "monitoring.coreos.com/v1"
 ensure CRDs are installed first
...

So we apply the manifest too early.

How come the existing manifest
0000_90_cluster-version-operator_02_servicemonitor.yaml
has no such an issue? It contains PrometheusRules as well [2].

The answer is here:

$ curl -s https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/logs/periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks/2030738474943909888/artifacts/e2e-aks/hypershift-azure-run-e2e/artifacts/TestCreateCluster/namespaces/e2e-clusters-v6hh4-create-cluster-pcmgf/core/pods/cluster-version-operator-7d8d59977-vrrvw.yaml | yq -r '.spec.initContainers[]|select(.name=="prepare-payload").args[1]'
 cp -R /manifests /var/payload/
 rm -f /var/payload/manifests/*_deployment.yaml
 rm -f /var/payload/manifests/*_servicemonitor.yaml
 cp -R /release-manifests /var/payload/
 rm -f /var/payload/manifests/*-Default*.yaml
 rm -f /var/payload/manifests/*-CustomNoUpgrade*.yaml
 rm -f /var/payload/manifests/*-DevPreviewNoUpgrade*.yaml
 rm -f /var/payload/manifests/*-OKD*.yaml
 rm -f /var/payload/release-manifests/0000_50_olm_00-pprof-config.yaml
...

From the above command:

  • The FeatureSet on the cluster is TechPreviewNoUpgrade. Otherwise, we
    would have rm -f /var/payload/manifests/*-TechPreviewNoUpgrade*.yaml [3].
  • If the manifest has the suffix _servicemonitor.yaml in the filename,
    it would be removed too. As a result, the relevant PrometheusRule won't
    exist on the created HCP regardless of FeatureSet. It should not be a problem
    just like the existing one.

The annotations include.release.openshift.io/self-managed-high-availability: "true"
and release.openshift.io/feature-gate: "ClusterUpdateAcceptRisks" ensure
that it is installed on Standalone clusters only when
FeatureGate/ClusterUpdateAcceptRisks is enabled.

[1]. https://prow.ci.openshift.org/view/gs/test-platform-results/logs/periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks/2030738474943909888

[2].

[3]. https://github.com/openshift/hypershift/blob/23fc7eb379fa973ddd1fefd6cc9b4613ec4dc976/control-plane-operator/controllers/hostedcontrolplane/v2/cvo/deployment.go#L205-L241

Summary by CodeRabbit

  • New Features

  • Added cluster update risk monitoring and alerting. New PrometheusRule detects when cluster updates have associated risks and triggers alerts accordingly.

  • Tests

  • Added test coverage for conditional update risk metrics collection.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
install/0000_90_cluster-version-operator_02_prometheusrule_servicemonitor.yaml (1)

1-12: Document why this file must keep the _servicemonitor.yaml suffix.

This fix depends on filename-based pruning, but that contract is invisible from the manifest body. A short YAML comment here would make a future cleanup rename much less likely to reintroduce the HyperShift bootstrap deadlock.

📝 Suggested comment
+# Keep the `_servicemonitor.yaml` suffix. HyperShift prepare-payload prunes
+# `*_servicemonitor.yaml` manifests before bootstrap, which prevents this
+# PrometheusRule from being applied before the PrometheusRule CRD exists.
 apiVersion: monitoring.coreos.com/v1
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In
`@install/0000_90_cluster-version-operator_02_prometheusrule_servicemonitor.yaml`
around lines 1 - 12, Add a short YAML comment at the top of the PrometheusRule
manifest explaining that the filename must retain the `_servicemonitor.yaml`
suffix because external filename-based pruning logic relies on that suffix and
renaming would reintroduce the HyperShift bootstrap deadlock; reference the
resource by its kind (PrometheusRule) and metadata.name
(cluster-version-operator-accept-risks) and mention the release feature-gate
(ClusterUpdateAcceptRisks) so future maintainers can see the linkage between the
filename contract and this specific rule.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@pkg/cvo/metrics.go`:
- Around line 527-535: The gauge series created via
m.clusterVersionRiskConditions.WithLabelValues(condition.Type, risk.Name,
condition.Reason) is never reset when a condition transitions to False, causing
stale 1 or -1 values to persist; update the switch on condition.Status in the
code that builds g so that metav1.ConditionFalse explicitly calls g.Set(0)
(alongside the existing cases for ConditionTrue and ConditionUnknown) before
sending g to ch, ensuring the metric is cleared when the risk condition is
cleared.

---

Nitpick comments:
In
`@install/0000_90_cluster-version-operator_02_prometheusrule_servicemonitor.yaml`:
- Around line 1-12: Add a short YAML comment at the top of the PrometheusRule
manifest explaining that the filename must retain the `_servicemonitor.yaml`
suffix because external filename-based pruning logic relies on that suffix and
renaming would reintroduce the HyperShift bootstrap deadlock; reference the
resource by its kind (PrometheusRule) and metadata.name
(cluster-version-operator-accept-risks) and mention the release feature-gate
(ClusterUpdateAcceptRisks) so future maintainers can see the linkage between the
filename contract and this specific rule.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 31dce3b6-c3ec-4958-ad9a-4bbf7b74c3d9

📥 Commits

Reviewing files that changed from the base of the PR and between c4fb92f and af2d7a8.

📒 Files selected for processing (3)
  • install/0000_90_cluster-version-operator_02_prometheusrule_servicemonitor.yaml
  • pkg/cvo/metrics.go
  • pkg/cvo/metrics_test.go

Comment on lines +527 to +535
g := m.clusterVersionRiskConditions.WithLabelValues(condition.Type, risk.Name, condition.Reason)
switch condition.Status {
case metav1.ConditionTrue:
g.Set(1)
case metav1.ConditionUnknown:
g.Set(-1)
}
// We do not need to do g.Set(0) as it is done when g is initialized
ch <- g
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🌐 Web query:

In github.com/prometheus/client_golang/prometheus, does GaugeVec.WithLabelValues return the existing Gauge for repeated label values, keeping its previously set value until Set is called again?

💡 Result:

Yes.

  • GaugeVec.WithLabelValues(...) is just a convenience wrapper around GetMetricWithLabelValues(...) (it panics instead of returning an error). So it returns the same underlying child Gauge for the same label-value tuple. [1]
  • MetricVec.GetMetricWithLabelValues(...) hashes the label values and then calls into the vector’s “get or create” path, which returns the existing metric if it’s already present, otherwise it creates and stores a new one. [2]
  • A Gauge stores its value internally (atomically) and exports whatever is currently stored; it remains unchanged until you call Set/Add/etc. again (unless you Delete.../Reset the vector, which stops exporting that child). [3]

So repeated WithLabelValues calls for the same labels return the existing Gauge, and it keeps its previously set value until you change it.

Sources:
[1] https://pkg.go.dev/github.com/prometheus/client_golang/prometheus#GaugeVec.WithLabelValues
[2] https://github.com/prometheus/client_golang/blob/main/prometheus/vec.go
[3] https://github.com/prometheus/client_golang/blob/main/prometheus/gauge.go


Reset the gauge to 0 when status becomes False.

WithLabelValues(condition.Type, risk.Name, condition.Reason) reuses the same gauge series across scrapes. If that series was previously set to 1 or -1, and the status later becomes False, the old value persists because the False case has no Set call. This leaves stale risk metrics exported after the risk condition clears. The comment on line 534 is incorrect; initialization does not prevent this issue once the series is reused.

Proposed fix
 			g := m.clusterVersionRiskConditions.WithLabelValues(condition.Type, risk.Name, condition.Reason)
 			switch condition.Status {
 			case metav1.ConditionTrue:
 				g.Set(1)
 			case metav1.ConditionUnknown:
 				g.Set(-1)
+			default:
+				g.Set(0)
 			}
-			// We do not need to do g.Set(0) as it is done when g is initialized
 			ch <- g
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@pkg/cvo/metrics.go` around lines 527 - 535, The gauge series created via
m.clusterVersionRiskConditions.WithLabelValues(condition.Type, risk.Name,
condition.Reason) is never reset when a condition transitions to False, causing
stale 1 or -1 values to persist; update the switch on condition.Status in the
code that builds g so that metav1.ConditionFalse explicitly calls g.Set(0)
(alongside the existing cases for ConditionTrue and ConditionUnknown) before
sending g to ch, ensuring the metric is cleared when the risk condition is
cleared.

@hongkailiu
Copy link
Member Author

/payload-job periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 9, 2026

@hongkailiu: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/7eb9a540-1bf1-11f1-9735-6bd2e1fc1b09-0

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Mar 9, 2026

@hongkailiu: This pull request references TRT-2569 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the bug to target the "4.22.0" version, but no target version was set.

Details

In response to this:

The 1st commit reverts #1339

The 2nd commit includes the fix.

Take a failing job [1],

$ curl -s https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/logs/periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks/2030738474943909888/artifacts/e2e-aks/hypershift-azure-run-e2e/artifacts/TestCreateCluster/namespaces/e2e-clusters-v6hh4-create-cluster-pcmgf/core/pods/logs/cluster-version-operator-7d8d59977-vrrvw-bootstrap.log | tail -n 6
 rolebinding.rbac.authorization.k8s.io/prometheus-k8s unchanged
 error: resource mapping not found for name: "cluster-version-operator-accept-risks" namespace: "openshift-cluster-version" from "/var/payload/manifests/0000_90_cluster-version-operator_02_prometheusrule-TechPreviewNoUpgrade.yaml": no matches for kind "PrometheusRule" in version "monitoring.coreos.com/v1"
 ensure CRDs are installed first
...

So we apply the manifest too early.

How come the existing manifest
0000_90_cluster-version-operator_02_servicemonitor.yaml
has no such an issue? It contains PrometheusRules as well [2].

The answer is here:

$ curl -s https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/logs/periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks/2030738474943909888/artifacts/e2e-aks/hypershift-azure-run-e2e/artifacts/TestCreateCluster/namespaces/e2e-clusters-v6hh4-create-cluster-pcmgf/core/pods/cluster-version-operator-7d8d59977-vrrvw.yaml | yq -r '.spec.initContainers[]|select(.name=="prepare-payload").args[1]'
 cp -R /manifests /var/payload/
 rm -f /var/payload/manifests/*_deployment.yaml
 rm -f /var/payload/manifests/*_servicemonitor.yaml
 cp -R /release-manifests /var/payload/
 rm -f /var/payload/manifests/*-Default*.yaml
 rm -f /var/payload/manifests/*-CustomNoUpgrade*.yaml
 rm -f /var/payload/manifests/*-DevPreviewNoUpgrade*.yaml
 rm -f /var/payload/manifests/*-OKD*.yaml
 rm -f /var/payload/release-manifests/0000_50_olm_00-pprof-config.yaml
...

From the above command:

  • The FeatureSet on the cluster is TechPreviewNoUpgrade. Otherwise, we
    would have rm -f /var/payload/manifests/*-TechPreviewNoUpgrade*.yaml [3].
  • If the manifest has the suffix _servicemonitor.yaml in the filename,
    it would be removed too. As a result, the relevant PrometheusRule won't
    exist on the created HCP regardless of FeatureSet. It should not be a problem
    just like the existing one.

The annotations include.release.openshift.io/self-managed-high-availability: "true"
and release.openshift.io/feature-gate: "ClusterUpdateAcceptRisks" ensure
that it is installed on Standalone clusters only when
FeatureGate/ClusterUpdateAcceptRisks is enabled.

[1]. https://prow.ci.openshift.org/view/gs/test-platform-results/logs/periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks/2030738474943909888

[2].

[3]. https://github.com/openshift/hypershift/blob/23fc7eb379fa973ddd1fefd6cc9b4613ec4dc976/control-plane-operator/controllers/hostedcontrolplane/v2/cvo/deployment.go#L205-L241

Summary by CodeRabbit

  • New Features

  • Added cluster update risk monitoring: alert rule and metrics to detect and surface conditional update risks and their reasons.

  • Tests

  • Added test coverage validating collection and emission of conditional update risk metrics.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@test/cvo/accept_risks.go`:
- Around line 151-155: The test "should install prometheus rules correctly"
currently treats kerrors.IsNotFound(err) as a passing condition which masks a
missing manifest; update the assertion so that the call to
monitoringClient.PrometheusRules(...).Get(ctx,
"cluster-version-operator-accept-risks", metav1.GetOptions{}) is expected to
succeed (i.e., fail the test if Get returns an error), and remove the
IsNotFound-based success path; if you need to assert absence on Hypershift, add
a separate spec that explicitly checks for kerrors.IsNotFound(err) when running
under the Hypershift topology.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 3180646a-9fbe-49f2-8a34-cdc47159ddc6

📥 Commits

Reviewing files that changed from the base of the PR and between af2d7a8 and d27d9cd.

⛔ Files ignored due to path filters (295)
  • go.sum is excluded by !**/*.sum
  • vendor/github.com/emicklei/go-restful/v3/.travis.yml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/emicklei/go-restful/v3/CHANGES.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/emicklei/go-restful/v3/README.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/emicklei/go-restful/v3/curly.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/emicklei/go-restful/v3/custom_verb.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/emicklei/go-restful/v3/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-logr/logr/.golangci.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-logr/logr/funcr/funcr.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/.golangci.yml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/README.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/errors.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/pointer.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonreference/.golangci.yml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonreference/README.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonreference/reference.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/.codecov.yml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/.golangci.yml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/.mockery.yml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/README.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/TODO.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/cmdutils/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/cmdutils/cmd_utils.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/cmdutils/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/cmdutils_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/conv/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/conv/convert.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/conv/convert_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/conv/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/conv/format.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/conv/sizeof.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/conv/type_constraints.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/conv_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/convert.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/convert_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/fileutils/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/fileutils/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/fileutils/file.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/fileutils/path.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/fileutils_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/go.work is excluded by !**/*.work, !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/go.work.sum is excluded by !**/*.sum, !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/initialism_index.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/json.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonname/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonname/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonname/name_provider.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonname_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/README.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/ifaces.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/registry_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/registry.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/adapter.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/lexer.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/ordered_map.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/pool.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/writer.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/concat.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/json.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/ordered_map.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/loading/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/loading/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/loading/errors.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/loading/json.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/loading/loading.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/loading/options.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/loading/yaml.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/loading_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling/BENCHMARK.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling/initialism_index.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling/name_lexem.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling/name_mangler.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling/options.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling/pools.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling/split.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling/string_bytes.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling/util.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/name_lexem.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/netutils/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/netutils/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/netutils/net.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/netutils_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/string_bytes.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/stringutils/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/stringutils/collection_formats.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/stringutils/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/stringutils/strings.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/stringutils_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/typeutils/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/typeutils/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/typeutils/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/typeutils_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/util.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/yaml.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/yamlutils/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/yamlutils/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/yamlutils/errors.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/yamlutils/ordered_map.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/yamlutils/yaml.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/yamlutils_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/josharian/intern/README.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/josharian/intern/intern.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/josharian/intern/license.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mailru/easyjson/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mailru/easyjson/buffer/pool.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mailru/easyjson/jlexer/bytestostr.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mailru/easyjson/jlexer/bytestostr_nounsafe.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mailru/easyjson/jlexer/error.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mailru/easyjson/jlexer/lexer.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mailru/easyjson/jwriter/writer.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/CHANGELOG.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/gomega_dsl.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/be_empty_matcher.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/consist_of.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/contain_element_matcher.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/contain_elements_matcher.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/have_each_matcher.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/have_exact_elements.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/have_field.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/have_key_matcher.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/have_key_with_value_matcher.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/have_len_matcher.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/internal/miter/type_support_iter.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/internal/miter/type_support_noiter.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/type_support.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/resource.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/alertmanager_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/dns_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/http_config.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/podmonitor_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/probe_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/prometheus_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/prometheusrule_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/servicemonitor_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/thanos_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1alpha1/alertmanager_config_conversion.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1alpha1/alertmanager_config_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1alpha1/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1alpha1/prometheusagent_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1alpha1/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1alpha1/scrapeconfig_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1alpha1/validation.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1alpha1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1beta1/alertmanager_config_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1beta1/conversion_from.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1beta1/conversion_to.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1beta1/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1beta1/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1beta1/validation.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1beta1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/alertingspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/alertmanager.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/alertmanagerconfigmatcherstrategy.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/alertmanagerconfiguration.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/alertmanagerendpoints.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/alertmanagerglobalconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/alertmanagerlimitsspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/alertmanagerspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/alertmanagerstatus.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/alertmanagerwebspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/apiserverconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/arbitraryfsaccessthroughsmsconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/argument.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/attachmetadata.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/authorization.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/azuread.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/azureoauth.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/azuresdk.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/basicauth.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/clustertlsconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/commonprometheusfields.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/condition.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/configresourcecondition.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/configresourcestatus.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/corev1topologyspreadconstraint.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/embeddedobjectmetadata.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/embeddedpersistentvolumeclaim.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/endpoint.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/exemplars.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/globaljiraconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/globalrocketchatconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/globalsmtpconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/globaltelegramconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/globalvictoropsconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/globalwebexconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/globalwechatconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/hostalias.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/hostport.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/httpconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/managedidentity.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/metadataconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/namespaceselector.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/nativehistogramconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/oauth2.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/objectreference.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/otlpconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/poddnsconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/poddnsconfigoption.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/podmetricsendpoint.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/podmonitor.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/podmonitorspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/probe.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/probeparam.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/proberspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/probespec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/probetargetingress.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/probetargets.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/probetargetstaticconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/prometheus.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/prometheusrule.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/prometheusruleexcludeconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/prometheusrulespec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/prometheusspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/prometheusstatus.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/prometheustracingconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/prometheuswebspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/proxyconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/queryspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/queueconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/relabelconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/remotereadspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/remotewritespec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/retainconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/rule.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/rulegroup.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/rules.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/rulesalert.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/runtimeconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/safeauthorization.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/safetlsconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/scrapeclass.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/secretorconfigmap.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/servicemonitor.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/servicemonitorspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/shardretentionpolicy.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/shardstatus.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/sigv4.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/storagespec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/thanosruler.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/thanosrulerspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/thanosrulerstatus.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/thanosrulerwebspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/thanosspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/tlsconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/topologyspreadconstraint.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/tsdbspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/webconfigfilefields.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/webhttpconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/webhttpheaders.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/webtlsconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/workloadbinding.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/scheme/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/scheme/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/typed/monitoring/v1/alertmanager.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/typed/monitoring/v1/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/typed/monitoring/v1/generated_expansion.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/typed/monitoring/v1/monitoring_client.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/typed/monitoring/v1/podmonitor.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/typed/monitoring/v1/probe.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/typed/monitoring/v1/prometheus.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/typed/monitoring/v1/prometheusrule.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/typed/monitoring/v1/servicemonitor.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/typed/monitoring/v1/thanosruler.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/oauth2/clientcredentials/clientcredentials.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/oauth2/internal/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/oauth2/internal/oauth2.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/oauth2/internal/token.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/oauth2/internal/transport.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/oauth2/oauth2.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/oauth2/pkce.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/oauth2/token.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/oauth2/transport.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/time/rate/rate.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/time/rate/sometimes.go is excluded by !**/vendor/**, !vendor/**
  • vendor/google.golang.org/protobuf/encoding/protowire/wire.go is excluded by !**/vendor/**, !vendor/**
  • vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb is excluded by !**/vendor/**, !vendor/**
  • vendor/google.golang.org/protobuf/internal/editionssupport/editions.go is excluded by !**/vendor/**, !vendor/**
📒 Files selected for processing (2)
  • go.mod
  • test/cvo/accept_risks.go

@neisw
Copy link
Contributor

neisw commented Mar 9, 2026

/payload-job periodic-ci-openshift-release-main-ci-4.22-e2e-aws-ovn-techpreview-serial-1of3

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 9, 2026

@neisw: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-ci-4.22-e2e-aws-ovn-techpreview-serial-1of3

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/1b6e91b0-1bf3-11f1-8ba2-c237e3ec5974-0

@neisw
Copy link
Contributor

neisw commented Mar 9, 2026

We also saw 4.22-e2e-aws-ovn-techpreview-serial-1of3 fail due to [Jira:"Cluster Version Operator"] cluster-version-operator should work with accept risks around the time the pr being unreverted was in. There was another issue as well and it may not be related but want to validate here too.

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Mar 9, 2026

@hongkailiu: This pull request references TRT-2569 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the bug to target the "4.22.0" version, but no target version was set.

Details

In response to this:

The 1st commit reverts #1339

The 2nd commit includes the fix.

Take a failing job [1],

$ curl -s https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/logs/periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks/2030738474943909888/artifacts/e2e-aks/hypershift-azure-run-e2e/artifacts/TestCreateCluster/namespaces/e2e-clusters-v6hh4-create-cluster-pcmgf/core/pods/logs/cluster-version-operator-7d8d59977-vrrvw-bootstrap.log | tail -n 6
 rolebinding.rbac.authorization.k8s.io/prometheus-k8s unchanged
 error: resource mapping not found for name: "cluster-version-operator-accept-risks" namespace: "openshift-cluster-version" from "/var/payload/manifests/0000_90_cluster-version-operator_02_prometheusrule-TechPreviewNoUpgrade.yaml": no matches for kind "PrometheusRule" in version "monitoring.coreos.com/v1"
 ensure CRDs are installed first
...

So we apply the manifest too early.

How come the existing manifest
0000_90_cluster-version-operator_02_servicemonitor.yaml
has no such an issue? It contains PrometheusRules as well [2].

The answer is here:

$ curl -s https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/logs/periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks/2030738474943909888/artifacts/e2e-aks/hypershift-azure-run-e2e/artifacts/TestCreateCluster/namespaces/e2e-clusters-v6hh4-create-cluster-pcmgf/core/pods/cluster-version-operator-7d8d59977-vrrvw.yaml | yq -r '.spec.initContainers[]|select(.name=="prepare-payload").args[1]'
 cp -R /manifests /var/payload/
 rm -f /var/payload/manifests/*_deployment.yaml
 rm -f /var/payload/manifests/*_servicemonitor.yaml
 cp -R /release-manifests /var/payload/
 rm -f /var/payload/manifests/*-Default*.yaml
 rm -f /var/payload/manifests/*-CustomNoUpgrade*.yaml
 rm -f /var/payload/manifests/*-DevPreviewNoUpgrade*.yaml
 rm -f /var/payload/manifests/*-OKD*.yaml
 rm -f /var/payload/release-manifests/0000_50_olm_00-pprof-config.yaml
...

From the above command:

  • The FeatureSet on the cluster is TechPreviewNoUpgrade. Otherwise, we
    would have rm -f /var/payload/manifests/*-TechPreviewNoUpgrade*.yaml [3].
  • If the manifest has the suffix _servicemonitor.yaml in the filename,
    it would be removed too. As a result, the relevant PrometheusRule won't
    exist on the created HCP regardless of FeatureSet. It should not be a problem
    just like the existing one.

The annotations include.release.openshift.io/self-managed-high-availability: "true"
and release.openshift.io/feature-gate: "ClusterUpdateAcceptRisks" ensure
that it is installed on Standalone clusters only when
FeatureGate/ClusterUpdateAcceptRisks is enabled.

[1]. https://prow.ci.openshift.org/view/gs/test-platform-results/logs/periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks/2030738474943909888

[2].

[3]. https://github.com/openshift/hypershift/blob/23fc7eb379fa973ddd1fefd6cc9b4613ec4dc976/control-plane-operator/controllers/hostedcontrolplane/v2/cvo/deployment.go#L205-L241

Summary by CodeRabbit

  • New Features

  • Adds cluster update risk visibility: a Prometheus alert rule and metrics that surface conditional update risks and reasons.

  • Tests

  • Adds tests and test registration validating installation of the alert rule and collection/emission of conditional update risk metrics.

  • Chores

  • Bumps several tooling and dependency versions.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@hongkailiu
Copy link
Member Author

/payload-job periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 9, 2026

@hongkailiu: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/573abd30-1bf9-11f1-9b73-61ed8e9c8066-0

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.openshift-tests-extension/openshift_payload_cluster-version-operator.json:
- Around line 14-23: The registration currently has an empty environmentSelector
which lets the blocking test run in all lanes; update the payload entry so
environmentSelector gates this test to the accept-risks/self-managed surface
only (i.e., restrict the "cluster-version-operator should install prometheus
rules correctly" payload by populating environmentSelector to match the
accept-risks/self-managed job labels), ensuring the PrometheusRule is only
expected in those environments.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: c458d6d0-6e9a-4a06-8dac-0277df5d1ac0

📥 Commits

Reviewing files that changed from the base of the PR and between d27d9cd and 6f3eddd.

📒 Files selected for processing (1)
  • .openshift-tests-extension/openshift_payload_cluster-version-operator.json

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Mar 9, 2026

@hongkailiu: This pull request references TRT-2569 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the bug to target the "4.22.0" version, but no target version was set.

Details

In response to this:

The 1st commit reverts #1339

The 2nd commit includes the fix.

Take a failing job [1],

$ curl -s https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/logs/periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks/2030738474943909888/artifacts/e2e-aks/hypershift-azure-run-e2e/artifacts/TestCreateCluster/namespaces/e2e-clusters-v6hh4-create-cluster-pcmgf/core/pods/logs/cluster-version-operator-7d8d59977-vrrvw-bootstrap.log | tail -n 6
 rolebinding.rbac.authorization.k8s.io/prometheus-k8s unchanged
 error: resource mapping not found for name: "cluster-version-operator-accept-risks" namespace: "openshift-cluster-version" from "/var/payload/manifests/0000_90_cluster-version-operator_02_prometheusrule-TechPreviewNoUpgrade.yaml": no matches for kind "PrometheusRule" in version "monitoring.coreos.com/v1"
 ensure CRDs are installed first
...

So we apply the manifest too early.

How come the existing manifest
0000_90_cluster-version-operator_02_servicemonitor.yaml
has no such an issue? It contains PrometheusRules as well [2].

The answer is here:

$ curl -s https://gcsweb-ci.apps.ci.l2s4.p1.openshiftapps.com/gcs/test-platform-results/logs/periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks/2030738474943909888/artifacts/e2e-aks/hypershift-azure-run-e2e/artifacts/TestCreateCluster/namespaces/e2e-clusters-v6hh4-create-cluster-pcmgf/core/pods/cluster-version-operator-7d8d59977-vrrvw.yaml | yq -r '.spec.initContainers[]|select(.name=="prepare-payload").args[1]'
 cp -R /manifests /var/payload/
 rm -f /var/payload/manifests/*_deployment.yaml
 rm -f /var/payload/manifests/*_servicemonitor.yaml
 cp -R /release-manifests /var/payload/
 rm -f /var/payload/manifests/*-Default*.yaml
 rm -f /var/payload/manifests/*-CustomNoUpgrade*.yaml
 rm -f /var/payload/manifests/*-DevPreviewNoUpgrade*.yaml
 rm -f /var/payload/manifests/*-OKD*.yaml
 rm -f /var/payload/release-manifests/0000_50_olm_00-pprof-config.yaml
...

From the above command:

  • The FeatureSet on the cluster is TechPreviewNoUpgrade. Otherwise, we
    would have rm -f /var/payload/manifests/*-TechPreviewNoUpgrade*.yaml [3].
  • If the manifest has the suffix _servicemonitor.yaml in the filename,
    it would be removed too. As a result, the relevant PrometheusRule won't
    exist on the created HCP regardless of FeatureSet. It should not be a problem
    just like the existing one.

The annotations include.release.openshift.io/self-managed-high-availability: "true"
and release.openshift.io/feature-gate: "ClusterUpdateAcceptRisks" ensure
that it is installed on Standalone clusters only when
FeatureGate/ClusterUpdateAcceptRisks is enabled.

[1]. https://prow.ci.openshift.org/view/gs/test-platform-results/logs/periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks/2030738474943909888

[2].

[3]. https://github.com/openshift/hypershift/blob/23fc7eb379fa973ddd1fefd6cc9b4613ec4dc976/control-plane-operator/controllers/hostedcontrolplane/v2/cvo/deployment.go#L205-L241

Summary by CodeRabbit

  • New Features

  • Adds visibility for cluster update risks: a Prometheus alert and emitted metrics that report conditional update risk statuses and reasons.

  • Tests

  • Adds tests and test registration to verify the alert rule is installed and conditional update risk metrics are collected and exposed.

  • Chores

  • Updates multiple dependency and tooling versions.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@hongkailiu
Copy link
Member Author

/payload-job periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 9, 2026

@hongkailiu: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/9386e060-1bfa-11f1-816a-22e57d4602d2-0

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (1)
.openshift-tests-extension/openshift_payload_cluster-version-operator.json (1)

14-23: ⚠️ Potential issue | 🟠 Major

Scope this blocking payload entry to the same surface as the spec.

environmentSelector is still empty here, but the spec itself only applies on self-managed TechPreviewNoUpgrade clusters and skips Hypershift/MicroShift. Registering this as blocking for every environment keeps the payload metadata broader than the feature/topology where the rule is actually expected.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.openshift-tests-extension/openshift_payload_cluster-version-operator.json
around lines 14 - 23, Update the blocking payload entry named "[Jira:\"Cluster
Version Operator\"] cluster-version-operator should install prometheus rules
correctly" to scope its environmentSelector to the same surface as the spec:
restrict to self-managed clusters with the TechPreviewNoUpgrade feature flag
enabled and explicitly exclude Hypershift and MicroShift environments; modify
the environmentSelector object (the environmentSelector field in this JSON
entry) to include selectors/labels or conditions that match self-managed +
TechPreviewNoUpgrade and add exclusions for Hypershift and MicroShift so the
payload is only blocking in the intended environments.
🧹 Nitpick comments (1)
test/cvo/accept_risks.go (1)

150-155: Wait for the PrometheusRule instead of checking once.

This assertion targets an asynchronously reconciled object, so a single Get() can still fail transiently on a freshly converging TechPreview cluster and turn into a timing-based flake. Reuse the same bounded polling pattern used earlier in this spec and only fail after timeout.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@test/cvo/accept_risks.go` around lines 150 - 155, The test currently does a
single Get on monitoringClient.PrometheusRules(...).Get which can flake; replace
that single Get with the same bounded polling pattern used earlier in this spec
(e.g., repeated Get attempts with a short interval and overall timeout) to wait
for the PrometheusRule named "cluster-version-operator-accept-risks" in
external.DefaultCVONamespace to appear, using the existing ctx,
monitoringClient.PrometheusRules, and metav1.GetOptions{}; only call
o.Expect(err).NotTo(o.HaveOccurred()) after the polling completes or times out
so the test fails only after the bounded wait.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In @.openshift-tests-extension/openshift_payload_cluster-version-operator.json:
- Around line 14-23: Update the blocking payload entry named "[Jira:\"Cluster
Version Operator\"] cluster-version-operator should install prometheus rules
correctly" to scope its environmentSelector to the same surface as the spec:
restrict to self-managed clusters with the TechPreviewNoUpgrade feature flag
enabled and explicitly exclude Hypershift and MicroShift environments; modify
the environmentSelector object (the environmentSelector field in this JSON
entry) to include selectors/labels or conditions that match self-managed +
TechPreviewNoUpgrade and add exclusions for Hypershift and MicroShift so the
payload is only blocking in the intended environments.

---

Nitpick comments:
In `@test/cvo/accept_risks.go`:
- Around line 150-155: The test currently does a single Get on
monitoringClient.PrometheusRules(...).Get which can flake; replace that single
Get with the same bounded polling pattern used earlier in this spec (e.g.,
repeated Get attempts with a short interval and overall timeout) to wait for the
PrometheusRule named "cluster-version-operator-accept-risks" in
external.DefaultCVONamespace to appear, using the existing ctx,
monitoringClient.PrometheusRules, and metav1.GetOptions{}; only call
o.Expect(err).NotTo(o.HaveOccurred()) after the polling completes or times out
so the test fails only after the bounded wait.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: fdd96904-d48a-4e88-8cf6-9912ee2ad08a

📥 Commits

Reviewing files that changed from the base of the PR and between 6f3eddd and e5d632c.

⛔ Files ignored due to path filters (294)
  • go.sum is excluded by !**/*.sum
  • vendor/github.com/emicklei/go-restful/v3/.travis.yml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/emicklei/go-restful/v3/CHANGES.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/emicklei/go-restful/v3/README.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/emicklei/go-restful/v3/curly.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/emicklei/go-restful/v3/custom_verb.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/emicklei/go-restful/v3/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-logr/logr/.golangci.yaml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-logr/logr/funcr/funcr.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/.golangci.yml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/README.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/errors.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonpointer/pointer.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonreference/.golangci.yml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonreference/README.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/jsonreference/reference.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/.codecov.yml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/.golangci.yml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/.mockery.yml is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/README.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/TODO.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/cmdutils/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/cmdutils/cmd_utils.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/cmdutils/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/cmdutils_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/conv/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/conv/convert.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/conv/convert_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/conv/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/conv/format.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/conv/sizeof.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/conv/type_constraints.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/conv_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/convert.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/convert_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/fileutils/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/fileutils/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/fileutils/file.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/fileutils/path.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/fileutils_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/go.work is excluded by !**/*.work, !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/go.work.sum is excluded by !**/*.sum, !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/initialism_index.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/json.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonname/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonname/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonname/name_provider.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonname_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/README.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/ifaces.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/ifaces/registry_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/registry.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/adapter.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/lexer.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/ordered_map.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/pool.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/adapters/stdlib/json/writer.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/concat.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/json.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils/ordered_map.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/jsonutils_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/loading/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/loading/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/loading/errors.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/loading/json.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/loading/loading.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/loading/options.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/loading/yaml.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/loading_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling/BENCHMARK.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling/initialism_index.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling/name_lexem.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling/name_mangler.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling/options.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling/pools.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling/split.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling/string_bytes.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling/util.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/mangling_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/name_lexem.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/netutils/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/netutils/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/netutils/net.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/netutils_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/string_bytes.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/stringutils/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/stringutils/collection_formats.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/stringutils/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/stringutils/strings.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/stringutils_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/typeutils/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/typeutils/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/typeutils/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/typeutils_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/util.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/yaml.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/yamlutils/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/yamlutils/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/yamlutils/errors.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/yamlutils/ordered_map.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/yamlutils/yaml.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/go-openapi/swag/yamlutils_iface.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/josharian/intern/README.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/josharian/intern/intern.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/josharian/intern/license.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mailru/easyjson/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mailru/easyjson/buffer/pool.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mailru/easyjson/jlexer/bytestostr.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mailru/easyjson/jlexer/bytestostr_nounsafe.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mailru/easyjson/jlexer/error.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mailru/easyjson/jlexer/lexer.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/mailru/easyjson/jwriter/writer.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/CHANGELOG.md is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/gomega_dsl.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/be_empty_matcher.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/consist_of.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/contain_element_matcher.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/contain_elements_matcher.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/have_each_matcher.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/have_exact_elements.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/have_field.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/have_key_matcher.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/have_key_with_value_matcher.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/have_len_matcher.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/internal/miter/type_support_iter.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/internal/miter/type_support_noiter.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/onsi/gomega/matchers/type_support.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/resource.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/alertmanager_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/dns_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/http_config.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/podmonitor_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/probe_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/prometheus_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/prometheusrule_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/servicemonitor_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/thanos_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1alpha1/alertmanager_config_conversion.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1alpha1/alertmanager_config_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1alpha1/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1alpha1/prometheusagent_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1alpha1/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1alpha1/scrapeconfig_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1alpha1/validation.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1alpha1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1beta1/alertmanager_config_types.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1beta1/conversion_from.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1beta1/conversion_to.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1beta1/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1beta1/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1beta1/validation.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/apis/monitoring/v1beta1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !vendor/**, !**/zz_generated*
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/LICENSE is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/alertingspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/alertmanager.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/alertmanagerconfigmatcherstrategy.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/alertmanagerconfiguration.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/alertmanagerendpoints.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/alertmanagerglobalconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/alertmanagerlimitsspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/alertmanagerspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/alertmanagerstatus.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/alertmanagerwebspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/apiserverconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/arbitraryfsaccessthroughsmsconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/argument.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/attachmetadata.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/authorization.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/azuread.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/azureoauth.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/azuresdk.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/basicauth.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/clustertlsconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/commonprometheusfields.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/condition.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/configresourcecondition.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/configresourcestatus.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/corev1topologyspreadconstraint.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/embeddedobjectmetadata.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/embeddedpersistentvolumeclaim.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/endpoint.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/exemplars.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/globaljiraconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/globalrocketchatconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/globalsmtpconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/globaltelegramconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/globalvictoropsconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/globalwebexconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/globalwechatconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/hostalias.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/hostport.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/httpconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/managedidentity.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/metadataconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/namespaceselector.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/nativehistogramconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/oauth2.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/objectreference.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/otlpconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/poddnsconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/poddnsconfigoption.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/podmetricsendpoint.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/podmonitor.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/podmonitorspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/probe.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/probeparam.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/proberspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/probespec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/probetargetingress.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/probetargets.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/probetargetstaticconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/prometheus.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/prometheusrule.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/prometheusruleexcludeconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/prometheusrulespec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/prometheusspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/prometheusstatus.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/prometheustracingconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/prometheuswebspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/proxyconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/queryspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/queueconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/relabelconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/remotereadspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/remotewritespec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/retainconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/rule.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/rulegroup.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/rules.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/rulesalert.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/runtimeconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/safeauthorization.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/safetlsconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/scrapeclass.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/secretorconfigmap.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/servicemonitor.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/servicemonitorspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/shardretentionpolicy.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/shardstatus.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/sigv4.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/storagespec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/thanosruler.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/thanosrulerspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/thanosrulerstatus.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/thanosrulerwebspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/thanosspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/tlsconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/topologyspreadconstraint.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/tsdbspec.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/webconfigfilefields.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/webhttpconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/webhttpheaders.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/webtlsconfig.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/applyconfiguration/monitoring/v1/workloadbinding.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/scheme/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/scheme/register.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/typed/monitoring/v1/alertmanager.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/typed/monitoring/v1/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/typed/monitoring/v1/generated_expansion.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/typed/monitoring/v1/monitoring_client.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/typed/monitoring/v1/podmonitor.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/typed/monitoring/v1/probe.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/typed/monitoring/v1/prometheus.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/typed/monitoring/v1/prometheusrule.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/typed/monitoring/v1/servicemonitor.go is excluded by !**/vendor/**, !vendor/**
  • vendor/github.com/prometheus-operator/prometheus-operator/pkg/client/versioned/typed/monitoring/v1/thanosruler.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/oauth2/clientcredentials/clientcredentials.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/oauth2/internal/doc.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/oauth2/internal/oauth2.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/oauth2/internal/token.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/oauth2/internal/transport.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/oauth2/oauth2.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/oauth2/pkce.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/oauth2/token.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/oauth2/transport.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/time/rate/rate.go is excluded by !**/vendor/**, !vendor/**
  • vendor/golang.org/x/time/rate/sometimes.go is excluded by !**/vendor/**, !vendor/**
  • vendor/google.golang.org/protobuf/encoding/protowire/wire.go is excluded by !**/vendor/**, !vendor/**
  • vendor/google.golang.org/protobuf/internal/editiondefaults/editions_defaults.binpb is excluded by !**/vendor/**, !vendor/**
📒 Files selected for processing (3)
  • .openshift-tests-extension/openshift_payload_cluster-version-operator.json
  • go.mod
  • test/cvo/accept_risks.go

@hongkailiu
Copy link
Member Author

hongkailiu commented Mar 9, 2026

launch 4.22,openshift/cluster-version-operator#1342 aws,single-node

Get the job.

$ oc get prometheusrule -n openshift-cluster-version
NAME                       AGE
cluster-version-operator   37m

The one for accept risk is not installed as TechPreview is not enabled.

@hongkailiu
Copy link
Member Author

The two failing jobs failed on cluster installation.

/retest

@hongkailiu
Copy link
Member Author

/payload-aggregate periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks 10

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 9, 2026

@hongkailiu: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/c6688580-1c0c-11f1-8291-f56900b0c4be-0

@hongkailiu
Copy link
Member Author

The failures from this seems not relevant to this pull.
Let us retry anyway.

/payload-aggregate periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks 10

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 10, 2026

@hongkailiu: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/733cd7a0-1c73-11f1-971f-7dd05c9d3ddb-0

@hongkailiu
Copy link
Member Author

The following triggers this job.

launch 4.22,openshift/cluster-version-operator#1342 aws,techpreview

and

$ oc get prometheusrule -n openshift-cluster-version
NAME                                    AGE
cluster-version-operator                82m
cluster-version-operator-accept-risks   82m

The Prometheus rule is there when TP is enabled.


Run the new test case against the same cluster:

$ git --no-pager log --pretty=oneline -1
e5d632cb929d6b65ac77a199257b6c6bcf9873b7 (HEAD -> TRT-2569, hongkailiu/TRT-2569) make update

$ _output/darwin/arm64/cluster-version-operator-tests run-test "[Jira:\"Cluster Version Operator\"] cluster-version-operator should install prometheus rules correctly"
  Running Suite:  - /Users/hongkliu/repo/openshift/cluster-version-operator
  =========================================================================
  Random Seed: 1773148721 - will randomize all specs

  Will run 1 of 1 specs
  ------------------------------
  [Jira:"Cluster Version Operator"] cluster-version-operator should install prometheus rules correctly
  /Users/hongkliu/repo/openshift/cluster-version-operator/test/cvo/accept_risks.go:150
  "level"=0 "msg"="microshift-version configmap not found"
  • [0.288 seconds]
  ------------------------------

  Ran 1 of 1 Specs in 0.289 seconds
  SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped
[
  {
    "name": "[Jira:\"Cluster Version Operator\"] cluster-version-operator should install prometheus rules correctly",
    "lifecycle": "blocking",
    "duration": 289,
    "startTime": "2026-03-10 13:18:41.696422 UTC",
    "endTime": "2026-03-10 13:18:41.985550 UTC",
    "result": "passed",
    "output": ""
  }
]

This case is not included at the moment in CVO CI because we have only TP only for serial test and this case does not look like a serial case to me.
I do not feel this case alone worth a new CI job. But one day if we want, this case will be a part of it.
So I want to keep this new case in the code base.

@hongkailiu
Copy link
Member Author

I noticed this job is successful and the change after it is minimal.
Let run it with the latest commit again. Since we are waiting for other testing anyway,

/payload-job periodic-ci-openshift-release-main-ci-4.22-e2e-aws-ovn-techpreview-serial-1of3

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 10, 2026

@hongkailiu: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-ci-4.22-e2e-aws-ovn-techpreview-serial-1of3

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/e65c1050-1c84-11f1-9dba-083441db14ff-0

@hongkailiu hongkailiu changed the title TRT-2569: hypershift-e2e-aks and hypershift-e2e-aws failing with CVO bootstrap deadlock in ci amd64 payload TRT-2569: (fix) hypershift-e2e-aks and hypershift-e2e-aws failing with CVO bootstrap deadlock in ci amd64 payload Mar 10, 2026
@hongkailiu
Copy link
Member Author

/payload-job periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 10, 2026

@hongkailiu: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/f7ab00b0-1cba-11f1-9f85-cde1bda01c6f-0

Copy link
Member

@wking wking left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Mar 10, 2026
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 10, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: hongkailiu, wking

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@hongkailiu
Copy link
Member Author

It is very hard to make it run.
Retrying ...

/payload-job periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 11, 2026

@hongkailiu: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/280fe400-1ce3-11f1-8c4d-2a3f71a2b17d-0

@wking
Copy link
Member

wking commented Mar 11, 2026

Most recent attempt passed

/verified by periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Mar 11, 2026
@openshift-ci-robot
Copy link
Contributor

@wking: This PR has been marked as verified by periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks.

Details

In response to this:

Most recent attempt passed

/verified by periodic-ci-openshift-hypershift-release-4.22-periodics-e2e-aks

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@wking
Copy link
Member

wking commented Mar 11, 2026

don't wait for retests, when the rehearsal we wanted already passed:

/override ci/prow/e2e-agnostic-operator
/override ci/prow/e2e-agnostic-ovn
/override ci/prow/e2e-agnostic-ovn-techpreview-serial-1of3
/override ci/prow/e2e-agnostic-ovn-techpreview-serial-2of3
/override ci/prow/e2e-agnostic-ovn-techpreview-serial-3of3
/override ci/prow/e2e-agnostic-ovn-upgrade-into-change
/override ci/prow/e2e-agnostic-ovn-upgrade-out-of-change
/override ci/prow/e2e-aws-ovn-techpreview
/override ci/prow/e2e-hypershift
/override ci/prow/e2e-hypershift-conformance

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 11, 2026

@wking: Overrode contexts on behalf of wking: ci/prow/e2e-agnostic-operator, ci/prow/e2e-agnostic-ovn, ci/prow/e2e-agnostic-ovn-techpreview-serial-1of3, ci/prow/e2e-agnostic-ovn-techpreview-serial-2of3, ci/prow/e2e-agnostic-ovn-techpreview-serial-3of3, ci/prow/e2e-agnostic-ovn-upgrade-into-change, ci/prow/e2e-agnostic-ovn-upgrade-out-of-change, ci/prow/e2e-aws-ovn-techpreview, ci/prow/e2e-hypershift, ci/prow/e2e-hypershift-conformance

Details

In response to this:

don't wait for retests, when the rehearsal we wanted already passed:

/override ci/prow/e2e-agnostic-operator
/override ci/prow/e2e-agnostic-ovn
/override ci/prow/e2e-agnostic-ovn-techpreview-serial-1of3
/override ci/prow/e2e-agnostic-ovn-techpreview-serial-2of3
/override ci/prow/e2e-agnostic-ovn-techpreview-serial-3of3
/override ci/prow/e2e-agnostic-ovn-upgrade-into-change
/override ci/prow/e2e-agnostic-ovn-upgrade-out-of-change
/override ci/prow/e2e-aws-ovn-techpreview
/override ci/prow/e2e-hypershift
/override ci/prow/e2e-hypershift-conformance

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@openshift-merge-bot openshift-merge-bot bot merged commit 58f3d5e into openshift:main Mar 11, 2026
20 checks passed
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Mar 11, 2026

@hongkailiu: all tests passed!

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants