Skip to content

Commit 94429fe

Browse files
Merge pull request #335 from wking/document-RetrievedUpdates-reasons
docs/user/status: Document RetrievedUpdates reasons
2 parents 732ae62 + 69c81b9 commit 94429fe

File tree

1 file changed

+111
-0
lines changed

1 file changed

+111
-0
lines changed

docs/user/status.md

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
# Conditions
2+
3+
[The ClusterVersion object](../dev/clusterversion.md) sets `conditions` describing the state of the cluster-version operator (CVO).
4+
This document describes those conditions and, where appropriate, suggests possible mitigations.
5+
6+
## RetrievedUpdates
7+
8+
When `RetrievedUpdates` is `True`, the CVO is succesfully retrieving updates, which is good.
9+
When `RetrievedUpdates` is `False`, `reason` will be set to explain why, as discussed in the following subsections.
10+
In all cases, the impact is that the cluster will not be able to retrieve recommended updates, so cluster admins will need to monitor for available updates on their own or risk falling behind on security or other bugfixes.
11+
12+
### NoUpstream
13+
14+
No `upstream` server has been set to retrieve updates.
15+
16+
Fix by setting `spec.upstream` in ClusterVersion to point to a [Cincinnati][] server, for example https://api.openshift.com/api/upgrades_info/v1/graph .
17+
18+
### InvalidURI
19+
20+
The configured `upstream` URI is not valid.
21+
22+
Fix by setting `spec.upstream` in ClusterVersion to point to a valid [Cincinnati][] URI, for example https://api.openshift.com/api/upgrades_info/v1/graph .
23+
24+
### InvalidID
25+
26+
The configured `clusterID` is not a valid UUID.
27+
28+
Fix by setting `spec.clusterID` to a valid UUID.
29+
The UUID should be unique to a given cluster, because it is the default value used for reporting Telemetry and Insights.
30+
It may also be used by the CVO when making Cincinnati requests, so that Cincinnati can return update recommentations tailored to the specific cluster.
31+
32+
### NoArchitecture
33+
34+
The set of architectures has not been configured.
35+
36+
If this happens it is a CVO coding error.
37+
There is no mitigation short of updating to a new release image with a fixed CVO.
38+
39+
#### Impact
40+
41+
The cluster will not be able to retrieve recommended updates, so cluster admins will need to monitor for available updates on their own or risk falling behind on security or other bugfixes.
42+
43+
If this happens it is a CVO coding error.
44+
There is no mitigation short of updating to a new release image with a fixed CVO.
45+
46+
### NoCurrentVersion
47+
48+
The cluster version does not have a semantic version assigned and cannot calculate valid upgrades.
49+
50+
If this happens it is a release-image creation error.
51+
There is no mitigation short of updating to a new release image with fixed metadata.
52+
53+
### NoChannel
54+
55+
The update `channel` has not been configured.
56+
57+
Fix by setting `channel` to [a valid value][channels], e.g. `stable-4.3`.
58+
59+
### InvalidCurrentVersion
60+
61+
The current cluster version is not a valid semantic version and cannot be used to calculate upgrades.
62+
63+
If this happens it is a release-image creation error.
64+
There is no mitigation short of updating to a new release image with fixed metadata.
65+
66+
### InvalidRequest
67+
68+
The CVO was unable to construct a valid Cincinnati request.
69+
70+
If this happens it is a CVO coding error.
71+
There is no mitigation short of updating to a new release image with a fixed CVO.
72+
73+
### RemoteFailed
74+
75+
The CVO was unable to connect to the configured `upstream`.
76+
77+
This could be caused by a misconfigured `upstream` URI.
78+
It could also be caused by networking/connectivity issues (e.g. firewalls, air gaps, hardware failures, etc.) between the CVO and Cincinnati server.
79+
It could also be caused by a crashed or otherwise broken Cincinnati server.
80+
81+
### ResponseFailed
82+
83+
The Cincinnati server returned a non-200 response or the connection failed before the CVO read the full response body.
84+
85+
This could be the CVO failing to construct a valid request.
86+
It could also be caused by networking/connectivity issues (e.g. hardware failures, network partitions, etc.).
87+
It could also be an overloaded or otherwise failing Cincinnati server.
88+
89+
### ResponseInvalid
90+
91+
The Cincinnati server returned a response that was not valid JSON.
92+
93+
This could be caused by a buggy Cincinnati server.
94+
It could also be caused by response corruption, e.g. if the configured `upstream` was in the clear over HTTP or via a man-in-the-middle HTTPS proxy, and an intervening component altered the response in flight.
95+
96+
### VersionNotFound
97+
98+
The currently installed version was not found in the configured `channel`.
99+
100+
This usually means that the configured `channel` is known to Cincinnati, but the cluster's current version is not found in that channel's graph.
101+
Fix by setting `channel` to [a valid value][channels], e.g. `stable-4.3`.
102+
103+
If this error occurs because you forced an update to a release that is not in any channel, fix by updating back to a release that occurs in a channel, although you are on your own to determine a safe update path.
104+
105+
### Unknown
106+
107+
If this happens it is a CVO coding error.
108+
There is no mitigation short of updating to a new release image with a fixed CVO.
109+
110+
[channels]: https://docs.openshift.com/container-platform/4.3/updating/updating-cluster-between-minor.html#understanding-upgrade-channels_updating-cluster-between-minor
111+
[Cincinnati]: https://github.com/openshift/cincinnati/blob/master/docs/design/openshift.md

0 commit comments

Comments
 (0)