diff --git a/_topic_maps/_topic_map.yml b/_topic_maps/_topic_map.yml index ff010a6b33..66d49dfa9f 100644 --- a/_topic_maps/_topic_map.yml +++ b/_topic_maps/_topic_map.yml @@ -539,6 +539,8 @@ Topics: Distros: openshift-enterprise - Name: Updating hardware on nodes running on vSphere File: updating-hardware-on-nodes-running-on-vsphere +- Name: Updating a cluster that includes the Special Resource Operator + File: updating-clusters-sro # - Name: Troubleshooting an update # File: updating-troubleshooting --- diff --git a/modules/update-updating-clusters-sro-concept.adoc b/modules/update-updating-clusters-sro-concept.adoc new file mode 100644 index 0000000000..50cb52b19d --- /dev/null +++ b/modules/update-updating-clusters-sro-concept.adoc @@ -0,0 +1,33 @@ +// Module included in the following assemblies: +// +// * updating/updating-clusters-sro.adoc + +:_content-type: CONCEPT +[id="custom-resource-and-verification-status-information_{context}"] += Custom resource and verification status information + +The preflight check provides information on the status of the custom resource (CR) and the status of the verification. + +.Possible CR statuses + +The possible CR statuses are as follows: +-- +`True`:: The Special Resource Operator (SRO) CR will upgrade without kernel compatibility issues. +`False`:: There is an issue with kernel compatibility for the CR. The `Status Reason` field provides additional information on this. +`Error`:: The status check was not completed due to an internal error. The `Status Reason` field provides additional information on debugging this. +`Unknown`:: The check has not yet verified the status of the CR. This might be because the process has not yet reached the specific CR or not enough time has elapsed for the check to complete. +-- + +.Possible verification statuses + +The possible verification statuses are as follows: + +-- +`True`:: The image exists and is compatible, or the image does not exist but there is a `BuildConfig` resource in place. +`False`:: The image does not exist and there is no `BuildConfig` resource in place, or an image exists but it is not compatible with the new kernel version. ++ +If the verification status is `False`, you can take one of the following steps: ++ +* Create a prebuilt image with the correct name and check the status field again. +* Change the CR to include a `BuildConfig` reosurce. +-- diff --git a/modules/update-upgrading-sro.adoc b/modules/update-upgrading-sro.adoc new file mode 100644 index 0000000000..fc7c74c7dd --- /dev/null +++ b/modules/update-upgrading-sro.adoc @@ -0,0 +1,64 @@ +// Module included in the following assemblies: +// +// * updating/updating-clusters-sro.adoc + +:_content-type: PROCEDURE +[id="updating-running-a-preflight-check-for-sro_{context}"] += Running a preflight check for the Special Resource Operator + +You can use the following example procedure to check the compatibility of a kernel module version before updating a cluster that includes the Special Resource Operator (SRO). + +.Prerequisites + +* You have a running {product-title} cluster. +* You installed the OpenShift CLI (`oc`). +* You are logged in to the OpenShift CLI as a user with `cluster-admin` privileges. +* You installed the SRO. + +.Procedure + +. Create the following preflight validation custom resource definition (CRD) and save the YAML as `prevalidation.yaml`. ++ +[source,yaml] +---- +apiVersion: sro.openshift.io/v1beta1 +kind: PreflightValidation +metadata: + name: preflight + namespace: preflight +spec: + updateImage: quay.io/openshift-release-dev/ocp-release@sha256:f7f252c39b64601c8ac3de737a584ba4f6016b1f4b17801d726ca2fd15492878 <1> +---- +<1> Specify the name of the update image here. ++ +. Start the validation check by running the following command: ++ +[source,terminal] +---- +$ oc apply -f prevalidation.yaml +---- + +.Verification +* Check the status of the custom resource (CR) by running the following command: ++ +[source,terminal] +---- +$ oc describe preflightvalidations.sro.openshift.io/v1beta1 preflight +---- ++ +.Example output +The following is an example output in which `simple-oot` is a `SpecialResource` CR that is deployed on the cluster. ++ +[source,terminal] +---- +Status: + Cr Statuses: + Last Transition Time: 2022-08-02T08:48:45Z + Name: simple-oot + Status Reason: Verification successful, all driver-containers for the next kernel version are present + Verification Stage: Image + Verification Status: True +Events: +---- ++ +The preflight check continues to run until all CRs are verified. You can repeat the preceding command to check the status. After all CRs are verified, you should delete the preflight CR. diff --git a/updating/index.adoc b/updating/index.adoc index 3680914e7f..7b1ed43dd3 100644 --- a/updating/index.adoc +++ b/updating/index.adoc @@ -88,6 +88,11 @@ xref:../updating/updating-hardware-on-nodes-running-on-vsphere.adoc#updating-har * xref:../updating/updating-hardware-on-nodes-running-on-vsphere.adoc#updating-virtual-hardware-on-vsphere_updating-hardware-on-nodes-running-in-vsphere[Updating virtual hardware on vSphere] * xref:../updating/updating-hardware-on-nodes-running-on-vsphere.adoc#scheduling-virtual-hardware-update-on-vsphere_updating-hardware-on-nodes-running-in-vsphere[Scheduling an update for virtual hardware on vSphere] +[id="updating-clusters-overview-sro"] +== Updating a cluster that includes the Special Resource Operator + +xref:../updating/updating-clusters-sro.adoc#updating-clusters-sro[Updating a cluster that includes the Special Resource Operator]: When updating a cluster that includes the Special Resource Operator (SRO), it is important to consider whether the new kernel module version is compatible with the kernel modules currently loaded by the SRO. You can run a preflight check to confirm if the SRO will be able to upgrade the kernel modules. + [IMPORTANT] ==== Using hardware version 13 for your cluster nodes running on vSphere is now deprecated. This version is still fully supported, but support will be removed in a future version of {product-title}. Hardware version 15 is now the default for vSphere virtual machines in {product-title}. diff --git a/updating/updating-clusters-sro.adoc b/updating/updating-clusters-sro.adoc new file mode 100644 index 0000000000..18b37e04a3 --- /dev/null +++ b/updating/updating-clusters-sro.adoc @@ -0,0 +1,19 @@ +:_content-type: ASSEMBLY +[id="updating-clusters-sro"] += Updating a cluster that includes the Special Resource Operator +include::_attributes/common-attributes.adoc[] +:context: updating-clusters-sro + +toc::[] + +When updating a cluster that includes the Special Resource Operator (SRO), it is important to consider whether the new kernel module version is compatible with the kernel modules currently loaded by the SRO. You can run a preflight check to confirm if the SRO will be able to upgrade the kernel modules. + +include::modules/update-updating-clusters-sro-concept.adoc[leveloffset=+1] + +include::modules/update-upgrading-sro.adoc[leveloffset=+1] + +[role="_additional-resources"] +[id="additional-resources_updating-clusters-sro"] +== Additional resources + +* xref:../hardware_enablement/psap-special-resource-operator.adoc#special-resource-operator[Special Resource Operator]