Skip to content

Commit 1aa1ed4

Browse files
committed
drop: promote ImageModeStatusReporting gate
Signed-off-by: Bryce Palmer <bpalmer@redhat.com>
1 parent 99aafa5 commit 1aa1ed4

10 files changed

Lines changed: 294 additions & 14 deletions

features.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@
6666
| GCPDualStackInstall| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
6767
| GatewayAPIWithoutOLM| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
6868
| HyperShiftOnlyDynamicResourceAllocation| <span style="background-color: #519450">Enabled</span> | | <span style="background-color: #519450">Enabled</span> | | <span style="background-color: #519450">Enabled</span> | | <span style="background-color: #519450">Enabled</span> | |
69-
| ImageModeStatusReporting| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
7069
| IngressControllerDynamicConfigurationManager| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
7170
| IrreconcilableMachineConfig| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
7271
| KMSEncryption| | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | | | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
@@ -100,6 +99,7 @@
10099
| ExternalOIDC| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
101100
| ExternalOIDCWithUIDAndExtraClaimMappings| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
102101
| GCPClusterHostedDNSInstall| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
102+
| ImageModeStatusReporting| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
103103
| ImageStreamImportMode| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
104104
| InsightsConfig| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |
105105
| InsightsOnDemandDataGather| <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> | <span style="background-color: #519450">Enabled</span> |

features/features.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ var (
262262
contactPerson("ijanssen").
263263
productScope(ocpSpecific).
264264
enhancementPR("https://github.com/openshift/enhancements/pull/1809").
265-
enable(inTechPreviewNoUpgrade(), inDevPreviewNoUpgrade()).
265+
enable(inOKD(), inDefault(), inTechPreviewNoUpgrade(), inDevPreviewNoUpgrade()).
266266
mustRegister()
267267

268268
FeatureGateClusterAPIInstall = newFeatureGate("ClusterAPIInstall").

machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_machineconfignodes-Default.crd.yaml

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,30 @@ spec:
102102
spec:
103103
description: spec describes the configuration of the machine config node.
104104
properties:
105+
configImage:
106+
description: |-
107+
configImage is an optional field for configuring the OS image to be used for this node. This field will only exist if the node belongs to a pool opted into on-cluster image builds, and will override any MachineConfig referenced OSImageURL fields
108+
When omitted, Image Mode is not be enabled and the node will follow the standard update process of creating a rendered MachineConfig and updating to its specifications.
109+
When specified, Image Mode is enabled and will attempt to update the node to use the desired image. Following this, the node will follow the standard update process of creating a rendered MachineConfig and updating to its specifications.
110+
properties:
111+
desiredImage:
112+
description: |-
113+
desiredImage is a required field that configures the image that the node should be updated to use.
114+
It must be a fully qualified OCI image pull spec of the format host[:port][/namespace]/name@sha256:, where the digest must be exactly 64 characters in length and consist only of lowercase hexadecimal characters, a-f and 0-9.
115+
desiredImage must not be an empty string and must not exceed 447 characters in length.
116+
maxLength: 447
117+
minLength: 1
118+
type: string
119+
x-kubernetes-validations:
120+
- message: the OCI Image reference must end with a valid '@sha256:<digest>'
121+
suffix, where '<digest>' is 64 characters long
122+
rule: (self.split('@').size() == 2 && self.split('@')[1].matches('^sha256:[a-f0-9]{64}$'))
123+
- message: the OCI Image name should follow the host[:port][/namespace]/name
124+
format, resembling a valid URL without the scheme
125+
rule: (self.split('@')[0].matches('^([a-zA-Z0-9-]+\\.)+[a-zA-Z0-9-]+(:[0-9]{2,5})?/([a-zA-Z0-9-_]{0,61}/)?[a-zA-Z0-9-_.]*?$'))
126+
required:
127+
- desiredImage
128+
type: object
105129
configVersion:
106130
description: |-
107131
configVersion holds the desired config version for the node targeted by this machine config node resource.
@@ -247,6 +271,52 @@ spec:
247271
x-kubernetes-list-map-keys:
248272
- type
249273
x-kubernetes-list-type: map
274+
configImage:
275+
description: |-
276+
configImage is an optional field for configuring the OS image to be used for this node. This field will only exist if the node belongs to a pool opted into on-cluster image builds, and will override any MachineConfig referenced OSImageURL fields.
277+
When omitted, this means that the Image Mode feature is not being used and the node will be up to date with the specific current rendered config version for the nodes MachinePool.
278+
When specified, the Image Mode feature is enabled and the contents of this field show the observed state of the node image.
279+
When Image Mode is enabled and a new MachineConfig is applied such that a new OS image build is not created, only the configVersion field will change.
280+
When Image Mode is enabled and a new MachineConfig is applied such that a new OS image build is created, then only the configImage field will change. It is also possible that both the configImage
281+
and configVersion change during the same update.
282+
minProperties: 1
283+
properties:
284+
currentImage:
285+
description: |-
286+
currentImage is an optional field that represents the current image that is applied to the node.
287+
When omitted, this means that no image updates have been applied to the node and it will be up to date with the specific current rendered config version.
288+
When specified, this means that the node is currently using this image.
289+
currentImage must be a fully qualified OCI image pull spec of the format host[:port][/namespace]/name@sha256:, where the digest must be exactly 64 characters in length and consist only of lowercase hexadecimal characters, a-f and 0-9.
290+
currentImage must not be an empty string and must not exceed 447 characters in length.
291+
maxLength: 447
292+
minLength: 1
293+
type: string
294+
x-kubernetes-validations:
295+
- message: the OCI Image reference must end with a valid '@sha256:<digest>'
296+
suffix, where '<digest>' is 64 characters long
297+
rule: (self.split('@').size() == 2 && self.split('@')[1].matches('^sha256:[a-f0-9]{64}$'))
298+
- message: the OCI Image name should follow the host[:port][/namespace]/name
299+
format, resembling a valid URL without the scheme
300+
rule: (self.split('@')[0].matches('^([a-zA-Z0-9-]+\\.)+[a-zA-Z0-9-]+(:[0-9]{2,5})?/([a-zA-Z0-9-_]{0,61}/)?[a-zA-Z0-9-_.]*?$'))
301+
desiredImage:
302+
description: |-
303+
desiredImage is an optional field that represents the currently observed state of image that the node should be updated to use.
304+
When not specified, this means that Image Mode has been disabled and the node will up to date with the specific current rendered config version.
305+
When specified, this means that Image Mode has been enabled and the node is actively progressing to update the node to this image.
306+
If currentImage and desiredImage match, the node has been successfully updated to use the desired image.
307+
desiredImage must be a fully qualified OCI image pull spec of the format host[:port][/namespace]/name@sha256:, where the digest must be exactly 64 characters in length and consist only of lowercase hexadecimal characters, a-f and 0-9.
308+
desiredImage must not be an empty string and must not exceed 447 characters in length.
309+
maxLength: 447
310+
minLength: 1
311+
type: string
312+
x-kubernetes-validations:
313+
- message: the OCI Image reference must end with a valid '@sha256:<digest>'
314+
suffix, where '<digest>' is 64 characters long
315+
rule: (self.split('@').size() == 2 && self.split('@')[1].matches('^sha256:[a-f0-9]{64}$'))
316+
- message: the OCI Image name should follow the host[:port][/namespace]/name
317+
format, resembling a valid URL without the scheme
318+
rule: (self.split('@')[0].matches('^([a-zA-Z0-9-]+\\.)+[a-zA-Z0-9-]+(:[0-9]{2,5})?/([a-zA-Z0-9-_]{0,61}/)?[a-zA-Z0-9-_.]*?$'))
319+
type: object
250320
configVersion:
251321
description: configVersion describes the current and desired machine
252322
config version for this node.

0 commit comments

Comments
 (0)