Details
-
Bug
-
Status: Done
-
Medium
-
Resolution: Fixed
-
None
-
None
-
None
-
Yes
-
Yes
-
Yes
-
Yes
Description
If the user sets requests or limits for CPU as integer it leads to an error when deploying the cluster:
E0824 13:02:59.576795 1 reflector.go:153] sigs.k8s.io/controller-runtime/pkg/cache/internal/informers_map.go:224: Failed to list *v1.PerconaServerMongoDB: v1.PerconaServerMongoDBList.Items: []v1.PerconaServerMongoDB: v1.PerconaServerMongoDB.Spec: v1.PerconaServerMongoDBSpec.Replsets: []*v1.ReplsetSpec: v1.ReplsetSpec.Resources: v1.ResourcesSpec.Requests: Limits: v1.ResourceSpecRequirements.Memory: CPU: ReadString: expects " or n, but found 1, error found in #10 byte of ...|":{"cpu":1,"memory":|..., bigger context ...|"maxUnavailable":1},"resources":{"limits":{"cpu":1,"memory":"0.5G"},"requests":{"cpu":"300m","memory|...
Changing requests on already running cluster leads to the cluster and operator getting stuck.
Steps to reproduce:
- Deploy the cluster with default CR
- Change spec.replsets.[].resources.requests.cpu to 1 (no quotes)
- See the error in the log
E0824 13:02:55.555772 1 reflector.go:153] sigs.k8s.io/controller-runtime/pkg/cache/internal/informers_map.go:224: Failed to list *v1.PerconaServerMongoDB: v1.PerconaServerMongoDBList.Items: []v1.PerconaServerMongoDB: v1.PerconaServerMongoDB.Spec: v1.PerconaServerMongoDBSpec.Replsets: []*v1.ReplsetSpec: v1.ReplsetSpec.Resources: v1.ResourcesSpec.Requests: Limits: v1.ResourceSpecRequirements.Memory: CPU: ReadString: expects " or n, but found 1, error found in #10 byte of ...|":{"cpu":1,"memory":|..., bigger context ...|"maxUnavailable":1},"resources":{"limits":{"cpu":1,"memory":"0.5G"},"requests":{"cpu":"300m","memory|... {"level":"error","ts":1629810176.5492532,"logger":"controller_psmdb","msg":"failed to update cluster status","Request.Namespace":"default","Request.Name":"my-cluster-name","replset":"rs0","error":"send update: Operation cannot be fulfilled on perconaservermongodbs.psmdb.percona.com \"my-cluster-name\": the object has been modified; please apply your changes to the latest version and try again"
The cluster cannot be deleted or modified now. Operator is not responding.
Expected behavior
1. I expect that I can set CPU and Memory the same way I do it for regular Kubernetes objects: both "1" and 1 work.
2. I expect that the cluster does not get stuck and I can still delete or modify it.
Attachments
Issue Links
- clones
-
K8SPXC-862 Changing resources might lead to cluster getting stuck
-
- Done
-