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

Add proposal for new API v1alpha1.ScyllaDBDatacenter #1994

Merged

Conversation

zimnx
Copy link
Collaborator

@zimnx zimnx commented Jun 26, 2024

This proposal aims to introduce new API called v1alpha1.ScyllaDBDatacenter that will eventually replace existing v1.ScyllaCluster. The new API offers the same features as existing one, but it will contain fixes for mistakes we did in the past, as well as several UX improvements.

This PR is a place for discussion. If you find something wrong or something that could be improved within current API please raise it here.

Resolves #1978

@zimnx zimnx added priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. kind/design Categorizes issue or PR as related to design. labels Jun 26, 2024
@scylla-operator-bot scylla-operator-bot bot added the size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. label Jun 26, 2024
@scylla-operator-bot scylla-operator-bot bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 26, 2024
@zimnx zimnx changed the title Add proposal for new API v1alpha1.ScyllaDBDatacenter [WIP] Add proposal for new API v1alpha1.ScyllaDBDatacenter Jun 27, 2024
@scylla-operator-bot scylla-operator-bot bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jun 27, 2024
@zimnx
Copy link
Collaborator Author

zimnx commented Jun 27, 2024

Marking as WIP after offline discussion to prepare API for new changes.

@zimnx zimnx force-pushed the scylladbdatacenter-proposal branch 2 times, most recently from c810bd3 to 5234f75 Compare July 1, 2024 11:27
@zimnx zimnx changed the title [WIP] Add proposal for new API v1alpha1.ScyllaDBDatacenter Add proposal for new API v1alpha1.ScyllaDBDatacenter Jul 1, 2024
@scylla-operator-bot scylla-operator-bot bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jul 1, 2024
@zimnx
Copy link
Collaborator Author

zimnx commented Jul 1, 2024

No longer WIP.

Copy link
Member

@rzetelskik rzetelskik left a comment

Choose a reason for hiding this comment

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

Left a couple of comments.
Please review the code snippets for inconsistent indentations, there's a couple of places where they're off.

Also I haven't noticed any mentions of a deprecation plan. Is the existing CRD going to be deprecated at some point? If so, how long are we going to keep it, when are we going to get rid of the conversion controller etc. Otherwise it should be mentioned in the doc either way imo.

@zimnx zimnx force-pushed the scylladbdatacenter-proposal branch 2 times, most recently from 3c5c77c to d72bd9e Compare July 2, 2024 13:05
@zimnx zimnx requested a review from rzetelskik July 2, 2024 13:05
@zimnx zimnx force-pushed the scylladbdatacenter-proposal branch from d72bd9e to 2e2ba9c Compare July 2, 2024 13:38
Copy link
Member

@tnozicka tnozicka left a comment

Choose a reason for hiding this comment

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

Thanks for sending the proposal. A few comments to start with, I'll continue tomorrow.

@zimnx zimnx force-pushed the scylladbdatacenter-proposal branch 2 times, most recently from 108d01f to 38ca580 Compare July 2, 2024 16:46
@zimnx zimnx requested a review from tnozicka July 2, 2024 16:47
// sysctls holds the sysctl properties to be applied during initialization given as a list of key=value pairs.
// Example: fs.aio-max-nr=232323
// +optional
Sysctls []string `json:"sysctls,omitempty"`
Copy link
Member

@tnozicka tnozicka Jul 3, 2024

Choose a reason for hiding this comment

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

racks/zones could have different machine types or hardware - maybe this should be on the rack level - i guess a similar point can be made for some other fields on this level

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I don't think sysctls should be part of ScyllaDatacenter at all. These should belong to NodeConfig which sets up the nodes. I added them to be backward compatible.

Maybe we should get rid of it, the same way we got rid of Manager tasks and until a better alternative is available, have a support via annotation? WDYT?
We need to have any support because Scylla usually requires aio-max-nr to be increased.

Copy link
Member

Choose a reason for hiding this comment

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

I haven't look deep enough to see whether some sysctls make sense per container, but I see that the majority should be per node. So maybe this would go away with #749. I agree that internal annotation let's us defer the decision. (Btw. it would be good to add all those reasons to the annotation const definitions, so we know when we can drop it.)

Copy link
Member

Choose a reason for hiding this comment

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

I suppose we should file issues to track deprecation of fields that you are moving to annotation, unless they already have one like hostNetworking.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Once we have everything finalized I will create issues for missing parts

@zimnx zimnx force-pushed the scylladbdatacenter-proposal branch from 38ca580 to 4f9039b Compare July 9, 2024 14:14
@zimnx zimnx requested a review from tnozicka July 9, 2024 14:18
@zimnx zimnx force-pushed the scylladbdatacenter-proposal branch from 4f9039b to 1fc46f3 Compare July 11, 2024 16:12
@zimnx zimnx force-pushed the scylladbdatacenter-proposal branch 2 times, most recently from a4b7bbb to c8c4554 Compare July 12, 2024 14:00
Copy link
Member

@tnozicka tnozicka left a comment

Choose a reason for hiding this comment

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

last nits / typos, rest lgtm

thanks for the updates

@zimnx zimnx force-pushed the scylladbdatacenter-proposal branch 2 times, most recently from fca5d7b to 7354b55 Compare July 15, 2024 08:15
@tnozicka
Copy link
Member

lgtm
/assign rzetelski

Copy link
Contributor

@tnozicka: GitHub didn't allow me to assign the following users: rzetelski.

Note that only scylladb members with read permissions, repo collaborators and people who have commented on this issue/PR can be assigned. Additionally, issues/PRs can only have 10 assignees at the same time.
For more information please see the contributor guide

In response to this:

lgtm
/assign rzetelski

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.

This proposal aims to introduce new API called `v1alpha1.ScyllaDBDatacenter` that will replace existing `v1.ScyllaCluster`.
The new API is going to be backward compatible and will contain fixes for mistakes we did in the past and new improvements.
@zimnx zimnx force-pushed the scylladbdatacenter-proposal branch from 7354b55 to dcd4174 Compare July 15, 2024 08:29
Copy link
Member

@rzetelskik rzetelskik left a comment

Choose a reason for hiding this comment

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

/lgtm
Thanks!

@scylla-operator-bot scylla-operator-bot bot added the lgtm Indicates that a PR is ready to be merged. label Jul 15, 2024
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: rzetelskik, tnozicka, zimnx

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

@scylla-operator-bot scylla-operator-bot bot merged commit 9de01cf into scylladb:master Jul 15, 2024
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. kind/design Categorizes issue or PR as related to design. lgtm Indicates that a PR is ready to be merged. priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create proposal for ScyllaDBDatacenter/v1alpha1 API
3 participants