-
Notifications
You must be signed in to change notification settings - Fork 1.9k
WIP: update_service: Add docs for the OpenShift Update Service #26219
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,76 @@ | ||||||
| [id="update-service-create-service-cli_{context}"] | ||||||
| = Creating an Update Service by using the CLI | ||||||
|
|
||||||
| You can use the {product-title} CLI to create an Update Service by using the {product-title} Update Service Operator. | ||||||
|
|
||||||
| .Procedure | ||||||
|
|
||||||
| To create an Update Service by using the {product-title} CLI: | ||||||
|
|
||||||
wking marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||
| . Configure the Update Service target namespace: | ||||||
| + | ||||||
| [source,terminal] | ||||||
| ---- | ||||||
| $ NAMESPACE=FIXME-default-operand-namespace | ||||||
|
||||||
| $ NAMESPACE=FIXME-default-operand-namespace | |
| $ NAMESPACE=FIXME-default-operand-namespace <1> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And then <1> This must match... below? Do we need the <1> linkage if this is the only line of code-ish stuff in the Configure the Update Service target namespace list entry?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we have the name of the default-operand-namespace?
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UpdateService requires registry and repository:
The UpdateService "example" is invalid:
* spec.registry: Required value
* spec.repository: Required value
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So, how do you want users to define this? Around line 28, do we also need to set $REGISTRY=registry.example.com and $REPOSITORY=registry.example.com/openshift/ or some other thing?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UpdateService now only needs releases for this information. In the API docs, I picked quay.io/openshift-release-dev/ocp-release as the example value, but yeah, registry.example.com/openshift would work too.
wking marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,44 @@ | ||
| [id="update-service-create-service-web-console_{context}"] | ||
| = Creating an Update Service by using the web console | ||
|
|
||
| You can use the {product-title} web console to create an Update Service by using the {product-title} Update Service Operator. | ||
|
|
||
| .Procedure | ||
|
|
||
| To create an Update Service by using the {product-title} web console: | ||
|
|
||
| . Switch to the *Administration* -> *Custom Resource Definitions* page. | ||
|
|
||
| . On the *Custom Resource Definitions* page, click *UpdateService*. | ||
|
|
||
| . On the *Custom Resource Definition Overview* page, select *View Instances* from the *Actions* menu. | ||
|
|
||
| . On the *UpdateServices* page, click *Create UpdateService*. | ||
| + | ||
| You might have to refresh the page to load the data. | ||
|
|
||
| .. In the YAML field, replace the code with the following YAML: | ||
| + | ||
| [source,yaml] | ||
| ---- | ||
| apiVersion: updateservice.openshift.io/v1 | ||
| kind: UpdateService | ||
| metadata: | ||
| name: <name> <1> | ||
| spec: | ||
| replicas: 2 | ||
| releaseImages: <release-images> <2> | ||
| graphDataImage: <graph-data-image> <3> | ||
| ---- | ||
| + | ||
| <1> For `<name>`, specify a name for your Update Service, such as `openshift`. | ||
| <2> FIXME: aspirational. For `<release-images>`, specify the local registry and repository for the release images, such as `registry.example.com/openshift/release`. | ||
| <3> For `<graph-data-image>`, specify the local pullspec for the graph-data image, such as `registry.example.com/openshift/graph-data:latest`. | ||
|
|
||
| .. Click *Create* to create the Update Service components. | ||
|
|
||
| //// | ||
| . Verify the Update Service: | ||
|
|
||
| .. FIXME: check the UpdateService YAML for status... | ||
|
||
| //// | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,87 @@ | ||
| [id="update-service-graph-data_{context}"] | ||
| = Mirroring the {product-title} Update Service graph data | ||
|
|
||
| The {product-title} Update Service requires a graph-data container image, from which the Update Service retrieves information about channel membership and blocked update edges. | ||
|
|
||
| .Prerequisites | ||
|
|
||
| * An link:https://cloud.redhat.com/openshift/install/pull-secret[{product-title} pull secret]. | ||
| * A pull secret for the local registry. | ||
|
|
||
| .Procedure | ||
|
|
||
| . On a machine connected to the internet, retrieve the graph-data container image from the hosted services. | ||
|
|
||
| .. Configure the path to the directory on your removable media to host the mirrored images: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ REMOVABLE_MEDIA_PATH=<path> | ||
| ---- | ||
|
|
||
| .. Configure the path to your {product-title} pull secret: | ||
|
||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ OCP_PULL_SECRET=<path> | ||
| ---- | ||
|
|
||
| .. Mirror the graph-data container image to the removable media: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc image mirror -a "${OCP_PULL_SECRET}" --dir="${REMOVABLE_MEDIA_PATH}" FIXME-where-registry.redhat.ren:5443/ocp4/openshift4 file://openshift/graph-data:latest | ||
|
||
| ---- | ||
|
|
||
| . Transfer the removable media to your restricted network. | ||
|
|
||
| . On a computer that is connected to your restricted network, upload the graph-data container image to your local registry. | ||
|
|
||
| .. Configure the path to the directory that contains the mirrored images: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ REMOVABLE_MEDIA_PATH=<path> | ||
| ---- | ||
|
|
||
| .. Configure the path to your local registry pull secret: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ LOCAL_PULL_SECRET=<path> | ||
|
||
| ---- | ||
|
|
||
| .. Configure the local registry name and host port: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ LOCAL_REGISTRY='<local_registry_host_name>:<local_registry_host_port>' | ||
| ---- | ||
| + | ||
| For `<local_registry_host_name>`, specify the registry domain name for your mirror | ||
|
||
| repository, and for `<local_registry_host_port>`, specify the port that it | ||
| serves content on. | ||
|
|
||
| .. Configure the local repository name: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ LOCAL_REPOSITORY='<local_repository_name>' | ||
| ---- | ||
| + | ||
| For `<local_repository_name>`, specify the name of the repository to create in your | ||
|
||
| registry, such as `openshift/graph-data`. | ||
|
|
||
| .. Configure the local image tag: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ LOCAL_TAG=latest | ||
| ---- | ||
|
|
||
| .. Mirror the graph-data container image to the local registry: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc image mirror -a "${LOCAL_PULL_SECRET}" --from-dir="${REMOVABLE_MEDIA_PATH}" file://openshift/graph-data:latest "${LOCAL_REGISTRY}/${LOCAL_REPOSITORY}:${LOCAL_TAG}" | ||
| ---- | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,121 @@ | ||
| [id="update-service-install-cli_{context}"] | ||
| = Installing the {product-title} Update Service by using the CLI | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The session is introducing the way to install the update service operator but the title is saying installing the Update Service. I would suggest to change it to Installing the {product-title} Update Service operator by using the CLI
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Agree. I've introduced the sections headers with either |
||
|
|
||
| You can use the {product-title} CLI to install the {product-title} Update Service Operator. | ||
|
|
||
| .Procedure | ||
|
|
||
| To install the {product-title} Update Service Operator by using the {product-title} CLI: | ||
|
|
||
| . Create a Namespace for the {product-title} Update Service Operator: | ||
|
|
||
| .. Create a Namespace object YAML file, for example, `update-service-namespace.yaml`, for the {product-title} Update Service Operator: | ||
| + | ||
| [source,yaml] | ||
| ---- | ||
| apiVersion: v1 | ||
| kind: Namespace | ||
| metadata: | ||
| name: openshift-updateservice | ||
| annotations: | ||
| openshift.io/node-selector: "" | ||
| labels: | ||
| openshift.io/cluster-monitoring: "true" <1> | ||
| ---- | ||
| <1> Set the `openshift.io/cluster-monitoring` label to enable operator recommended cluster monitoring on this namespace. | ||
|
|
||
| .. Create the Namespace: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc create -f <file-name>.yaml | ||
| ---- | ||
| + | ||
| For example: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc create -f update-service-namespace.yaml | ||
| ---- | ||
|
|
||
| . Install the {product-title} Update Service Operator by creating the following objects: | ||
kalexand-rh marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| .. Create an Operator Group object YAML file, for example, `update-service-operator-group.yaml`: | ||
| + | ||
| [source,yaml] | ||
| ---- | ||
| apiVersion: operators.coreos.com/v1 | ||
| kind: OperatorGroup | ||
| metadata: | ||
| name: update-service-operator-group | ||
| spec: | ||
| targetNamespaces: | ||
| - FIXME-default-operand-namespace | ||
| ---- | ||
|
|
||
| .. Create an Operator Group object: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc -n openshift-updateservice create -f <file-name>.yaml | ||
| ---- | ||
| + | ||
| For example: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc -n openshift-updateservice create -f update-service-operator-group.yaml | ||
| ---- | ||
|
|
||
| .. Create a Subscription object YAML file, for example, `update-service-subscription.yaml`: | ||
| + | ||
| .Example Subscription | ||
| [source,yaml] | ||
| ---- | ||
| apiVersion: operators.coreos.com/v1alpha1 | ||
| kind: Subscription | ||
| metadata: | ||
| name: update-service-subscription | ||
| spec: | ||
| channel: "{product-version}" <1> | ||
| installPlanApproval: "Automatic" | ||
| source: "redhat-operators" <2> | ||
| sourceNamespace: "openshift-marketplace" | ||
| name: "FIXME-update-service-operator" | ||
| ---- | ||
| <1> Specify `{product-version}` as the channel. | ||
|
||
| <2> 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). | ||
|
|
||
| .. Create the Subscription object: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc create -f <file-name>.yaml | ||
| ---- | ||
| + | ||
| For example: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc -n openshift-updateservice create -f update-service-subscription.yaml | ||
| ---- | ||
| + | ||
| The Update Service Operator is installed to the `openshift-updateservice` namespace and targets the `FIXME-default-operand-namespace` namespace. | ||
|
|
||
| . Verify the Operator installation: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc -n FIXME-default-operand-namespace get clusterserviceversions | ||
| ---- | ||
| + | ||
| .Example output | ||
| [source,terminal] | ||
| ---- | ||
| NAMESPACE NAME DISPLAY VERSION REPLACES PHASE | ||
| default elasticsearch-operator.4.6.0-202007012112.p0 Elasticsearch Operator 4.6.0-202007012112.p0 Succeeded | ||
| FIXME | ||
|
||
| ... | ||
| ---- | ||
| + | ||
| If the {product-title} Update Service Operator is listed, installation succeeded. The version number might be different than shown. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| [id="update-service-install-web-console_{context}"] | ||
| = Installing the {product-title} Update Service by using the web console | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Same here. It's introducing the way to install the Update Service operator but the title is saying Installing the Update Service.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Agree. I've introduced the sections headers with either |
||
|
|
||
| You can use the {product-title} web console to install the {product-title} Update Service Operator. | ||
|
|
||
| .Procedure | ||
|
|
||
| To install the {product-title} Update Service Operator using the {product-title} web console: | ||
|
|
||
| . In the {product-title} web console, click *Operators* -> *OperatorHub*. | ||
|
|
||
| . Choose *{product-title} Update Service* from the list of available Operators, and click *Install*. | ||
|
|
||
| . FIXME: Does this apply? Ensure that the *All namespaces on the cluster* is selected under *Installation Mode*. | ||
|
||
|
|
||
| . Select a namespace for *Installed Namespace*, such as the default `openshift-updateservice` namespace. | ||
|
|
||
| . FIXME: Does this apply? Select *Enable operator recommended cluster monitoring on this namespace*. | ||
|
||
| + | ||
| This option sets the `openshift.io/cluster-monitoring: "true"` label in the namespace object. | ||
|
|
||
| . Select *{product-version}* as the *Update Channel*. | ||
|
|
||
| . Select an *Approval Strategy*: | ||
| + | ||
| ** The *Automatic* strategy allows Operator Lifecycle Manager (OLM) to automatically update the Operator when a new version is available. | ||
| + | ||
| ** The *Manual* strategy requires a user with FIXME credentials to approve the Operator update. | ||
|
||
|
|
||
| . Click *Install*. | ||
|
|
||
| . Verify that the {product-title} Update Service Operator installed by switching to the *Operators* -> *Installed Operators* page. | ||
|
|
||
| . Ensure that *{product-title} Update Service* is listed in all projects with a *Status* of *Succeeded*. | ||
Uh oh!
There was an error while loading. Please reload this page.