Skip to content

Commit c6668d0

Browse files
authored
Merge pull request #48812 from JStickler/OSSMDOC-628
OSSMDOC-628: Update upgrade page and address common questions.
2 parents 04289d3 + 69f40ee commit c6668d0

6 files changed

+55
-19
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// Module included in the following assemblies:
2+
// * service_mesh/v2x/upgrading-ossm.adoc
3+
4+
[id="ossm-versioning_{context}"]
5+
= Understanding versioning
6+
7+
Red Hat uses semantic versioning for product releases. Semantic Versioning is a 3-component number in the format of X.Y.Z, where:
8+
9+
* X stands for a Major version. Major releases usually denote some sort of breaking change: architectural changes, API changes, schema changes, and similar major updates.
10+
11+
* Y stands for a Minor version. Minor releases contain new features and functionality while maintaining backwards compatibility.
12+
13+
* Z stands for a Patch version (also known as a z-stream release). Patch releases are used to addresses Common Vulnerabilities and Exposures (CVEs) and release bug fixes. New features and functionality are generally not released as part of a Patch release.
14+
15+
== How versioning affects Service Mesh upgrades
16+
17+
Depending on the version of the update you are making, the upgrade process is different.
18+
19+
* *Patch updates* - Patch upgrades are managed by the Operator Lifecycle Manager (OLM); they happen automatically when you update your Operators.
20+
21+
* *Minor upgrades* - Minor upgrades require both updating to the most recent {SMProductName} Operator version and manually modifying the `spec.version` value in your `ServiceMeshControlPlane` resources.
22+
23+
* *Major upgrades* - Major upgrades require both updating to the most recent {SMProductName} Operator version and manually modifying the `spec.version` value in your `ServiceMeshControlPlane` resources. Because major upgrades may contain changes that are not backwards compatible, additional manual changes might be required.
Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
// Module included in the following assemblies:
2-
// * service_mesh/v1x/upgrading-ossm.adoc ???
32
// * service_mesh/v2x/upgrading-ossm.adoc
43
// * service_mesh/v2x/ossm-troubleshooting.adoc
54

@@ -9,21 +8,17 @@
98

109
In order to understand what version of {SMProductName} you have deployed on your system, you need to understand how each of the component versions is managed.
1110

12-
The {SMProductName} 2.x Operator supports both v1x and v2x service meshes.
13-
14-
* *Operator* version - The current Operator version is {SMProductVersion}. This version number only indicates the version of the currently installed Operator. This version number is controlled by the intersection of the *Update Channel* and *Approval Strategy* specified in your Operator subscription. The version of the Operator does not determine which version of the `ServiceMeshControlPlane` resource is deployed.
11+
* *Operator* version - The most current Operator version is {SMProductVersion}. The Operator version number only indicates the version of the currently installed Operator. Because the {SMProductName} Operator supports multiple versions of the control plane, the version of the Operator does not determine the version of your deployed `ServiceMeshControlPlane` resources.
1512
+
1613
[IMPORTANT]
1714
====
18-
Upgrading to the latest Operator version does not automatically upgrade your control plane to the latest version.
15+
Upgrading to the latest Operator version automatically applies patch updates, but does not automatically upgrade your control plane to the latest minor version.
1916
====
2017
+
21-
* *ServiceMeshControlPlane* version - The same Operator supports multiple versions of the service mesh control plane. The service mesh control plane version controls the architecture and configuration settings that are used to install and deploy {SMProductName}. To set or change the service mesh control plane version, you must deploy a new control plane. When you create the service mesh control plane you can select the version in one of two ways:
18+
* *ServiceMeshControlPlane* version - The `ServiceMeshControlPlane` version determines what version of {SMProductName} you are using. The value of the `spec.version` field in the `ServiceMeshControlPlane` resource controls the architecture and configuration settings that are used to install and deploy {SMProductName}. When you create the service mesh control plane you can set the version in one of two ways:
2219
2320
** To configure in the Form View, select the version from the *Control Plane Version* menu.
2421

2522
** To configure in the YAML View, set the value for `spec.version` in the YAML file.
2623

27-
* *Control Plane* version - The version parameter specified within the SMCP resource file as `spec.version`. Supported versions are v1.1, v2.0, and v2.1.
28-
2924
Operator Lifecycle Manager (OLM) does not manage control plane upgrades, so the version number for your Operator and `ServiceMeshControlPlane` (SMCP) may not match, unless you have manually upgraded your SMCP.

modules/ossm-upgrading-from-20-to-21.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
[id="ossm-upgrading-from-20-21_{context}"]
66
= Upgrading to {SMProductName} 2.1
77

8-
To upgrade {SMProductName}, you must update the version field of the {SMProductName} `ServiceMeshControlPlane` v2 resource. Then, once it's configured and applied, restart the application pods to update each sidecar proxy and its configuration.
8+
To upgrade {SMProductName}, you must update the version field of the {SMProductName} `ServiceMeshControlPlane` v2 resource. Then, once it is configured and applied, restart the application pods to update each sidecar proxy and its configuration.
99

1010
.Prerequisites
1111

modules/ossm-upgrading-from-21-to-22.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
[id="ossm-upgrading-from-21-22_{context}"]
66
= Upgrading to {SMProductName} 2.2
77

8-
To upgrade {SMProductName}, you must update the version field of the {SMProductName} `ServiceMeshControlPlane` v2 resource. Then, once it's configured and applied, restart the application pods to update each sidecar proxy and its configuration.
8+
To upgrade {SMProductName}, you must update the version field of the {SMProductName} `ServiceMeshControlPlane` v2 resource. Then, once it is configured and applied, restart the application pods to update each sidecar proxy and its configuration.
99

1010
.Prerequisites
1111

modules/ossm-upgrading-operator.adoc

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,25 +4,35 @@
44
[id="ossm-upgrading-operator_{context}"]
55
= Upgrading the Operators
66

7+
In order to keep your {SMProductShortName} patched with the latest security fixes, bug fixes, and software updates, you must keep your Operators updated. You initiate patch updates by upgrading your Operators.
8+
79
[IMPORTANT]
810
====
9-
The version of the Operator does _not_ determine the version of your service mesh. The current Operator supports both v1 and v2 service meshes.
10-
11-
Updating the Operator does not affect the version of any component other than the Operator. Updating the Operators does _not_ update the `ServiceMeshControlPlane` version or deployments.
11+
The version of the Operator does *not* determine the version of your service mesh. The version of your deployed control plane determines your version of Service Mesh.
1212
====
1313

14-
When you installed your Operators, you selected an *Update Channel* and an *Approval Strategy*. Those two settings determine when and how your Operators are updated.
14+
Because the {SMProductName} Operator supports multiple versions of the control plane, updating the {SMProductName} Operator does _not_ update the `spec.version` value of your deployed `ServiceMeshControlPlane`. Also note that the `spec.version` value is a two digit number, for example 2.2, and that patch updates, for example 2.2.1, are not reflected in the SMCP version value.
15+
16+
Operator Lifecycle Manager (OLM) controls the installation, upgrade, and role-based access control (RBAC) of Operators in a cluster. The OLM runs by default in {product-title}. OLM queries for available Operators as well as upgrades for installed Operators.
17+
18+
Whether or not you have to take action to upgrade your Operators depends on the settings you selected when installing them. When you installed each of your Operators, you selected an *Update Channel* and an *Approval Strategy*. The combination of these two settings determine when and how your Operators are updated.
1519

1620
.Interaction of Update Channel and Approval Strategy
1721
[options="header"]
1822
[cols="a, a, a"]
1923
|====
20-
| |Versioned channel|"Stable" or "Preview" channel
24+
| |Versioned channel|"Stable" or "Preview" Channel
2125
|*Automatic*
22-
|Automatically updates Operator for minor and patch releases for that version only. Will not automatically update to the next major version (that is, from version 2.0 to 3.0). Manual change to Operator subscription required to update to the next major version.
26+
|Automatically updates the Operator for minor and patch releases for that version only. Will not automatically update to the next major version (that is, from version 2.0 to 3.0). Manual change to Operator subscription required to update to the next major version.
2327
|Automatically updates Operator for all major, minor, and patch releases.
2428

2529
|*Manual*
2630
|Manual updates required for minor and patch releases for the specified version. Manual change to Operator subscription required to update to the next major version.
2731
|Manual updates required for all major, minor, and patch releases.
2832
|====
33+
34+
When you update your {SMProductName} Operator the Operator Lifecycle Manager (OLM) removes the old Operator pod and starts a new pod. Once the new Operator pod starts, the reconciliation process checks the `ServiceMeshControlPlane` (SMCP), and if there are updated container images available for any of the control plane components, it replaces those control plane pods with ones that use the new container images.
35+
36+
When you upgrade the Kiali and {JaegerName} Operators, the OLM reconciliation process scans the cluster and upgrades the managed instances to the version of the new Operator. For example, if you update the {JaegerName} Operator from version 1.30.2 to version 1.34.1, the Operator scans for running instances of {JaegerShortName} and upgrades them to 1.34.1 as well.
37+
38+
To stay on a particular patch version of {SMProductName}, you would need to disable automatic updates and remain on that specific version of the Operator.

service_mesh/v2x/upgrading-ossm.adoc

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,13 @@ To access the most current features of {SMProductName}, upgrade to the current v
1111
////
1212
The following include statements pull in the module files that comprise the assembly.
1313
////
14-
include::modules/ossm-understanding-versions.adoc[leveloffset=+1]
14+
include::modules/ossm-understanding-versioning.adoc[leveloffset=+1]
15+
16+
include::modules/ossm-understanding-versions.adoc[leveloffset=+2]
1517

1618
include::modules/ossm-upgrade-considerations.adoc[leveloffset=+1]
1719

18-
include::modules/ossm-upgrade-known-issues.adoc[leveloffset=+1]
20+
include::modules/ossm-upgrade-known-issues.adoc[leveloffset=+2]
1921

2022
include::modules/ossm-upgrading-operator.adoc[leveloffset=+1]
2123

@@ -26,8 +28,12 @@ endif::[]
2628
[id="upgrading-control-plane"]
2729
== Upgrading the Service Mesh control plane
2830

31+
You must manually update the control plane for minor and major releases.
32+
2933
include::modules/ossm-upgrade-21-22-changes.adoc[leveloffset=+2]
3034

35+
For more information about migrating your extensions, refer to xref:../../service_mesh/v2x/ossm-extensions.adoc#ossm-extensions-migration-overview_ossm-extensions[Migrating from ServiceMeshExtension to WasmPlugin resources].
36+
3137
include::modules/ossm-upgrading-from-21-to-22.adoc[leveloffset=+2]
3238

3339
include::modules/ossm-upgrade-20-21-changes.adoc[leveloffset=+2]
@@ -39,4 +45,6 @@ include::modules/ossm-migrating-to-20.adoc[leveloffset=+1]
3945
[id="upgrading-data-plane"]
4046
== Upgrading the data plane
4147

42-
include::modules/ossm-upgrade-apps-workloads.adoc[leveloffset=+1]
48+
You must restart your application pods and workloads to apply updates to the Envoy proxy or changes to proxy configuration.
49+
50+
include::modules/ossm-upgrade-apps-workloads.adoc[leveloffset=+2]

0 commit comments

Comments
 (0)