Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions modules/update-service-configure-cvo.adoc
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
[id="update-service-configure-cvo"]
= Configuring the Cluster Version Operator (CVO)

After the OpenShift Update Service Operator has been installed and the OpenShift Update Service application created CVO can be updated to pull graph data from the locally installed OpenShift Update Service.
After the OpenShift Update Service Operator has been installed and the OpenShift Update Service application has been created, the Cluster Version Operator (CVO) can be updated to pull graph data from the locally installed OpenShift Update Service.

.Prerequisites

* The OpenShift Update Service Operator has been installed.
* The Openshift Update Service graph-data container image has been created and pushed to a repository accessible to the OpenShift Update Service.
* The Openshift Update Service graph-data container image has been created and pushed to a repository that is accessible to the OpenShift Update Service.
* The current release and update target releases have been mirrored to a locally accessible registry.
* The OpenShift Update Service application has been created.

Expand All @@ -33,10 +33,16 @@ $ NAME=service
$ POLICY_ENGINE_GRAPH_URI="$(oc -n "${NAMESPACE}" get -o jsonpath='{.status.policyEngineURI}/api/upgrades_info/v1/graph{"\n"}' updateservice "${NAME}")"
----

. Patch the CVO ClusterVersion to use the local OpenShift Update Service:
. Set the patch for the pull graph data:
+
[source,terminal]
----
$ PATCH="{\"spec\":{\"upstream\":\"${POLICY_ENGINE_GRAPH_URI}\"}}"
----
+
. Patch the CVO to use the local OpenShift Update Service:
+
[source,terminal]
----
$ oc patch clusterversion version -p $PATCH --type merge
----
16 changes: 7 additions & 9 deletions modules/update-service-create-service-cli.adoc
Original file line number Diff line number Diff line change
@@ -1,26 +1,24 @@
[id="update-service-create-service-cli_{context}"]
= Creating an OpenShift Update Service application by using the CLI

You can use the {product-title} CLI to create an OpenShift Update Service application.
You can use the OpenShift CLI (`oc`) to create an OpenShift Update Service application.

.Prerequisites

* The OpenShift Update Service Operator has already been installed.
* The Openshift Update Service graph-data container image has already been created and pushed to a repository accessible to the OpenShift Update Service.
* The current release and update target releases have already been mirrored to a locally accessible registry.
* The OpenShift Update Service Operator has been installed.
* The Openshift Update Service graph-data container image has been created and pushed to a repository that is accessible to the OpenShift Update Service.
* The current release and update target releases have been mirrored to a locally accessible registry.

.Procedure

To create an OpenShift Update Service application by using the {product-title} CLI:

. Configure the OpenShift Update Service target namespace, for example, `openshift-update-service`:
+
[source,terminal]
----
$ NAMESPACE=openshift-update-service
----
+
The namespace must match the `targetNamespaces` value from the OperatorGroup.
The namespace must match the `targetNamespaces` value from the operator group.

. Configure the name of the OpenShift Update Service application, for example, `service`:
+
Expand Down Expand Up @@ -72,11 +70,11 @@ $ while sleep 1; do POLICY_ENGINE_GRAPH_URI="$(oc -n "${NAMESPACE}" get -o jsonp
+
You might need to poll until the command succeeds.

.. Retrieve a graph from the policy engine. Be sure to specify a valid version for *channel*. For example, if running in {product-title} {product-version} use version {product-version}, e.g. *stable-{product-version}*:
.. Retrieve a graph from the policy engine. Be sure to specify a valid version for `channel`. For example, if running in {product-title} {product-version}, use `stable-{product-version}`:
+
[source,terminal]
----
$ while sleep 10; do HTTP_CODE="$(curl --header Accept:application/json --output /dev/stderr --write-out "%{http_code}" "${POLICY_ENGINE_GRAPH_URI}?channel=stable-4.6")"; if test "${HTTP_CODE}" -eq 200; then break; fi; echo "${HTTP_CODE}"; done
----
+
This polls until the graph request succeeds, although depending on which release images you have mirrored, the resulting graph might be empty.
This polls until the graph request succeeds; however, the resulting graph might be empty depending on which release images you have mirrored.
14 changes: 6 additions & 8 deletions modules/update-service-create-service-web-console.adoc
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
[id="update-service-create-service-web-console_{context}"]
= Creating an OpenShift Update Service application by using the web console

You can use the {product-title} web console to create an Update Service application by using the OpenShift Update Service Operator.
You can use the {product-title} web console to create an OpenShift Update Service application by using the OpenShift Update Service Operator.

.Prerequisites

* The OpenShift Update Service Operator has already been installed.
* The Openshift Update Service graph-data container image has already been created and pushed to a repository accessible to the OpenShift Update Service.
* The current release and update target releases have already been mirrored to a locally accessible registry.
* The OpenShift Update Service Operator has been installed.
* The Openshift Update Service graph-data container image has been created and pushed to a repository that is accessible to the OpenShift Update Service.
* The current release and update target releases have been mirrored to a locally accessible registry.

.Procedure

To create an OpenShift Update Service application by using the {product-title} web console:

. In the {product-title} web console, click *Operators* -> *Installed Operators*.
. In the web console, click *Operators* -> *Installed Operators*.

. Choose *OpenShift Update Service* from the list of installed Operators.

Expand All @@ -39,4 +37,4 @@ To create an OpenShift Update Service application by using the {product-title} w

** Click the *Resources* tab.

** Verify each application resource has status *Created*.
** Verify each application resource has a status of *Created*.
6 changes: 2 additions & 4 deletions modules/update-service-delete-service-cli.adoc
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
[id="update-service-delete-service-cli_{context}"]
= Deleting an OpenShift Update Service application by using the CLI

You can use the {product-title} CLI to delete an OpenShift Update Service application.
You can use the OpenShift CLI (`oc`) to delete an OpenShift Update Service application.

.Procedure

To delete an OpenShift Update Service application by using the {product-title} CLI:

. Get the OpenShift Update Service application name using the namespace the OpenShift Update Service application was created in, for example, `openshift-update-service`:
+
[source,terminal]
Expand All @@ -21,7 +19,7 @@ NAME AGE
service 6s
----

. Delete the OpenShift Update Service application using the `Name` value from the previous step and the namespace the OpenShift Update Service application was created in, for example, `openshift-update-service`:
. Delete the OpenShift Update Service application using the `NAME` value from the previous step and the namespace the OpenShift Update Service application was created in, for example, `openshift-update-service`:
+
[source,terminal]
----
Expand Down
10 changes: 4 additions & 6 deletions modules/update-service-delete-service-web-console.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,16 @@ You can use the {product-title} web console to delete an OpenShift Update Servic

.Prerequisites

* The OpenShift Update Service Operator has already been installed.
* The OpenShift Update Service Operator has been installed.

.Procedure

To delete an OpenShift Update Service application by using the {product-title} web console:

. In the {product-title} web console, click *Operators* -> *Installed Operators*.
. In the web console, click *Operators* -> *Installed Operators*.

. Choose *OpenShift Update Service* from the list of installed Operators.

. Click the *Update Service* tab.

. From the list of installed OpenShift Update Service applications, select the menu icon at the far right of the application to be deleted and then click *Delete UpdateService*.
. From the list of installed OpenShift Update Service applications, select the application to be deleted and then click *Delete UpdateService*.

. From the *Delete UpdateService?* pop up click the *Delete* button to confirm the deletion.
. From the *Delete UpdateService?* confirmation dialog, click *Delete* to confirm the deletion.
4 changes: 2 additions & 2 deletions modules/update-service-graph-data.adoc
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[id="update-service-graph-data_{context}"]
= Creating the OpenShift Update Service graph data container image

The OpenShift Update Service requires a graph-data container image, from which the OpenShift Update Service retrieves information about channel membership and blocked update edges. Graph data is typically fetched directly from the upgrade graph data repository. In environments where an internet connection is unavailable, loading this information from an init container is another way to make the graph data available to the OpenShift Update Service. The role of the init container is to provide a local copy of the graph data, and during pod initialization, the init container copies the data to a volume accessible by the service.
The OpenShift Update Service requires a graph-data container image, from which the OpenShift Update Service retrieves information about channel membership and blocked update edges. Graph data is typically fetched directly from the upgrade graph data repository. In environments where an internet connection is unavailable, loading this information from an init container is another way to make the graph data available to the OpenShift Update Service. The role of the init container is to provide a local copy of the graph data, and during pod initialization, the init container copies the data to a volume that is accessible by the service.

.Procedure

Expand All @@ -23,7 +23,7 @@ CMD exec /bin/bash -c "tar xvzf cincinnati-graph-data.tar.gz -C /var/lib/cincinn
$ podman build -f ./Dockerfile -t registry.example.com/openshift/graph-data:latest
----

. Push the graph-data container image created in the above step to a repository accessible to the OpenShift Update Service, for example, `registry.example.com/openshift/graph-data:latest`:
. Push the graph-data container image created in the above step to a repository that is accessible to the OpenShift Update Service, for example, `registry.example.com/openshift/graph-data:latest`:
+
[source,terminal]
----
Expand Down
30 changes: 14 additions & 16 deletions modules/update-service-install-cli.adoc
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
[id="update-service-install-cli_{context}"]
= Installing the OpenShift Update Service Operator by using the CLI

You can use the {product-title} CLI to install the OpenShift Update Service Operator.
You can use the OpenShift CLI (`oc`) to install the OpenShift Update Service Operator.

.Procedure

To install the OpenShift Update Service Operator by using the {product-title} CLI:
. Create a namespace for the OpenShift Update Service Operator:

. Create a Namespace for the OpenShift Update Service Operator:

.. Create a Namespace object YAML file, for example, `update-service-namespace.yaml`, for the OpenShift Update Service Operator:
.. Create a `Namespace` object YAML file, for example, `update-service-namespace.yaml`, for the OpenShift Update Service Operator:
+
[source,yaml]
----
Expand All @@ -22,13 +20,13 @@ metadata:
labels:
openshift.io/cluster-monitoring: "true" <1>
----
<1> Set the `openshift.io/cluster-monitoring` label to enable operator recommended cluster monitoring on this namespace.
<1> Set the `openshift.io/cluster-monitoring` label to enable Operator-recommended cluster monitoring on this namespace.

.. Create the Namespace:
.. Create the namespace:
+
[source,terminal]
----
$ oc create -f <file-name>.yaml
$ oc create -f <filename>.yaml
----
+
For example:
Expand All @@ -40,7 +38,7 @@ $ oc create -f update-service-namespace.yaml

. Install the OpenShift Update Service Operator by creating the following objects:

.. Create an Operator Group object YAML file, for example, `update-service-operator-group.yaml`:
.. Create an `OperatorGroup` object YAML file, for example, `update-service-operator-group.yaml`:
+
[source,yaml]
----
Expand All @@ -53,11 +51,11 @@ spec:
- openshift-update-service
----

.. Create an Operator Group object:
.. Create an `OperatorGroup` object:
+
[source,terminal]
----
$ oc -n openshift-update-service create -f <file-name>.yaml
$ oc -n openshift-update-service create -f <filename>.yaml
----
+
For example:
Expand All @@ -67,7 +65,7 @@ For example:
$ oc -n openshift-update-service create -f update-service-operator-group.yaml
----

.. Create a Subscription object YAML file, for example, `update-service-subscription.yaml`:
.. Create a `Subscription` object YAML file, for example, `update-service-subscription.yaml`:
+
.Example Subscription
[source,yaml]
Expand All @@ -83,13 +81,13 @@ spec:
sourceNamespace: "openshift-marketplace"
name: "cincinnati-operator"
----
<1> Specify the name of the CatalogSource that provides the Operator. For clusters that do not use a custom Operator Lifecycle Manager (OLM), specify `redhat-operators`. If your {product-title} cluster is installed on a restricted network, also known as a disconnected cluster, specify the name of the CatalogSource object created when you configured the Operator Lifecycle Manager (OLM).
<1> Specify the name of the catalog source that provides the Operator. For clusters that do not use a custom Operator Lifecycle Manager (OLM), specify `redhat-operators`. If your {product-title} cluster is installed on a restricted network, also known as a disconnected cluster, specify the name of the `CatalogSource` object created when you configured Operator Lifecycle Manager (OLM).

.. Create the Subscription object:
.. Create the `Subscription` object:
+
[source,terminal]
----
$ oc create -f <file-name>.yaml
$ oc create -f <filename>.yaml
----
+
For example:
Expand All @@ -116,4 +114,4 @@ update-service-operator.v4.6.0 OpenShift Update Service 4.6.0
...
----
+
If the OpenShift Update Service Operator is listed, installation succeeded. The version number might be different than shown.
If the OpenShift Update Service Operator is listed, the installation was successful. The version number might be different than shown.
10 changes: 4 additions & 6 deletions modules/update-service-install-web-console.adoc
Original file line number Diff line number Diff line change
@@ -1,22 +1,20 @@
[id="update-service-install-web-console_{context}"]
= Installing the OpenShift Update Service Operator by using the web console

You can use the {product-title} web console to install the OpenShift Update Service Operator.
You can use the web console to install the OpenShift Update Service Operator.

.Procedure

To install the OpenShift Update Service Operator using the {product-title} web console:

. In the {product-title} web console, click *Operators* -> *OperatorHub*.
. In the web console, click *Operators* -> *OperatorHub*.
+
[NOTE]
====
Enter `Update Service` into the *Filter by keyword...* field to find the operator faster.
Enter `Update Service` into the *Filter by keyword...* field to find the Operator faster.
====

. Choose *OpenShift Update Service* from the list of available Operators, and click *Install*.

.. `v1` will be selected as the *Update Channel* since it is the only channel available in this release.
.. Channel `v1` is selected as the *Update Channel* since it is the only channel available in this release.

.. Select *A specific namespace on the cluster* under *Installation Mode*.

Expand Down
15 changes: 9 additions & 6 deletions modules/update-service-mirror-release.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ To avoid excessive memory usage by the OpenShift Update Service application, it

.Prerequisites

* Review and complete the steps from "Mirroring images for a disconnected installation" up to but not including the section entitled *Mirroring the {product-title} image repository*.
* You reviewed and completed the steps from "Mirroring images for a disconnected installation" up to but not including the section entitled *Mirroring the {product-title} image repository*.
//TODO: Add xref to preceding step when allowed.
* You configured a mirror registry to use in your restricted network and can access the certificate and credentials that you configured.
ifndef::openshift-origin[]
Expand Down Expand Up @@ -117,10 +117,10 @@ $ ARCHITECTURE=<server_architecture>
----
$ REMOVABLE_MEDIA_PATH=<path> <1>
----
<1> Specify the full path, including the initial forward slash (/) character.
<1> Specify the full path, including the initial forward slash (`/`) character.

. Mirror the version images to the internal container registry:
** If your mirror host does not have Internet access, take the following actions:
** If your mirror host does not have internet access, take the following actions:
... Connect the removable media to a system that is connected to the Internet.
... Review the images and configuration manifests to mirror:
+
Expand All @@ -146,11 +146,15 @@ $ TEMP_REPOSITORY='<temp_repository_name>'
+
For `<temp_repository_name>`, specify the name of a temporary repository to create in your
registry, such as `ocp4/temp`.
... Take the media to the restricted network environment and upload the images to the temporary repository in the local container registry. Uploading the images to the temporary repository allows you to then mirror them from there to the final repositories at which time the release images will be mirrored to a separate repository.
... Take the media to the restricted network environment and upload the images to the temporary repository in the local container registry. By uploading the images to the temporary repository, you can then mirror them to the final repositories so that the release images are mirrored to a separate repository.
+
[source,terminal]
----
$ oc image mirror -a ${LOCAL_SECRET_JSON} --from-dir=${REMOVABLE_MEDIA_PATH}/mirror "file://openshift/release:${OCP_RELEASE}*" ${LOCAL_REGISTRY}/${TEMP_REPOSITORY} <1>
----
+
[source,terminal]
----
$ oc adm release mirror -a ${LOCAL_SECRET_JSON} \
--from=${LOCAL_REGISTRY}/${TEMP_REPOSITORY} \
--to=${LOCAL_REGISTRY}/${LOCAL_REPOSITORY} \
Expand All @@ -159,8 +163,7 @@ $ oc adm release mirror -a ${LOCAL_SECRET_JSON} \
+
<1> For `REMOVABLE_MEDIA_PATH`, you must use the same path that you specified when you mirrored the images.

** If the local container registry is connected to the mirror host, take the following actions:
... Directly push the release images to the local registry by using following command:
** If the local container registry is connected to the mirror host, push the release images directly to the local registry:
+
[source,terminal]
----
Expand Down
Loading