[TiDB] podManagementPolicy
silently changes to Parallel
if the value is invalid
#150
Labels
bug
Something isn't working
Bug Report
What version of Kubernetes are you using?
What version of TiDB Operator are you using?
What storage classes exist in the Kubernetes cluster and what are used for PD/TiKV pods?
$ kubectl get sc NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE standard (default) rancher.io/local-path Delete WaitForFirstConsumer false 9m4s $ kubectl get pvc -n {tidb-cluster-namespace} NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE pd-advanced-tidb-pd-0 Bound pvc-5d85aab1-3a5b-4bd2-a096-83be8a6e4c63 10Gi RWO standard 8m37s pd-advanced-tidb-pd-1 Bound pvc-22015e6c-601d-409e-b480-07458ce53711 10Gi RWO standard 8m37s pd-advanced-tidb-pd-2 Bound pvc-aa1bfdda-b2be-44ed-a721-a17ef5d6140c 10Gi RWO standard 8m37s tikv-advanced-tidb-tikv-0 Bound pvc-a702225b-1b7f-4363-8975-04f9170f5853 100Gi RWO standard 7m11s tikv-advanced-tidb-tikv-1 Bound pvc-fc633404-97d4-4359-9921-61faaf26b4c8 100Gi RWO standard 7m11s tikv-advanced-tidb-tikv-2 Bound pvc-69b6c9eb-6dcf-4ae6-91b8-912551c3c1d4 100Gi RWO standard 7m11s
What's the status of the TiDB cluster pods?
What did you do?
The field
spec.pd.podManagementPolicy
silently falls back toparallel
if the user supplies a value other thanOrderedReady
.The CR file we used is shown below, note that user has a typo for the
spec.pd.podManagementPolicy
asOrderredReady
other thanOrderedReady
CR file
What did you expect to see?
We expected to see the input get rejected with a clear error message, or fall back to the safe value with some error messages.
What did you see instead?
We see that
spec.pd.podManagementPolicy
is changed toparallel
without any error message.Additional comment
We inspected the source code and found that
podManagementPolicy
will silently fall back toParallel
ifpodManagementPolicy
is any string other thanOrderedReady
(see this function). We believe that if users provide an invalidpodManagementPolicy
, there should be a log indicating thatpodManagementPolicy
is invalid before the operator adopts one of its default values.The text was updated successfully, but these errors were encountered: