[UPSTREAM-SYNC] Sync main with latest upstream (release-2.0)#36
[UPSTREAM-SYNC] Sync main with latest upstream (release-2.0)#36stephenfin wants to merge 901 commits into
Conversation
Cyclomatic complexity: globalize fetch dependency helper
Happy new year :).
Update copyright date
Add metadata field to server controller allowing setting metadata on servers created by orc
Port: add binding:host field
Add metadata to server controller
Add config drive field to server controller
…ndency/00-create-resources-missing-deps.yaml when using scaffolding tool to create a controller with -optional-create-dependency, but without -required-create-dependency. Why Fix it: Should want to fix the template because this will generate an obscure warning when running the kuttl tests. What Fixed it: Replaced left trim with a right trim at the end of requiredCreateDependencies loop and the beginning of the next loop OptionalCreateDependencies. Signed-off-by: Daniel Lawton <dlawton@redhat.com>
…for both optional-create-dependency field and required-create-dependency field. Signed-off-by: Daniel Lawton <dlawton@redhat.com>
… with 3 updates Bumps the all-go-mod-patch-and-minor group with 3 updates in the / directory: [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo), [github.com/onsi/gomega](https://github.com/onsi/gomega) and [golang.org/x/text](https://github.com/golang/text). Updates `github.com/onsi/ginkgo/v2` from 2.27.3 to 2.27.4 - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](onsi/ginkgo@v2.27.3...v2.27.4) Updates `github.com/onsi/gomega` from 1.38.3 to 1.39.0 - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](onsi/gomega@v1.38.3...v1.39.0) Updates `golang.org/x/text` from 0.32.0 to 0.33.0 - [Release notes](https://github.com/golang/text/releases) - [Commits](golang/text@v0.32.0...v0.33.0) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-version: 2.27.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-go-mod-patch-and-minor - dependency-name: github.com/onsi/gomega dependency-version: 1.39.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all-go-mod-patch-and-minor - dependency-name: golang.org/x/text dependency-version: 0.33.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all-go-mod-patch-and-minor ... Signed-off-by: dependabot[bot] <support@github.com>
…l-go-mod-patch-and-minor-44e74ebed4 🌱(deps): Bump the all-go-mod-patch-and-minor group across 1 directory with 3 updates
e2e: empty line generated at top of dependency KUTTL test
Scaffold Controller tool: required dependency field will generate dependency E2E tests
Required deps is usually a subset of import deps. Generating resources for both caused duplicates whenever you use the same kind in both required dep and import dep. We should ideally have a union of both sets but that complicates the template without much benefit: the user will quickly notice if a required dep is missing and can add it easily.
Scaffolding fixes
This should get rid of the warnings because of README.md files in the test directories.
This changes the Port API to use a structured hostID field instead of a simple string, allowing users to specify the host ID either directly or by referencing a Server resource.
… 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). Updates `github.com/onsi/ginkgo/v2` from 2.27.4 to 2.27.5 - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](onsi/ginkgo@v2.27.4...v2.27.5) Updates `sigs.k8s.io/controller-runtime` from 0.22.4 to 0.22.5 - [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.22.4...v0.22.5) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-version: 2.27.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-go-mod-patch-and-minor - dependency-name: sigs.k8s.io/controller-runtime dependency-version: 0.22.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-go-mod-patch-and-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps the all-github-actions group with 2 updates: [actions/setup-go](https://github.com/actions/setup-go) and [actions/cache](https://github.com/actions/cache). Updates `actions/setup-go` from 6.1.0 to 6.2.0 - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](actions/setup-go@4dc6199...7a3fe6c) Updates `actions/cache` from 5.0.1 to 5.0.2 - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@9255dc7...8b402f5) --- updated-dependencies: - dependency-name: actions/setup-go dependency-version: 6.2.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all-github-actions - dependency-name: actions/cache dependency-version: 5.0.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-github-actions ... Signed-off-by: dependabot[bot] <support@github.com>
Enables creating bootable volumes from images by adding an imageRef field to the Volume spec. When specified, the volume is created with the image baked in, making it suitable for boot-from-volume scenarios. Changes: - Add imageRef field to VolumeResourceSpec - Add bootable and imageID fields to VolumeResourceStatus - Add image dependency with deletion guard - Add kuttl tests for bootable volume creation assisted-by: claude
Add imageRef to volume controller
…n/all-github-actions-51b6265eed 🌱(deps): Bump the all-github-actions group with 2 updates
…l-go-mod-patch-and-minor-95cf970f93 🌱(deps): Bump the all-go-mod-patch-and-minor group across 1 directory with 2 updates
Bumps the all-github-actions group with 1 update: [actions/checkout](https://github.com/actions/checkout). Updates `actions/checkout` from 6.0.1 to 6.0.2 - [Release notes](https://github.com/actions/checkout/releases) - [Commits](actions/checkout@v6.0.1...v6.0.2) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: 6.0.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-github-actions ... Signed-off-by: dependabot[bot] <support@github.com>
…c-053fc18-8c80674-cbd09dd-1253074-7fe8404-71912ee-9545833-bfb881a-578eccc-8fb26f7 [release-2.0] Tighten adoption filters
…-2.0/all-go-mod-patch-and-minor-928bee6792 🌱(deps): Bump github.com/gophercloud/gophercloud/v2 from 2.11.1 to 2.12.0 in the all-go-mod-patch-and-minor group across 1 directory
When the server controller attaches a port via Nova os-interface, the port's Neutron status transitions asynchronously from DOWN to ACTIVE as OVN binds the port. The port controller may reconcile after device_id is set but before the status becomes ACTIVE, writing DOWN to the port's status and setting Progressing: False. The existing serverToPortMapFunc watch handler only triggers port re-reconciliation when DeviceID disagrees with the server's interface list. When the port controller already picked up the device_id but not the ACTIVE status, DeviceID matches and no re-reconciliation is triggered, leaving the port status permanently stale at DOWN. Add a check for ports that are listed in the server's interfaces and have the correct DeviceID but still show status DOWN, triggering a re-reconciliation to pick up the current Neutron status.
Apply the same fix as the port controller: when serverToVolumeMapFunc detects a volume that is listed in the server's interfaces and already has the correct attachment info, but the volume's Cinder status is not in-use, trigger a re-reconciliation to pick up the current status from Cinder.
[release-2.0] Fix port status not updating to ACTIVE after server interface attachment
… with 5 updates Bumps the all-go-mod-patch-and-minor group with 4 updates in the / directory: [k8s.io/api](https://github.com/kubernetes/api), [k8s.io/client-go](https://github.com/kubernetes/client-go), [k8s.io/code-generator](https://github.com/kubernetes/code-generator) and [sigs.k8s.io/structured-merge-diff/v6](https://github.com/kubernetes-sigs/structured-merge-diff). Updates `k8s.io/api` from 0.34.6 to 0.34.7 - [Commits](kubernetes/api@v0.34.6...v0.34.7) Updates `k8s.io/apimachinery` from 0.34.6 to 0.34.7 - [Commits](kubernetes/apimachinery@v0.34.6...v0.34.7) Updates `k8s.io/client-go` from 0.34.6 to 0.34.7 - [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md) - [Commits](kubernetes/client-go@v0.34.6...v0.34.7) Updates `k8s.io/code-generator` from 0.34.6 to 0.34.7 - [Commits](kubernetes/code-generator@v0.34.6...v0.34.7) Updates `sigs.k8s.io/structured-merge-diff/v6` from 6.3.2 to 6.4.0 - [Changelog](https://github.com/kubernetes-sigs/structured-merge-diff/blob/master/RELEASE.md) - [Commits](kubernetes-sigs/structured-merge-diff@v6.3.2...v6.4.0) --- updated-dependencies: - dependency-name: k8s.io/api dependency-version: 0.34.7 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-go-mod-patch-and-minor - dependency-name: k8s.io/apimachinery dependency-version: 0.34.7 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-version: 0.34.7 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-version: 0.34.7 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-go-mod-patch-and-minor - dependency-name: sigs.k8s.io/structured-merge-diff/v6 dependency-version: 6.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all-go-mod-patch-and-minor ... Signed-off-by: dependabot[bot] <support@github.com>
…-2.0/all-go-mod-patch-and-minor-984d876390 🌱(deps): Bump the all-go-mod-patch-and-minor group across 1 directory with 5 updates
Bumps the all-go-mod-patch-and-minor group with 1 update in the / directory: [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo). Updates `github.com/onsi/ginkgo/v2` from 2.28.1 to 2.28.2 - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](onsi/ginkgo@v2.28.1...v2.28.2) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-version: 2.28.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-go-mod-patch-and-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Rewrite orcerrors.IsRetryable and replace all uses of orcerrors.IsConflict with !orcerrors.IsRetryable when classifying errors as terminal in create and update paths. IsConflict only caught HTTP 409 responses, but non-HTTP errors from gophercloud (e.g. client-side validation such as banned value_spec keys) would cause infinite retries. The rewritten IsRetryable returns true for more errors that may succeed when retried without changes to the spec: - HTTP error responses other than 409 are retryable (some 4xx errors like 400 Bad Request can be transient, e.g. when a dependency is not yet ready in OpenStack) - HTTP 409 Conflict is not retryable - Non-HTTP errors from gophercloud are not retryable The check is now nested inside an `if err != nil` guard for clarity and safety, matching the pattern already used in CreateResource paths. Also add godoc comments to all public functions in the errors package. Closes k-orc#241
[release-2.0] Use IsRetryable instead of IsConflict for terminal errors
…-2.0/all-go-mod-patch-and-minor-d6d901fb47 🌱(deps): Bump github.com/onsi/ginkgo/v2 from 2.28.1 to 2.28.2 in the all-go-mod-patch-and-minor group across 1 directory
Neutron returns HTTP 409 Conflict for quota-exceeded errors with an "OverQuota" type in the response body. Unlike other 409 errors, quota can free up without changes to the resource spec, so these should be retried. Add an isNeutronQuotaError helper that inspects the response body of HTTP errors for the "OverQuota" string, and use it in IsRetryable to allow retries on quota-exceeded 409s. Also add unit tests for IsRetryable covering all error categories. Fixes k-orc#667
[release-2.0] errors: treat Neutron quota-exceeded 409 errors as retryable
Fixes GO-2026-4986, GO-2026-4982, GO-2026-4980, GO-2026-4977, GO-2026-4971 in net/mail, html/template, and net standard library packages.
Fixes GO-2026-4918: infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE.
[release-2.0] Bump go and x/net
… with 2 updates Bumps the all-go-mod-patch-and-minor group with 1 update in the / directory: [github.com/onsi/ginkgo/v2](https://github.com/onsi/ginkgo). Updates `github.com/onsi/ginkgo/v2` from 2.28.2 to 2.28.3 - [Release notes](https://github.com/onsi/ginkgo/releases) - [Changelog](https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md) - [Commits](onsi/ginkgo@v2.28.2...v2.28.3) Updates `github.com/onsi/gomega` from 1.39.1 to 1.40.0 - [Release notes](https://github.com/onsi/gomega/releases) - [Changelog](https://github.com/onsi/gomega/blob/master/CHANGELOG.md) - [Commits](onsi/gomega@v1.39.1...v1.40.0) --- updated-dependencies: - dependency-name: github.com/onsi/ginkgo/v2 dependency-version: 2.28.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: all-go-mod-patch-and-minor - dependency-name: github.com/onsi/gomega dependency-version: 1.40.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: all-go-mod-patch-and-minor ... Signed-off-by: dependabot[bot] <support@github.com>
…-2.0/all-go-mod-patch-and-minor-66bef4e98a 🌱(deps): Bump the all-go-mod-patch-and-minor group across 1 directory with 2 updates
In particular, this fixes a possible namespace collision we've seem multiple times in CI.
[release-2.0] Bump kuttl to v0.26.0
❯ git diff upstream/release-2.0 -- ':!.ci-operator.yaml' ':!.snyk' \
':!Dockerfile.rhel' ':!openshift.mk' ':!openshift' ':!vendor' \
':!OWNERS' ':!OWNERS_ALIASES'
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
|
[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 |
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
|
/test verify-deps |
|
/test images |
|
/test images Slow registry? |
|
@stephenfin: 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. |
Sync
mainwith the latest upstream release branch,release-2.0.We should merge https://github.com/openshift/release/pulls/78860 at the same time.