Open Service Mesh (OSM) is a lightweight, extensible, cloud native service mesh that allows users to uniformly manage, secure, and get out-of-the-box observability features for highly dynamic microservice environments.
When upgrading from v1.1.1 (or any previous version of OSM that doesn't have the httpRoutes field in the UpstreamTrafficSetting CRD -> v1.2.2 with enableReconciler: true set upon both installation and upgrades (ex: osm mesh upgrade --set ...), the CRD schema change is not persisting - when testing locally, the osm bootstrap pod logs (via local dev version of osm-bootstrap I configured) outputs the correct schema when updating the spec. However, it seems like the reconciler is reverting the UpstreamTrafficSetting back to the previous v1.1.1 version and removing the httpRoutes field. This causes OSM v1.2.2 to fail the ratelimit e2e test, as ratelimit configurations are done via setting the httpRoutes spec in the Upstream Traffic Setting.
Affected area (please mark with X where applicable):
Install [X]
SMI Traffic Access Policy [ ]
SMI Traffic Specs Policy [ ]
SMI Traffic Split Policy [ ]
Permissive Traffic Policy [ ]
Ingress [ ]
Egress [ ]
Envoy Control Plane [ ]
CLI Tool [ ]
Metrics [ ]
Certificate Management [ ]
Sidecar Injection [ ]
Logging [ ]
Debugging [ ]
Tests [X]
Demo [ ]
CI System [X]
Expected behavior: UpstreamTrafficSetting for v1.2 should still have the httpRoutes field when upgrading from v1.1 -> v1.2 with the reconciler enabled.
Steps to reproduce the bug (as precisely as possible):
How was OSM installed?:
Anything else we need to know?:
Bug report archive:
Environment:
OSM version (use osm version): Upgrading from v1.1.1 -> v1.2.2 with --set=osm.enableReconciler=true
Kubernetes version (use kubectl version):
Size of cluster (number of worker nodes in the cluster):
Bug description:
When upgrading from v1.1.1 (or any previous version of OSM that doesn't have the
httpRoutes
field in theUpstreamTrafficSetting CRD
-> v1.2.2 withenableReconciler: true
set upon both installation and upgrades (ex:osm mesh upgrade --set
...), the CRD schema change is not persisting - when testing locally, the osm bootstrap pod logs (via local dev version of osm-bootstrap I configured) outputs the correct schema when updating the spec. However, it seems like the reconciler is reverting the UpstreamTrafficSetting back to the previous v1.1.1 version and removing the httpRoutes field. This causes OSM v1.2.2 to fail the ratelimit e2e test, as ratelimit configurations are done via setting thehttpRoutes
spec in the Upstream Traffic Setting.Affected area (please mark with X where applicable):
Expected behavior: UpstreamTrafficSetting for v1.2 should still have the
httpRoutes
field when upgrading from v1.1 -> v1.2 with the reconciler enabled.Steps to reproduce the bug (as precisely as possible):
How was OSM installed?:
Anything else we need to know?:
Bug report archive:
Environment:
osm version
): Upgrading from v1.1.1 -> v1.2.2 with--set=osm.enableReconciler=true
kubectl version
):