-
Notifications
You must be signed in to change notification settings - Fork 49
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
Enhance Etcd configMap to provide consistency and controllability #812
base: master
Are you sure you want to change the base?
Conversation
4c392e8
to
cbd7d53
Compare
/assign @shreyas-s-rao |
@anveshreddy18 can you please add gardener/etcd-backup-restore#715 merge and release as a prerequisite to this PR's description? Just so we don't accidentally merge this PR before the changes are etcd-backup-restore are released. |
Sure, I hope your comment itself is sufficient. But I can add that once this PR is reviewed as we may lose any comment that we put right now because of the reviews. And for now the |
cbd7d53
to
fa91efc
Compare
/test pull-etcd-druid-e2e-kind |
Hi @anveshreddy18 ,
|
ccb9c8f
to
217ad19
Compare
PTAL. Thanks |
Sorry for being not clear, this is what I'm referring to:
this above command was written for |
It works for the new config map name as well as we fetch the name from the |
…t-count configurable | use proper url formatting for peer and client urls in etcd config
217ad19
to
7b3e5fb
Compare
@anveshreddy18: The following tests failed, say
Full PR test history. Your PR dashboard. Command help for this repository. 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. I understand the commands that are listed here. |
How to categorize this PR?
/area quality
/kind cleanup
/kind enhancement
What this PR does / why we need it:
This PR is to cleanup the Etcd ConfigMap to :
{etcd.Name}-config
instead of havingetcd-bootstrap
. This is for consistency with other resources that gets created as part of Etcd Reconciliation, like leases, role, rolebinding, etc and also have a proper nameconfig
for the configMap instead ofbootstrap
. This also involves cleanup logic for the existing configMap with older name.snapshot-count
configurable with the flagsnapshotCount
fromspec.etcd
section of etcd CR thus the operator is able to control the no.of transactions before committing a snapshot to disk if they want to.initial-advertise-peer-urls
andadvertise-client-urls
properties of the configMap and thereby fixing [Enhancement] Simplify etcd configuration and use proper URL instead of using @ as separator #476Previously the fields
initial-advertise-peer-urls
andadvertise-client-urls
of the etcd ConfigMap were constructed using an@
separator in the formatscheme@peerSvcName@namespace@port
which is then parsed by thebackup-restore
container to construct the full URL to be used by theetcd
container as its configuration.This PR aims to modify that to have the fully qualified URL(s) for each
etcd
member in the ConfigMap itself which thenbackup-restore
parses and sends only it's corresponding etcd member's URL(s) to the etcd process.The following is the format in the ConfigMap for the fields
initial-advertise-peer-urls
&advertise-client-urls
.The
additional urls
above is used for e.g. in CPM in the context of Gardener use case. For now from code we only populate the main in-cluster URL, but in future we will modify the API to allow passing these additional urls from the Etcd Spec which will get populated here and be subsequently parsed and sent to etcd process.Which issue(s) this PR fixes:
Fixes #717
Special notes for your reviewer:
I've used my personal docker image of backup-restore built on the
etcdbr
changes required for this to pass the tests. I will remove it once thebackup-restore
is released.Release note: