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
This is not a security vulnerability or a crashing bug
This is not a question about how to use Istio
Bug Description
./ClusterInit/istioctl-1.20.3-linux-amd64/istioctl upgrade --set values.global.proxy.resources.limits.cpu=200
Run the command with the --force flag if you want to ignore the validation error and proceed.
Error: generate config: json: cannot unmarshal number into Go value of type string
Then I add quotes - same result: ./ClusterInit/istioctl-1.20.3-linux-amd64/istioctl upgrade --set values.global.proxy.resources.limits.cpu="200"
Run the command with the --force flag if you want to ignore the validation error and proceed.
Error: generate config: json: cannot unmarshal number into Go value of type string
Then I add escaped quotes - it looks good at first:
WARNING: Istio is being upgraded from 1.20.0 to 1.20.3.
Running this command will overwrite it; use revisions to upgrade alongside the existing version.
Before upgrading, you may wish to use 'istioctl x precheck' to check for upgrade warnings.
This will install the Istio 1.20.3 "default" profile (with components: Istio core, Istiod, and Ingress gateways) into the cluster. Proceed? (y/N) y
✔ Istio core installed
✔ Istiod installed
✔ Ingress gateways installed
✔ Installation complete
Made this installation the default for injection and validation.
Now - let's check what it created - cpu is double-escaped. This is not going to work! kubectl get configmap -n istio-system istio-sidecar-injector -o yaml
This uses reflection to check field types of our values. The performance
hit should be negligible as this only runs as part of istioctl. The
function turned out to be a bit more complex because we a) use a map
for values instead of the struct in our IstioOperator CRD and b)
protoc-gen-go does not generate proper json tags.
Fixesistio#50990
Is this the right place to submit this?
Bug Description
./ClusterInit/istioctl-1.20.3-linux-amd64/istioctl upgrade --set values.global.proxy.resources.limits.cpu=200
Run the command with the --force flag if you want to ignore the validation error and proceed.
Error: generate config: json: cannot unmarshal number into Go value of type string
Then I add quotes - same result:
./ClusterInit/istioctl-1.20.3-linux-amd64/istioctl upgrade --set values.global.proxy.resources.limits.cpu="200"
Run the command with the --force flag if you want to ignore the validation error and proceed.
Error: generate config: json: cannot unmarshal number into Go value of type string
Then I add escaped quotes - it looks good at first:
./ClusterInit/istioctl-1.20.3-linux-amd64/istioctl upgrade --set values.global.proxy.resources.limits.cpu=\"200\"
WARNING: Istio is being upgraded from 1.20.0 to 1.20.3.
Running this command will overwrite it; use revisions to upgrade alongside the existing version.
Before upgrading, you may wish to use 'istioctl x precheck' to check for upgrade warnings.
This will install the Istio 1.20.3 "default" profile (with components: Istio core, Istiod, and Ingress gateways) into the cluster. Proceed? (y/N) y
✔ Istio core installed
✔ Istiod installed
✔ Ingress gateways installed
✔ Installation complete
Made this installation the default for injection and validation.
Now - let's check what it created -
cpu
is double-escaped. This is not going to work!kubectl get configmap -n istio-system istio-sidecar-injector -o yaml
...
Version
Additional Information
No response
The text was updated successfully, but these errors were encountered: