Browse Source

[bitnami/milvus] PDB review (#25983)

* [bitnami/milvus] PDB review

Signed-off-by: Fran Mulero <fmulero@vmware.com>

* Update CHANGELOG.md

Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>

* Update CHANGELOG.md

Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>

* Update README.md with readme-generator-for-helm

Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>

* Amend pdb.maxUnavailable and pdb.minAvailable types

Signed-off-by: Fran Mulero <fmulero@vmware.com>

* Update CHANGELOG.md

Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>

* Update README.md with readme-generator-for-helm

Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>

* Update CHANGELOG.md

Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>

* Update CHANGELOG.md

Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>

* Increase ETCD resources for testing

Signed-off-by: Fran Mulero <fmulero@vmware.com>

* Update CHANGELOG.md

Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>

* Set verification=SERIAL. Current infrastructure can spin up 2 charts at the same time

Signed-off-by: Fran Mulero <fmulero@vmware.com>

---------

Signed-off-by: Fran Mulero <fmulero@vmware.com>
Signed-off-by: Carlos Rodríguez Hernández <carlosrh@vmware.com>
Signed-off-by: Bitnami Containers <bitnami-bot@vmware.com>
Co-authored-by: Carlos Rodríguez Hernández <carlosrh@vmware.com>
Co-authored-by: Bitnami Containers <bitnami-bot@vmware.com>
Fran Mulero 1 year ago
parent
commit
4e804630c3

+ 2 - 0
.vib/milvus/vib-action.config

@@ -0,0 +1,2 @@
+verification-mode=SERIAL
+

+ 5 - 1
bitnami/milvus/CHANGELOG.md

@@ -1,8 +1,12 @@
 # Changelog
 
+## 8.1.0 (2024-05-29)
+
+* [bitnami/milvus] PDB review ([#25983](https://github.com/bitnami/charts/pull/25983))
+
 ## 8.0.0 (2024-05-27)
 
-* [bitnami/milvus] Update dependencies ([#26445](https://github.com/bitnami/charts/pull/26445))
+* [bitnami/milvus] Update dependencies (#26445) ([e4dc085](https://github.com/bitnami/charts/commit/e4dc085dc62abade1fb18389831ad5a4ef41a75d)), closes [#26445](https://github.com/bitnami/charts/issues/26445)
 
 ## <small>7.1.2 (2024-05-24)</small>
 

+ 1 - 1
bitnami/milvus/Chart.yaml

@@ -48,4 +48,4 @@ maintainers:
 name: milvus
 sources:
 - https://github.com/bitnami/charts/tree/main/bitnami/milvus
-version: 8.0.0
+version: 8.1.0

+ 27 - 27
bitnami/milvus/README.md

@@ -437,9 +437,9 @@ wrj2wDbCDCFmfqnSJ+dKI3vFLlEz44sAV8jX/kd4Y6ZTQhlLbYc=
 | `dataCoord.serviceAccount.name`                               | The name of the ServiceAccount to use                                                                                                                                                                                                 | `""`             |
 | `dataCoord.serviceAccount.automountServiceAccountToken`       | Allows auto mount of ServiceAccountToken on the serviceAccount created                                                                                                                                                                | `false`          |
 | `dataCoord.serviceAccount.annotations`                        | Additional custom annotations for the ServiceAccount                                                                                                                                                                                  | `{}`             |
-| `dataCoord.pdb.create`                                        | Enable/disable a Pod Disruption Budget creation                                                                                                                                                                                       | `false`          |
-| `dataCoord.pdb.minAvailable`                                  | Minimum number/percentage of pods that should remain scheduled                                                                                                                                                                        | `1`              |
-| `dataCoord.pdb.maxUnavailable`                                | Maximum number/percentage of pods that may be made unavailable                                                                                                                                                                        | `""`             |
+| `dataCoord.pdb.create`                                        | Enable/disable a Pod Disruption Budget creation                                                                                                                                                                                       | `true`           |
+| `dataCoord.pdb.minAvailable`                                  | Minimum number/percentage of pods that should remain scheduled                                                                                                                                                                        | `{}`             |
+| `dataCoord.pdb.maxUnavailable`                                | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `dataCoord.pdb.minAvailable` and `dataCoord.pdb.maxUnavailable` are empty.                                                                    | `{}`             |
 
 ### Data Coordinator Autoscaling configuration
 
@@ -584,9 +584,9 @@ wrj2wDbCDCFmfqnSJ+dKI3vFLlEz44sAV8jX/kd4Y6ZTQhlLbYc=
 | `rootCoord.serviceAccount.name`                               | The name of the ServiceAccount to use                                                                                                                                                                                                 | `""`             |
 | `rootCoord.serviceAccount.automountServiceAccountToken`       | Allows auto mount of ServiceAccountToken on the serviceAccount created                                                                                                                                                                | `false`          |
 | `rootCoord.serviceAccount.annotations`                        | Additional custom annotations for the ServiceAccount                                                                                                                                                                                  | `{}`             |
-| `rootCoord.pdb.create`                                        | Enable/disable a Pod Disruption Budget creation                                                                                                                                                                                       | `false`          |
-| `rootCoord.pdb.minAvailable`                                  | Minimum number/percentage of pods that should remain scheduled                                                                                                                                                                        | `1`              |
-| `rootCoord.pdb.maxUnavailable`                                | Maximum number/percentage of pods that may be made unavailable                                                                                                                                                                        | `""`             |
+| `rootCoord.pdb.create`                                        | Enable/disable a Pod Disruption Budget creation                                                                                                                                                                                       | `true`           |
+| `rootCoord.pdb.minAvailable`                                  | Minimum number/percentage of pods that should remain scheduled                                                                                                                                                                        | `{}`             |
+| `rootCoord.pdb.maxUnavailable`                                | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `rootCoord.pdb.minAvailable` and `rootCoord.pdb.maxUnavailable` are empty.                                                                    | `{}`             |
 
 ### Root Coordinator Autoscaling configuration
 
@@ -731,9 +731,9 @@ wrj2wDbCDCFmfqnSJ+dKI3vFLlEz44sAV8jX/kd4Y6ZTQhlLbYc=
 | `queryCoord.serviceAccount.name`                               | The name of the ServiceAccount to use                                                                                                                                                                                                   | `""`             |
 | `queryCoord.serviceAccount.automountServiceAccountToken`       | Allows auto mount of ServiceAccountToken on the serviceAccount created                                                                                                                                                                  | `false`          |
 | `queryCoord.serviceAccount.annotations`                        | Additional custom annotations for the ServiceAccount                                                                                                                                                                                    | `{}`             |
-| `queryCoord.pdb.create`                                        | Enable/disable a Pod Disruption Budget creation                                                                                                                                                                                         | `false`          |
-| `queryCoord.pdb.minAvailable`                                  | Minimum number/percentage of pods that should remain scheduled                                                                                                                                                                          | `1`              |
-| `queryCoord.pdb.maxUnavailable`                                | Maximum number/percentage of pods that may be made unavailable                                                                                                                                                                          | `""`             |
+| `queryCoord.pdb.create`                                        | Enable/disable a Pod Disruption Budget creation                                                                                                                                                                                         | `true`           |
+| `queryCoord.pdb.minAvailable`                                  | Minimum number/percentage of pods that should remain scheduled                                                                                                                                                                          | `{}`             |
+| `queryCoord.pdb.maxUnavailable`                                | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `queryCoord.pdb.minAvailable` and `queryCoord.pdb.maxUnavailable` are empty.                                                                    | `{}`             |
 
 ### Query Coordinator Autoscaling configuration
 
@@ -878,9 +878,9 @@ wrj2wDbCDCFmfqnSJ+dKI3vFLlEz44sAV8jX/kd4Y6ZTQhlLbYc=
 | `indexCoord.serviceAccount.name`                               | The name of the ServiceAccount to use                                                                                                                                                                                                   | `""`             |
 | `indexCoord.serviceAccount.automountServiceAccountToken`       | Allows auto mount of ServiceAccountToken on the serviceAccount created                                                                                                                                                                  | `false`          |
 | `indexCoord.serviceAccount.annotations`                        | Additional custom annotations for the ServiceAccount                                                                                                                                                                                    | `{}`             |
-| `indexCoord.pdb.create`                                        | Enable/disable a Pod Disruption Budget creation                                                                                                                                                                                         | `false`          |
-| `indexCoord.pdb.minAvailable`                                  | Minimum number/percentage of pods that should remain scheduled                                                                                                                                                                          | `1`              |
-| `indexCoord.pdb.maxUnavailable`                                | Maximum number/percentage of pods that may be made unavailable                                                                                                                                                                          | `""`             |
+| `indexCoord.pdb.create`                                        | Enable/disable a Pod Disruption Budget creation                                                                                                                                                                                         | `true`           |
+| `indexCoord.pdb.minAvailable`                                  | Minimum number/percentage of pods that should remain scheduled                                                                                                                                                                          | `{}`             |
+| `indexCoord.pdb.maxUnavailable`                                | Maximum number/percentage of pods that may be made unavailable.Defaults to `1` if both `queryCoord.pdb.minAvailable` and `queryCoord.pdb.maxUnavailable` are empty.                                                                     | `{}`             |
 
 ### Index Coordinator Autoscaling configuration
 
@@ -1025,9 +1025,9 @@ wrj2wDbCDCFmfqnSJ+dKI3vFLlEz44sAV8jX/kd4Y6ZTQhlLbYc=
 | `dataNode.serviceAccount.name`                               | The name of the ServiceAccount to use                                                                                                                                                                                               | `""`             |
 | `dataNode.serviceAccount.automountServiceAccountToken`       | Allows auto mount of ServiceAccountToken on the serviceAccount created                                                                                                                                                              | `false`          |
 | `dataNode.serviceAccount.annotations`                        | Additional custom annotations for the ServiceAccount                                                                                                                                                                                | `{}`             |
-| `dataNode.pdb.create`                                        | Enable/disable a Pod Disruption Budget creation                                                                                                                                                                                     | `false`          |
-| `dataNode.pdb.minAvailable`                                  | Minimum number/percentage of pods that should remain scheduled                                                                                                                                                                      | `1`              |
-| `dataNode.pdb.maxUnavailable`                                | Maximum number/percentage of pods that may be made unavailable                                                                                                                                                                      | `""`             |
+| `dataNode.pdb.create`                                        | Enable/disable a Pod Disruption Budget creation                                                                                                                                                                                     | `true`           |
+| `dataNode.pdb.minAvailable`                                  | Minimum number/percentage of pods that should remain scheduled                                                                                                                                                                      | `{}`             |
+| `dataNode.pdb.maxUnavailable`                                | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `dataNode.pdb.minAvailable` and `dataNode.pdb.maxUnavailable` are empty.                                                                    | `{}`             |
 
 ### Data Node Autoscaling configuration
 
@@ -1172,9 +1172,9 @@ wrj2wDbCDCFmfqnSJ+dKI3vFLlEz44sAV8jX/kd4Y6ZTQhlLbYc=
 | `queryNode.serviceAccount.name`                               | The name of the ServiceAccount to use                                                                                                                                                                                                 | `""`             |
 | `queryNode.serviceAccount.automountServiceAccountToken`       | Allows auto mount of ServiceAccountToken on the serviceAccount created                                                                                                                                                                | `false`          |
 | `queryNode.serviceAccount.annotations`                        | Additional custom annotations for the ServiceAccount                                                                                                                                                                                  | `{}`             |
-| `queryNode.pdb.create`                                        | Enable/disable a Pod Disruption Budget creation                                                                                                                                                                                       | `false`          |
-| `queryNode.pdb.minAvailable`                                  | Minimum number/percentage of pods that should remain scheduled                                                                                                                                                                        | `1`              |
-| `queryNode.pdb.maxUnavailable`                                | Maximum number/percentage of pods that may be made unavailable                                                                                                                                                                        | `""`             |
+| `queryNode.pdb.create`                                        | Enable/disable a Pod Disruption Budget creation                                                                                                                                                                                       | `true`           |
+| `queryNode.pdb.minAvailable`                                  | Minimum number/percentage of pods that should remain scheduled                                                                                                                                                                        | `{}`             |
+| `queryNode.pdb.maxUnavailable`                                | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `queryNode.pdb.minAvailable` and `queryNode.pdb.maxUnavailable` are empty.                                                                    | `{}`             |
 
 ### Query Node Autoscaling configuration
 
@@ -1319,9 +1319,9 @@ wrj2wDbCDCFmfqnSJ+dKI3vFLlEz44sAV8jX/kd4Y6ZTQhlLbYc=
 | `indexNode.serviceAccount.name`                               | The name of the ServiceAccount to use                                                                                                                                                                                                 | `""`             |
 | `indexNode.serviceAccount.automountServiceAccountToken`       | Allows auto mount of ServiceAccountToken on the serviceAccount created                                                                                                                                                                | `false`          |
 | `indexNode.serviceAccount.annotations`                        | Additional custom annotations for the ServiceAccount                                                                                                                                                                                  | `{}`             |
-| `indexNode.pdb.create`                                        | Enable/disable a Pod Disruption Budget creation                                                                                                                                                                                       | `false`          |
-| `indexNode.pdb.minAvailable`                                  | Minimum number/percentage of pods that should remain scheduled                                                                                                                                                                        | `1`              |
-| `indexNode.pdb.maxUnavailable`                                | Maximum number/percentage of pods that may be made unavailable                                                                                                                                                                        | `""`             |
+| `indexNode.pdb.create`                                        | Enable/disable a Pod Disruption Budget creation                                                                                                                                                                                       | `true`           |
+| `indexNode.pdb.minAvailable`                                  | Minimum number/percentage of pods that should remain scheduled                                                                                                                                                                        | `{}`             |
+| `indexNode.pdb.maxUnavailable`                                | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `indexNode.pdb.minAvailable` and `indexNode.pdb.maxUnavailable` are empty.                                                                    | `{}`             |
 
 ### Index Node Autoscaling configuration
 
@@ -1478,9 +1478,9 @@ wrj2wDbCDCFmfqnSJ+dKI3vFLlEz44sAV8jX/kd4Y6ZTQhlLbYc=
 | `proxy.serviceAccount.name`                               | The name of the ServiceAccount to use                                                                                                                                                                                         | `""`             |
 | `proxy.serviceAccount.automountServiceAccountToken`       | Allows auto mount of ServiceAccountToken on the serviceAccount created                                                                                                                                                        | `false`          |
 | `proxy.serviceAccount.annotations`                        | Additional custom annotations for the ServiceAccount                                                                                                                                                                          | `{}`             |
-| `proxy.pdb.create`                                        | Enable/disable a Pod Disruption Budget creation                                                                                                                                                                               | `false`          |
-| `proxy.pdb.minAvailable`                                  | Minimum number/percentage of pods that should remain scheduled                                                                                                                                                                | `1`              |
-| `proxy.pdb.maxUnavailable`                                | Maximum number/percentage of pods that may be made unavailable                                                                                                                                                                | `""`             |
+| `proxy.pdb.create`                                        | Enable/disable a Pod Disruption Budget creation                                                                                                                                                                               | `true`           |
+| `proxy.pdb.minAvailable`                                  | Minimum number/percentage of pods that should remain scheduled                                                                                                                                                                | `{}`             |
+| `proxy.pdb.maxUnavailable`                                | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `proxy.pdb.minAvailable` and `proxy.pdb.maxUnavailable` are empty.                                                                    | `{}`             |
 
 ### Proxy Autoscaling configuration
 
@@ -1626,9 +1626,9 @@ wrj2wDbCDCFmfqnSJ+dKI3vFLlEz44sAV8jX/kd4Y6ZTQhlLbYc=
 | `attu.serviceAccount.name`                               | The name of the ServiceAccount to use                                                                                                                                                                                       | `""`                   |
 | `attu.serviceAccount.automountServiceAccountToken`       | Allows auto mount of ServiceAccountToken on the serviceAccount created                                                                                                                                                      | `false`                |
 | `attu.serviceAccount.annotations`                        | Additional custom annotations for the ServiceAccount                                                                                                                                                                        | `{}`                   |
-| `attu.pdb.create`                                        | Enable/disable a Pod Disruption Budget creation                                                                                                                                                                             | `false`                |
-| `attu.pdb.minAvailable`                                  | Minimum number/percentage of pods that should remain scheduled                                                                                                                                                              | `1`                    |
-| `attu.pdb.maxUnavailable`                                | Maximum number/percentage of pods that may be made unavailable                                                                                                                                                              | `""`                   |
+| `attu.pdb.create`                                        | Enable/disable a Pod Disruption Budget creation                                                                                                                                                                             | `true`                 |
+| `attu.pdb.minAvailable`                                  | Minimum number/percentage of pods that should remain scheduled                                                                                                                                                              | `{}`                   |
+| `attu.pdb.maxUnavailable`                                | Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `attu.pdb.minAvailable` and `attu.pdb.maxUnavailable` are empty.                                                                    | `{}`                   |
 
 ### Attu Autoscaling configuration
 

+ 3 - 3
bitnami/milvus/templates/attu/pdb.yaml

@@ -3,7 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved.
 SPDX-License-Identifier: APACHE-2.0
 */}}
 
-{{- if .Values.attu.pdb.create }}
+{{- if and .Values.attu.enabled .Values.attu.pdb.create }}
 apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
 kind: PodDisruptionBudget
 metadata:
@@ -21,8 +21,8 @@ spec:
   {{- if .Values.attu.pdb.minAvailable }}
   minAvailable: {{ .Values.attu.pdb.minAvailable }}
   {{- end }}
-  {{- if .Values.attu.pdb.maxUnavailable }}
-  maxUnavailable: {{ .Values.attu.pdb.maxUnavailable }}
+  {{- if or .Values.attu.pdb.maxUnavailable (not .Values.attu.pdb.minAvailable) }}
+  maxUnavailable: {{ .Values.attu.pdb.maxUnavailable | default 1 }}
   {{- end }}
   {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.attu.podLabels .Values.commonLabels ) "context" . ) }}
   selector:

+ 3 - 3
bitnami/milvus/templates/data-coordinator/pdb.yaml

@@ -3,7 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved.
 SPDX-License-Identifier: APACHE-2.0
 */}}
 
-{{- if .Values.dataCoord.pdb.create }}
+{{- if and .Values.dataCoord.enabled .Values.dataCoord.pdb.create }}
 apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
 kind: PodDisruptionBudget
 metadata:
@@ -19,8 +19,8 @@ spec:
   {{- if .Values.dataCoord.pdb.minAvailable }}
   minAvailable: {{ .Values.dataCoord.pdb.minAvailable }}
   {{- end }}
-  {{- if .Values.dataCoord.pdb.maxUnavailable }}
-  maxUnavailable: {{ .Values.dataCoord.pdb.maxUnavailable }}
+  {{- if or .Values.dataCoord.pdb.maxUnavailable (not .Values.dataCoord.pdb.minAvailable) }}
+  maxUnavailable: {{ .Values.dataCoord.pdb.maxUnavailable | default 1 }}
   {{- end }}
   {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.dataCoord.podLabels .Values.commonLabels ) "context" . ) }}
   selector:

+ 3 - 3
bitnami/milvus/templates/data-node/pdb.yaml

@@ -3,7 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved.
 SPDX-License-Identifier: APACHE-2.0
 */}}
 
-{{- if .Values.dataNode.pdb.create }}
+{{- if and .Values.dataNode.enabled .Values.dataNode.pdb.create }}
 apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
 kind: PodDisruptionBudget
 metadata:
@@ -19,8 +19,8 @@ spec:
   {{- if .Values.dataNode.pdb.minAvailable }}
   minAvailable: {{ .Values.dataNode.pdb.minAvailable }}
   {{- end }}
-  {{- if .Values.dataNode.pdb.maxUnavailable }}
-  maxUnavailable: {{ .Values.dataNode.pdb.maxUnavailable }}
+  {{- if or .Values.dataNode.pdb.maxUnavailable (not .Values.dataNode.pdb.minAvailable) }}
+  maxUnavailable: {{ .Values.dataNode.pdb.maxUnavailable | default 1 }}
   {{- end }}
   {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.dataNode.podLabels .Values.commonLabels ) "context" . ) }}
   selector:

+ 3 - 3
bitnami/milvus/templates/index-coordinator/pdb.yaml

@@ -3,7 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved.
 SPDX-License-Identifier: APACHE-2.0
 */}}
 
-{{- if .Values.indexCoord.pdb.create }}
+{{- if and .Values.indexCoord.enabled .Values.indexCoord.pdb.create }}
 apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
 kind: PodDisruptionBudget
 metadata:
@@ -19,8 +19,8 @@ spec:
   {{- if .Values.indexCoord.pdb.minAvailable }}
   minAvailable: {{ .Values.indexCoord.pdb.minAvailable }}
   {{- end }}
-  {{- if .Values.indexCoord.pdb.maxUnavailable }}
-  maxUnavailable: {{ .Values.indexCoord.pdb.maxUnavailable }}
+  {{- if or .Values.indexCoord.pdb.maxUnavailable (not .Values.indexCoord.pdb.minAvailable) }}
+  maxUnavailable: {{ .Values.indexCoord.pdb.maxUnavailable | default 1 }}
   {{- end }}
   {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.indexCoord.podLabels .Values.commonLabels ) "context" . ) }}
   selector:

+ 3 - 3
bitnami/milvus/templates/index-node/pdb.yaml

@@ -3,7 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved.
 SPDX-License-Identifier: APACHE-2.0
 */}}
 
-{{- if .Values.indexNode.pdb.create }}
+{{- if and .Values.indexNode.enabled .Values.indexNode.pdb.create }}
 apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
 kind: PodDisruptionBudget
 metadata:
@@ -19,8 +19,8 @@ spec:
   {{- if .Values.indexNode.pdb.minAvailable }}
   minAvailable: {{ .Values.indexNode.pdb.minAvailable }}
   {{- end }}
-  {{- if .Values.indexNode.pdb.maxUnavailable }}
-  maxUnavailable: {{ .Values.indexNode.pdb.maxUnavailable }}
+  {{- if or .Values.indexNode.pdb.maxUnavailable (not .Values.indexNode.pdb.minAvailable) }}
+  maxUnavailable: {{ .Values.indexNode.pdb.maxUnavailable | default 1 }}
   {{- end }}
   {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.indexNode.podLabels .Values.commonLabels ) "context" . ) }}
   selector:

+ 3 - 3
bitnami/milvus/templates/proxy/pdb.yaml

@@ -3,7 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved.
 SPDX-License-Identifier: APACHE-2.0
 */}}
 
-{{- if .Values.proxy.pdb.create }}
+{{- if and .Values.proxy.enabled .Values.proxy.pdb.create }}
 apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
 kind: PodDisruptionBudget
 metadata:
@@ -19,8 +19,8 @@ spec:
   {{- if .Values.proxy.pdb.minAvailable }}
   minAvailable: {{ .Values.proxy.pdb.minAvailable }}
   {{- end }}
-  {{- if .Values.proxy.pdb.maxUnavailable }}
-  maxUnavailable: {{ .Values.proxy.pdb.maxUnavailable }}
+  {{- if or .Values.proxy.pdb.maxUnavailable (not .Values.proxy.pdb.minAvailable) }}
+  maxUnavailable: {{ .Values.proxy.pdb.maxUnavailable | default 1 }}
   {{- end }}
   {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.proxy.podLabels .Values.commonLabels ) "context" . ) }}
   selector:

+ 3 - 3
bitnami/milvus/templates/query-coordinator/pdb.yaml

@@ -3,7 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved.
 SPDX-License-Identifier: APACHE-2.0
 */}}
 
-{{- if .Values.queryCoord.pdb.create }}
+{{- if and .Values.queryCoord.enabled .Values.queryCoord.pdb.create }}
 apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
 kind: PodDisruptionBudget
 metadata:
@@ -19,8 +19,8 @@ spec:
   {{- if .Values.queryCoord.pdb.minAvailable }}
   minAvailable: {{ .Values.queryCoord.pdb.minAvailable }}
   {{- end }}
-  {{- if .Values.queryCoord.pdb.maxUnavailable }}
-  maxUnavailable: {{ .Values.queryCoord.pdb.maxUnavailable }}
+  {{- if or .Values.queryCoord.pdb.maxUnavailable (not .Values.queryCoord.pdb.minAvailable) }}
+  maxUnavailable: {{ .Values.queryCoord.pdb.maxUnavailable | default 1 }}
   {{- end }}
   {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.queryCoord.podLabels .Values.commonLabels ) "context" . ) }}
   selector:

+ 3 - 3
bitnami/milvus/templates/query-node/pdb.yaml

@@ -3,7 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved.
 SPDX-License-Identifier: APACHE-2.0
 */}}
 
-{{- if .Values.queryNode.pdb.create }}
+{{- if and .Values.queryNode.enabled .Values.queryNode.pdb.create }}
 apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
 kind: PodDisruptionBudget
 metadata:
@@ -19,8 +19,8 @@ spec:
   {{- if .Values.queryNode.pdb.minAvailable }}
   minAvailable: {{ .Values.queryNode.pdb.minAvailable }}
   {{- end }}
-  {{- if .Values.queryNode.pdb.maxUnavailable }}
-  maxUnavailable: {{ .Values.queryNode.pdb.maxUnavailable }}
+  {{- if or .Values.queryNode.pdb.maxUnavailable (not .Values.queryNode.pdb.minAvailable) }}
+  maxUnavailable: {{ .Values.queryNode.pdb.maxUnavailable | default 1 }}
   {{- end }}
   {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.queryNode.podLabels .Values.commonLabels ) "context" . ) }}
   selector:

+ 3 - 3
bitnami/milvus/templates/root-coordinator/pdb.yaml

@@ -3,7 +3,7 @@ Copyright Broadcom, Inc. All Rights Reserved.
 SPDX-License-Identifier: APACHE-2.0
 */}}
 
-{{- if .Values.rootCoord.pdb.create }}
+{{- if and .Values.rootCoord.enabled .Values.rootCoord.pdb.create }}
 apiVersion: {{ include "common.capabilities.policy.apiVersion" . }}
 kind: PodDisruptionBudget
 metadata:
@@ -19,8 +19,8 @@ spec:
   {{- if .Values.rootCoord.pdb.minAvailable }}
   minAvailable: {{ .Values.rootCoord.pdb.minAvailable }}
   {{- end }}
-  {{- if .Values.rootCoord.pdb.maxUnavailable }}
-  maxUnavailable: {{ .Values.rootCoord.pdb.maxUnavailable }}
+  {{- if or .Values.rootCoord.pdb.maxUnavailable (not .Values.rootCoord.pdb.minAvailable) }}
+  maxUnavailable: {{ .Values.rootCoord.pdb.maxUnavailable | default 1 }}
   {{- end }}
   {{- $podLabels := include "common.tplvalues.merge" ( dict "values" ( list .Values.rootCoord.podLabels .Values.commonLabels ) "context" . ) }}
   selector:

File diff suppressed because it is too large
+ 23 - 8
bitnami/milvus/values.schema.json


+ 36 - 36
bitnami/milvus/values.yaml

@@ -802,12 +802,12 @@ dataCoord:
   ## Pod Disruption Budget configuration
   ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
   ## @param dataCoord.pdb.create Enable/disable a Pod Disruption Budget creation
-  ## @param dataCoord.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
-  ## @param dataCoord.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable
+  ## @param dataCoord.pdb.minAvailable [object] Minimum number/percentage of pods that should remain scheduled
+  ## @param dataCoord.pdb.maxUnavailable [object] Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `dataCoord.pdb.minAvailable` and `dataCoord.pdb.maxUnavailable` are empty.
   ##
   pdb:
-    create: false
-    minAvailable: 1
+    create: true
+    minAvailable: ""
     maxUnavailable: ""
   ## @section Data Coordinator Autoscaling configuration
   ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
@@ -1307,12 +1307,12 @@ rootCoord:
   ## Pod Disruption Budget configuration
   ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
   ## @param rootCoord.pdb.create Enable/disable a Pod Disruption Budget creation
-  ## @param rootCoord.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
-  ## @param rootCoord.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable
+  ## @param rootCoord.pdb.minAvailable [object] Minimum number/percentage of pods that should remain scheduled
+  ## @param rootCoord.pdb.maxUnavailable [object] Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `rootCoord.pdb.minAvailable` and `rootCoord.pdb.maxUnavailable` are empty.
   ##
   pdb:
-    create: false
-    minAvailable: 1
+    create: true
+    minAvailable: ""
     maxUnavailable: ""
   ## @section Root Coordinator Autoscaling configuration
   ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
@@ -1812,12 +1812,12 @@ queryCoord:
   ## Pod Disruption Budget configuration
   ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
   ## @param queryCoord.pdb.create Enable/disable a Pod Disruption Budget creation
-  ## @param queryCoord.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
-  ## @param queryCoord.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable
+  ## @param queryCoord.pdb.minAvailable [object] Minimum number/percentage of pods that should remain scheduled
+  ## @param queryCoord.pdb.maxUnavailable [object] Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `queryCoord.pdb.minAvailable` and `queryCoord.pdb.maxUnavailable` are empty.
   ##
   pdb:
-    create: false
-    minAvailable: 1
+    create: true
+    minAvailable: ""
     maxUnavailable: ""
   ## @section Query Coordinator Autoscaling configuration
   ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
@@ -2317,12 +2317,12 @@ indexCoord:
   ## Pod Disruption Budget configuration
   ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
   ## @param indexCoord.pdb.create Enable/disable a Pod Disruption Budget creation
-  ## @param indexCoord.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
-  ## @param indexCoord.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable
+  ## @param indexCoord.pdb.minAvailable [object] Minimum number/percentage of pods that should remain scheduled
+  ## @param indexCoord.pdb.maxUnavailable [object] Maximum number/percentage of pods that may be made unavailable.Defaults to `1` if both `queryCoord.pdb.minAvailable` and `queryCoord.pdb.maxUnavailable` are empty.
   ##
   pdb:
-    create: false
-    minAvailable: 1
+    create: true
+    minAvailable: ""
     maxUnavailable: ""
   ## @section Index Coordinator Autoscaling configuration
   ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
@@ -2822,12 +2822,12 @@ dataNode:
   ## Pod Disruption Budget configuration
   ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
   ## @param dataNode.pdb.create Enable/disable a Pod Disruption Budget creation
-  ## @param dataNode.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
-  ## @param dataNode.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable
+  ## @param dataNode.pdb.minAvailable [object] Minimum number/percentage of pods that should remain scheduled
+  ## @param dataNode.pdb.maxUnavailable [object] Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `dataNode.pdb.minAvailable` and `dataNode.pdb.maxUnavailable` are empty.
   ##
   pdb:
-    create: false
-    minAvailable: 1
+    create: true
+    minAvailable: ""
     maxUnavailable: ""
   ## @section Data Node Autoscaling configuration
   ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
@@ -3327,12 +3327,12 @@ queryNode:
   ## Pod Disruption Budget configuration
   ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
   ## @param queryNode.pdb.create Enable/disable a Pod Disruption Budget creation
-  ## @param queryNode.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
-  ## @param queryNode.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable
+  ## @param queryNode.pdb.minAvailable [object] Minimum number/percentage of pods that should remain scheduled
+  ## @param queryNode.pdb.maxUnavailable [object] Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `queryNode.pdb.minAvailable` and `queryNode.pdb.maxUnavailable` are empty.
   ##
   pdb:
-    create: false
-    minAvailable: 1
+    create: true
+    minAvailable: ""
     maxUnavailable: ""
   ## @section Query Node Autoscaling configuration
   ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
@@ -3832,12 +3832,12 @@ indexNode:
   ## Pod Disruption Budget configuration
   ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
   ## @param indexNode.pdb.create Enable/disable a Pod Disruption Budget creation
-  ## @param indexNode.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
-  ## @param indexNode.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable
+  ## @param indexNode.pdb.minAvailable [object] Minimum number/percentage of pods that should remain scheduled
+  ## @param indexNode.pdb.maxUnavailable [object] Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `indexNode.pdb.minAvailable` and `indexNode.pdb.maxUnavailable` are empty.
   ##
   pdb:
-    create: false
-    minAvailable: 1
+    create: true
+    minAvailable: ""
     maxUnavailable: ""
   ## @section Index Node Autoscaling configuration
   ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
@@ -4365,12 +4365,12 @@ proxy:
   ## Pod Disruption Budget configuration
   ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
   ## @param proxy.pdb.create Enable/disable a Pod Disruption Budget creation
-  ## @param proxy.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
-  ## @param proxy.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable
+  ## @param proxy.pdb.minAvailable [object] Minimum number/percentage of pods that should remain scheduled
+  ## @param proxy.pdb.maxUnavailable [object] Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `proxy.pdb.minAvailable` and `proxy.pdb.maxUnavailable` are empty.
   ##
   pdb:
-    create: false
-    minAvailable: 1
+    create: true
+    minAvailable: ""
     maxUnavailable: ""
   ## @section Proxy Autoscaling configuration
   ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
@@ -4883,12 +4883,12 @@ attu:
   ## Pod Disruption Budget configuration
   ## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb
   ## @param attu.pdb.create Enable/disable a Pod Disruption Budget creation
-  ## @param attu.pdb.minAvailable Minimum number/percentage of pods that should remain scheduled
-  ## @param attu.pdb.maxUnavailable Maximum number/percentage of pods that may be made unavailable
+  ## @param attu.pdb.minAvailable [object] Minimum number/percentage of pods that should remain scheduled
+  ## @param attu.pdb.maxUnavailable [object] Maximum number/percentage of pods that may be made unavailable. Defaults to `1` if both `attu.pdb.minAvailable` and `attu.pdb.maxUnavailable` are empty.
   ##
   pdb:
-    create: false
-    minAvailable: 1
+    create: true
+    minAvailable: ""
     maxUnavailable: ""
   ## @section Attu Autoscaling configuration
   ## ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/

Some files were not shown because too many files changed in this diff