-
Story
-
Resolution: Done
-
Blocker
-
None
-
None
-
8
-
False
-
-
False
-
-
There are important differences between how OSSM 2 and 3 managed operator and component versions, for example:
- OSSM 2 used OSSM versions in the SMCP; OSSM 3 will use Istio versions
- OSSM 2 only allowed specifying a minor release; OSSM 3 will allow specifying a patch release and uses a "latest" alias for auto-updates
As this is important info, it should be near the front of the OSSM 2 vs 3 differences page.
Draft content for the two sections:
Operator and Component Versioning (Perhaps include at the end of the "New Operator: The Red Hat OpenShift Service Mesh 3 Operator" section)
All OpenShift operators are versioned, and most operators manage at least one underlying component (operand) that may be independently versioned using a custom resource definition (CRD).
In OpenShift Service Mesh 2, this was the ServiceMeshControlPlane resource. The ServiceMeshControlPlane resource then managed multiple underlying components, such as Istio, Kiali, Jaeger and more which also had independent component versions. Thus, there were three levels of versioning. For example, the OpenShift Service Mesh 2.6 operator managed a 2.6 version of the service mesh control plane, which managed Istio 1.20, Kiali 1.73 and other components. Adding to the complexity, each OpenShift Service Mesh 2 operator version supported multiple service mesh control plane versions. For example, the OpenShift Service Mesh 2.6 operator supported the Openshift service mesh 2.4, 2.5 and 2.6 control plane versions.
OpenShift Service Mesh 3 simplifies this significantly. As the OpenShift Service Mesh 3 operator only manages Istio, a level of versioning has been removed. The OpenShift Service Mesh 3 operator manages the Istio resource which has a single supported component version. For example, OpenShift Service Mesh 3.0 supports only the latest available Istio 1.24 control plane. Additional Istio component versions may be available to aid with upgrades, but only the latest version of Istio is supported for any given operator version.
—
Istio control plane versioning (Perhaps include at the end of "The Istio resource replaces the ServiceMeshControlPlane resource")
In OpenShift Service Mesh 2.6 and earlier releases, the version of the Istio control plane was set using the “version” field of the ServiceMeshControlPlane resource that used versions of OpenShift Service Mesh. This field only accepted minor versions, for example “v2.5” or “v2.6”. When a new patch version became available, for example, “2.6.1”, it would automatically be applied.
In OpenShift Service Mesh 3.0, the Istio resource manages Istio control planes, and also contains a “version” field for specifying the Istio version. Unlike OpenShift Service Mesh 2.6, this field uses Istio versions. The field also accepts specific patch releases, for example “v1.24.1”, which will be maintained (not updated automatically). To enable automatic patch updates, a version of the form “v1.24-latest” can be used. With this example, the operator will keep the Istio control plane up to date with the latest available patch release of Istio 1.24.