OSASINFRA-4359: Bump CAPO in openshift/installer - #10726
Conversation
Signed-off-by: Daniel Lawton <dlawton@redhat.com>
Signed-off-by: Daniel Lawton <dlawton@redhat.com>
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@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. DetailsIn response to this:
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. |
📝 WalkthroughWalkthroughThe 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. ChangesOpenStack provider upgrade
Estimated code review effort: 4 (Complex) | ~45 minutes Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (1 inconclusive)
✅ Passed checks (14 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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 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. Comment |
There was a problem hiding this comment.
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
⛔ Files ignored due to path filters (409)
cluster-api/providers/openstack/go.sumis excluded by!**/*.sumcluster-api/providers/openstack/vendor/github.com/gophercloud/gophercloud/v2/CHANGELOG.mdis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/gophercloud/gophercloud/v2/openstack/compute/v2/servers/requests.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/gophercloud/gophercloud/v2/openstack/compute/v2/servers/results.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/gophercloud/gophercloud/v2/openstack/identity/v3/ec2tokens/requests.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/gophercloud/gophercloud/v2/openstack/image/v2/images/results.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/gophercloud/gophercloud/v2/openstack/image/v2/images/types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/gophercloud/gophercloud/v2/openstack/networking/v2/ports/requests.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/gophercloud/gophercloud/v2/provider_client.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/gophercloud/gophercloud/v2/util.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/hashicorp/go-version/CHANGELOG.mdis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/hashicorp/go-version/LICENSEis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/hashicorp/go-version/README.mdis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/hashicorp/go-version/constraint.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/hashicorp/go-version/version.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/hashicorp/go-version/version_collection.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/common_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/domain_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/group_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/keypair_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/project_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/role_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/server_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/service_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/volume_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/zz_generated.deepcopy.gois excluded by!**/vendor/**,!**/zz_generated*cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/zz_generated.domain-resource.gois excluded by!**/vendor/**,!**/zz_generated*cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/zz_generated.group-resource.gois excluded by!**/vendor/**,!**/zz_generated*cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/zz_generated.keypair-resource.gois excluded by!**/vendor/**,!**/zz_generated*cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/zz_generated.role-resource.gois excluded by!**/vendor/**,!**/zz_generated*cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/api/v1alpha1/zz_generated.service-resource.gois excluded by!**/vendor/**,!**/zz_generated*cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/pkg/predicates/attachment.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/k-orc/openstack-resource-controller/v2/pkg/predicates/readiness.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/onsi/gomega/CHANGELOG.mdis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/onsi/gomega/README.mdis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/onsi/gomega/format/format.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/onsi/gomega/gomega_dsl.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/onsi/gomega/matchers.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/onsi/gomega/matchers/be_a_slice_matcher.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/onsi/gomega/matchers/be_an_array_matcher.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/onsi/gomega/matchers/have_key_matcher.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/onsi/gomega/matchers/have_key_with_value_matcher.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/onsi/gomega/matchers/match_error_strictly_matcher.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/onsi/gomega/matchers/support/goraph/edge/edge.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/github.com/onsi/gomega/types/types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/client.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/common.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/config.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/doc.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/handler.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/client.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/env.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/gen.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/httpconv.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/server.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/internal/semconv/util.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/transport.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/version.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/.codespellignoreis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/.golangci.ymlis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/.lycheeignoreis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/CHANGELOG.mdis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/CONTRIBUTING.mdis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/Makefileis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/README.mdis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/RELEASING.mdis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/VERSIONING.mdis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/attribute/encoder.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/attribute/hash.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/attribute/internal/attribute.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/attribute/internal/xxhash/xxhash.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/attribute/set.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/attribute/type_string.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/attribute/value.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/baggage/baggage.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/dependencies.Dockerfileis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform/span.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/client.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/counter/counter.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/gen.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/observ/doc.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/observ/instrumentation.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/observ/target.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/partialsuccess.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/retry/retry.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/version.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/x/README.mdis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/x/observ.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal/x/x.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/internal/errorhandler/errorhandler.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/internal/global/handler.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/internal/global/instruments.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/internal/global/meter.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/internal/global/state.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/metric.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/metric/asyncfloat64.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/metric/asyncint64.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/metric/config.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/metric/meter.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/metric/noop/noop.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/metric/syncfloat64.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/metric/syncint64.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/propagation/baggage.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/propagation/trace_context.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/internal/x/features.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/internal/x/x.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/builtin.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/container.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/env.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/host_id.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/host_id_bsd.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/host_id_linux.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/host_id_unsupported.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/host_id_windows.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/os.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/os_release_unix.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/os_unix.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/os_unsupported.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/resource/process.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/batch_span_processor.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/doc.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/internal/env/env.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/batch_span_processor.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/doc.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/simple_span_processor.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/internal/observ/tracer.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/provider.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/sampling.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/simple_span_processor.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/span.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/span_limits.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/trace/tracer.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/sdk/version.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/semconv/v1.37.0/error_type.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/MIGRATION.mdis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/README.mdis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/attribute_group.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/doc.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/error_type.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/exception.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/httpconv/metric.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/otelconv/metric.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/semconv/v1.39.0/schema.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/trace/auto.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/trace/config.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/trace/span.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/trace/tracestate.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/version.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.opentelemetry.io/otel/versions.yamlis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.uber.org/zap/.golangci.ymlis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.uber.org/zap/CHANGELOG.mdis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.uber.org/zap/CODE_OF_CONDUCT.mdis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.uber.org/zap/LICENSEis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.uber.org/zap/Makefileis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.uber.org/zap/field.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.uber.org/zap/http_handler.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.uber.org/zap/logger.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.uber.org/zap/options.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.uber.org/zap/sink.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.uber.org/zap/zapcore/buffered_write_syncer.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.uber.org/zap/zapcore/console_encoder.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.uber.org/zap/zapcore/entry.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.uber.org/zap/zapcore/lazy_with.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/go.uber.org/zap/zapcore/level.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/net/http2/transport.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/net/http2/writesched_priority_rfc9218.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/net/trace/events.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/net/websocket/hybi.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sync/errgroup/errgroup.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/ioctl_signed.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/ioctl_unsigned.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/mkerrors.shis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/syscall_solaris.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/syscall_unix.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_386.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_arm.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_mips.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/windows/syscall_windows.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/windows/types_windows.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/sys/windows/zsyscall_windows.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/term/terminal.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/cases/tables10.0.0.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/cases/tables11.0.0.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/cases/tables12.0.0.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/cases/tables15.0.0.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/cases/tables17.0.0.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/cases/tables9.0.0.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/encoding/japanese/eucjp.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/encoding/japanese/iso2022jp.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/encoding/japanese/shiftjis.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/encoding/korean/euckr.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/encoding/traditionalchinese/big5.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/encoding/unicode/unicode.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/message/catalog/catalog.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/message/catalog/dict.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/message/catalog/go19.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/message/catalog/gopre19.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/secure/bidirule/bidirule.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/bidi/tables17.0.0.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/norm/forminfo.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/norm/tables10.0.0.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/norm/tables11.0.0.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/norm/tables12.0.0.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/norm/tables15.0.0.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/norm/tables17.0.0.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/golang.org/x/text/unicode/norm/tables9.0.0.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/balancer/balancer.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/balancer/pickfirst/internal/internal.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/balancer/pickfirst/pickfirst.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf/pickfirstleaf.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/balancer/subconn.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/balancer_wrapper.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/binarylog/grpc_binarylog_v1/binarylog.pb.gois excluded by!**/*.pb.go,!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/clientconn.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/credentials/credentials.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/credentials/tls.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/encoding/encoding.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/encoding/gzip/gzip.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/encoding/internal/internal.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/experimental/stats/metricregistry.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/experimental/stats/metrics.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/health/grpc_health_v1/health.pb.gois excluded by!**/*.pb.go,!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/health/grpc_health_v1/health_grpc.pb.gois excluded by!**/*.pb.go,!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/interceptor.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/balancer/gracefulswitch/gracefulswitch.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/balancer/weight/weight.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/envconfig/envconfig.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/envconfig/xds.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/experimental.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/idle/idle.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/internal.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/resolver/delegatingresolver/delegatingresolver.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/stats/metrics_recorder_list.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/stats/stats.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/transport/client_stream.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/transport/controlbuf.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/transport/flowcontrol.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/transport/handler_server.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/transport/http2_client.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/transport/http2_server.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/transport/http_util.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/transport/server_stream.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/internal/transport/transport.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/mem/buffer_pool.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/mem/buffer_slice.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/mem/buffers.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/preloader.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/resolver/resolver.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/resolver_wrapper.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/rpc_util.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/server.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/stream.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/grpc/version.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/protobuf/internal/encoding/text/decode.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/protobuf/internal/filedesc/desc.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/protobuf/internal/impl/codec_map.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/protobuf/internal/impl/decode.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/protobuf/internal/impl/validate.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/protobuf/internal/version/version.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/protobuf/proto/decode.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/protobuf/reflect/protodesc/desc.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/protobuf/reflect/protodesc/editions.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.gois excluded by!**/*.pb.go,!**/vendor/**cluster-api/providers/openstack/vendor/google.golang.org/protobuf/types/known/timestamppb/timestamp.pb.gois excluded by!**/*.pb.go,!**/vendor/**cluster-api/providers/openstack/vendor/k8s.io/client-go/tools/cache/controller.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/k8s.io/client-go/tools/cache/delta_fifo.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/k8s.io/client-go/tools/cache/reflector.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/k8s.io/client-go/tools/cache/reflector_data_consistency_detector.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/k8s.io/client-go/tools/cache/shared_informer.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/k8s.io/client-go/tools/cache/the_real_fifo.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/k8s.io/client-go/util/consistencydetector/data_consistency_detector.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/k8s.io/client-go/util/retry/OWNERSis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/k8s.io/client-go/util/retry/util.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/modules.txtis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/.golangci.ymlis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/.govuln_excludeis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/.trivyignoreis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/.yamllint.yamlis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/AGENTS.mdis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/CONTRIBUTING.mdis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/Dockerfileis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/Makefileis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/OWNERSis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/OWNERS_ALIASESis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/PROJECTis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/README.mdis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/RELEASE.mdis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/api/v1alpha1/openstackclusteridentity_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/api/v1alpha1/zz_generated.deepcopy.gois excluded by!**/vendor/**,!**/zz_generated*cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/api/v1beta1/conditions_consts.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/api/v1beta1/identity_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/api/v1beta1/openstackcluster_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/api/v1beta1/openstackmachine_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/api/v1beta1/openstackmachinetemplate_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/api/v1beta1/types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/api/v1beta1/zz_generated.deepcopy.gois excluded by!**/vendor/**,!**/zz_generated*cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/api_violations.reportis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/cloudbuild-nightly.yamlis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/cloudbuild.yamlis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/controllers/openstackcluster_controller.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/controllers/openstackmachine_controller.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/controllers/openstackmachinetemplate_controller.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/controllers/openstackserver_controller.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/feature/feature.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/feature/gates.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/main.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/metadata.yamlis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/netlify.tomlis excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/clients/compute.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/clients/loadbalancer.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/clients/mock/compute.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/clients/mock/loadbalancer.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/cloud/services/compute/instance.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/cloud/services/compute/instance_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/cloud/services/loadbalancer/loadbalancer.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/cloud/services/networking/network.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/cloud/services/networking/securitygroups.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/scope/provider.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/utils/controllers/controllers.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/utils/errors/errors.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/utils/errors/terminal.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api-provider-openstack/pkg/utils/filterconvert/convert.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/bootstrap/kubeadm/v1beta2/kubeadm_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/controlplane/kubeadm/v1beta2/kubeadm_control_plane_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta1/cluster_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta1/conversion.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta1/machine_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta1/zz_generated.conversion.gois excluded by!**/vendor/**,!**/zz_generated*cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta1/zz_generated.openapi.gois excluded by!**/vendor/**,!**/zz_generated*cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta2/cluster_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta2/clusterclass_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta2/common_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta2/machine_phase_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta2/machine_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta2/machinehealthcheck_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta2/machineset_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta2/v1beta1_condition_consts.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta2/zz_generated.deepcopy.gois excluded by!**/vendor/**,!**/zz_generated*cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/core/v1beta2/zz_generated.openapi.gois excluded by!**/vendor/**,!**/zz_generated*cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1/common_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1/discovery_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1/doc.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1/groupversion_info.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1/inplaceupdate_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1/lifecyclehooks_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1/topologymutation_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1/topologymutation_variable_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1/upgrade_plan_types.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1/zz_generated.deepcopy.gois excluded by!**/vendor/**,!**/zz_generated*cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/api/runtime/hooks/v1alpha1/zz_generated.openapi.gois excluded by!**/vendor/**,!**/zz_generated*cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/controllers/crdmigrator/crd_migrator.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/exp/runtime/catalog/builder.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/exp/runtime/catalog/catalog.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/exp/runtime/catalog/doc.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/exp/runtime/catalog/openapi.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/feature/feature.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/internal/util/controller/builder.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/internal/util/controller/controller.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/internal/util/controller/controller_fake.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/internal/util/controller/metrics.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/util/cache/cache.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/util/cache/doc.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/util/collections/machine_filters.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/util/conditions/setter.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/util/conditions/sort.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/util/contract/contract.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/util/contract/doc.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/util/patch/patch.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/util/patch/utils.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/util/util.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/cluster-api/util/version/version.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/structured-merge-diff/v6/fieldpath/element.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/structured-merge-diff/v6/fieldpath/pathelementmap.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/structured-merge-diff/v6/fieldpath/set.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/structured-merge-diff/v6/schema/elements.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/structured-merge-diff/v6/typed/remove.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/structured-merge-diff/v6/value/allocator.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/structured-merge-diff/v6/value/jsontagutil.gois excluded by!**/vendor/**cluster-api/providers/openstack/vendor/sigs.k8s.io/structured-merge-diff/v6/value/reflectcache.gois excluded by!**/vendor/**
📒 Files selected for processing (2)
cluster-api/providers/openstack/go.moddata/data/cluster-api/openstack-infrastructure-components.yaml
| 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 |
There was a problem hiding this comment.
🔒 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
| - --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 |
There was a problem hiding this comment.
🩺 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 -40Repository: 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 :; fiRepository: 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.goRepository: 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 || trueRepository: 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 || trueRepository: 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"
doneRepository: 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.goRepository: 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.
| - --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.
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
/test gcp-custom-endpoints-proxy-wif |
1 similar comment
|
/test gcp-custom-endpoints-proxy-wif |
|
@dlaw4608: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions 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. |
Achieved by bumping the library itself:
Followed by the assets:
./hack/verify-capi-manifests.sh cluster-api/providers/openstackThis 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
SecretorClusterIdentitycredentials in OpenStack identity references.