cloud-on-k8s
cloud-on-k8s copied to clipboard
Adding a metadata label to volumeClaimTemplates does not work
Bug Report
What did you do?
Edit the ES CR to add a label to the volumeclaimtemplate
What did you expect to see?
The label should be added to the existing PVCs
What did you see instead? Under which circumstances?
k edit elasticsearches.elasticsearch.k8s.elastic.co es-visibility
error: elasticsearches.elasticsearch.k8s.elastic.co "es-visibility" could not be patched: admission webhook "elastic-es-validation-v1.k8s.elastic.co" denied the request: Elasticsearch.elasticsearch.k8s.elastic.co "es-visibility" is invalid: spec.nodeSet[0].volumeClaimTemplates: Invalid value: []v1.PersistentVolumeClaim{v1.PersistentVolumeClaim{TypeMeta:v1.TypeMeta{Kind:"", APIVersion:""}, ObjectMeta:v1.ObjectMeta{Name:"elasticsearch-data", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", Generation:0, CreationTimestamp:time.Date(1, time.January, 1, 0, 0, 0, 0, time.UTC), DeletionTimestamp:<nil>, DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string{"velero.io/exclude-from-backup":"true"}, Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Finalizers:[]string(nil), ManagedFields:[]v1.ManagedFieldsEntry(nil)}, Spec:v1.PersistentVolumeClaimSpec{AccessModes:[]v1.PersistentVolumeAccessMode{"ReadWriteOnce"}, Selector:(*v1.LabelSelector)(nil), Resources:v1.VolumeResourceRequirements{Limits:v1.ResourceList(nil), Requests:v1.ResourceList{"storage":resource.Quantity{i:resource.int64Amount{value:53687091200, scale:0}, d:resource.infDecAmount{Dec:(*inf.Dec)(nil)}, s:"50Gi", Format:"BinarySI"}}}, VolumeName:"", StorageClassName:(*string)(0xc00458b670), VolumeMode:(*v1.PersistentVolumeMode)(nil), DataSource:(*v1.TypedLocalObjectReference)(nil), DataSourceRef:(*v1.TypedObjectReference)(nil), VolumeAttributesClassName:(*string)(nil)}, Status:v1.PersistentVolumeClaimStatus{Phase:"", AccessModes:[]v1.PersistentVolumeAccessMode(nil), Capacity:v1.ResourceList(nil), Conditions:[]v1.PersistentVolumeClaimCondition(nil), AllocatedResources:v1.ResourceList(nil), AllocatedResourceStatuses:map[v1.ResourceName]v1.ClaimResourceStatus(nil), CurrentVolumeAttributesClassName:(*string)(nil), ModifyVolumeStatus:(*v1.ModifyVolumeStatus)(nil)}}}: volume claim templates can only have their storage requests increased, if the storage class allows volume expansion. Any other change is forbidden
Environment
-
ECK version:
2.13.0
-
Kubernetes information:
insert any information about your Kubernetes environment that could help us:
- Cloud: AKS 1.28.5 ?
for each of them please give us the version you are using
Client Version: v1.30.2
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.28.5
Adding the labels via kubectl label works without problems.
kubectl label pvc elasticsearch-data-es-visibility-es-data-0 elasticsearch-data-es-visibility-es-data-1 elasticsearch-data-es-visibility-es-data-2 velero.io/exclude-from-backup="true"