Operator silently swallows the client-certificate provisioning error
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 82/100
Research direction
Start in internal/controller/etcdcluster_controller.go at fetchAndValidateState around line 138, and trace how createClientCertificate errors are handled. Add the unit test described with a fake client that fails Certificate creation, then verify the reconcile result requeues instead of proceeding and that the existing success path remains intact.
Written by the indexing model from the issue text.
Description
Problem
In fetchAndValidateState (internal/controller/etcdcluster_controller.go:138), a failure from createClientCertificate is logged and then swallowed — the reconcile proceeds as if the client certificate exists. When provisioning genuinely fails (issuer not ready, RBAC, transient API error), the operator continues without a usable client cert, the error never surfaces in status, and any subsequent cert-dependent operation fails downstream with a less obvious symptom.
Proposed fix
On createClientCertificate failure, requeue with backoff (ctrl.Result{RequeueAfter: ...}) instead of logging-and-proceeding, so provisioning is retried and the cluster converges once the issuer is ready.
Small, self-contained change (~8 lines) with a unit test (fake client fails the Certificate create → assert requeue, not proceed). I'd like to send a PR for this.
- Dominant language
- Go
- Stars
- 164
- Forks
- 72
- Avg merge
- 21h 20m
- Merged PRs (30d)
- 33
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from etcd-io/etcd-operator
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
etcd-io/etcd-operator#371 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
etcd-io/etcd-operator#322 · 5 comments ·
-
etcd-io/etcd-operator#476 · 1 assignee ·
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
etcd-io/etcd-operator#475 ·
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
etcd-io/etcd-operator#474 · 1 comment ·
All issues in etcd-io/etcd-operator
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 84/100
-
enhancement needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
kind/cleanup
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
kubernetes-sigs/kueue#15947 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
sympozium-ai/sympozium#627 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100