Skip to content

Conversation

shreyas-s-rao
Copy link
Contributor

@shreyas-s-rao shreyas-s-rao commented Jun 2, 2025

How to categorize this PR?

/area control-plane
/kind enhancement task

What this PR does / why we need it:
Introduce annotation druid.gardener.cloud/disable-etcd-runtime-component-creation for the Etcd resource to instruct druid to not create runtime components for the etcd cluster, such as pods, volumes, member leases and snapshot leases used by the pods to communicate status to druid, and RBAC resources (serviceaccount, role, rolebinding) needed by the etcd member pods to update said leases. This is useful when the operator wants to manage the runtime resources manually or when the runtime resources are not needed, but still requires the correct etcd cluster configuration to be made available.

This also disables status checks, since these rely on the existence of said leases and pods to derive etcd cluster status. In the future, we will work on ways for the running members to directly communicate status with druid without the need for a k8s cluster and leases to do so.

Which issue(s) this PR fixes:
Fixes #1106

Special notes for your reviewer:
/cc @rfranzke
/invite @ishan16696

Release note:

NONE

@shreyas-s-rao shreyas-s-rao added this to the v0.31.0 milestone Jun 2, 2025
@shreyas-s-rao shreyas-s-rao requested a review from a team as a code owner June 2, 2025 15:52
@gardener-robot gardener-robot added the needs/review Needs review label Jun 2, 2025
@gardener-robot gardener-robot requested a review from ishan16696 June 2, 2025 15:52
@gardener-robot gardener-robot added area/control-plane Control plane related kind/enhancement Enhancement, improvement, extension kind/task General task labels Jun 2, 2025
@gardener-robot-ci-2 gardener-robot-ci-2 added the reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) label Jun 2, 2025
@gardener-robot gardener-robot added size/l Size of pull request is large (see gardener-robot robot/bots/size.py) needs/second-opinion Needs second review by someone else labels Jun 2, 2025
@gardener-robot-ci-1 gardener-robot-ci-1 added needs/ok-to-test Needs approval for testing (check PR in detail before setting this label because PR is run on CI/CD) and removed reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) labels Jun 2, 2025
@gardener-robot gardener-robot added the needs/changes Needs (more) changes label Jun 4, 2025
@gardener-robot-ci-2 gardener-robot-ci-2 added reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) and removed reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) labels Jun 4, 2025
@ishan16696 ishan16696 self-assigned this Jun 5, 2025
@gardener-robot-ci-3 gardener-robot-ci-3 added reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) and removed reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) labels Jun 23, 2025
@shreyas-s-rao
Copy link
Contributor Author

As discussed in an out-of-band meeting between me, @unmarshall and @ishan16696 , we will allow the annotation to be added/removed during the lifecycle of the Etcd resource and continue having the cleanup logic to correctly handle these transitions in state. Additionally, we also add support for the etcd-component-protection webhook to allow changes on runtime components if the disable-runtime-component-creation annotation is set (in cases where user creates and manages these resource with labels that mimic components actually managed by druid).

Changes have been made in 3b71c46.

@unmarshall @ishan16696 PTAL.

Copy link
Member

@ishan16696 ishan16696 left a comment

Choose a reason for hiding this comment

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

LGTM!!

@ishan16696 ishan16696 removed their assignment Jun 26, 2025
@gardener-robot-ci-3 gardener-robot-ci-3 added reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) and removed reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) labels Jun 26, 2025
@shreyas-s-rao
Copy link
Contributor Author

@unmarshall I've added PDB, client service and peer service to runtime components in 7519be5. PTAL, thanks

@shreyas-s-rao
Copy link
Contributor Author

/retest

@gardener-robot-ci-1 gardener-robot-ci-1 added reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) and removed reviewed/ok-to-test Has approval for testing (check PR in detail before setting this label because PR is run on CI/CD) labels Jun 30, 2025
@shreyas-s-rao
Copy link
Contributor Author

/retest

@Shreyas-s14 Shreyas-s14 merged commit 7a5556a into gardener:master Jun 30, 2025
13 checks passed
@gardener-robot gardener-robot added the status/closed Issue is closed (either delivered or triaged) label Jun 30, 2025
@shreyas-s-rao shreyas-s-rao deleted the feature/asc/disable-runtime-components branch June 30, 2025 07:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/control-plane Control plane related kind/enhancement Enhancement, improvement, extension kind/task General task needs/changes Needs (more) changes needs/ok-to-test Needs approval for testing (check PR in detail before setting this label because PR is run on CI/CD) needs/review Needs review needs/second-opinion Needs second review by someone else size/l Size of pull request is large (see gardener-robot robot/bots/size.py) status/closed Issue is closed (either delivered or triaged)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support disabling creation of runtime components for etcd cluster
9 participants