Failure triggered from controlplane.yaml of IstioOperator if non-string value provided as extraIngressGateway.k8s.resources values
Bug: extraIngressGateways.k8s.resources cpu/mem- causes istio-operator failure if non-string value provided in values.yaml BigBang overrides
Version: istio-controlplan 1.8.4-bb.5
Description: If a cpu value is entered as a numeric value (e.g. 1 instead of 1000m or 1.5 instead of 1500m), the istio-operator fails to complete its startup and logs indicate that the numeric value from the YAML is expected to be a string.
Workarounds:
- Use mili-cpu values
- (untested) string-ify the values
Example input for BigBang values.yaml overrides:
hpaSpec:
minReplicas: 2
maxReplicas: 3
resources:
limits:
cpu: 1 ### THIS WILL TRIGGER ISTIO OPERATOR FAILURE
memory: 3Gi
requests:
cpu: 500m ### THIS WILL WORK FINE
memory: 1Gi
Example log from pod istio-operator/istio-operator-XXXXX:
2021-08-02T22:10:32.443299Z error klog k8s.io/client-go@v0.19.3/tools/cache/reflector.go:156:
Failed to watch *v1alpha1.IstioOperator: failed to list *v1alpha1.IstioOperator:
v1alpha1.IstioOperatorList.ListMeta: v1.ListMeta.TypeMeta: Kind: Items: []v1alpha1.IstioOperator:
v1alpha1.IstioOperator.Spec: unmarshalerDecoder: json:
cannot unmarshal number into Go value of type string, error found in #10 byte of ...|e":true}}}}],"kind":|...,
bigger context ...|td-configcheck"]}]}],"rewriteAppHTTPProbe":true}}}}],"kind":"IstioOperatorList","metadata":
{"continu|...[]
Edited by Tim Martin