Skip to content

Conversation

@dprince
Copy link
Contributor

@dprince dprince commented Nov 5, 2025

This upgrades the operator-sdk to version 1.41.1, which includes migrating to the Kubebuilder v4 layout and modernizing the project structure.

Key changes:

  • Re-scaffold the project with operator-sdk 1.41.1
  • Update both main.go to support the latest kubebuilder features. This includes using WithAuthenticationAndAuthorization to guard metrics endpoints. This drops use of kube-rbac-proxy for openstack-operator.
  • Migrated from Kubebuilder v3 to v4 layout (PROJECT file updated)
  • Renamed apis/ directory to api/ following Kubebuilder v4 conventions
  • Updated all import paths throughout the codebase to use api/ instead of apis/
  • Moved main.go to cmd/main.go per new project structure
  • Partially updated webhook implementations to use new validation/defaulting patterns. More work can be done to consolidate the webhook code in the internal/webhook directory in the future.
  • Added missing webhook configurations for OpenStackClient, OpenStackDataPlaneService, and OpenStackDataPlaneDeployment to PROJECT
  • Upgraded kustomize from v5.5.0 to v5.6.0
  • Updated controller-gen paths to reflect new directory structure
  • Updated all Makefile targets and test paths

Co-Authored-By: Claude [email protected]

Jira: OSPRH-21438

@openshift-ci openshift-ci bot requested review from olliewalsh and rabi November 5, 2025 22:00
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Nov 5, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: dprince

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

The pull request process is described here

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 label Nov 5, 2025
@dprince dprince force-pushed the operator_sdk_1.41.1 branch 4 times, most recently from f64fb2b to 2f1af94 Compare November 5, 2025 22:54
@softwarefactory-project-zuul
Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/b2534c18212546cc9e05afb933645fbc

openstack-k8s-operators-content-provider FAILURE in 11m 43s
⚠️ podified-multinode-edpm-deployment-crc SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
⚠️ cifmw-crc-podified-edpm-baremetal SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
⚠️ adoption-standalone-to-crc-ceph-provider SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
⚠️ openstack-operator-tempest-multinode SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
✔️ openstack-operator-docs-preview SUCCESS in 2m 51s

@dprince dprince force-pushed the operator_sdk_1.41.1 branch from 2f1af94 to 2b3de79 Compare November 6, 2025 17:57
@softwarefactory-project-zuul
Copy link

This change depends on a change that failed to merge.

Change openstack-k8s-operators/ci-framework#3462 is needed.

@dprince
Copy link
Contributor Author

dprince commented Nov 6, 2025

recheck

@softwarefactory-project-zuul
Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/d538791d00e94a65bd0b322a2e3e8d0a

openstack-k8s-operators-content-provider FAILURE in 12m 09s
⚠️ podified-multinode-edpm-deployment-crc SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
⚠️ cifmw-crc-podified-edpm-baremetal SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
✔️ cifmw-pod-zuul-files SUCCESS in 4m 36s
⚠️ adoption-standalone-to-crc-ceph-provider SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
⚠️ openstack-operator-tempest-multinode SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
✔️ openstack-operator-docs-preview SUCCESS in 2m 28s
⚠️ openstack-operator-kuttl SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider (non-voting)

@dprince
Copy link
Contributor Author

dprince commented Nov 10, 2025

recheck

@softwarefactory-project-zuul
Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/8cbc53e091ff42ed997e95fff7e10b23

openstack-k8s-operators-content-provider FAILURE in 11m 46s
⚠️ podified-multinode-edpm-deployment-crc SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
⚠️ cifmw-crc-podified-edpm-baremetal SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
✔️ cifmw-pod-zuul-files SUCCESS in 4m 53s
⚠️ adoption-standalone-to-crc-ceph-provider SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
⚠️ openstack-operator-tempest-multinode SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
✔️ openstack-operator-docs-preview SUCCESS in 2m 27s
⚠️ openstack-operator-kuttl SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider (non-voting)

@dprince dprince force-pushed the operator_sdk_1.41.1 branch from 2b3de79 to 4b48211 Compare November 10, 2025 11:43
@softwarefactory-project-zuul
Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/97863a4bcd4e4daabdc162a8bb268052

openstack-k8s-operators-content-provider FAILURE in 12m 02s
⚠️ podified-multinode-edpm-deployment-crc SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
⚠️ cifmw-crc-podified-edpm-baremetal SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
✔️ cifmw-pod-zuul-files SUCCESS in 4m 17s
⚠️ adoption-standalone-to-crc-ceph-provider SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
⚠️ openstack-operator-tempest-multinode SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider
✔️ openstack-operator-docs-preview SUCCESS in 2m 55s
⚠️ openstack-operator-kuttl SKIPPED Skipped due to failed job openstack-k8s-operators-content-provider (non-voting)

@dprince dprince force-pushed the operator_sdk_1.41.1 branch from 4b48211 to 635d5f0 Compare November 10, 2025 14:15
@softwarefactory-project-zuul
Copy link

Zuul encountered a syntax error while parsing its
configuration in the repo openstack-k8s-operators/openstack-operator on branch main. The
problem was:

Job openstack-k8s-operators-content-provider in openstack-k8s-operators/openstack-operator is not permitted to shadow job openstack-k8s-operators-content-provider in openstack-k8s-operators/ci-framework

The problem appears in the the "openstack-k8s-operators-content-provider" job stanza:

job:
name: openstack-k8s-operators-content-provider
parent: openstack-k8s-operators-content-provider
vars:
cifmw_install_yamls_sdk_version: v1.41.1

in "openstack-k8s-operators/openstack-operator/zuul.d/jobs.yaml@main", line 2

@dprince dprince force-pushed the operator_sdk_1.41.1 branch from 635d5f0 to 511b65d Compare November 10, 2025 14:42
@softwarefactory-project-zuul
Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/f49f45fe463840dd9934b40fb3bf75b3

✔️ openstack-k8s-operators-content-provider SUCCESS in 3h 20m 36s
podified-multinode-edpm-deployment-crc POST_FAILURE in 1h 10m 52s
cifmw-crc-podified-edpm-baremetal POST_FAILURE in 1h 31m 46s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 35s
adoption-standalone-to-crc-ceph-provider POST_FAILURE in 3h 05m 04s
openstack-operator-tempest-multinode POST_FAILURE in 1h 30m 51s
✔️ openstack-operator-docs-preview SUCCESS in 2m 28s

@softwarefactory-project-zuul
Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/865fd15b6206427a834c1c2f6f48ce97

✔️ openstack-k8s-operators-content-provider SUCCESS in 3h 17m 47s
podified-multinode-edpm-deployment-crc POST_FAILURE in 1h 12m 22s
cifmw-crc-podified-edpm-baremetal POST_FAILURE in 1h 32m 44s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 27s
adoption-standalone-to-crc-ceph-provider POST_FAILURE in 3h 03m 29s
openstack-operator-tempest-multinode POST_FAILURE in 1h 34m 13s
✔️ openstack-operator-docs-preview SUCCESS in 2m 37s

@dprince dprince force-pushed the operator_sdk_1.41.1 branch 2 times, most recently from 06d5017 to 8825836 Compare November 11, 2025 12:16
@softwarefactory-project-zuul
Copy link

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/d1e11003918e4bee830208100b65dc2f

✔️ openstack-k8s-operators-content-provider SUCCESS in 3h 13m 41s
podified-multinode-edpm-deployment-crc POST_FAILURE in 1h 16m 47s
cifmw-crc-podified-edpm-baremetal POST_FAILURE in 1h 23m 17s
✔️ cifmw-pod-zuul-files SUCCESS in 4m 37s
adoption-standalone-to-crc-ceph-provider POST_FAILURE in 2h 59m 43s
openstack-operator-tempest-multinode POST_FAILURE in 1h 34m 24s
✔️ openstack-operator-docs-preview SUCCESS in 2m 34s

@dprince dprince force-pushed the operator_sdk_1.41.1 branch 2 times, most recently from 76478d6 to 77abb3b Compare November 11, 2025 18:34
@dprince
Copy link
Contributor Author

dprince commented Nov 13, 2025

/retest-required

dprince added a commit to dprince/keystone-operator that referenced this pull request Nov 14, 2025
Rescaffold the keystone-operator to operator-sdk 1.41.1, which includes:
- Reorganize project structure (pkg/ -> internal/)
- Move webhook implementations to internal/webhook/v1beta1/
- Add new cmd/main.go entrypoint with updated controller initialization
- Update RBAC, certmanager, and prometheus configurations
- Enhance network policies for metrics and webhook traffic
- Set keystone as defaulting resource in PROJECT file
- Remove auto-generated test suite scaffolding
- Update build workflow and Dockerfile to version 1.41.1

This upgrade modernizes the operator structure and aligns with the latest
operator-sdk best practices.

Jira: OSPRH-21924

Depends-On: openstack-k8s-operators/openstack-operator#1683
dprince added a commit to dprince/glance-operator that referenced this pull request Nov 14, 2025
Rescaffold the glance-operator to operator-sdk 1.41.1, which includes:
 - Reorganize project structure (pkg/ -> internal/)
 - Move webhook implementations to internal/webhook/v1beta1/
 - Add new cmd/main.go entrypoint with updated controller initialization
 - Update RBAC, certmanager, and prometheus configurations
 - Enhance network policies for metrics and webhook traffic
 - Set glance as defaulting resource in PROJECT file
 - Remove auto-generated test suite scaffolding
 - Update build workflow and Dockerfile to version 1.41.1

This upgrade modernizes the operator structure and aligns with the latest
operator-sdk best practices.

Jira: OSPRH-21932

Depends-On: openstack-k8s-operators/openstack-operator#1683
dprince added a commit to dprince/glance-operator that referenced this pull request Nov 14, 2025
Rescaffold the glance-operator to operator-sdk 1.41.1, which includes:
 - Reorganize project structure (pkg/ -> internal/)
 - Move webhook implementations to internal/webhook/v1beta1/
 - Add new cmd/main.go entrypoint with updated controller initialization
 - Update RBAC, certmanager, and prometheus configurations
 - Enhance network policies for metrics and webhook traffic
 - Set glance as defaulting resource in PROJECT file
 - Remove auto-generated test suite scaffolding
 - Update build workflow and Dockerfile to version 1.41.1

This upgrade modernizes the operator structure and aligns with the latest
operator-sdk best practices.

Jira: OSPRH-21932

Depends-On: openstack-k8s-operators/openstack-operator#1683
dprince added a commit to dprince/barbican-operator that referenced this pull request Nov 14, 2025
Rescaffold the barbican-operator to operator-sdk 1.41.1, which includes:
 - Reorganize project structure (pkg/ -> internal/)
 - Move webhook implementations to internal/webhook/v1beta1/
 - Add new cmd/main.go entrypoint with updated controller initialization
 - Update RBAC, certmanager, and prometheus configurations
 - Enhance network policies for metrics and webhook traffic
 - Add missing APIs to PROJECT
 - Remove auto-generated test suite scaffolding
 - Update build workflow and Dockerfile to version 1.41.1

This upgrade modernizes the operator structure and aligns with the latest
operator-sdk best practices.

Jira: OSPRH-21925

Depends-On: openstack-k8s-operators/openstack-operator#1683
stuggi added a commit to stuggi/infra-operator that referenced this pull request Nov 14, 2025
Depends-On: openstack-k8s-operators/openstack-operator#1683

Signed-off-by: Martin Schuppert <[email protected]>
dprince added a commit to dprince/glance-operator that referenced this pull request Nov 14, 2025
Rescaffold the glance-operator to operator-sdk 1.41.1, which includes:
 - Reorganize project structure (pkg/ -> internal/)
 - Move webhook implementations to internal/webhook/v1beta1/
 - Add new cmd/main.go entrypoint with updated controller initialization
 - Update RBAC, certmanager, and prometheus configurations
 - Enhance network policies for metrics and webhook traffic
 - Set glance as defaulting resource in PROJECT file
 - Remove auto-generated test suite scaffolding
 - Update build workflow and Dockerfile to version 1.41.1

This upgrade modernizes the operator structure and aligns with the latest
operator-sdk best practices.

Jira: OSPRH-21932

Depends-On: openstack-k8s-operators/openstack-operator#1683
dprince added a commit to dprince/keystone-operator that referenced this pull request Nov 14, 2025
Rescaffold the keystone-operator to operator-sdk 1.41.1, which includes:
- Reorganize project structure (pkg/ -> internal/)
- Move webhook implementations to internal/webhook/v1beta1/
- Add new cmd/main.go entrypoint with updated controller initialization
- Update RBAC, certmanager, and prometheus configurations
- Enhance network policies for metrics and webhook traffic
- Set keystone as defaulting resource in PROJECT file
- Remove auto-generated test suite scaffolding
- Update build workflow and Dockerfile to version 1.41.1

This upgrade modernizes the operator structure and aligns with the latest
operator-sdk best practices.

Jira: OSPRH-21924

Depends-On: openstack-k8s-operators/openstack-operator#1683
dprince added a commit to dprince/barbican-operator that referenced this pull request Nov 14, 2025
Rescaffold the barbican-operator to operator-sdk 1.41.1, which includes:
 - Reorganize project structure (pkg/ -> internal/)
 - Move webhook implementations to internal/webhook/v1beta1/
 - Add new cmd/main.go entrypoint with updated controller initialization
 - Update RBAC, certmanager, and prometheus configurations
 - Enhance network policies for metrics and webhook traffic
 - Add missing APIs to PROJECT
 - Remove auto-generated test suite scaffolding
 - Update build workflow and Dockerfile to version 1.41.1

This upgrade modernizes the operator structure and aligns with the latest
operator-sdk best practices.

Jira: OSPRH-21925

Depends-On: openstack-k8s-operators/openstack-operator#1683
dprince added a commit to dprince/glance-operator that referenced this pull request Nov 14, 2025
dprince added a commit to dprince/keystone-operator that referenced this pull request Nov 14, 2025
Rescaffold the keystone-operator to operator-sdk 1.41.1, which includes:
- Reorganize project structure (pkg/ -> internal/)
- Move webhook implementations to internal/webhook/v1beta1/
- Add new cmd/main.go entrypoint with updated controller initialization
- Update RBAC, certmanager, and prometheus configurations
- Enhance network policies for metrics and webhook traffic
- Set keystone as defaulting resource in PROJECT file
- Remove auto-generated test suite scaffolding
- Update build workflow and Dockerfile to version 1.41.1

This upgrade modernizes the operator structure and aligns with the latest
operator-sdk best practices.

Jira: OSPRH-21924

Depends-On: openstack-k8s-operators/openstack-operator#1683
dprince added a commit to dprince/glance-operator that referenced this pull request Nov 14, 2025
Rescaffold the glance-operator to operator-sdk 1.41.1, which includes:
 - Reorganize project structure (pkg/ -> internal/)
 - Move webhook implementations to internal/webhook/v1beta1/
 - Add new cmd/main.go entrypoint with updated controller initialization
 - Update RBAC, certmanager, and prometheus configurations
 - Enhance network policies for metrics and webhook traffic
 - Set glance as defaulting resource in PROJECT file
 - Remove auto-generated test suite scaffolding
 - Update build workflow and Dockerfile to version 1.41.1

This upgrade modernizes the operator structure and aligns with the latest
operator-sdk best practices.

Jira: OSPRH-21932

Depends-On: openstack-k8s-operators/openstack-operator#1683
dprince added a commit to dprince/keystone-operator that referenced this pull request Nov 14, 2025
Rescaffold the keystone-operator to operator-sdk 1.41.1, which includes:
- Reorganize project structure (pkg/ -> internal/)
- Move webhook implementations to internal/webhook/v1beta1/
- Add new cmd/main.go entrypoint with updated controller initialization
- Update RBAC, certmanager, and prometheus configurations
- Enhance network policies for metrics and webhook traffic
- Set keystone as defaulting resource in PROJECT file
- Remove auto-generated test suite scaffolding
- Update build workflow and Dockerfile to version 1.41.1

This upgrade modernizes the operator structure and aligns with the latest
operator-sdk best practices.

Jira: OSPRH-21924

Depends-On: openstack-k8s-operators/openstack-operator#1683
@stuggi
Copy link
Contributor

stuggi commented Nov 14, 2025

fyi, the force-bump workflows should use quay.io/openstack-k8s-operators/openstack-k8s-operators-ci-build-tools:golang-1.24-sdk-1.41.1

dprince added a commit to dprince/glance-operator that referenced this pull request Nov 14, 2025
Rescaffold the glance-operator to operator-sdk 1.41.1, which includes:
 - Reorganize project structure (pkg/ -> internal/)
 - Move webhook implementations to internal/webhook/v1beta1/
 - Add new cmd/main.go entrypoint with updated controller initialization
 - Update RBAC, certmanager, and prometheus configurations
 - Enhance network policies for metrics and webhook traffic
 - Set glance as defaulting resource in PROJECT file
 - Remove auto-generated test suite scaffolding
 - Update build workflow and Dockerfile to version 1.41.1

This upgrade modernizes the operator structure and aligns with the latest
operator-sdk best practices.

Jira: OSPRH-21932

Depends-On: openstack-k8s-operators/openstack-operator#1683
dprince added a commit to dprince/keystone-operator that referenced this pull request Nov 14, 2025
Rescaffold the keystone-operator to operator-sdk 1.41.1, which includes:
- Reorganize project structure (pkg/ -> internal/)
- Move webhook implementations to internal/webhook/v1beta1/
- Add new cmd/main.go entrypoint with updated controller initialization
- Update RBAC, certmanager, and prometheus configurations
- Enhance network policies for metrics and webhook traffic
- Set keystone as defaulting resource in PROJECT file
- Remove auto-generated test suite scaffolding
- Update build workflow and Dockerfile to version 1.41.1

This upgrade modernizes the operator structure and aligns with the latest
operator-sdk best practices.

Jira: OSPRH-21924

Depends-On: openstack-k8s-operators/openstack-operator#1683
dprince added a commit to dprince/barbican-operator that referenced this pull request Nov 14, 2025
Rescaffold the barbican-operator to operator-sdk 1.41.1, which includes:
 - Reorganize project structure (pkg/ -> internal/)
 - Move webhook implementations to internal/webhook/v1beta1/
 - Add new cmd/main.go entrypoint with updated controller initialization
 - Update RBAC, certmanager, and prometheus configurations
 - Enhance network policies for metrics and webhook traffic
 - Add missing APIs to PROJECT
 - Remove auto-generated test suite scaffolding
 - Update build workflow and Dockerfile to version 1.41.1

This upgrade modernizes the operator structure and aligns with the latest
operator-sdk best practices.

Jira: OSPRH-21925

Depends-On: openstack-k8s-operators/openstack-operator#1683
This upgrades the operator-sdk to version 1.41.1, which includes migrating
to the Kubebuilder v4 layout and modernizing the project structure.

Key changes:
  - Re-scaffold the project with operator-sdk 1.41.1
  - Update both main.go to support the latest kubebuilder features. This
    includes using WithAuthenticationAndAuthorization to guard metrics
    endpoints. This drops use of kube-rbac-proxy for openstack-operator.
  - Migrated from Kubebuilder v3 to v4 layout (PROJECT file updated)
  - Renamed apis/ directory to api/ following Kubebuilder v4 conventions
  - Updated all import paths throughout the codebase to use api/ instead of apis/
  - Moved main.go to cmd/main.go per new project structure
  - Partially updated webhook implementations to use new validation/defaulting patterns. More
    work can be done to consolidate the webhook code in the internal/webhook directory in the future.
  - Added missing webhook configurations for OpenStackClient, OpenStackDataPlaneService, and
    OpenStackDataPlaneDeployment to PROJECT
  - Upgraded kustomize from v5.5.0 to v5.6.0
  - Updated controller-gen paths to reflect new directory structure
  - Updated all Makefile targets and test paths

Co-Authored-By: Claude <[email protected]>

Jira: OSPRH-21438
@dprince dprince force-pushed the operator_sdk_1.41.1 branch from a5c1185 to 19db487 Compare November 14, 2025 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants