From 69d6f1b4942690194d6c5357b0d0cdfd7182e7e5 Mon Sep 17 00:00:00 2001 From: Ben Perry Date: Wed, 22 Apr 2026 17:03:37 -0500 Subject: [PATCH] NodeUID in status to detect replaced node with same name --- .../generated_openapi/zz_generated.openapi.go | 7 +++++++ openapi/openapi.json | 18 +++++++++++++++--- operator/v1/types.go | 10 ++++++++++ ...0_12_etcd_01_etcds-CustomNoUpgrade.crd.yaml | 9 +++++++++ .../0000_12_etcd_01_etcds-Default.crd.yaml | 9 +++++++++ ..._etcd_01_etcds-DevPreviewNoUpgrade.crd.yaml | 9 +++++++++ .../0000_12_etcd_01_etcds-OKD.crd.yaml | 9 +++++++++ ...etcd_01_etcds-TechPreviewNoUpgrade.crd.yaml | 9 +++++++++ ..._01_kubeapiservers-CustomNoUpgrade.crd.yaml | 9 +++++++++ ...piserver_01_kubeapiservers-Default.crd.yaml | 9 +++++++++ ...kubeapiservers-DevPreviewNoUpgrade.crd.yaml | 9 +++++++++ ...be-apiserver_01_kubeapiservers-OKD.crd.yaml | 9 +++++++++ ...ubeapiservers-TechPreviewNoUpgrade.crd.yaml | 9 +++++++++ ...-manager_01_kubecontrollermanagers.crd.yaml | 9 +++++++++ ...5_kube-scheduler_01_kubeschedulers.crd.yaml | 9 +++++++++ .../AAA_ungated.yaml | 9 +++++++++ .../EtcdBackendQuota.yaml | 9 +++++++++ .../AAA_ungated.yaml | 9 +++++++++ .../EventTTL.yaml | 9 +++++++++ .../KMSEncryption.yaml | 9 +++++++++ .../AAA_ungated.yaml | 9 +++++++++ .../AAA_ungated.yaml | 9 +++++++++ .../v1/zz_generated.swagger_doc_generated.go | 1 + ...0_12_etcd_01_etcds-CustomNoUpgrade.crd.yaml | 9 +++++++++ .../0000_12_etcd_01_etcds-Default.crd.yaml | 9 +++++++++ ..._etcd_01_etcds-DevPreviewNoUpgrade.crd.yaml | 9 +++++++++ .../crds/0000_12_etcd_01_etcds-OKD.crd.yaml | 9 +++++++++ ...etcd_01_etcds-TechPreviewNoUpgrade.crd.yaml | 9 +++++++++ ..._01_kubeapiservers-CustomNoUpgrade.crd.yaml | 9 +++++++++ ...piserver_01_kubeapiservers-Default.crd.yaml | 9 +++++++++ ...kubeapiservers-DevPreviewNoUpgrade.crd.yaml | 9 +++++++++ ...be-apiserver_01_kubeapiservers-OKD.crd.yaml | 9 +++++++++ ...ubeapiservers-TechPreviewNoUpgrade.crd.yaml | 9 +++++++++ ...-manager_01_kubecontrollermanagers.crd.yaml | 9 +++++++++ ...5_kube-scheduler_01_kubeschedulers.crd.yaml | 9 +++++++++ 35 files changed, 312 insertions(+), 3 deletions(-) diff --git a/openapi/generated_openapi/zz_generated.openapi.go b/openapi/generated_openapi/zz_generated.openapi.go index 77a74456362..9e3b602b934 100644 --- a/openapi/generated_openapi/zz_generated.openapi.go +++ b/openapi/generated_openapi/zz_generated.openapi.go @@ -61615,6 +61615,13 @@ func schema_openshift_api_operator_v1_NodeStatus(ref common.ReferenceCallback) c Format: "", }, }, + "nodeUID": { + SchemaProps: spec.SchemaProps{ + Description: "nodeUID is the UID of the node. This field is used to detect that a node has been deleted and recreated with the same name. When the UID changes, it indicates the node is a new instance and the controller should treat this status entry as stale. When omitted, UID-based node replacement detection is not available for this entry.", + Type: []string{"string"}, + Format: "", + }, + }, "currentRevision": { SchemaProps: spec.SchemaProps{ Description: "currentRevision is the generation of the most recently successful deployment. Can not be set on creation of a nodeStatus. Updates must only increase the value.", diff --git a/openapi/openapi.json b/openapi/openapi.json index 9949e9600bf..87dcba05515 100644 --- a/openapi/openapi.json +++ b/openapi/openapi.json @@ -9257,7 +9257,7 @@ ], "properties": { "installationPolicy": { - "description": "installationPolicy controls whether network observability is installed during cluster deployment. Valid values are \"InstallAndEnable\" and \"NoAction\". When set to \"InstallAndEnable\", ensure that network observability will be installed and enabled on the cluster. If already installed, no action taken, but if it gets uninstalled, it will install it again. When set to \"NoAction\", nothing will be done regarding Network observability.", + "description": "installationPolicy controls whether network observability is installed during cluster deployment. Valid values are \"InstallAndEnable\" and \"NoAction\". When set to \"InstallAndEnable\", ensure that network observability will be installed and enabled on the cluster. If already installed, no action taken, but if it gets uninstalled, it will install it again. When set to \"NoAction\", nothing will be done regarding Network observability. During the installation of NetworkObservability, the platform checks for any existing manual installations. If a successful installation using the OLMv0 or OLMv1 API is detected, it will be used. If the platform cannot determine how the current version was installed, or if the existing installation is incomplete, the installation process will stop.", "type": "string" } } @@ -32116,8 +32116,8 @@ "description": "CustomSecretRotation holds configuration for custom secret rotation behavior.", "type": "object", "properties": { - "rotationPollIntervalSeconds": { - "description": "rotationPollIntervalSeconds is the minimum time in seconds between secret rotation attempts. The driver skips provider calls if less than this interval has elapsed since the last successful rotation. Must be at least 1 second and no more than 31560000 seconds (~1 year). When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time.", + "minimumRefreshAge": { + "description": "minimumRefreshAge is the minimum time in seconds between secret rotation attempts. Each time kubelet calls NodePublishVolume, the driver checks whether this interval has elapsed since the last successful provider call. If it has, the driver contacts the secret provider to fetch the latest secret values and updates the mounted volume. Setting this value below the kubelet syncFrequency (default: 1 minute) has no additional effect on the actual rotation cadence. Must be at least 1 second and no more than 31560000 seconds (~1 year). When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time.", "type": "integer", "format": "int32" } @@ -33572,6 +33572,10 @@ "description": "endpointPublishingStrategy is used to publish the ingress controller endpoints to other networks, enable load balancer integrations, etc.\n\nIf unset, the default is based on infrastructure.config.openshift.io/cluster .status.platform:\n\n AWS: LoadBalancerService (with External scope)\n Azure: LoadBalancerService (with External scope)\n GCP: LoadBalancerService (with External scope)\n IBMCloud: LoadBalancerService (with External scope)\n AlibabaCloud: LoadBalancerService (with External scope)\n Libvirt: HostNetwork\n\nAny other platform types (including None) default to HostNetwork.\n\nendpointPublishingStrategy cannot be updated.", "$ref": "#/definitions/com.github.openshift.api.operator.v1.EndpointPublishingStrategy" }, + "haproxyVersion": { + "description": "haproxyVersion specifies the HAProxy version to use for this IngressController.\n\nOpenShift 5.0 introduces HAProxy 3.2 as its default version and supports HAProxy 2.8 from OpenShift 4.22 for migration purposes. When an OpenShift release introduces a new default HAProxy version, that HAProxy version becomes available as a pinnable value in subsequent OpenShift releases, providing a smooth migration path for administrators who want to defer HAProxy upgrades.\n\nValid values for OpenShift 5.0: - Unset (default): Uses HAProxy 3.2 (the default for OpenShift 5.0) - \"3.2\": Explicitly pins HAProxy 3.2 for preservation during cluster\n upgrades to future OpenShift releases\n- \"2.8\": Uses HAProxy 2.8 from OpenShift 4.22 (migration support, will\n be dropped in the next OpenShift release)\n\nIf a specific HAProxy version is set and would become unsupported in a target cluster upgrade, a preflight check will block the cluster upgrade until this field is updated to unset or a supported version.", + "type": "string" + }, "httpCompression": { "description": "httpCompression defines a policy for HTTP traffic compression. By default, there is no HTTP compression.", "default": {}, @@ -33662,6 +33666,10 @@ "type": "string", "default": "" }, + "effectiveHAProxyVersion": { + "description": "effectiveHAProxyVersion reports the HAProxy version currently in use by this IngressController. This reflects the resolved value of the spec.haproxyVersion field. When omitted, the effective value has not yet been resolved by the operator or the feature is not enabled for this cluster.\n\nExamples for OpenShift 5.0: - \"3.2\": Using HAProxy 3.2 - \"2.8\": Using HAProxy 2.8", + "type": "string" + }, "endpointPublishingStrategy": { "description": "endpointPublishingStrategy is the actual strategy in use.", "$ref": "#/definitions/com.github.openshift.api.operator.v1.EndpointPublishingStrategy" @@ -35813,6 +35821,10 @@ "type": "string", "default": "" }, + "nodeUID": { + "description": "nodeUID is the UID of the node. This field is used to detect that a node has been deleted and recreated with the same name. When the UID changes, it indicates the node is a new instance and the controller should treat this status entry as stale. When omitted, UID-based node replacement detection is not available for this entry.", + "type": "string" + }, "targetRevision": { "description": "targetRevision is the generation of the deployment we're trying to apply. Can not be set on creation of a nodeStatus.", "type": "integer", diff --git a/operator/v1/types.go b/operator/v1/types.go index 3a2141abb98..d9bf6880c8d 100644 --- a/operator/v1/types.go +++ b/operator/v1/types.go @@ -3,6 +3,7 @@ package v1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" ) // MyOperatorResource is an example operator configuration type @@ -266,6 +267,15 @@ type NodeStatus struct { // +required NodeName string `json:"nodeName"` + // nodeUID is the UID of the node. + // This field is used to detect that a node has been deleted and recreated + // with the same name. When the UID changes, it indicates the node is a + // new instance and the controller should treat this status entry as stale. + // When omitted, UID-based node replacement detection is not available + // for this entry. + // +optional + NodeUID types.UID `json:"nodeUID,omitempty"` + // currentRevision is the generation of the most recently successful deployment. // Can not be set on creation of a nodeStatus. Updates must only increase the value. // +kubebuilder:validation:XValidation:rule="self >= oldSelf",message="must only increase" diff --git a/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-CustomNoUpgrade.crd.yaml b/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-CustomNoUpgrade.crd.yaml index 1feb64cbb5c..2118451871f 100644 --- a/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-CustomNoUpgrade.crd.yaml +++ b/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-CustomNoUpgrade.crd.yaml @@ -292,6 +292,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-Default.crd.yaml b/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-Default.crd.yaml index 23e6bdc63f2..fee97c4c8b5 100644 --- a/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-Default.crd.yaml +++ b/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-Default.crd.yaml @@ -279,6 +279,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-DevPreviewNoUpgrade.crd.yaml b/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-DevPreviewNoUpgrade.crd.yaml index 2c32b9c9648..4038e8bd6a1 100644 --- a/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-DevPreviewNoUpgrade.crd.yaml +++ b/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-DevPreviewNoUpgrade.crd.yaml @@ -292,6 +292,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-OKD.crd.yaml b/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-OKD.crd.yaml index b1ad9fc093b..e67e0e5d50b 100644 --- a/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-OKD.crd.yaml +++ b/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-OKD.crd.yaml @@ -279,6 +279,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-TechPreviewNoUpgrade.crd.yaml b/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-TechPreviewNoUpgrade.crd.yaml index b74dfb9893e..30eb40e7dd3 100644 --- a/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-TechPreviewNoUpgrade.crd.yaml +++ b/operator/v1/zz_generated.crd-manifests/0000_12_etcd_01_etcds-TechPreviewNoUpgrade.crd.yaml @@ -292,6 +292,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/operator/v1/zz_generated.crd-manifests/0000_20_kube-apiserver_01_kubeapiservers-CustomNoUpgrade.crd.yaml b/operator/v1/zz_generated.crd-manifests/0000_20_kube-apiserver_01_kubeapiservers-CustomNoUpgrade.crd.yaml index 57df5e1297f..e0ef4e9d4ef 100644 --- a/operator/v1/zz_generated.crd-manifests/0000_20_kube-apiserver_01_kubeapiservers-CustomNoUpgrade.crd.yaml +++ b/operator/v1/zz_generated.crd-manifests/0000_20_kube-apiserver_01_kubeapiservers-CustomNoUpgrade.crd.yaml @@ -358,6 +358,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/operator/v1/zz_generated.crd-manifests/0000_20_kube-apiserver_01_kubeapiservers-Default.crd.yaml b/operator/v1/zz_generated.crd-manifests/0000_20_kube-apiserver_01_kubeapiservers-Default.crd.yaml index 3eb9d7d49e3..66dcf15334c 100644 --- a/operator/v1/zz_generated.crd-manifests/0000_20_kube-apiserver_01_kubeapiservers-Default.crd.yaml +++ b/operator/v1/zz_generated.crd-manifests/0000_20_kube-apiserver_01_kubeapiservers-Default.crd.yaml @@ -276,6 +276,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/operator/v1/zz_generated.crd-manifests/0000_20_kube-apiserver_01_kubeapiservers-DevPreviewNoUpgrade.crd.yaml b/operator/v1/zz_generated.crd-manifests/0000_20_kube-apiserver_01_kubeapiservers-DevPreviewNoUpgrade.crd.yaml index 0371d90d7a1..fab74040c2b 100644 --- a/operator/v1/zz_generated.crd-manifests/0000_20_kube-apiserver_01_kubeapiservers-DevPreviewNoUpgrade.crd.yaml +++ b/operator/v1/zz_generated.crd-manifests/0000_20_kube-apiserver_01_kubeapiservers-DevPreviewNoUpgrade.crd.yaml @@ -358,6 +358,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/operator/v1/zz_generated.crd-manifests/0000_20_kube-apiserver_01_kubeapiservers-OKD.crd.yaml b/operator/v1/zz_generated.crd-manifests/0000_20_kube-apiserver_01_kubeapiservers-OKD.crd.yaml index fa02abd00f7..f22fb392eb2 100644 --- a/operator/v1/zz_generated.crd-manifests/0000_20_kube-apiserver_01_kubeapiservers-OKD.crd.yaml +++ b/operator/v1/zz_generated.crd-manifests/0000_20_kube-apiserver_01_kubeapiservers-OKD.crd.yaml @@ -276,6 +276,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/operator/v1/zz_generated.crd-manifests/0000_20_kube-apiserver_01_kubeapiservers-TechPreviewNoUpgrade.crd.yaml b/operator/v1/zz_generated.crd-manifests/0000_20_kube-apiserver_01_kubeapiservers-TechPreviewNoUpgrade.crd.yaml index bdabdecd350..433efa113cb 100644 --- a/operator/v1/zz_generated.crd-manifests/0000_20_kube-apiserver_01_kubeapiservers-TechPreviewNoUpgrade.crd.yaml +++ b/operator/v1/zz_generated.crd-manifests/0000_20_kube-apiserver_01_kubeapiservers-TechPreviewNoUpgrade.crd.yaml @@ -358,6 +358,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/operator/v1/zz_generated.crd-manifests/0000_25_kube-controller-manager_01_kubecontrollermanagers.crd.yaml b/operator/v1/zz_generated.crd-manifests/0000_25_kube-controller-manager_01_kubecontrollermanagers.crd.yaml index 72bb37b7629..cb8656b190d 100644 --- a/operator/v1/zz_generated.crd-manifests/0000_25_kube-controller-manager_01_kubecontrollermanagers.crd.yaml +++ b/operator/v1/zz_generated.crd-manifests/0000_25_kube-controller-manager_01_kubecontrollermanagers.crd.yaml @@ -270,6 +270,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/operator/v1/zz_generated.crd-manifests/0000_25_kube-scheduler_01_kubeschedulers.crd.yaml b/operator/v1/zz_generated.crd-manifests/0000_25_kube-scheduler_01_kubeschedulers.crd.yaml index e59fedb33eb..410c0a8cb07 100644 --- a/operator/v1/zz_generated.crd-manifests/0000_25_kube-scheduler_01_kubeschedulers.crd.yaml +++ b/operator/v1/zz_generated.crd-manifests/0000_25_kube-scheduler_01_kubeschedulers.crd.yaml @@ -261,6 +261,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/operator/v1/zz_generated.featuregated-crd-manifests/etcds.operator.openshift.io/AAA_ungated.yaml b/operator/v1/zz_generated.featuregated-crd-manifests/etcds.operator.openshift.io/AAA_ungated.yaml index e05ab22872e..aacd8e5f81f 100644 --- a/operator/v1/zz_generated.featuregated-crd-manifests/etcds.operator.openshift.io/AAA_ungated.yaml +++ b/operator/v1/zz_generated.featuregated-crd-manifests/etcds.operator.openshift.io/AAA_ungated.yaml @@ -279,6 +279,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/operator/v1/zz_generated.featuregated-crd-manifests/etcds.operator.openshift.io/EtcdBackendQuota.yaml b/operator/v1/zz_generated.featuregated-crd-manifests/etcds.operator.openshift.io/EtcdBackendQuota.yaml index 3e6062e5a0d..ca5e2dda999 100644 --- a/operator/v1/zz_generated.featuregated-crd-manifests/etcds.operator.openshift.io/EtcdBackendQuota.yaml +++ b/operator/v1/zz_generated.featuregated-crd-manifests/etcds.operator.openshift.io/EtcdBackendQuota.yaml @@ -292,6 +292,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/operator/v1/zz_generated.featuregated-crd-manifests/kubeapiservers.operator.openshift.io/AAA_ungated.yaml b/operator/v1/zz_generated.featuregated-crd-manifests/kubeapiservers.operator.openshift.io/AAA_ungated.yaml index b4be3ef9ebd..fb613aad6d7 100644 --- a/operator/v1/zz_generated.featuregated-crd-manifests/kubeapiservers.operator.openshift.io/AAA_ungated.yaml +++ b/operator/v1/zz_generated.featuregated-crd-manifests/kubeapiservers.operator.openshift.io/AAA_ungated.yaml @@ -262,6 +262,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/operator/v1/zz_generated.featuregated-crd-manifests/kubeapiservers.operator.openshift.io/EventTTL.yaml b/operator/v1/zz_generated.featuregated-crd-manifests/kubeapiservers.operator.openshift.io/EventTTL.yaml index 959f93828ba..10797b3eb09 100644 --- a/operator/v1/zz_generated.featuregated-crd-manifests/kubeapiservers.operator.openshift.io/EventTTL.yaml +++ b/operator/v1/zz_generated.featuregated-crd-manifests/kubeapiservers.operator.openshift.io/EventTTL.yaml @@ -276,6 +276,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/operator/v1/zz_generated.featuregated-crd-manifests/kubeapiservers.operator.openshift.io/KMSEncryption.yaml b/operator/v1/zz_generated.featuregated-crd-manifests/kubeapiservers.operator.openshift.io/KMSEncryption.yaml index fc3426a6fec..a582c0355dd 100644 --- a/operator/v1/zz_generated.featuregated-crd-manifests/kubeapiservers.operator.openshift.io/KMSEncryption.yaml +++ b/operator/v1/zz_generated.featuregated-crd-manifests/kubeapiservers.operator.openshift.io/KMSEncryption.yaml @@ -344,6 +344,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/operator/v1/zz_generated.featuregated-crd-manifests/kubecontrollermanagers.operator.openshift.io/AAA_ungated.yaml b/operator/v1/zz_generated.featuregated-crd-manifests/kubecontrollermanagers.operator.openshift.io/AAA_ungated.yaml index 5ed649c8710..d87a3c4a594 100644 --- a/operator/v1/zz_generated.featuregated-crd-manifests/kubecontrollermanagers.operator.openshift.io/AAA_ungated.yaml +++ b/operator/v1/zz_generated.featuregated-crd-manifests/kubecontrollermanagers.operator.openshift.io/AAA_ungated.yaml @@ -271,6 +271,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/operator/v1/zz_generated.featuregated-crd-manifests/kubeschedulers.operator.openshift.io/AAA_ungated.yaml b/operator/v1/zz_generated.featuregated-crd-manifests/kubeschedulers.operator.openshift.io/AAA_ungated.yaml index dfa1b2c021f..7f9c6c7db59 100644 --- a/operator/v1/zz_generated.featuregated-crd-manifests/kubeschedulers.operator.openshift.io/AAA_ungated.yaml +++ b/operator/v1/zz_generated.featuregated-crd-manifests/kubeschedulers.operator.openshift.io/AAA_ungated.yaml @@ -262,6 +262,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/operator/v1/zz_generated.swagger_doc_generated.go b/operator/v1/zz_generated.swagger_doc_generated.go index 114b5c7a689..2825e758b5f 100644 --- a/operator/v1/zz_generated.swagger_doc_generated.go +++ b/operator/v1/zz_generated.swagger_doc_generated.go @@ -37,6 +37,7 @@ func (MyOperatorResource) SwaggerDoc() map[string]string { var map_NodeStatus = map[string]string{ "": "NodeStatus provides information about the current state of a particular node managed by this operator.", "nodeName": "nodeName is the name of the node", + "nodeUID": "nodeUID is the UID of the node. This field is used to detect that a node has been deleted and recreated with the same name. When the UID changes, it indicates the node is a new instance and the controller should treat this status entry as stale. When omitted, UID-based node replacement detection is not available for this entry.", "currentRevision": "currentRevision is the generation of the most recently successful deployment. Can not be set on creation of a nodeStatus. Updates must only increase the value.", "targetRevision": "targetRevision is the generation of the deployment we're trying to apply. Can not be set on creation of a nodeStatus.", "lastFailedRevision": "lastFailedRevision is the generation of the deployment we tried and failed to deploy.", diff --git a/payload-manifests/crds/0000_12_etcd_01_etcds-CustomNoUpgrade.crd.yaml b/payload-manifests/crds/0000_12_etcd_01_etcds-CustomNoUpgrade.crd.yaml index 1feb64cbb5c..2118451871f 100644 --- a/payload-manifests/crds/0000_12_etcd_01_etcds-CustomNoUpgrade.crd.yaml +++ b/payload-manifests/crds/0000_12_etcd_01_etcds-CustomNoUpgrade.crd.yaml @@ -292,6 +292,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/payload-manifests/crds/0000_12_etcd_01_etcds-Default.crd.yaml b/payload-manifests/crds/0000_12_etcd_01_etcds-Default.crd.yaml index 23e6bdc63f2..fee97c4c8b5 100644 --- a/payload-manifests/crds/0000_12_etcd_01_etcds-Default.crd.yaml +++ b/payload-manifests/crds/0000_12_etcd_01_etcds-Default.crd.yaml @@ -279,6 +279,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/payload-manifests/crds/0000_12_etcd_01_etcds-DevPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_12_etcd_01_etcds-DevPreviewNoUpgrade.crd.yaml index 2c32b9c9648..4038e8bd6a1 100644 --- a/payload-manifests/crds/0000_12_etcd_01_etcds-DevPreviewNoUpgrade.crd.yaml +++ b/payload-manifests/crds/0000_12_etcd_01_etcds-DevPreviewNoUpgrade.crd.yaml @@ -292,6 +292,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/payload-manifests/crds/0000_12_etcd_01_etcds-OKD.crd.yaml b/payload-manifests/crds/0000_12_etcd_01_etcds-OKD.crd.yaml index b1ad9fc093b..e67e0e5d50b 100644 --- a/payload-manifests/crds/0000_12_etcd_01_etcds-OKD.crd.yaml +++ b/payload-manifests/crds/0000_12_etcd_01_etcds-OKD.crd.yaml @@ -279,6 +279,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/payload-manifests/crds/0000_12_etcd_01_etcds-TechPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_12_etcd_01_etcds-TechPreviewNoUpgrade.crd.yaml index b74dfb9893e..30eb40e7dd3 100644 --- a/payload-manifests/crds/0000_12_etcd_01_etcds-TechPreviewNoUpgrade.crd.yaml +++ b/payload-manifests/crds/0000_12_etcd_01_etcds-TechPreviewNoUpgrade.crd.yaml @@ -292,6 +292,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/payload-manifests/crds/0000_20_kube-apiserver_01_kubeapiservers-CustomNoUpgrade.crd.yaml b/payload-manifests/crds/0000_20_kube-apiserver_01_kubeapiservers-CustomNoUpgrade.crd.yaml index 57df5e1297f..e0ef4e9d4ef 100644 --- a/payload-manifests/crds/0000_20_kube-apiserver_01_kubeapiservers-CustomNoUpgrade.crd.yaml +++ b/payload-manifests/crds/0000_20_kube-apiserver_01_kubeapiservers-CustomNoUpgrade.crd.yaml @@ -358,6 +358,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/payload-manifests/crds/0000_20_kube-apiserver_01_kubeapiservers-Default.crd.yaml b/payload-manifests/crds/0000_20_kube-apiserver_01_kubeapiservers-Default.crd.yaml index 3eb9d7d49e3..66dcf15334c 100644 --- a/payload-manifests/crds/0000_20_kube-apiserver_01_kubeapiservers-Default.crd.yaml +++ b/payload-manifests/crds/0000_20_kube-apiserver_01_kubeapiservers-Default.crd.yaml @@ -276,6 +276,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/payload-manifests/crds/0000_20_kube-apiserver_01_kubeapiservers-DevPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_20_kube-apiserver_01_kubeapiservers-DevPreviewNoUpgrade.crd.yaml index 0371d90d7a1..fab74040c2b 100644 --- a/payload-manifests/crds/0000_20_kube-apiserver_01_kubeapiservers-DevPreviewNoUpgrade.crd.yaml +++ b/payload-manifests/crds/0000_20_kube-apiserver_01_kubeapiservers-DevPreviewNoUpgrade.crd.yaml @@ -358,6 +358,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/payload-manifests/crds/0000_20_kube-apiserver_01_kubeapiservers-OKD.crd.yaml b/payload-manifests/crds/0000_20_kube-apiserver_01_kubeapiservers-OKD.crd.yaml index fa02abd00f7..f22fb392eb2 100644 --- a/payload-manifests/crds/0000_20_kube-apiserver_01_kubeapiservers-OKD.crd.yaml +++ b/payload-manifests/crds/0000_20_kube-apiserver_01_kubeapiservers-OKD.crd.yaml @@ -276,6 +276,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/payload-manifests/crds/0000_20_kube-apiserver_01_kubeapiservers-TechPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_20_kube-apiserver_01_kubeapiservers-TechPreviewNoUpgrade.crd.yaml index bdabdecd350..433efa113cb 100644 --- a/payload-manifests/crds/0000_20_kube-apiserver_01_kubeapiservers-TechPreviewNoUpgrade.crd.yaml +++ b/payload-manifests/crds/0000_20_kube-apiserver_01_kubeapiservers-TechPreviewNoUpgrade.crd.yaml @@ -358,6 +358,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/payload-manifests/crds/0000_25_kube-controller-manager_01_kubecontrollermanagers.crd.yaml b/payload-manifests/crds/0000_25_kube-controller-manager_01_kubecontrollermanagers.crd.yaml index 72bb37b7629..cb8656b190d 100644 --- a/payload-manifests/crds/0000_25_kube-controller-manager_01_kubecontrollermanagers.crd.yaml +++ b/payload-manifests/crds/0000_25_kube-controller-manager_01_kubecontrollermanagers.crd.yaml @@ -270,6 +270,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply. diff --git a/payload-manifests/crds/0000_25_kube-scheduler_01_kubeschedulers.crd.yaml b/payload-manifests/crds/0000_25_kube-scheduler_01_kubeschedulers.crd.yaml index e59fedb33eb..410c0a8cb07 100644 --- a/payload-manifests/crds/0000_25_kube-scheduler_01_kubeschedulers.crd.yaml +++ b/payload-manifests/crds/0000_25_kube-scheduler_01_kubeschedulers.crd.yaml @@ -261,6 +261,15 @@ spec: nodeName: description: nodeName is the name of the node type: string + nodeUID: + description: |- + nodeUID is the UID of the node. + This field is used to detect that a node has been deleted and recreated + with the same name. When the UID changes, it indicates the node is a + new instance and the controller should treat this status entry as stale. + When omitted, UID-based node replacement detection is not available + for this entry. + type: string targetRevision: description: |- targetRevision is the generation of the deployment we're trying to apply.