-
Notifications
You must be signed in to change notification settings - Fork 213
docs/user/reconciliation: Document release-image application #201
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
docs/user/reconciliation: Document release-image application #201
Conversation
b0688b2 to
dcfcf98
Compare
dcfcf98 to
c15bd01
Compare
|
/hold Still a few FIXMEs in here. |
c15bd01 to
287ed5c
Compare
287ed5c to
d29f6ef
Compare
d29f6ef to
b097cd0
Compare
docs/user/reconciliation.md
Outdated
|
|
||
| ### ClusterOperator | ||
|
|
||
| The cluster-version operator does not push ClusterOperator into the cluster. |
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.
@wking my 0.002£ .
- i'd rename
cluster-versiontoClusterVersionas per the doc and i'd also add the link to https://github.com/openshift/cluster-version-operator/blob/master/docs/dev/clusterversion.md too - i'd also insert a link on
ClusterOperatorpointing to https://github.com/openshift/cluster-version-operator/blob/master/docs/dev/clusteroperator.md
reading your doc (much appreciating for adding this types of info) i had to remember myself the diff between the too ;)
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.
- i'd rename cluster-version to ClusterVersion...
I like "cluster-version operator" because it operates on the cluster version, not just the ClusterVersion custom-resource. But this repo has many names for this operator of which "cluster-version operator" is only one. So I've left this alone for now, but am ok changing it if we pick a name that we want to make canonical.
- i'd also insert a link on ClusterOperator...
To make it easier for admins and support staff to troubleshoot when the cluster-version operator gets stuck. The SVGs were generated with: $ go build ./hack/cluster-version-util $ mkdir /tmp/release $ oc image extract quay.io/openshift-release-dev/ocp-release:4.1.0[-1] --path /:/tmp/release $ mkdir /tmp/release/manifests $ ./cluster-version-util task-graph /tmp/release | dot -Tsvg >docs/user/tasks-by-number-and-component.svg $ ./cluster-version-util task-graph --parallel flatten-by-number-and-component /tmp/release | dot -Tsvg >docs/user/tasks-flatten-by-number-and-component.svg using: $ dot -V dot - graphviz version 2.30.1 (20170916.1124) I initially put the utility program in cmd/cluster-version-util, moving the main operator to cmd/cluster-version-operator. But Abhinav was concerned about implied support for tooling that is really just intended for exposing internal CVO logic, so this commit puts it under hack/ with a caveat in the main help text. The PATH documentation is stuffed into Use because cobra lacks direct support for named positional arguments [1]. [1]: spf13/cobra#378
b097cd0 to
cde8d50
Compare
| The ClusterOperator builder only monitors the in-cluster object and blocks until it is: | ||
|
|
||
| * Available | ||
| * Either not progressing or, when the release image manifest has `status.versions` entries, listing at least the versions given in that manifest. | ||
| For example, an OpenShift API server ClusterOperator entry in the release image like: | ||
|
|
||
| ```yaml | ||
| apiVersion: config.openshift.io/v1 | ||
| kind: ClusterOperator | ||
| metadata: | ||
| name: openshift-apiserver | ||
| spec: {} | ||
| status: | ||
| versions: | ||
| - name: operator | ||
| version: "4.1.0" | ||
| ``` | ||
|
|
||
| would block until the in-cluster ClusterOperator reported `operator` at version 4.1.0. | ||
|
|
||
| The progressing check is deprecated and will be removed once all operators are reporting versions. | ||
| * Not degraded (except during initialization, where we ignore the degraded status) |
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.
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.
there is already some content here...
Filed #274 to consolidate.
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: abhinavdahiya, wking The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/retest Please review the full test history for this PR and help us cut down flakes. |
1 similar comment
|
/retest Please review the full test history for this PR and help us cut down flakes. |
|
|
Those pods were no longer running by must-gather time. Ah well. |
cde8d50 (docs/user/reconciliation: Document release-image application, 2019-06-10, openshift#201) just landed, so drop some of the reconciliation docs from the parallel 105ea1f (document CVO behavior w/ respect to cluster operator conditions, 2019-07-12, openshift#222) and similar in favor of a link to the new reconciliation location. Also move the file-extension note over to the reconciliation side, since it's more generic than ClusterOperator. It's not really user docs either, but that's the most generic location we have at the moment. Also fix a few more Failing->Degraded bits to catch up with fad0688 (pkg/cvo/metrics/go: the cluster operators report Degraded and not Failing, 2019-08-07, openshift#232) and similar.
Using the same process as cde8d50 (docs/user/reconciliation: Document release-image application, 2019-06-10, openshift#201), but for 4.13.0: The SVGs were generated with: $ go build ./hack/cluster-version-util $ mkdir /tmp/release $ oc image extract quay.io/openshift-release-dev/ocp-release:4.13.0-x86_64[-1] --path /:/tmp/release $ mkdir /tmp/release/manifests $ ./cluster-version-util task-graph /tmp/release | dot -Tsvg >docs/user/tasks-by-number-and-component.svg $ ./cluster-version-util task-graph --parallel flatten-by-number-and-component /tmp/release | dot -Tsvg >docs/user/tasks-flatten-by-number-and-component.svg using: $ go version go version go1.19.5 linux/amd64 $ dot -V dot - graphviz version 2.43.0 (0)
Using a similar process to cde8d50 (docs/user/reconciliation: Document release-image application, 2019-06-10, openshift#201) and 4353698 (docs/user/tasks-*by-number-and-component.svg: Update to 4.13, 2023-07-25, openshift#949), but for 4.15.0-ec.1. The SVGs were generated with the new --granularity flag set to 'manifest', to make it easier for cluster operator maintainers to understand how their manifests are collected into task nodes: $ go build ./hack/cluster-version-util $ mkdir /tmp/release $ oc image extract quay.io/openshift-release-dev/ocp-release:4.15.0-ec.1-x86_64[-1] --path /:/tmp/release $ mkdir /tmp/release/manifests $ ./cluster-version-util task-graph --granularity manifest /tmp/release | dot -Tsvg >docs/user/tasks-by-number-and-component.svg $ ./cluster-version-util task-graph --granularity manifest --parallel flatten-by-number-and-component /tmp/release | dot -Tsvg >docs/user/tasks-flatten-by-number-and-component.svg using: $ go version go version go1.21.1 linux/amd64 $ dot -V dot - graphviz version 2.43.0 (0)
Using the same process as cde8d50 (docs/user/reconciliation: Document release-image application, 2019-06-10, openshift#201) and 4353698 (docs/user/tasks-*by-number-and-component.svg: Update to 4.13, 2023-07-25, openshift#949), but for 4.15.0: The SVGs were generated with: $ go build ./hack/cluster-version-util $ mkdir /tmp/release $ oc image extract quay.io/openshift-release-dev/ocp-release:4.15.0-x86_64[-1] --path /:/tmp/release $ mkdir /tmp/release/manifests $ ./cluster-version-util task-graph /tmp/release | dot -Tsvg >docs/user/tasks-by-number-and-component.svg $ ./cluster-version-util task-graph --parallel flatten-by-number-and-component /tmp/release | dot -Tsvg >docs/user/tasks-flatten-by-number-and-component.svg using: $ go version go version go1.21.6 linux/amd64 $ dot -V dot - graphviz version 2.43.0 (0)
Using the same process as cde8d50 (docs/user/reconciliation: Document release-image application, 2019-06-10, openshift#201) and 4353698 (docs/user/tasks-*by-number-and-component.svg: Update to 4.13, 2023-07-25, openshift#949), but for 4.15.0. The SVGs were generated with: $ go build ./hack/cluster-version-util $ mkdir /tmp/release $ oc image extract quay.io/openshift-release-dev/ocp-release:4.15.0-x86_64[-1] --path /:/tmp/release $ mkdir /tmp/release/manifests $ ./cluster-version-util task-graph /tmp/release | dot -Tsvg >docs/user/tasks-by-number-and-component.svg $ ./cluster-version-util task-graph --parallel flatten-by-number-and-component /tmp/release | dot -Tsvg >docs/user/tasks-flatten-by-number-and-component.svg using: $ go version go version go1.21.6 linux/amd64 $ dot -V dot - graphviz version 2.43.0 (0)
Using a similar process to cde8d50 (docs/user/reconciliation: Document release-image application, 2019-06-10, openshift#201) and 4353698 (docs/user/tasks-*by-number-and-component.svg: Update to 4.13, 2023-07-25, openshift#949), but for 4.20.0-ec.5. The SVGs were generated with the new --granularity flag set to 'manifest', to make it easier for cluster operator maintainers to understand how their manifests are collected into task nodes: $ go build ./hack/cluster-version-util $ mkdir /tmp/release $ oc image extract quay.io/openshift-release-dev/ocp-release:4.20.0-ec.5-x86_64[-1] --path /:/tmp/release $ mkdir /tmp/release/manifests $ ./cluster-version-util task-graph --granularity manifest /tmp/release | dot -Tsvg >docs/user/tasks-by-number-and-component.svg $ ./cluster-version-util task-graph --granularity manifest --parallel flatten-by-number-and-component /tmp/release | dot -Tsvg >docs/user/tasks-flatten-by-number-and-component.svg using: $ go version go version go1.23.6 linux/amd64 $ dot -V dot - graphviz version 2.43.0 (0)
Using a similar process to cde8d50 (docs/user/reconciliation: Document release-image application, 2019-06-10, openshift#201) and 4353698 (docs/user/tasks-*by-number-and-component.svg: Update to 4.13, 2023-07-25, openshift#949), but for 4.20.0-ec.5. The SVGs were generated with the new --granularity flag set to 'manifest', to make it easier for cluster operator maintainers to understand how their manifests are collected into task nodes: $ go build ./hack/cluster-version-util $ mkdir /tmp/release $ oc image extract quay.io/openshift-release-dev/ocp-release:4.20.0-ec.5-x86_64[-1] --path /:/tmp/release $ mkdir /tmp/release/manifests $ ./cluster-version-util task-graph --granularity manifest /tmp/release | dot -Tsvg >docs/user/tasks-by-number-and-component.svg $ ./cluster-version-util task-graph --granularity manifest --parallel flatten-by-number-and-component /tmp/release | dot -Tsvg >docs/user/tasks-flatten-by-number-and-component.svg using: $ go version go version go1.23.6 linux/amd64 $ dot -V dot - graphviz version 2.43.0 (0)
Using a similar process to cde8d50 (docs/user/reconciliation: Document release-image application, 2019-06-10, openshift#201) and 4353698 (docs/user/tasks-*by-number-and-component.svg: Update to 4.13, 2023-07-25, openshift#949), but for 4.20.0-ec.5. The SVGs were generated with the new --granularity flag set to 'manifest', to make it easier for cluster operator maintainers to understand how their manifests are collected into task nodes: $ go build ./hack/cluster-version-util $ mkdir /tmp/release $ oc image extract quay.io/openshift-release-dev/ocp-release:4.20.0-ec.5-x86_64[-1] --path /:/tmp/release $ mkdir /tmp/release/manifests $ ./cluster-version-util task-graph --granularity manifest /tmp/release | dot -Tsvg >docs/user/tasks-by-number-and-component.svg $ ./cluster-version-util task-graph --granularity manifest --parallel flatten-by-number-and-component /tmp/release | dot -Tsvg >docs/user/tasks-flatten-by-number-and-component.svg using: $ go version go version go1.23.6 linux/amd64 $ dot -V dot - graphviz version 2.43.0 (0)
To make it easier for admins and support staff to troubleshoot when the cluster-version operator gets stuck.
The SVGs were generated with:
using: