Skip to content

OSASINFRA-3976: Sync main with latest upstream (release-0.13)#387

Merged
openshift-merge-bot[bot] merged 302 commits intoopenshift:mainfrom
shiftstack:sync-main-0.13
Dec 5, 2025
Merged

OSASINFRA-3976: Sync main with latest upstream (release-0.13)#387
openshift-merge-bot[bot] merged 302 commits intoopenshift:mainfrom
shiftstack:sync-main-0.13

Conversation

@stephenfin
Copy link
Copy Markdown

@stephenfin stephenfin commented Dec 5, 2025

Please review individual commits for an overview of what I've done here.

❯ git diff upstream/release-0.13 -- \
    ':!vendor' ':!hack/tools/vendor' ':!openshift' \
    ':!DOWNSTREAM_OWNERS' ':!DOWNSTREAM_OWNERS_ALIASES' \
    ':!.ci-operator.yaml' ':!.snyk' ':!Dockerfile.rhel'
diff --git .gitignore .gitignore
index fbf39d817..bc191173f 100644
--- .gitignore
+++ .gitignore
@@ -187,5 +187,7 @@ docs/book/book/
 # Development container files (https://containers.dev/)
 .devcontainer
 
-# CAPO doesn't use vendorings
-vendor/
+# Don't ignore anything in vendor directories
+!/vendor/**
+!/hack/tools/vendor/**
diff --git Makefile Makefile
index 7b550dc74..0dbe0e743 100644
--- Makefile
+++ Makefile
@@ -290,6 +290,18 @@ modules: ## Runs go mod to ensure proper vendoring.
        go mod tidy
        cd $(TOOLS_DIR); go mod tidy
 
+.PHONY: merge-bot
+merge-bot: full-vendoring generate generate-openshift ## Runs targets that help merge-bot to rebase downstream CAPO.
+
+.PHONY: full-vendoring
+full-vendoring: ## Runs commands that complete vendoring tasks for downstream CAPO.
+       go mod tidy && go mod vendor
+       cd $(TOOLS_DIR); go mod tidy; go mod vendor
+
+.PHONY: generate-openshift
+generate-openshift:
+       $(MAKE) -C $(REPO_ROOT)/openshift generate
+
 .PHONY: generate
 generate: templates generate-controller-gen generate-codegen generate-go generate-manifests generate-api-docs ## Generate all generated code
 
@@ -610,6 +622,17 @@ verify-security: ## Verify code and images for vulnerabilities
                exit 1; \
        fi
 
+.PHONY: vendor verify-vendoring
+vendor:
+       go mod vendor
+       cd $(TOOLS_DIR); go mod vendor
+
+verify-vendoring: vendor
+       @if !(git diff --quiet HEAD); then \
+               git diff; \
+               echo "vendored files are out of date, run go mod vendor"; exit 1; \
+       fi
+
 .PHONY: compile-e2e
 compile-e2e: ## Test e2e compilation
        go test -c -o /dev/null -tags=e2e ./test/e2e/suites/conformance
diff --git hack/update-codegen.sh hack/update-codegen.sh
index f7161d819..377947de8 100755
--- hack/update-codegen.sh
+++ hack/update-codegen.sh
@@ -49,7 +49,6 @@ declare -a gen_openapi_args=(
     --extra-pkgs sigs.k8s.io/cluster-api/api/core/v1beta2
     --extra-pkgs sigs.k8s.io/cluster-api/api/ipam/v1beta2
     --extra-pkgs sigs.k8s.io/cluster-api/api/core/v1beta1
-    --extra-pkgs sigs.k8s.io/cluster-api/api/ipam/v1beta1
     --extra-pkgs k8s.io/api/core/v1
 )

The last hunk will disappear once kubernetes-sigs#2884 merges upstream.

k8s-ci-robot and others added 30 commits March 5, 2025 11:03
…tion-of-managedsecuritygroups

fix: allow modification of all ManagedSecurityGroups
…ot/go_modules/main/all-go-mod-patch-and-minor-4a834db126

🌱(deps): Bump the all-go-mod-patch-and-minor group across 2 directories with 4 updates
…ance-state

🐛 fix: dereference the instance state in machine state reconcile calls
Bumps the all-github-actions group with 1 update: [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request).


Updates `peter-evans/create-pull-request` from 7.0.7 to 7.0.8
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](peter-evans/create-pull-request@dd2324f...271a8d0)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
…es with 2 updates

Bumps the all-go-mod-patch-and-minor group with 2 updates in the / directory: [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) and [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime).
Bumps the all-go-mod-patch-and-minor group with 2 updates in the /hack/tools directory: [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo) and [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime).


Updates `github.com/onsi/ginkgo/v2` from 2.22.2 to 2.23.0
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](onsi/ginkgo@v2.22.2...v2.23.0)

Updates `sigs.k8s.io/controller-runtime` from 0.20.2 to 0.20.3
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](kubernetes-sigs/controller-runtime@v0.20.2...v0.20.3)

Updates `github.com/onsi/ginkgo/v2` from 2.22.2 to 2.23.0
- [Release notes](https://github.com/onsi/ginkgo/releases)
- [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md)
- [Commits](onsi/ginkgo@v2.22.2...v2.23.0)

Updates `sigs.k8s.io/controller-runtime` from 0.20.2 to 0.20.3
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](kubernetes-sigs/controller-runtime@v0.20.2...v0.20.3)

---
updated-dependencies:
- dependency-name: github.com/onsi/ginkgo/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-go-mod-patch-and-minor
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-go-mod-patch-and-minor
- dependency-name: github.com/onsi/ginkgo/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-go-mod-patch-and-minor
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all-go-mod-patch-and-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
…ot/github_actions/main/all-github-actions-bf199c20a5

🌱(deps): Bump peter-evans/create-pull-request from 7.0.7 to 7.0.8 in the all-github-actions group
onsi/ginkgo@37a511b

This commit now requires golang >= 1.23 which we don't have in 0.11 so
we now skip new versions of ginkgo on release-0.11 branch.
…ot/go_modules/main/all-go-mod-patch-and-minor-d451927018

🌱(deps): Bump the all-go-mod-patch-and-minor group across 2 directories with 2 updates
🌱 deps: skip github.com/onsi/ginkgo/v2 on release-0.11
The panic happened because we did not correctly handle that
GetInstanceStatus returns a nil server if the server does not exist,
rather than a 404 error.

We had the same oversight in the OpenStackServer controller. It looks
like this would have resulted in recreating the server.
…date

Bumps the go_modules group with 1 update in the / directory: [golang.org/x/net](https://github.com/golang/net).
Bumps the go_modules group with 1 update in the /hack/tools directory: [golang.org/x/net](https://github.com/golang/net).


Updates `golang.org/x/net` from 0.35.0 to 0.36.0
- [Commits](golang/net@v0.35.0...v0.36.0)

Updates `golang.org/x/net` from 0.35.0 to 0.36.0
- [Commits](golang/net@v0.35.0...v0.36.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
  dependency-group: go_modules
- dependency-name: golang.org/x/net
  dependency-type: indirect
  dependency-group: go_modules
...

Signed-off-by: dependabot[bot] <support@github.com>
…ot/go_modules/go_modules-435218fd97

build(deps): bump the go_modules group across 2 directories with 1 update
…er-deletion

Fix panic when OpenStack server is deleted by an external agent
With this change, an OpenStackMachine will not be marked Ready until it
has been completely initialised, including setting its Addresses and
adding it to the APIServer loadbalancer if required.

Also fix a missing early return when the instance has been unexpectedly
deleted.
…eady-last

Don't set OSMachine Ready until all config is complete
With this change we build the prerequisites of the e2e tests in parallel
with the devstack build. We also upload the e2e image to devstack while
devstack is still building, as soon as SSH is available.
…e-image

ci: build e2e prerequisites in parallel
Co-authored-by: Alexandre Vilain <alexandrevilain@users.noreply.github.com>
Fixes this bad error message format:

I0317 13:20:19.512088       1 openstackserver_controller.go:109] "OpenStackServer %s/%s linked to a Cluster that is paused. Won't reconcile" controllerGroup="infrastructure.cluster.x-k8s.io" controllerKind="OpenStackServer" OpenStackServer="sylva-system/management-cluster-cp-f7843e31d7-rbv5c" namespace="sylva-system" name="management-cluster-cp-f7843e31d7-rbv5c" reconcileID="a0e2f500-ae75-47af-bc3b-85bb9ae4b59b" sylva-system="management-cluster-cp-f7843e31d7-rbv5c"

We in fact don't need the "%s/%s" and also the additional paramters
aren't needed because the logger is derived from "scope" and already
logging the server name and namespace.
…e-error-logging

Fix logging when e2e prerequisites build fails
OpenStackServer controller: minor log message fix
…elastisys/keep-bastion-floating-ip-in-spec

Do not delete bastion floating ip if set in spec
…es with 6 updates

Bumps the all-go-mod-patch-and-minor group with 2 updates in the / directory: [k8s.io/api](https://github.com/kubernetes/api) and [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver).
Bumps the all-go-mod-patch-and-minor group with 2 updates in the /hack/tools directory: [k8s.io/api](https://github.com/kubernetes/api) and [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver).


Updates `k8s.io/api` from 0.32.2 to 0.32.3
- [Commits](kubernetes/api@v0.32.2...v0.32.3)

Updates `k8s.io/apiextensions-apiserver` from 0.32.2 to 0.32.3
- [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases)
- [Commits](kubernetes/apiextensions-apiserver@v0.32.2...v0.32.3)

Updates `k8s.io/apimachinery` from 0.32.2 to 0.32.3
- [Commits](kubernetes/apimachinery@v0.32.2...v0.32.3)

Updates `k8s.io/client-go` from 0.32.2 to 0.32.3
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](kubernetes/client-go@v0.32.2...v0.32.3)

Updates `k8s.io/code-generator` from 0.32.2 to 0.32.3
- [Commits](kubernetes/code-generator@v0.32.2...v0.32.3)

Updates `k8s.io/component-base` from 0.32.2 to 0.32.3
- [Commits](kubernetes/component-base@v0.32.2...v0.32.3)

Updates `k8s.io/api` from 0.32.2 to 0.32.3
- [Commits](kubernetes/api@v0.32.2...v0.32.3)

Updates `k8s.io/apiextensions-apiserver` from 0.32.2 to 0.32.3
- [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases)
- [Commits](kubernetes/apiextensions-apiserver@v0.32.2...v0.32.3)

Updates `k8s.io/apimachinery` from 0.32.2 to 0.32.3
- [Commits](kubernetes/apimachinery@v0.32.2...v0.32.3)

Updates `k8s.io/client-go` from 0.32.2 to 0.32.3
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](kubernetes/client-go@v0.32.2...v0.32.3)

Updates `k8s.io/code-generator` from 0.32.2 to 0.32.3
- [Commits](kubernetes/code-generator@v0.32.2...v0.32.3)

Updates `k8s.io/component-base` from 0.32.2 to 0.32.3
- [Commits](kubernetes/component-base@v0.32.2...v0.32.3)

---
updated-dependencies:
- dependency-name: k8s.io/api
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-go-mod-patch-and-minor
- dependency-name: k8s.io/apiextensions-apiserver
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-go-mod-patch-and-minor
- dependency-name: k8s.io/apimachinery
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-go-mod-patch-and-minor
- dependency-name: k8s.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-go-mod-patch-and-minor
- dependency-name: k8s.io/code-generator
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-go-mod-patch-and-minor
- dependency-name: k8s.io/component-base
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-go-mod-patch-and-minor
- dependency-name: k8s.io/api
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all-go-mod-patch-and-minor
- dependency-name: k8s.io/apiextensions-apiserver
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all-go-mod-patch-and-minor
- dependency-name: k8s.io/apimachinery
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all-go-mod-patch-and-minor
- dependency-name: k8s.io/client-go
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all-go-mod-patch-and-minor
- dependency-name: k8s.io/code-generator
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-go-mod-patch-and-minor
- dependency-name: k8s.io/component-base
  dependency-type: indirect
  update-type: version-update:semver-patch
  dependency-group: all-go-mod-patch-and-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
…ot/go_modules/main/all-go-mod-patch-and-minor-61e665b96c

🌱(deps): bump the all-go-mod-patch-and-minor group across 2 directories with 6 updates
@openshift-ci-robot openshift-ci-robot added jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. labels Dec 5, 2025
@openshift-ci-robot
Copy link
Copy Markdown

@stephenfin: This pull request references Jira Issue OCPBUGS-64813, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.21.0) matches configured target version for branch (4.21.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

No GitHub users were found matching the public email listed for the QA contact in Jira (imatza@redhat.com), skipping review request.

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

Please review individual commits for an overview of what I've done here.

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

@openshift-ci openshift-ci Bot requested review from gryf and mandre December 5, 2025 13:38
@stephenfin
Copy link
Copy Markdown
Author

/assign @mandre

It no longer exists.

Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
Copy link
Copy Markdown
Member

@mandre mandre left a comment

Choose a reason for hiding this comment

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

/lgtm
/approve

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Dec 5, 2025
@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Dec 5, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mandre

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

The pull request process is described here

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

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

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Dec 5, 2025
@stephenfin
Copy link
Copy Markdown
Author

stephenfin commented Dec 5, 2025

/retitle OSASINFRA-3976: Sync main with latest upstream (release-0.13)

@openshift-ci openshift-ci Bot changed the title OCPBUGS-64813: Sync main with latest upstream (release-0.13) OSASINFRA-3976: Sync main with latest upstream (release-0.13) Dec 5, 2025
@openshift-ci-robot openshift-ci-robot removed the jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. label Dec 5, 2025
@openshift-ci-robot
Copy link
Copy Markdown

openshift-ci-robot commented Dec 5, 2025

@stephenfin: This pull request references OSASINFRA-3976 which is a valid jira issue.

Details

In response to this:

Please review individual commits for an overview of what I've done here.

❯ git diff upstream/release-0.13 -- \
   ':!vendor' ':!hack/tools/vendor' ':!openshift' \
   ':!DOWNSTREAM_OWNERS' ':!DOWNSTREAM_OWNERS_ALIASES' \
   ':!.ci-operator.yaml' ':!.snyk' ':!Dockerfile.rhel'
diff --git .gitignore .gitignore
index fbf39d817..bc191173f 100644
--- .gitignore
+++ .gitignore
@@ -187,5 +187,7 @@ docs/book/book/
# Development container files (https://containers.dev/)
.devcontainer

-# CAPO doesn't use vendorings
-vendor/
+# Don't ignore anything in vendor directories
+!/vendor/**
+!/hack/tools/vendor/**
diff --git Makefile Makefile
index 7b550dc74..0dbe0e743 100644
--- Makefile
+++ Makefile
@@ -290,6 +290,18 @@ modules: ## Runs go mod to ensure proper vendoring.
       go mod tidy
       cd $(TOOLS_DIR); go mod tidy

+.PHONY: merge-bot
+merge-bot: full-vendoring generate generate-openshift ## Runs targets that help merge-bot to rebase downstream CAPO.
+
+.PHONY: full-vendoring
+full-vendoring: ## Runs commands that complete vendoring tasks for downstream CAPO.
+       go mod tidy && go mod vendor
+       cd $(TOOLS_DIR); go mod tidy; go mod vendor
+
+.PHONY: generate-openshift
+generate-openshift:
+       $(MAKE) -C $(REPO_ROOT)/openshift generate
+
.PHONY: generate
generate: templates generate-controller-gen generate-codegen generate-go generate-manifests generate-api-docs ## Generate all generated code

@@ -610,6 +622,17 @@ verify-security: ## Verify code and images for vulnerabilities
               exit 1; \
       fi

+.PHONY: vendor verify-vendoring
+vendor:
+       go mod vendor
+       cd $(TOOLS_DIR); go mod vendor
+
+verify-vendoring: vendor
+       @if !(git diff --quiet HEAD); then \
+               git diff; \
+               echo "vendored files are out of date, run go mod vendor"; exit 1; \
+       fi
+
.PHONY: compile-e2e
compile-e2e: ## Test e2e compilation
       go test -c -o /dev/null -tags=e2e ./test/e2e/suites/conformance
diff --git hack/update-codegen.sh hack/update-codegen.sh
index f7161d819..377947de8 100755
--- hack/update-codegen.sh
+++ hack/update-codegen.sh
@@ -49,7 +49,6 @@ declare -a gen_openapi_args=(
    --extra-pkgs sigs.k8s.io/cluster-api/api/core/v1beta2
    --extra-pkgs sigs.k8s.io/cluster-api/api/ipam/v1beta2
    --extra-pkgs sigs.k8s.io/cluster-api/api/core/v1beta1
-    --extra-pkgs sigs.k8s.io/cluster-api/api/ipam/v1beta1
    --extra-pkgs k8s.io/api/core/v1
)

The last hunk will disappear once kubernetes-sigs#2884 merges upstream.

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.

@stephenfin
Copy link
Copy Markdown
Author

/label acknowledge-critical-fixes-only

@stephenfin
Copy link
Copy Markdown
Author

/verified by CI
/override ci/prow/e2e-hypershift

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Dec 5, 2025
@openshift-ci-robot
Copy link
Copy Markdown

@stephenfin: This PR has been marked as verified by CI.

Details

In response to this:

/verified by CI
/override ci/prow/e2e-hypershift

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

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Dec 5, 2025

@stephenfin: Overrode contexts on behalf of stephenfin: ci/prow/e2e-hypershift

Details

In response to this:

/verified by CI
/override ci/prow/e2e-hypershift

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

@openshift-ci
Copy link
Copy Markdown

openshift-ci Bot commented Dec 5, 2025

@stephenfin: all tests passed!

Full PR test history. Your PR dashboard.

Details

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

@openshift-merge-bot openshift-merge-bot Bot merged commit 6986683 into openshift:main Dec 5, 2025
10 checks passed
@openshift-merge-bot openshift-merge-bot Bot deleted the sync-main-0.13 branch December 5, 2025 18:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.