Skip to content

Commit cb6ff3c

Browse files
committed
OSDOCS-6660: add microshift updates
1 parent bb5ab0a commit cb6ff3c

20 files changed

+550
-37
lines changed

_attributes/attributes-microshift.adoc

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,17 @@
66
:OCP: OpenShift Container Platform
77
:ocp-version: 4.14
88
:oc-first: pass:quotes[OpenShift CLI (`oc`)]
9+
:product-title-first: Red Hat build of MicroShift (MicroShift)
910
:product-registry: OpenShift image registry
1011
:product-version: 4.14
1112
:rhel-major: rhel-9
1213
:op-system-base-full: Red Hat Enterprise Linux (RHEL)
1314
:op-system: RHEL
14-
:op-system-ostree-first: Red Hat Enterprise Linux (RHEL) for Edge
15+
:op-system-ostree-first: Red Hat Enterprise Linux for Edge (RHEL for Edge)
1516
:op-system-ostree: RHEL for Edge
1617
:op-system-version: 9.2
1718
:op-system-version-major: 9
18-
:op-system-version-major-short: rhel9
19+
:op-system-bundle-first: Red Hat Device Edge (RHDE)
1920
:op-system-bundle: Red Hat Device Edge
2021
:op-system-bundle-short: RHDE
2122
:rpm-repo-version: rhocp-4.14

_topic_maps/_topic_map_ms.yml

+12-2
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,18 @@ Topics:
5656
- Name: Greenboot health check
5757
File: microshift-greenboot
5858
---
59-
Name: Updating clusters
59+
Name: Updating
6060
Dir: microshift_updating
6161
Distros: microshift
6262
Topics:
63-
- Name: About MicroShift updates
63+
- Name: About updates
6464
File: microshift-about-updates
65+
- Name: Update options
66+
File: microshift-update-options
67+
- Name: Updates with RPM-OSTree systems
68+
File: microshift-update-rpms-ostree
69+
- Name: Manual updates with RPMs
70+
File: microshift-update-rpms-manually
6571
---
6672
Name: Support
6773
Dir: microshift_support
@@ -171,5 +177,9 @@ Topics:
171177
File: microshift-version
172178
- Name: Troubleshooting backup and restore
173179
File: microshift-troubleshoot-backup-restore
180+
- Name: Troubleshoot the cluster
181+
File: microshift-troubleshoot-cluster
182+
- Name: Troubleshoot updates
183+
File: microshift-troubleshoot-updates
174184
- Name: Additional information
175185
File: microshift-things-to-know
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
:_content-type: ASSEMBLY
2+
[id="microshift-troubleshoot-cluster"]
3+
= Troubleshooting a {product-title} cluster
4+
include::_attributes/attributes-microshift.adoc[]
5+
:context: microshift-troubleshoot-cluster
6+
7+
toc::[]
8+
9+
To begin troubleshooting a {product-title} cluster, first access the cluster status.
10+
11+
include::modules/microshift-check-cluster-status.adoc[leveloffset=+1]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
:_content-type: ASSEMBLY
2+
[id="microshift-troubleshoot-updates"]
3+
= Troubleshoot {product-title} updates
4+
include::_attributes/attributes-microshift.adoc[]
5+
:context: microshift-troubleshoot-updates
6+
7+
toc::[]
8+
9+
To troubleshoot {product-title} updates, use the following guide.
10+
11+
[IMPORTANT]
12+
====
13+
You can only update {product-title} from one minor version to the next in sequence. For example, you must update 4.14 to 4.15.
14+
====
15+
16+
include::modules/microshift-updates-troubleshooting.adoc[leveloffset=+1]
17+
18+
//additional resources for troubleshooting module
19+
[role="_additional-resources"]
20+
.Additional resources
21+
* xref:../microshift_install/microshift-greenboot.adoc#microshift-greenboot-systemd-journal-data_microshift-greenboot[Enabling `systemd` journal service data persistency]
22+
* xref:../microshift_troubleshooting/microshift-version.adoc#microshift-version[Checking the MicroShift version]
23+
* xref:../microshift_install/microshift-install-rpm.adoc#microshift-service-stopping_microshift-install-rpm[Stopping the MicroShift service]
24+
* xref:../microshift_install/microshift-install-rpm.adoc#microshift-service-starting_microshift-install-rpm[Starting the MicroShift service]
25+
* link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/composing_installing_and_managing_rhel_for_edge_images/index[Composing, installing, and managing RHEL for Edge images]
26+
* link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/composing_installing_and_managing_rhel_for_edge_images/index#rolling_back_rhel_for_edge_images[Rolling back RHEL for Edge images]
27+
28+
include::modules/microshift-check-journal-logs-updates.adoc[leveloffset=+1]

microshift_updating/microshift-about-updates.adoc

+20-26
Original file line numberDiff line numberDiff line change
@@ -6,43 +6,37 @@ include::_attributes/attributes-microshift.adoc[]
66

77
toc::[]
88

9-
You can update a {product-title} cluster by using the OpenShift CLI (`oc`).
10-
// This PR is for the book build. Note that the OCP structure consists of a landing page of xrefs to other major sections within the book. MicroShift likely does not require that depth of structure, so starting simply with one page.
9+
Upgrades are supported on {product-title-first} beginning with the General Availability version 4.14. Supported upgrades include those from one minor version to the next in sequence, for example, from 4.14 to 4.15. Patch updates are also supported from z-stream to z-stream, for example 4.14.1 to 4.14.2.
1110

1211
[id="microshift-about-updates-understanding-microshift-updates"]
1312
== Understanding {product-title} updates
14-
{product-title} updates are available as either RPMs or by embedding the {product-title} image in an RPM OSTree blueprint.
15-
You can update an {product-title} cluster by using the OpenShift CLI (`oc`).
16-
//Platform administrators can view new update options by looking at the output of the `oc adm upgrade` command.
17-
//An update begins when...
13+
{product-title} updates are supported on both `rpm-ostree` edge-deployed hosts and non-OSTree hosts. You can complete updates using the following methods:
14+
15+
* Embed the latest version of {product-title} in a new `rpm-ostree` system image such as {op-system-ostree-first}. See * xref:../microshift_updating/microshift-update-rpms-ostree.adoc#microshift-update-rpms-ostree[Applying updates on an OSTree system]
16+
* Manually update the RPMs on a non-OSTree system such as {op-system-base-full}. See * xref:../microshift_updating/microshift-update-rpms-manually.adoc#microshift-update-rpms-manually[Applying updates manually with RPMs]
1817

1918
[NOTE]
2019
====
21-
Operators previously installed must be reinstalled using manifests.
20+
Only `rpm-ostree` updates include automatic rollbacks.
2221
====
2322

24-
[id="microshift-about-updates-rpm-updates"]
25-
=== RPM updates
26-
Using the RPM update method replaces your existing version. No rollback is possible with this update type.
27-
//we can call a module here or xref out; not sure the best method for our use case until we have the content
28-
2923
[id="microshift-about-updates-rpm-ostree-updates"]
3024
=== RPM OSTree updates
31-
Using the RPM OSTree update path allows for system rollback.
32-
//we can call a module here or xref out; not sure the best method for our use case until we have the content
25+
Using the {op-system-ostree} `rpm-ostree` update path allows for automated backup and system rollback in case any part of the update fails. You must build a new `rpm-ostree` image and embed the new {product-title} version in that image. The `rpm-ostree` image can be the same version or an updated version, but the versions of {op-system-ostree} and {product-title} must be compatible.
3326

34-
[id="microshift-about-updates-checking-version-update-compatibility"]
35-
== Checking version update compatibility
36-
Before attempting an update, determine which version of {product-title} you have installed. Only the following update paths are supported:
27+
Check following compatibility table for details:
28+
29+
include::snippets/microshift-rhde-compatibility-table-snip.adoc[leveloffset=+1]
30+
31+
[id="microshift-about-updates-rpm-updates"]
32+
=== Manual RPM updates
33+
You can use the manual RPM update path to replace your existing version of {product-title}. The versions of {op-system} and {product-title} must be compatible. Ensuring system health and completing additional system backups are manual processes.
3734

38-
* Version 4.13 to 4.14
39-
//replace with matrix including RHEL versions?
40-
//place xref here to version-check assembly
35+
[id="microshift-about-updates-checking-version-update-path"]
36+
== Checking version update path
37+
Before attempting an update of either {op-system-bundle} component, determine which versions of {product-title} and {op-system-ostree} or {op-system} you have installed. Plan for the versions of each that you intend to use.
4138

42-
[id="microshift-about-updates-update-disconnected-environment"]
43-
== Updating a cluster in a disconnected environment
44-
//sample topic only
39+
*{product-title} update paths*
4540

46-
[id="microshift-about-updates-troubleshooting-updates"]
47-
== Troubleshooting updates
48-
//sample topic only
41+
* Generally Available Version 4.14 to 4.14.z on {op-system-ostree} 9.2
42+
* Generally Available Version 4.14 to 4.14.z on {op-system} 9.2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
:_content-type: ASSEMBLY
2+
[id="microshift-update-options"]
3+
= Update options with {product-title} and {op-system-bundle}
4+
include::_attributes/attributes-microshift.adoc[]
5+
:context: microshift-update-options
6+
7+
toc::[]
8+
9+
You can update {op-system-ostree-first} or {op-system-base-full} with or without updating {product-title-first} as long as the two versions are compatible. See the following table for details:
10+
11+
include::snippets/microshift-rhde-compatibility-table-snip.adoc[leveloffset=+1]
12+
13+
*{product-title} update paths*
14+
15+
* Generally Available Version 4.14.0 to 4.14.z on {op-system-ostree} 9.2
16+
* Generally Available Version 4.14.0 to 4.14.z on {op-system} 9.2
17+
18+
[IMPORTANT]
19+
====
20+
Updates of {product-title} from one minor version to the next must be in sequence. For example, you cannot update from 4.14 to 4.16. You must update 4.14 to 4.15.
21+
====
22+
23+
[id="microshift-update-options-standalone-updates_{context}"]
24+
== Standalone {product-title} updates
25+
26+
You can update {product-title} without reinstalling the applications you created. {op-system} or {op-system-ostree} updates are also not required to update {product-title}, as long as the existing operating system is compatible with the new version of {product-title} that you want to use.
27+
28+
{product-title} operates as an in-place update and does not require removal of the previous version. Data backups beyond those required for the usual functioning of your applications are also not required.
29+
30+
[id="microshift-update-options-rpm-ostree-updates"]
31+
=== RPM-OSTree updates
32+
You can update {product-title} on an `rpm-ostree` system such as {op-system-ostree} by building a new image containing the new version of {product-title}. Ensure that the version of the operating system you want to use is compatible with the new version of {product-title} that you update to.
33+
34+
The following features are available in the {op-system-ostree} update path:
35+
36+
* The system automatically rolls back to a previous healthy system state if the update fails.
37+
* Applications do not need to be reinstalled.
38+
* You can update an application without updating {product-title} using this update type.
39+
* The image you build can contain other updates as needed.
40+
41+
To begin a {product-title} update by embedding in a {op-system-ostree} image, use the procedures in the following documentation:
42+
43+
* xref:../microshift_updating/microshift-update-rpms-ostree.adoc#microshift-update-rpms-ostree[Applying updates on an OSTree system]
44+
45+
To understand more about Greenboot, see the following documentation:
46+
47+
* xref:../microshift_install/microshift-greenboot.adoc#microshift-greenboot[The Greenboot health check]
48+
* xref:../microshift_running_apps/microshift-greenboot-workload-scripts.adoc#microshift-greenboot-workload-scripts[Greenboot workload health check scripts]
49+
50+
[id="microshift-update-options-manual-rpm-updates"]
51+
=== Manual RPM updates
52+
You can update {product-title} manually on a non-OSTree system such as {op-system-base-full} by downloading and updating the RPMs. To complete this update type, use the subscription manager to access the repository containing the new RPMs. To begin a manual RPM update, use the procedures in the following documentation:
53+
54+
* xref:../microshift_updating/microshift-update-rpms-manually.adoc#microshift-update-rpms-manually[About updating MicroShift RPMs manually]
55+
56+
[id="microshift-update-options-standalone-rhel-updates"]
57+
== Standalone {op-system-ostree} updates
58+
You can update {op-system-ostree} or {op-system} without updating {product-title}, on the condition that the two versions are compatible. Check compatibilities before beginning an update. Use the {op-system-ostree} documentation specific to your update path.
59+
60+
//additional resources for updating RHEL alone
61+
[role="_additional-resources"]
62+
.Additional resources
63+
* link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/composing_installing_and_managing_rhel_for_edge_images/index[Managing RHEL for Edge images]
64+
65+
[id="microshift-update-options-simultaneous-microshift-rhel-updates"]
66+
== Simultaneous {product-title} and operating system updates
67+
You can update {op-system-ostree} or {op-system} and update {product-title} at the same time, on the condition that the versions are compatible. Check for compatibility before beginning an update. First use the {op-system-ostree} documentation specific to your update path to plan and update the operating system. Then use the {product-title} update type specific to your update path.
68+
69+
//additional resources for updating RHEL and MicroShift
70+
[role="_additional-resources"]
71+
.Additional resources
72+
* link:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/composing_installing_and_managing_rhel_for_edge_images/index[Managing RHEL for Edge images]
73+
* xref:../microshift_updating/microshift-update-rpms-ostree.adoc#microshift-update-rpms-ostree[Applying updates on an OSTree system]
74+
* xref:../microshift_updating/microshift-update-rpms-manually.adoc#microshift-update-rpms-manually[Applying updates manually with RPMs]
75+
* xref:../microshift_install/microshift-greenboot.adoc#microshift-greenboot[The Greenboot system health check]
76+
* xref:../microshift_running_apps/microshift-greenboot-workload-scripts.adoc#microshift-greenboot-workload-scripts[Greenboot workload scripts]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
:_content-type: ASSEMBLY
2+
[id="microshift-update-rpms-manually"]
3+
= About updating {product-title} RPMs manually
4+
include::_attributes/attributes-microshift.adoc[]
5+
:context: microshift-update-rpms-manually
6+
7+
toc::[]
8+
9+
Updating {product-title-first} for non-OSTree systems such as {op-system-base-full} requires downloading then updating the RPMs. For patch releases, such as 4.14.1 to 4.14.2, download and update the RPMs. For minor-version release updates, add the step of enabling the update repository using your subscription manager.
10+
11+
[IMPORTANT]
12+
====
13+
{product-title} updates are supported from one minor version to the next in sequence. For example, you must update 4.14 to 4.15.
14+
====
15+
16+
For either upgrading with patch updates or a minor-version update, you can back up application data as needed and move the data copy to a secure location.
17+
18+
include::modules/microshift-updating-rpms-z.adoc[leveloffset=+1]
19+
20+
include::modules/microshift-updating-rpms-y.adoc[leveloffset=+1]
21+
22+
//[role="_additional-resources"]
23+
//.Additional resources
24+
//TODO: cross reference to backup and restore when merged
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
:_content-type: ASSEMBLY
2+
[id="microshift-update-rpms-ostree"]
3+
= About updating {product-title} RPMs on an OSTree system
4+
include::_attributes/attributes-microshift.adoc[]
5+
:context: microshift-update-rpms-ostree
6+
7+
toc::[]
8+
9+
Updating {product-title-first} on an `rpm-ostree` system such as {op-system-ostree-first} requires building a new operating system image containing the new version of {product-title}. After you have the `rpm-ostree` image with {product-title} embedded, direct your system to boot into that operating system image.
10+
11+
The procedures are the same for patches and minor-version updates. For example, use the same steps to upgrade from 4.14.0 to 4.14.1 or from 4.14 to 4.15.
12+
13+
include::snippets/microshift-rhde-compatibility-table-snip.adoc[leveloffset=+1]
14+
15+
[NOTE]
16+
====
17+
Downgrades are not supported. The following procedure is for upgrades only.
18+
====
19+
20+
include::modules/microshift-updating-rpms-ostree.adoc[leveloffset=+1]

modules/microshift-adding-repos-to-image-builder.adoc

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// Module included in the following assemblies:
22
//
3-
// microshift/microshift-embed-into-rpm-ostree.adoc
3+
// * microshift/microshift-embed-into-rpm-ostree.adoc
4+
// * microshift/microshift-update-rpms-ostree.adoc
45

56
:_content-type: PROCEDURE
67
[id="adding-microshift-repos-image-builder_{context}"]
@@ -24,7 +25,7 @@ $ cat > {rpm-repo-version}.toml <<EOF
2425
id = "{rpm-repo-version}"
2526
name = "Red Hat OpenShift Container Platform {ocp-version} for RHEL {op-system-version-major}"
2627
type = "yum-baseurl"
27-
url = "https://cdn.redhat.com/content/dist/layered/{op-system-version-major-short}/$(uname -m)/rhocp/{ocp-version}/os"
28+
url = "https://cdn.redhat.com/content/dist/layered/{rhel-major}/$(uname -m)/rhocp/{ocp-version}/os"
2829
check_gpg = true
2930
check_ssl = true
3031
system = false
@@ -40,7 +41,7 @@ $ cat > fast-datapath.toml <<EOF
4041
id = "fast-datapath"
4142
name = "Fast Datapath for RHEL 9"
4243
type = "yum-baseurl"
43-
url = "https://cdn.redhat.com/content/dist/layered/{op-system-version-major-short}/$(uname -m)/fast-datapath/os"
44+
url = "https://cdn.redhat.com/content/dist/layered/{rhel-major}/$(uname -m)/fast-datapath/os"
4445
check_gpg = true
4546
check_ssl = true
4647
system = false

modules/microshift-adding-service-to-blueprint.adoc

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// Module included in the following assemblies:
22
//
3-
// microshift/microshift-embed-into-rpm-ostree.adoc
3+
// * microshift/microshift-embed-into-rpm-ostree.adoc
4+
// * microshift/microshift-update-rpms-ostree.adoc
45

56
:_content-type: PROCEDURE
67
[id="adding-microshift-service-to-blueprint_{context}"]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
//Module included in the following assemblies:
2+
//
3+
//* microshift_troubleshooting/microshift-troubleshoot-cluster
4+
5+
:_content-type: PROCEDURE
6+
[id="microshift-check-cluster-status_{context}"]
7+
= Checking the status of a {product-title} cluster
8+
9+
You can check the status of a {product-title} cluster or see active pods by running a simple command. Given in the following procedure are three commands you can use to check cluster status. You can choose to run one, two, or all commands to help you retrieve the information you need to troubleshoot the cluster.
10+
11+
.Procedure
12+
* You can check the {product-title} system status, which returns the cluster status, by running the following command:
13+
+
14+
[source,terminal]
15+
----
16+
$ sudo systemctl status microshift
17+
----
18+
+
19+
If {product-title} is failing to start, this command returns the logs from the previous run.
20+
21+
* Optional: You can view the {product-title} logs by running the following command:
22+
+
23+
[source,terminal]
24+
----
25+
$ sudo journalctl -u microshift
26+
----
27+
28+
[NOTE]
29+
====
30+
The default configuration of the `systemd` journal service stores data in a volatile directory. To persist system logs across system starts and restarts, enable log persistence and set limits on the maximum journal data size.
31+
====
32+
33+
* Optional: If {product-title} is running, you can see active pods by entering the following command:
34+
+
35+
[source,terminal]
36+
----
37+
$ oc get pods -A
38+
----

0 commit comments

Comments
 (0)