streamnative/function-mesh

backward compatibility issue

jiangpengcheng opened this issue · 0 comments

With version updates of function-mesh, some unmodified fields of statefulset(or other k8s resources) may be changed even with same yaml, which makes it fail to update existing functions/sinks/sources and results in an infinite reconcile loop, the error like below:

ERROR	controllers.Sink	error create or update statefulSet workload for sink	{"namespace": "sncloud", "name": "es-logs-with-ts-3e5094bd", "statefulSet name": "es-logs-with-ts-3e5094bd-sink", "error": "StatefulSet.apps \"es-logs-with-ts-3e5094bd-sink\" is invalid: spec: Forbidden: updates to statefulset spec for fields other than 'replicas', 'template', 'updateStrategy', 'persistentVolumeClaimRetentionPolicy' and 'minReadySeconds' are forbidden"