Skip to content

Commit e6f1f9b

Browse files
committed
Decision: Upgrade Controller Custom Health Checks
1 parent 72799a5 commit e6f1f9b

File tree

2 files changed

+46
-0
lines changed

2 files changed

+46
-0
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
= Upgrade Controller Custom Health Checks
2+
3+
== Problem
4+
5+
Currently, our OpenShift upgrade controller doesn't support custom health checks.
6+
Only checking the ClusterVersion CRD is supported, which is not sufficient for all use cases.
7+
8+
The current health check implementation can only fail jobs, but not skip them.
9+
We might want to skip jobs in some cases, for example, if there are maintenance blocking PDBs in place.
10+
11+
=== Goals
12+
13+
* We have a method of implementing custom health checks for the upgrade controller
14+
* We can skip jobs based on the health check results
15+
* We can differentiate between failing and skipping health checks
16+
17+
=== Non-Goals
18+
19+
* TODO
20+
21+
== Proposals
22+
23+
=== 1a. Extend `UpgradeJobHooks`; track pod exit codes for skipping upgrades
24+
25+
=== 1b. Extend `UpgradeJobHooks`; upgrade controller exposes API for skipping upgrades
26+
27+
=== 1c. Extend `UpgradeJobHooks`, upgrade controller adds CRD for skipping upgrades
28+
29+
=== 1d. Extend `UpgradeJobHooks`, upgrade controller adds subresource for skipping upgrades
30+
31+
=== 2. Implement a new health check mechanism in the `UpgradeJob` CRD
32+
33+
=== 3. Implement a new health check mechanism analogous to the `UpgradeJobHook` CRD
34+
35+
== Decision
36+
37+
TODO
38+
39+
== Rationale
40+
41+
TODO
42+
43+
== References
44+
45+
* TODO

docs/modules/ROOT/partials/nav.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,3 +265,4 @@
265265
** xref:oc4:ROOT:explanations/decisions/cloudscale-cilium-egressip.adoc[]
266266
** xref:oc4:ROOT:explanations/decisions/gitlab-access-tokens.adoc[]
267267
** xref:oc4:ROOT:explanations/decisions/prometheusrule-controller.adoc[]
268+
** xref:oc4:ROOT:explanations/decisions/upgrade-controller-custom-healthchecks.adoc[]

0 commit comments

Comments
 (0)