Skip to content

OSASINFRA-4359: Bump CAPO in openshift/installer - #10726

Open
dlaw4608 wants to merge 2 commits into
openshift:mainfrom
shiftstack:bump_capo_minor
Open

OSASINFRA-4359: Bump CAPO in openshift/installer#10726
dlaw4608 wants to merge 2 commits into
openshift:mainfrom
shiftstack:bump_capo_minor

Conversation

@dlaw4608

@dlaw4608 dlaw4608 commented Jul 28, 2026

Copy link
Copy Markdown

Achieved by bumping the library itself:

  pushd cluster-api/providers/openstack
  go get -u sigs.k8s.io/cluster-api-provider-openstack@v0.14.6
  go mod tidy
  go mod vendor
  popd

Followed by the assets:

./hack/verify-capi-manifests.sh cluster-api/providers/openstack

This aligns the CAPO controller binary sub-module with the main installer go.mod,
which was bumped to v0.14.6 as a transitive dependency in PR #10713.

Summary by CodeRabbit

  • New Features
    • Added support for selecting Secret or ClusterIdentity credentials in OpenStack identity references.
    • Expanded infrastructure status information, including conditions, initialization state, capacity, and node details.
    • Added feature-gate configuration for priority queueing and autoscaling from zero.
  • Improvements
    • Updated the OpenStack infrastructure controller to version 0.14.6.
    • Deprecated legacy readiness and failure status fields in favor of status conditions.
    • Improved controller permissions and relaxed control-plane endpoint validation.

dlaw4608 added 2 commits July 28, 2026 17:06
Signed-off-by: Daniel Lawton <dlawton@redhat.com>
Signed-off-by: Daniel Lawton <dlawton@redhat.com>
@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: LGTM mode

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jul 28, 2026
@openshift-ci-robot

openshift-ci-robot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

@dlaw4608: This pull request references OSASINFRA-4359 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 task to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Achieved by bumping the library itself:

 pushd cluster-api/providers/openstack
 go get -u sigs.k8s.io/cluster-api-provider-openstack@v0.14.6
 go mod tidy
 go mod vendor
 popd

Followed by the assets:

./hack/verify-capi-manifests.sh cluster-api/providers/openstack

This aligns the CAPO controller binary sub-module with the main installer go.mod,
which was bumped to v0.14.6 as a transitive dependency in PR #10713.

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.

@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

The OpenStack provider is upgraded to v0.14.6. Generated CRD schemas, status fields, controller RBAC permissions, deployment image configuration, and feature-gate arguments are updated accordingly.

Changes

OpenStack provider upgrade

Layer / File(s) Summary
Provider dependency refresh
cluster-api/providers/openstack/go.mod
The provider dependency and broad indirect Go module set are upgraded, while github.com/docker/go-units is removed.
CRD identity and endpoint contracts
data/data/cluster-api/openstack-infrastructure-components.yaml
Identity references gain a required type supporting Secret and ClusterIdentity; control plane endpoint host and port are no longer explicitly required.
CRD status schemas
data/data/cluster-api/openstack-infrastructure-components.yaml
Cluster and machine status schemas add or revise conditions, initialization, capacity, and node information, while legacy readiness and failure fields are deprecated.
Controller RBAC and deployment wiring
data/data/cluster-api/openstack-infrastructure-components.yaml
RBAC rules cover additional OpenStack resources and status subresources; the controller image advances to v0.14.6 and receives priority-queue and autoscaling feature gates.

Estimated code review effort: 4 (Complex) | ~45 minutes


Important

Pre-merge checks failed

Please resolve all errors before merging. Addressing warnings is optional.

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Ote Binary Stdout Contract ❓ Inconclusive placeholder Need evidence from repo diff before deciding.
✅ Passed checks (14 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: bumping CAPO in openshift/installer.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed The PR only changes go.mod and generated OpenStack manifests; no Ginkgo test titles were added or modified, so no unstable names are present.
Test Structure And Quality ✅ Passed No Ginkgo test code changed; diff is dependency/vendor and manifest updates only, with no *_test.go or Eventually/It blocks in non-vendor files.
Microshift Test Compatibility ✅ Passed No new Ginkgo test files or test bodies were added; the commit only updates CAPO manifests and no MicroShift-sensitive test APIs appear in the diff.
Single Node Openshift (Sno) Test Compatibility ✅ Passed Only the OpenStack manifest YAML changed; no new Ginkgo tests or SNO-sensitive test logic were added.
Topology-Aware Scheduling Compatibility ✅ Passed Only the controller image/feature-gates changed; no new nodeSelector, affinity, topology spread, PDB, or replica constraints were added, and tolerations were pre-existing.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo e2e test code was added; the PR only updates vendored manifests/go.mod, so the IPv6/disconnected test check is not applicable.
No-Weak-Crypto ✅ Passed No weak-crypto APIs or custom crypto appear in the PR diff; the changed files are manifest/go.mod updates only.
Container-Privileges ✅ Passed The updated CAPO manifest keeps the controller non-root with allowPrivilegeEscalation:false, privileged:false, dropped caps, and no hostNetwork/PID/IPC.
No-Sensitive-Data-In-Logs ✅ Passed Diff only updates manifests/image/feature-gates and CRD schemas; no new log statements or secret/PII-bearing output paths were added.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 golangci-lint (2.12.2)

Error: can't load config: unsupported version of the configuration: "" See https://golangci-lint.run/docs/product/migration-guide for migration instructions
The command is terminated due to an error: can't load config: unsupported version of the configuration: "" See https://golangci-lint.run/docs/product/migration-guide for migration instructions


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@cluster-api/providers/openstack/go.mod`:
- Around line 92-95: Update the google.golang.org/grpc dependency in go.mod to
v1.82.1 or newer, then run go mod tidy and go mod vendor to synchronize
dependency metadata and vendored sources. If retaining v1.79.3, document a clear
justification that the affected xDS server path cannot be enabled.

In `@data/data/cluster-api/openstack-infrastructure-components.yaml`:
- Around line 9148-9151: Update the embedded CAPO controller manifest’s
`--feature-gates` argument to remove the `${EXP_CAPO_PRIORITY_QUEUE:=...}` and
`${EXP_CAPO_AUTOSCALE_FROM_ZERO:=...}` placeholders, replacing them with
explicit boolean defaults so `data.Unpack()` starts `/manager` with valid flag
values.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Pro Plus

Run ID: daa79307-9484-48ed-afeb-ced04fa0851d

📥 Commits

Reviewing files that changed from the base of the PR and between 9610b67 and 3839845.

⛔ Files ignored due to path filters (409)
  • cluster-api/providers/openstack/go.sum is excluded by !**/*.sum
  • cluster-api/providers/openstack/vendor/github.com/gophercloud/gophercloud/v2/CHANGELOG.md is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/gophercloud/gophercloud/v2/openstack/compute/v2/servers/requests.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/gophercloud/gophercloud/v2/openstack/compute/v2/servers/results.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/gophercloud/gophercloud/v2/openstack/identity/v3/ec2tokens/requests.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/gophercloud/gophercloud/v2/openstack/image/v2/images/results.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/gophercloud/gophercloud/v2/openstack/image/v2/images/types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/gophercloud/gophercloud/v2/openstack/networking/v2/ports/requests.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/gophercloud/gophercloud/v2/provider_client.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/gophercloud/gophercloud/v2/util.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/hashicorp/go-version/CHANGELOG.md is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/hashicorp/go-version/LICENSE is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/hashicorp/go-version/README.md is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/hashicorp/go-version/constraint.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/hashicorp/go-version/version.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/hashicorp/go-version/version_collection.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/common_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/domain_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/group_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/keypair_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/project_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/role_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/server_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/service_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/volume_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !**/zz_generated*
  • cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/zz_generated.domain-resource.go is excluded by !**/vendor/**, !**/zz_generated*
  • cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/zz_generated.group-resource.go is excluded by !**/vendor/**, !**/zz_generated*
  • cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/zz_generated.keypair-resource.go is excluded by !**/vendor/**, !**/zz_generated*
  • cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/zz_generated.role-resource.go is excluded by !**/vendor/**, !**/zz_generated*
  • cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/zz_generated.service-resource.go is excluded by !**/vendor/**, !**/zz_generated*
  • cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/pkg/predicates/attachment.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/pkg/predicates/readiness.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/onsi/gomega/CHANGELOG.md is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/onsi/gomega/README.md is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/onsi/gomega/format/format.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/onsi/gomega/gomega_dsl.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/onsi/gomega/matchers.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/onsi/gomega/matchers/be_a_slice_matcher.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/onsi/gomega/matchers/be_an_array_matcher.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/onsi/gomega/matchers/have_key_matcher.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/onsi/gomega/matchers/have_key_with_value_matcher.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/onsi/gomega/matchers/match_error_strictly_matcher.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/onsi/gomega/matchers/support/goraph/edge/edge.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/github.com/onsi/gomega/types/types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/client.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/common.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/config.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/doc.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/handler.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/client.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/env.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/gen.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/httpconv.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/server.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/util.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/transport.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/version.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/.codespellignore is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/.golangci.yml is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/.lycheeignore is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/CHANGELOG.md is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/CONTRIBUTING.md is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/Makefile is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/README.md is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/RELEASING.md is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/VERSIONING.md is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/attribute/encoder.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/attribute/hash.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/attribute/internal/attribute.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/attribute/internal/xxhash/xxhash.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/attribute/set.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/attribute/type_string.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/attribute/value.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/baggage/baggage.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/dependencies.Dockerfile is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/span.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/client.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/counter/counter.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/gen.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/observ/doc.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/observ/instrumentation.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/observ/target.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/partialsuccess.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/retry/retry.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/version.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/x/README.md is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/x/observ.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/x/x.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/internal/errorhandler/errorhandler.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/internal/global/handler.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/internal/global/instruments.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/internal/global/meter.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/internal/global/state.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/metric.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/metric/asyncfloat64.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/metric/asyncint64.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/metric/config.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/metric/meter.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/metric/noop/noop.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/metric/syncfloat64.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/metric/syncint64.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/propagation/baggage.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/propagation/trace_context.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/internal/x/features.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/internal/x/x.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/builtin.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/container.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/env.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/host_id.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/host_id_bsd.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/host_id_linux.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/host_id_unsupported.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/host_id_windows.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/os.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/os_release_unix.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/os_unix.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/os_unsupported.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/process.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/doc.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/internal/env/env.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/batch_span_processor.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/doc.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/simple_span_processor.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/tracer.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/provider.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/sampling.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/simple_span_processor.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/span.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/span_limits.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/tracer.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/version.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/error_type.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/MIGRATION.md is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/README.md is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/attribute_group.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/doc.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/error_type.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/exception.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/httpconv/metric.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/otelconv/metric.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/schema.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/trace/auto.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/trace/config.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/trace/span.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/trace/tracestate.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/version.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/versions.yaml is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.uber.org/zap/.golangci.yml is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.uber.org/zap/CHANGELOG.md is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.uber.org/zap/CODE_OF_CONDUCT.md is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.uber.org/zap/LICENSE is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.uber.org/zap/Makefile is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.uber.org/zap/field.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.uber.org/zap/http_handler.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.uber.org/zap/logger.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.uber.org/zap/options.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.uber.org/zap/sink.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.uber.org/zap/zapcore/buffered_write_syncer.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.uber.org/zap/zapcore/console_encoder.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.uber.org/zap/zapcore/entry.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.uber.org/zap/zapcore/lazy_with.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/go.uber.org/zap/zapcore/level.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/net/http2/transport.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/net/http2/writesched_priority_rfc9218.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/net/trace/events.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/net/websocket/hybi.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sync/errgroup/errgroup.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/ioctl_signed.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/ioctl_unsigned.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/mkerrors.sh is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/syscall_solaris.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/syscall_unix.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_386.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/windows/syscall_windows.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/windows/types_windows.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/sys/windows/zsyscall_windows.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/term/terminal.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/cases/tables10.0.0.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/cases/tables11.0.0.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/cases/tables12.0.0.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/cases/tables15.0.0.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/cases/tables17.0.0.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/cases/tables9.0.0.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/encoding/japanese/eucjp.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/encoding/japanese/iso2022jp.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/encoding/japanese/shiftjis.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/encoding/korean/euckr.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/encoding/traditionalchinese/big5.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/encoding/unicode/unicode.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/message/catalog/catalog.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/message/catalog/dict.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/message/catalog/go19.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/message/catalog/gopre19.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/secure/bidirule/bidirule.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/bidi/tables17.0.0.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/norm/forminfo.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/norm/tables17.0.0.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/balancer/balancer.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/balancer/pickfirst/internal/internal.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/balancer/pickfirst/pickfirst.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf/pickfirstleaf.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/balancer/subconn.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/balancer_wrapper.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.go is excluded by !**/*.pb.go, !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/clientconn.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/credentials/credentials.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/credentials/tls.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/encoding/encoding.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/encoding/gzip/gzip.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/encoding/internal/internal.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/experimental/stats/metricregistry.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/experimental/stats/metrics.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/health/grpc_health_v1/health.pb.go is excluded by !**/*.pb.go, !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/health/grpc_health_v1/health_grpc.pb.go is excluded by !**/*.pb.go, !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/interceptor.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/balancer/gracefulswitch/gracefulswitch.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/balancer/weight/weight.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/envconfig/xds.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/experimental.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/idle/idle.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/internal.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/resolver/delegatingresolver/delegatingresolver.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/stats/metrics_recorder_list.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/stats/stats.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/transport/client_stream.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/transport/controlbuf.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/transport/flowcontrol.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/transport/handler_server.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/transport/http2_client.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/transport/http2_server.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/transport/http_util.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/transport/server_stream.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/transport/transport.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/mem/buffer_pool.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/mem/buffer_slice.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/mem/buffers.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/preloader.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/resolver/resolver.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/resolver_wrapper.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/rpc_util.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/server.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/stream.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/grpc/version.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/protobuf/internal/filedesc/desc.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/protobuf/internal/impl/codec_map.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/protobuf/internal/impl/decode.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/protobuf/internal/impl/validate.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/protobuf/internal/version/version.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/protobuf/proto/decode.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/protobuf/reflect/protodesc/desc.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/protobuf/reflect/protodesc/editions.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go is excluded by !**/*.pb.go, !**/vendor/**
  • cluster-api/providers/openstack/vendor/google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.go is excluded by !**/*.pb.go, !**/vendor/**
  • cluster-api/providers/openstack/vendor/k8s.io/client-go/tools/cache/controller.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/k8s.io/client-go/tools/cache/delta_fifo.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/k8s.io/client-go/tools/cache/reflector.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/k8s.io/client-go/tools/cache/reflector_data_consistency_detector.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/k8s.io/client-go/tools/cache/shared_informer.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/k8s.io/client-go/tools/cache/the_real_fifo.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/k8s.io/client-go/util/consistencydetector/data_consistency_detector.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/k8s.io/client-go/util/retry/OWNERS is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/k8s.io/client-go/util/retry/util.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/modules.txt is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/.golangci.yml is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/.govuln_exclude is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/.trivyignore is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/.yamllint.yaml is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/AGENTS.md is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/CONTRIBUTING.md is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/Dockerfile is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/Makefile is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/OWNERS is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/OWNERS_ALIASES is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/PROJECT is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/README.md is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/RELEASE.md is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/api/v1alpha1/openstackclusteridentity_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/api/v1alpha1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !**/zz_generated*
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/api/v1beta1/conditions_consts.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/api/v1beta1/identity_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/api/v1beta1/openstackcluster_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/api/v1beta1/openstackmachine_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/api/v1beta1/openstackmachinetemplate_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/api/v1beta1/types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/api/v1beta1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !**/zz_generated*
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/api_violations.report is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/cloudbuild-nightly.yaml is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/cloudbuild.yaml is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/controllers/openstackcluster_controller.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/controllers/openstackmachine_controller.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/controllers/openstackmachinetemplate_controller.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/controllers/openstackserver_controller.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/feature/feature.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/feature/gates.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/main.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/metadata.yaml is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/netlify.toml is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/clients/compute.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/clients/loadbalancer.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/clients/mock/compute.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/clients/mock/loadbalancer.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/cloud/services/compute/instance.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/cloud/services/compute/instance_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/cloud/services/loadbalancer/loadbalancer.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/cloud/services/networking/network.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/cloud/services/networking/securitygroups.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/scope/provider.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/utils/controllers/controllers.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/utils/errors/errors.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/utils/errors/terminal.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/utils/filterconvert/convert.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/bootstrap/kubeadm/v1beta2/kubeadm_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/controlplane/kubeadm/v1beta2/kubeadm_control_plane_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta1/cluster_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta1/conversion.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta1/machine_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta1/zz_generated.conversion.go is excluded by !**/vendor/**, !**/zz_generated*
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta1/zz_generated.openapi.go is excluded by !**/vendor/**, !**/zz_generated*
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta2/cluster_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta2/clusterclass_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta2/common_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta2/machine_phase_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta2/machine_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta2/machinehealthcheck_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta2/machineset_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta2/v1beta1_condition_consts.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta2/zz_generated.deepcopy.go is excluded by !**/vendor/**, !**/zz_generated*
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta2/zz_generated.openapi.go is excluded by !**/vendor/**, !**/zz_generated*
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1/common_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1/discovery_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1/doc.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1/groupversion_info.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1/inplaceupdate_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1/lifecyclehooks_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1/topologymutation_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1/topologymutation_variable_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1/upgrade_plan_types.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1/zz_generated.deepcopy.go is excluded by !**/vendor/**, !**/zz_generated*
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1/zz_generated.openapi.go is excluded by !**/vendor/**, !**/zz_generated*
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/controllers/crdmigrator/crd_migrator.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/exp/runtime/catalog/builder.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/exp/runtime/catalog/catalog.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/exp/runtime/catalog/doc.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/exp/runtime/catalog/openapi.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/feature/feature.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/internal/util/controller/builder.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/internal/util/controller/controller.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/internal/util/controller/controller_fake.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/internal/util/controller/metrics.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/util/cache/cache.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/util/cache/doc.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/util/collections/machine_filters.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/util/conditions/setter.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/util/conditions/sort.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/util/contract/contract.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/util/contract/doc.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/util/patch/patch.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/util/patch/utils.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/util/util.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/util/version/version.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/structured-merge-diff/v6/fieldpath/element.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/structured-merge-diff/v6/fieldpath/pathelementmap.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/structured-merge-diff/v6/fieldpath/set.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/structured-merge-diff/v6/schema/elements.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/structured-merge-diff/v6/typed/remove.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/structured-merge-diff/v6/value/allocator.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/structured-merge-diff/v6/value/jsontagutil.go is excluded by !**/vendor/**
  • cluster-api/providers/openstack/vendor/sigs.k8s.io/structured-merge-diff/v6/value/reflectcache.go is excluded by !**/vendor/**
📒 Files selected for processing (2)
  • cluster-api/providers/openstack/go.mod
  • data/data/cluster-api/openstack-infrastructure-components.yaml

Comment on lines +92 to +95
google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20260128011058-8636f8732409 // indirect
google.golang.org/grpc v1.79.3 // indirect
google.golang.org/protobuf v1.36.11 // indirect

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
gh api graphql -f query='
{
  securityVulnerabilities(first: 10, ecosystem: GO, package: "google.golang.org/grpc") {
    nodes {
      advisory { ghsaId summary severity publishedAt }
      vulnerableVersionRange
      firstPatchedVersion { identifier }
    }
  }
}'
curl -s "https://api.osv.dev/v1/query" -H 'Content-Type: application/json' \
  -d '{"package":{"name":"google.golang.org/grpc","ecosystem":"Go"},"version":"1.79.3"}' | jq '.vulns[]?.id'

Repository: openshift/installer

Length of output: 1796


Upgrade google.golang.org/grpc to v1.82.1+ or justify why v1.79.3 remains acceptable.

google.golang.org/grpc v1.79.3 is vulnerable to GHSA-hrxh-6v49-42gf / GO-2026-6061 (<1.82.1), a high-severity xDS RBAC and HTTP/2 issue. Patch the indirect dependency and run go mod tidy / go mod vendor unless the CAPO provider cannot enable the affected xDS server path.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@cluster-api/providers/openstack/go.mod` around lines 92 - 95, Update the
google.golang.org/grpc dependency in go.mod to v1.82.1 or newer, then run go mod
tidy and go mod vendor to synchronize dependency metadata and vendored sources.
If retaining v1.79.3, document a clear justification that the affected xDS
server path cannot be enabled.

Source: Linters/SAST tools

Comment on lines +9148 to +9151
- --feature-gates=PriorityQueue=${EXP_CAPO_PRIORITY_QUEUE:=false},AutoScaleFromZero=${EXP_CAPO_AUTOSCALE_FROM_ZERO:=false}
command:
- /manager
image: gcr.io/k8s-staging-capi-openstack/capi-openstack-controller:v0.13.0
image: gcr.io/k8s-staging-capi-openstack/capi-openstack-controller:v0.14.6

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Does the installer perform clusterctl-style variable substitution on embedded assets?
rg -nP --type=go -C5 'EXP_[A-Z_]+|\$\{[A-Z_]+:=' -g '!vendor/**' | head -60
# Any other embedded manifest already relying on ${VAR} substitution?
rg -n '\$\{[A-Z_]+' data/data/cluster-api/ | head -30
# Locate the code path that applies these assets
rg -nP --type=go -C5 'infrastructure-components|cluster-api/.*\.yaml' -g '!vendor/**' | head -40

Repository: openshift/installer

Length of output: 157


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Repository top-level:"
git ls-files | sed -n '1,80p'

echo
echo "Relevant files by likely names:"
git ls-files | rg -n '(^|/)(main\.go|lib|pkg|data/data/cluster-api/openstack-infrastructure-components\.yaml|Dockerfile|.*yaml-lint.*|go\.mod)$' | head -120 || true

echo
echo "All occurrences of EXP_CAPO and feature-gates around it:"
if rg -n 'EXP_CAPO|feature-gates|AutoScaleFromZero|PriorityQueue|capo|capi-openstack' $(pwd) --glob '!vendor/**' --glob '!dist/**' --glob '!build/**' 2>/dev/null | head -200; then :; fi

Repository: openshift/installer

Length of output: 40456


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Go files outside vendor/data that read/apply cluster-api assets:"
git ls-files | rg '(^|/)([^/]+\.go|Makefile|README\.md|.*\.yaml)$' | rg '^(cmd|pkg|data)/|^(hack|cluster-api)/' | rg -v '^vendor/' | xargs rg -n -C 4 'cluster-api/openstack-infrastructure-components|infrastructure-components|OpenStackInfrastructure|capo-system|Apply\(.*YAML|Apply|clusterctl|substitut' 2>/dev/null | head -220 || true

echo
echo "Top-level data/data cluster-api files:"
git ls-files data/data/cluster-api | sed -n '1,120p'

echo
echo "Code handling data/data assets / embedded manifests:"
rg -n 'data/data|manifests|embed|Asset|infrastructure|clusterctl|substitut|cluster-api' cmd pkg registry manifest build hack Makefile Dockerfile 2>/dev/null | head -220 || true

echo
echo "Openstack clusterapi path outline/files:"
git ls-files pkg/asset pkg/clusterapi pkg/infrastructure/openstack | sort | sed -n '1,160p' && \
sed -n '1,220p' pkg/asset/manifests/openstack/cluster.go

Repository: openshift/installer

Length of output: 50375


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Non-vendor references to CAPO/OpenStack cluster-api manifests and asset loading:"
rg -n -C 4 'openstack-infrastructure-components|OpenStackInfrastructureComponents|OpenStack.*ClusterAPI|capo-system|OpenStackInfrastructure|data\.Assets\.Open|cmd/.*data|Asset.*YAML' cmd pkg hack --glob '!vendor/**' | head -240 || true

echo
echo "Cluster API local/system code relevant to applying manifests:"
for f in pkg/clusterapi/system.go pkg/clusterapi/localcontrolplane.go hack/build-cluster-api.sh hack/verify-capi-manifests.sh; do
  if [ -f "$f" ]; then
    echo "--- $f"
    sed -n '1,220p' "$f"
  fi
done

echo
echo "Candidate files with cluster-api provider apply code:"
git ls-files 'pkg/**' 'cmd/**' | rg 'openstack|clusterapi|manifests|asset' | xargs rg -n -C 3 'AddToScheme|Apply|manifest|yaml|YAML|OpenStack.*Components|core-components|infrastructure-components' --glob '!vendor/**' | head -260 || true

Repository: openshift/installer

Length of output: 48851


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "system.go controller construction and apply around getInfrastructureController:"
sed -n '190,290p' pkg/clusterapi/system.go

echo
echo "controller execution code:"
sed -n '1,180p' pkg/clusterapi/internal/process/controller.go

echo
echo "controller.go getInfrastructureController:"
sed -n '290,450p' pkg/clusterapi/system.go

echo
echo "data Assets/Unpack definitions for /cluster-api:"
rg -n -C 6 'func .*Unpack|type Assets|Assets.*Open|Embed|cluster-api/openstack-infrastructure-components|AssetDir|embed' data cmd pkg --glob '!vendor/**' --glob '!cluster-api/**' | head -220 || true

Repository: openshift/installer

Length of output: 4212


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "pkg/clusterapi files:"
git ls-files pkg/clusterapi | sort | sed -n '1,220p'

echo
echo "getInfrastructureController definition:"
rg -n -C 25 'func \(\*system\) getInfrastructureController|Components: \[\]string|Apply\\(' pkg/clusterapi --glob '!vendor/**' || true

echo
echo "Process/controlplane files outlines:"
for f in $(git ls-files pkg/clusterapi/internal pkg/clusterapi | grep -E '\.go$' | sort); do
  echo "--- $f"
  wc -l "$f"
done

Repository: openshift/installer

Length of output: 1951


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "pkg/clusterapi/system.go controller execution and OpenStack branch:"
rg -n -C 25 'getInfrastructureController|Components: \[\]string|\-feature-gates=|Expander|Apply|system\(\*.*\.Run|case openstack.Name:' pkg/clusterapi/system.go || true

echo
echo "process.go controller command construction:"
sed -n '1,230p' pkg/clusterapi/internal/process/process.go

echo
echo "providers.go OpenStack provider metadata:"
sed -n '1,180p' pkg/clusterapi/providers.go

Repository: openshift/installer

Length of output: 24795


Remove unsupported CAPO feature-gate variables from the embedded deployment.

The installer loads data/data/cluster-api/openstack-infrastructure-components.yaml via data.Unpack() and starts the CAPO controller with flags from the manifest; those ${EXP_CAPO_*:=...} entries are only resolved by clusterctl, so the controller receives invalid flag values and fails to start. Use explicit defaults here instead of relying on unresolved variables.

🐛 Fallback
-        - --feature-gates=PriorityQueue=${EXP_CAPO_PRIORITY_QUEUE:=false},AutoScaleFromZero=${EXP_CAPO_AUTOSCALE_FROM_ZERO:=false}
+        - --feature-gates=PriorityQueue=false,AutoScaleFromZero=false
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- --feature-gates=PriorityQueue=${EXP_CAPO_PRIORITY_QUEUE:=false},AutoScaleFromZero=${EXP_CAPO_AUTOSCALE_FROM_ZERO:=false}
command:
- /manager
image: gcr.io/k8s-staging-capi-openstack/capi-openstack-controller:v0.13.0
image: gcr.io/k8s-staging-capi-openstack/capi-openstack-controller:v0.14.6
- --feature-gates=PriorityQueue=false,AutoScaleFromZero=false
command:
- /manager
image: gcr.io/k8s-staging-capi-openstack/capi-openstack-controller:v0.14.6
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@data/data/cluster-api/openstack-infrastructure-components.yaml` around lines
9148 - 9151, Update the embedded CAPO controller manifest’s `--feature-gates`
argument to remove the `${EXP_CAPO_PRIORITY_QUEUE:=...}` and
`${EXP_CAPO_AUTOSCALE_FROM_ZERO:=...}` placeholders, replacing them with
explicit boolean defaults so `data.Unpack()` starts `/manager` with valid flag
values.

@openshift-ci
openshift-ci Bot requested review from mandre and pawanpinjarkar July 28, 2026 16:28
@openshift-ci

openshift-ci Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign rwsu for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found 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

@ekuris-redhat

Copy link
Copy Markdown

/test gcp-custom-endpoints-proxy-wif

1 similar comment
@dlaw4608

Copy link
Copy Markdown
Author

/test gcp-custom-endpoints-proxy-wif

@openshift-ci

openshift-ci Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

@dlaw4608: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/gcp-custom-endpoints-proxy-wif 3839845 link false /test gcp-custom-endpoints-proxy-wif

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

jira/valid-reference Indicates that this PR references a valid Jira ticket of any type.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants