You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The newer versions of the operator automatically deploy a PDB for any given Aerospike cluster and set the maxUnavailable to 1 by default. I would like to disable that PDB but have encountered an issue with the requirement to set maxUnavailable to nil.
If maxUnavailable is null in the Aerospike cluster manifest, the operator will automatically set the maxUnavailable to 1. To set disablePDB to true, maxUnavailable must be null. Because maxUnavailable cannot be set to null, disablePDB can never be set to true. Is there a workaround for this?
Example
Define an Aerospike cluster without setting maxUnavailable
View the live manifest and check if the operator has added the maxUnavailable property
# kubectl get aerospikeclusters.asdb.aerospike.com -n aerospike aerospike -o yaml
apiVersion: asdb.aerospike.com/v1
kind: AerospikeCluster
metadata:
name: aerospike
namespace: aerospike
spec:
size: 3
rackConfig: ...
maxUnavailable: 1 # the default value of 1 has been added
Attempting to add disablePDB: true at this point will fail with the error admission webhook "vaerospikecluster.kb.io" denied the request: maxUnavailable must be nil if PDB is disabled.
Attempting to remove the maxUnavailable field will have no effect; it will immediately reappear on the resource.
The text was updated successfully, but these errors were encountered:
This is a creating conflicts when implemented via GitOps.
When we set maxUnavailable: null without defining a value for disablePDB, the operator will set maxUnavailable: 1, which creates drift between the manifest definition and the live resource.
If we set maxUnavailable: null alongside disablePDB: true, the operator will remove the maxUnavailable attribute and again create drift between our manifests and the live resource.
Context
The newer versions of the operator automatically deploy a PDB for any given Aerospike cluster and set the
maxUnavailable
to 1 by default. I would like to disable that PDB but have encountered an issue with the requirement to setmaxUnavailable
to nil.If
maxUnavailable
is null in the Aerospike cluster manifest, the operator will automatically set themaxUnavailable
to 1. To setdisablePDB
to true,maxUnavailable
must be null. BecausemaxUnavailable
cannot be set to null,disablePDB
can never be set to true. Is there a workaround for this?Example
Define an Aerospike cluster without setting
maxUnavailable
View the live manifest and check if the operator has added the
maxUnavailable
propertyAttempting to add
disablePDB: true
at this point will fail with the erroradmission webhook "vaerospikecluster.kb.io" denied the request: maxUnavailable must be nil if PDB is disabled
.Attempting to remove the
maxUnavailable
field will have no effect; it will immediately reappear on the resource.The text was updated successfully, but these errors were encountered: