Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use apps/v1 type for StatefulSetSpec in RabbitmqCluster override #1152

Closed
coro opened this issue Oct 3, 2022 · 3 comments
Closed

Use apps/v1 type for StatefulSetSpec in RabbitmqCluster override #1152

coro opened this issue Oct 3, 2022 · 3 comments
Assignees
Labels
closed-stale Issue or PR closed due to long period of inactivity stale Issue or PR with long period of inactivity sync-up Issue to discuss during sync-up

Comments

@coro
Copy link
Contributor

coro commented Oct 3, 2022

Is your feature request related to a problem? Please describe.
Currently, if a new field is exposed in the StatefulSetSpec by the upstream Kubernetes API, it is not usable in the StatefulSet Override feature of the cluster-operator until it is manually added to the rabbitmq.com/v1beta1 API.

This is because the API in this operator defines its own StatefulSetSpec, which is a subset of the fields available in the upstream StatefulSetSpec.

I would like to be able to use the new v1.25 StatefulSet feature Minimum ready seconds in the operator, but as it requires it to be specifically added to the subset StatefulSetSpec structure, I cannot currently.

Describe the solution you'd like
I would like for everything in apps/v1.StatefulSetSpec to be able to be provided in rabbitmqCluster.spec.override.statefulSet.spec.

Describe alternatives you've considered
We could add just this field, but we would be left with the long-term complexity of maintaining this separate list of fields, and the context behind why not all fields are passable.

Additional context
There was originally a bug in kubebuilder that forced us to create our own EmbeddedObjectMeta. See @ChunyiLyu's comment in the Context of this PR: #175

The fix is now in, meaning we should be able to use the core API types as requested above, making sure that we add the flag generateEmbeddedObjectMeta=true to controller-gen.

Converting a type in our API may require the use of a conversion webhook and a new API version.

@coro coro added the sync-up Issue to discuss during sync-up label Oct 3, 2022
@DanielePalaia DanielePalaia self-assigned this Oct 24, 2022
@DanielePalaia
Copy link
Contributor

As we understood that there is currently no way to implement this without having a breaking change on the operator I will move this one to Icebox at the moment and I've created: https://app.zenhub.com/workspaces/service-operator-experience-623895d9b17eb7001156689f/issues/rabbitmq/service-operator-experience/143 for the new parameter necessary

@github-actions
Copy link

github-actions bot commented Jan 2, 2023

This issue has been marked as stale due to 60 days of inactivity. Stale issues will be closed after a further 30 days of inactivity; please remove the stale label in order to prevent this occurring.

@github-actions github-actions bot added the stale Issue or PR with long period of inactivity label Jan 2, 2023
@github-actions
Copy link

github-actions bot commented Feb 1, 2023

Closing stale issue due to further inactivity.

@github-actions github-actions bot added the closed-stale Issue or PR closed due to long period of inactivity label Feb 1, 2023
@github-actions github-actions bot closed this as completed Feb 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
closed-stale Issue or PR closed due to long period of inactivity stale Issue or PR with long period of inactivity sync-up Issue to discuss during sync-up
Projects
None yet
Development

No branches or pull requests

2 participants