apache / apache/openserverless

[OPERATOR] PodDisruptionBudget is deployed even if ETCD has 1 replicas

Open
#120 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
576
Forks
29
Avg merge
50m
Merged PRs (30d)
13

Description

- [ ] I have searched the [issues](https://github.com/apache/openserverless/issues) of this repository and believe that this is not a duplicate.

### Ⅰ. Issue Description

If we deploy Openserverless with `etcd.config.replicas: 1`, the Operator still deploys the PodDisruptionBudget (nuvolaris-etcd) resource and this prevents node drains.

### Ⅱ. Describe what happened

PodDisruptionBudget (nuvolaris-etcd) resource prevents k8s node drains (and a manual change on PDB resource is required to make the drain go ahead)

### Ⅲ. Describe what you expected to happen

PodDisruptionBudget (nuvolaris-etcd) should not be deployed if Openserverless is configured with `etcd.config.replicas: 1`.

### Ⅳ. How to reproduce it (as minimally and precisely as possible)

1. Deploy Openserverless with `etcd.config.replicas: 1`
2. Drain a master node

Minimal yet complete reproducer code (or URL to code):

### Ⅴ. Anything else we need to know?

The issue is probabily related to this file:
[https://github.com/apache/openserverless-operator/blob/main/deploy/etcd/etcd-policy.yaml](https://github.com/apache/openserverless-operator/blob/main/deploy/etcd/etcd-policy.yaml)

Maybe a condition should manage the deployment (or not) of manifest above.

### Ⅵ. Environment:

- K8S Runtime and version: k3s v1.29.3+k3s1
- OPS CLI version: 0.1.0-2409121919.dev

Contributor guide

Open the contributing guide

Research direction

Start with deploy/etcd/etcd-policy.yaml and inspect how the Operator renders this manifest from etcd.config.replicas. Reproduce the deployment with one replica and confirm the PodDisruptionBudget blocks node draining. Done means the PDB is absent for one replica while its existing behavior remains unchanged for higher replica counts.

Written by the indexing model from the issue text.

Assessment

Tech stack
kubernetes
Domain
devops, infrastructure
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.