-
Notifications
You must be signed in to change notification settings - Fork 709
Description
Description:
After upgrading from 1.3.0 to 1.4.0 the deployment is unable to be patched because of a invalid environment value.
In 1.3.0 the namespace was configured to be
- name: ENVOY_GATEWAY_NAMESPACE
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
and 1.4.0 changed this to be
- name: ENVOY_GATEWAY_NAMESPACE
value: envoy-gateway-system
this then gives the following error when envoy-gateway patches the deployment
spec.template.spec.containers[1].env[0].valueFrom: Invalid value: \"\": may not be specified when `value` is not empty]"
I assume this is because the patch struggles to drop null values
as I expect the following is sent in the patch request
- name: ENVOY_GATEWAY_NAMESPACE
value: envoy-gateway-system
valueFrom: null
The log message which envoy gateway logs seems to indicate this as well
{ENVOY_GATEWAY_NAMESPACE envoy-gateway-system nil}
I have seen this before in other systems. A manual fix for the to allow envoy-gateway to roll out the new deployment config was to manually edit the deployment with the new namespace setting then restart envoy-gateway controller pods.
Only one cluster of ours has not exhibited this behaviour but this had a fresh install of 1.3.0 last week, before the 1.4.0 upgrade. The other clusters have been all migrated upwards from 1.0.0 over the course of the last year.
Kubernetes Version: 1.32.3
Platform: GKE