-
Notifications
You must be signed in to change notification settings - Fork 321
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
HOSTEDCP-1122: Etcd defrag controller #2869
HOSTEDCP-1122: Etcd defrag controller #2869
Conversation
@imain: This pull request references HOSTEDCP-1122 which is a valid jira issue. In response to this:
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. |
Skipping CI for Draft Pull Request. |
control-plane-operator/controllers/hostedcontrolplane/etcddefrag/deployment.go
Outdated
Show resolved
Hide resolved
control-plane-operator/controllers/hostedcontrolplane/etcddefrag/deployment.go
Outdated
Show resolved
Hide resolved
e66e760
to
4190c52
Compare
@imain: This pull request references HOSTEDCP-1122 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.15.0" version, but it targets "openshift-4.15" instead. In response to this:
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. |
4190c52
to
fb37db1
Compare
fb37db1
to
260447b
Compare
✅ Deploy Preview for hypershift-docs ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
ca9e12b
to
6271bca
Compare
9a80b60
to
5d59a84
Compare
etcd-defrag/etcddefrag_controller.go
Outdated
return nil | ||
} | ||
|
||
func (r *DefragController) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the way this is built, why do we need to build the controller and implement the Reconciler interface at all? Couldn't we just let the ticker Runnable be Added in SetupWithManager and that's it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes we certainly could. I'll see about doing this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this was resolved but I don't see a clear answer let's unresolve it: do we need to implement the controller runtime interface at all or can we drop this no-op method?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh sorry! I did this but apparently I didn't get the patch in correctly! I'll fix it today.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, I just didn't remove the Reconcile() function. Anyway. Done now.
bd18a87
to
2932616
Compare
@imain: This pull request references HOSTEDCP-1122 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 either version "4.16." or "openshift-4.16.", but it targets "openshift-4.15" instead. In response to this:
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. |
/test e2e-aws |
/test e2e-kubevirt-aws-ovn |
This adds etcdcli package from cluster-etcd-operator. This let us communicate with etcd through its API.
This implements the defrag controller itself, using etcdcli and dnshelper.
Add the deployment of etcd-defrag-controller to the etcd pods. Leader election keeps only 1 container in 1 pod active at a time.
2932616
to
57d2600
Compare
I should add I've tested this quite a lot. It works well. |
/approve |
/hold |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: csrwng, imain 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 |
/hold cancel |
@imain: 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. |
[ART PR BUILD NOTIFIER] This PR has been included in build ose-hypershift-container-v4.16.0-202401022351.p0.g64e5032.assembly.stream for distgit hypershift. |
awesome, thanks Everyone! |
/cherry-pick release-4.15 |
This patchset is an implementation of an etcd defrag controller as part of control-plane-operator.
Fixes: https://issues.redhat.com/browse/HOSTEDCP-1122
What this PR does / why we need it:
Which issue(s) this PR fixes (optional, use
fixes #<issue_number>(, fixes #<issue_number>, ...)
format, where issue_number might be a GitHub issue, or a Jira story:Fixes #
Checklist