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

ETCD-520: add etcd dbsize field #1736

Merged

Conversation

Elbehery
Copy link
Contributor

This PR adds field etcdDBSize to etcd-operator CRD to make etcd backend storage size configurable in OCP.

resolves https://issues.redhat.com/browse/ETCD-513

cc @soltysh @deads2k @tjungblu @dusk125 @hasbro17

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jan 21, 2024
@openshift-ci-robot
Copy link

openshift-ci-robot commented Jan 21, 2024

@Elbehery: This pull request references ETCD-513 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the epic to target the "4.16.0" version, but no target version was set.

In response to this:

This PR adds field etcdDBSize to etcd-operator CRD to make etcd backend storage size configurable in OCP.

resolves https://issues.redhat.com/browse/ETCD-513

cc @soltysh @deads2k @tjungblu @dusk125 @hasbro17

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.

@Elbehery
Copy link
Contributor Author

/hold

@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Jan 21, 2024
Copy link
Contributor

openshift-ci bot commented Jan 21, 2024

Hello @Elbehery! Some important instructions when contributing to openshift/api:
API design plays an important part in the user experience of OpenShift and as such API PRs are subject to a high level of scrutiny to ensure they follow our best practices. If you haven't already done so, please review the OpenShift API Conventions and ensure that your proposed changes are compliant. Following these conventions will help expedite the api review process for your PR.

@openshift-ci openshift-ci bot added do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Jan 21, 2024
@Elbehery Elbehery changed the title WIP:ETCD-513: add etcd dbsize field WIP:ETCD-520: add etcd dbsize field Jan 21, 2024
@openshift-ci-robot
Copy link

openshift-ci-robot commented Jan 21, 2024

@Elbehery: This pull request references ETCD-520 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.16.0" version, but no target version was set.

In response to this:

This PR adds field etcdDBSize to etcd-operator CRD to make etcd backend storage size configurable in OCP.

resolves https://issues.redhat.com/browse/ETCD-513

cc @soltysh @deads2k @tjungblu @dusk125 @hasbro17

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.

operator/v1/types_etcd.go Outdated Show resolved Hide resolved
@Elbehery Elbehery force-pushed the add_etcd_database_size branch 2 times, most recently from b66c470 to 3d08345 Compare January 22, 2024 16:41
@Elbehery
Copy link
Contributor Author

/assign @deads2k
/assign @soltysh

@Elbehery
Copy link
Contributor Author

/retest-required

1 similar comment
@Elbehery
Copy link
Contributor Author

/retest-required

@Elbehery
Copy link
Contributor Author

the failure in ci/prow/integration is due to other tests

cc @soltysh

@dusk125
Copy link
Contributor

dusk125 commented Jan 24, 2024

Enhancement for this change can be found here openshift/enhancements#1549

@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jan 31, 2024
operator/v1/types_etcd.go Outdated Show resolved Hide resolved
@openshift-ci openshift-ci bot removed the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Mar 14, 2024
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Mar 14, 2024
@Elbehery
Copy link
Contributor Author

/retest-required

@Elbehery
Copy link
Contributor Author

/test e2e-aws-ovn-hypershift

@Elbehery
Copy link
Contributor Author

see thread for hypershift job failure

@Elbehery
Copy link
Contributor Author

@soltysh e2e-aws-ovn-hypershift fails due to this

Shall we override ?

"description": "backendQuotaGiB sets the etcd backend storage size limit in gibibytes. The value should be an integer not less than 8 and not more than 32. When not specified, the default value is 8.",
"type": "integer",
"format": "int32",
"default": 0
Copy link
Contributor

Choose a reason for hiding this comment

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

That's not right, this should be 8, whys the tag not worked 🤔

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I have no idea why .. the taga are correct

operator/v1/types_etcd.go Outdated Show resolved Hide resolved
Comment on lines 71 to 81
// backendQuotaGiB sets the etcd backend storage size limit in gibibytes.
// The value should be an integer not less than 8 and not more than 32.
// When not specified, the default value is 8.
// +kubebuilder:default:=8
// +kubebuilder:validation:Minimum=8
// +kubebuilder:validation:Maximum=32
// +kubebuilder:validation:XValidation:rule="self>=oldSelf",message="etcd backendQuotaGiB may not be decreased"
// +openshift:enable:FeatureGate=EtcdBackendQuota
// +default:=8
// +optional
BackendQuotaGiB int32 `json:"backendQuotaGiB,omitempty"`
Copy link
Contributor

Choose a reason for hiding this comment

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

Lets do the example as a separate PR, and please make it generic, we are looking to show a specific thing here which is the defaulting and min/max, we don't need the full type. See other examples and how they're set up

@Elbehery
Copy link
Contributor Author

/retest-required

1 similar comment
@Elbehery
Copy link
Contributor Author

/retest-required

operator/v1/types_etcd.go Outdated Show resolved Hide resolved
@JoelSpeed
Copy link
Contributor

I'm happy with the content of the PR at this point, is the rest of this feature ready to go, is the plan still to try and merge this for 4.16?

@Elbehery
Copy link
Contributor Author

Elbehery commented May 2, 2024

I'm happy with the content of the PR at this point, is the rest of this feature ready to go, is the plan still to try and merge this for 4.16?

yes it is due on 4.16

the rest of this feature is here already done waiting on this to merge .. i already tested manually on a cluster and it is working .. you can find the e2e test on this PR at this file test/e2e/scaling_dbsize_test.go

Once this PR merge, I will bump the openshift/api dep and remove the manual steps on the e2e test

cc @soltysh @openshift/openshift-team-etcd cc @dmwest2

@Elbehery
Copy link
Contributor Author

Elbehery commented May 2, 2024

/retest-required

@JoelSpeed
Copy link
Contributor

/approve

Can someone from the team working this feature, @soltysh maybe, add the LGTM and hold cancel if we are happy for this to merge at this point, considering proximity to the feature freeze

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 3, 2024
@Elbehery
Copy link
Contributor Author

Elbehery commented May 3, 2024

/approve

Can someone from the team working this feature, @soltysh maybe, add the LGTM and hold cancel if we are happy for this to merge at this point, considering proximity to the feature freeze

@soltysh is on vacation, maybe @deads2k or @mfojtik can label it ?

cc @openshift/openshift-team-etcd

@Elbehery
Copy link
Contributor Author

Elbehery commented May 3, 2024

/hold cancel

@openshift-ci openshift-ci bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label May 3, 2024
@deads2k
Copy link
Contributor

deads2k commented May 3, 2024

before going to accessible-by-default, in addition to tests the API PR must link tested documentation for

  • Etcd Team to investigate whether a larger etcd database can cause crash-loops in Etcd (via out-of-memory for example) on restarts (similar to the above API server issue).
    • If it is possible to get into a crash-loop because of the database size, the Etcd team will document how to recover the Etcd cluster from this state.

and if it is "impossible", I'd like to understand where the infinite memory machine comes from.

@deads2k
Copy link
Contributor

deads2k commented May 3, 2024

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label May 3, 2024
Copy link
Contributor

openshift-ci bot commented May 3, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: deads2k, Elbehery, JoelSpeed

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

Copy link
Contributor

openshift-ci bot commented May 3, 2024

@Elbehery: all tests passed!

Full PR test history. Your PR dashboard.

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/test-infra repository. I understand the commands that are listed here.

@openshift-merge-bot openshift-merge-bot bot merged commit 56da039 into openshift:master May 3, 2024
18 checks passed
@openshift-bot
Copy link

[ART PR BUILD NOTIFIER]

This PR has been included in build ose-cluster-config-api-container-v4.16.0-202405031950.p0.g56da039.assembly.stream.el9 for distgit ose-cluster-config-api.
All builds following this will include this PR.

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. 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. 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.

None yet

10 participants