From 2413ccd88b53d41707b712709afcf2157297dae0 Mon Sep 17 00:00:00 2001 From: "Jonathan H. Cope" Date: Fri, 18 Sep 2026 09:51:16 -0500 Subject: [PATCH 1/3] define mutable topology transition statuses on infra config --- config/v1/types_infrastructure.go | 84 +++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/config/v1/types_infrastructure.go b/config/v1/types_infrastructure.go index 857f9b27929..09c70417bc6 100644 --- a/config/v1/types_infrastructure.go +++ b/config/v1/types_infrastructure.go @@ -138,6 +138,43 @@ type InfrastructureStatus struct { // +optional InfrastructureTopology TopologyMode `json:"infrastructureTopology,omitempty"` + // ControlPlaneTopologyTransitionStatus reports the current state of a + // control plane topology transition requested via spec.controlPlaneTopology. + // + // "Idle" means no transition has ever been requested: + // spec.controlPlaneTopology is empty. This is the default state prior to + // the cluster's first transition; once a transition completes, this + // field moves to "Transitioned" and does not return to "Idle". + // + // "Pending" means a transition has been requested and admitted by the + // topology transition controller, and the controller is actively + // reconciling the cluster to the new topology. + // + // "Error" means a requested transition could not be admitted, either + // because the requested topology change is not a supported transition or + // because a precondition was not met. The specific reason is reported as + // an Event on this Infrastructure object rather than in this field. + // + // "Transitioned" means the most recently requested transition completed + // successfully; spec.controlPlaneTopology matches status.controlPlaneTopology. + // + // +kubebuilder:default=Idle + // +kubebuilder:validation:Enum=Idle;Pending;Error;RetryWithBackoff;Transitioned + // +openshift:enable:FeatureGate=MutableTopology + // +optional + ControlPlaneTopologyTransitionStatus TopologyTransitionStatus `json:"controlPlaneTopologyTransitionStatus,omitempty"` + + // InfrastrutureTopologyTransitionStatus reports the current state of a + // infrastructure topology transition requested via spec.controlPlaneTopology. + // + // See ControlPlaneTopologyTransitionStatus for enum definitinos and meanings. + // + // +kubebuilder:default=Idle + // +kubebuilder:validation:Enum=Idle;Pending;Error;RetryWithBackoff;Transitioned + // +openshift:enable:FeatureGate=MutableTopology + // +optional + InfrastructureTopologyTransitionStatus TopologyTransitionStatus `json:"infrastructureTopologyTransitionStatus,omitempty"` + // cpuPartitioning expresses if CPU partitioning is a currently enabled feature in the cluster. // CPU Partitioning means that this cluster can support partitioning workloads to specific CPU Sets. // Valid values are "None" and "AllNodes". When omitted, the default value is "None". @@ -177,6 +214,53 @@ const ( ExternalTopologyMode TopologyMode = "External" ) +// TopologyTransitionStatus tracks the current state of a topology transition +// requested via spec.controlPlaneTopology. Each value corresponds 1:1 to a +// distinct (Progressing, Upgradeable) condition-reason pair reported by the +// topology transition controller on the cluster-config-operator ClusterOperator: +// +// - Idle -> Progressing=False/AsExpected, Upgradeable=True/AsExpected +// - Pending -> Progressing=True/TopologyTransitionInProgress, Upgradeable=False/TopologyTransitionInProgress +// - RetryWithBackoff -> Progressing=True/TopologyTransitionInProgress, Upgradeable=False/TopologyTransitionInProgress +// - Error -> Progressing=False/{UnsupportedTransition|PreflightCheckFailed}, Upgradeable=False/{same} +// - Transitioned -> Progressing=False/TopologyTransitionComplete, Upgradeable=True/TopologyTransitionComplete +type TopologyTransitionStatus string + +const ( + // TopologyTransitionStatusIdle indicates that no topology transition has + // ever been requested: spec.controlPlaneTopology is empty. This is the + // default state prior to the cluster's first transition. Once a + // transition completes, the field moves to TopologyTransitionStatusTransitioned + // and does not return to Idle. + TopologyTransitionStatusIdle TopologyTransitionStatus = "Idle" + + // TopologyTransitionStatusPending indicates that a topology transition + // has been requested and admitted, and the controller is actively + // reconciling the cluster to the new topology. + TopologyTransitionStatusPending TopologyTransitionStatus = "Pending" + + // TopologyTransitionStatusRetryWithBackoff indicates that the controller + // encountered a synchronization or API error while reconciling the + // transition. The error is returned to the rate-limited workqueue so the + // transition is retried with backoff. This state is distinct from Error, + // which indicates that admission failed because a transition is unsupported + // or a precondition was not met. + TopologyTransitionStatusRetryWithBackoff TopologyTransitionStatus = "RetryWithBackoff" + + // TopologyTransitionStatusError indicates that a requested topology + // transition could not be admitted, either because the requested + // topology change is not a supported transition or because a + // precondition was not met. The specific reason is reported as an Event + // on this Infrastructure object rather than in this field. + TopologyTransitionStatusError TopologyTransitionStatus = "Error" + + // TopologyTransitionStatusTransitioned indicates that a topology + // transition completed successfully. This is a terminal state: since + // only one-directional transitions are currently supported, the field + // remains Transitioned for the lifetime of the cluster once reached. + TopologyTransitionStatusTransitioned TopologyTransitionStatus = "Transitioned" +) + // CPUPartitioningMode defines the mode for CPU partitioning type CPUPartitioningMode string From 9c7b7a34ac03bb7265d6a6437649d5be35d57c25 Mon Sep 17 00:00:00 2001 From: "Jonathan H. Cope" Date: Mon, 21 Sep 2026 14:03:10 -0500 Subject: [PATCH 2/3] change transition default status to "NotTransitioned" from "Idle". "Idle" describes an operating status, not a transition state and could lead to confusion --- config/v1/types_infrastructure.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/config/v1/types_infrastructure.go b/config/v1/types_infrastructure.go index 09c70417bc6..01063df7dd7 100644 --- a/config/v1/types_infrastructure.go +++ b/config/v1/types_infrastructure.go @@ -141,10 +141,10 @@ type InfrastructureStatus struct { // ControlPlaneTopologyTransitionStatus reports the current state of a // control plane topology transition requested via spec.controlPlaneTopology. // - // "Idle" means no transition has ever been requested: + // "NotTransitioned" means no transition has ever been requested: // spec.controlPlaneTopology is empty. This is the default state prior to // the cluster's first transition; once a transition completes, this - // field moves to "Transitioned" and does not return to "Idle". + // field moves to "Transitioned" and does not return to "NotTransitioned". // // "Pending" means a transition has been requested and admitted by the // topology transition controller, and the controller is actively @@ -158,8 +158,8 @@ type InfrastructureStatus struct { // "Transitioned" means the most recently requested transition completed // successfully; spec.controlPlaneTopology matches status.controlPlaneTopology. // - // +kubebuilder:default=Idle - // +kubebuilder:validation:Enum=Idle;Pending;Error;RetryWithBackoff;Transitioned + // +kubebuilder:default=NotTransitioned + // +kubebuilder:validation:Enum=NotTransitioned;Pending;Error;RetryWithBackoff;Transitioned // +openshift:enable:FeatureGate=MutableTopology // +optional ControlPlaneTopologyTransitionStatus TopologyTransitionStatus `json:"controlPlaneTopologyTransitionStatus,omitempty"` @@ -169,8 +169,8 @@ type InfrastructureStatus struct { // // See ControlPlaneTopologyTransitionStatus for enum definitinos and meanings. // - // +kubebuilder:default=Idle - // +kubebuilder:validation:Enum=Idle;Pending;Error;RetryWithBackoff;Transitioned + // +kubebuilder:default=NotTransitioned + // +kubebuilder:validation:Enum=NotTransitioned;Pending;Error;RetryWithBackoff;Transitioned // +openshift:enable:FeatureGate=MutableTopology // +optional InfrastructureTopologyTransitionStatus TopologyTransitionStatus `json:"infrastructureTopologyTransitionStatus,omitempty"` @@ -219,7 +219,7 @@ const ( // distinct (Progressing, Upgradeable) condition-reason pair reported by the // topology transition controller on the cluster-config-operator ClusterOperator: // -// - Idle -> Progressing=False/AsExpected, Upgradeable=True/AsExpected +// - NotTransitioned -> Progressing=False/AsExpected, Upgradeable=True/AsExpected // - Pending -> Progressing=True/TopologyTransitionInProgress, Upgradeable=False/TopologyTransitionInProgress // - RetryWithBackoff -> Progressing=True/TopologyTransitionInProgress, Upgradeable=False/TopologyTransitionInProgress // - Error -> Progressing=False/{UnsupportedTransition|PreflightCheckFailed}, Upgradeable=False/{same} @@ -227,12 +227,12 @@ const ( type TopologyTransitionStatus string const ( - // TopologyTransitionStatusIdle indicates that no topology transition has + // TopologyTransitionStatusNotTransitioned indicates that no topology transition has // ever been requested: spec.controlPlaneTopology is empty. This is the // default state prior to the cluster's first transition. Once a // transition completes, the field moves to TopologyTransitionStatusTransitioned - // and does not return to Idle. - TopologyTransitionStatusIdle TopologyTransitionStatus = "Idle" + // and does not return to NotTransitioned. + TopologyTransitionStatusNotTransitioned TopologyTransitionStatus = "NotTransitioned" // TopologyTransitionStatusPending indicates that a topology transition // has been requested and admitted, and the controller is actively From ca12e845971c9e9226a1caa02eabb4a0ff0a10f4 Mon Sep 17 00:00:00 2001 From: "Jonathan H. Cope" Date: Mon, 21 Sep 2026 14:19:33 -0500 Subject: [PATCH 3/3] codegen update --- ...ctures-Hypershift-CustomNoUpgrade.crd.yaml | 43 +++++++++++++++++++ ...res-SelfManagedHA-CustomNoUpgrade.crd.yaml | 43 +++++++++++++++++++ ...SelfManagedHA-DevPreviewNoUpgrade.crd.yaml | 43 +++++++++++++++++++ .../MutableTopology.yaml | 43 +++++++++++++++++++ .../v1/zz_generated.swagger_doc_generated.go | 22 +++++----- ...onfigs-Hypershift-CustomNoUpgrade.crd.yaml | 43 +++++++++++++++++++ ...igs-SelfManagedHA-CustomNoUpgrade.crd.yaml | 43 +++++++++++++++++++ ...SelfManagedHA-DevPreviewNoUpgrade.crd.yaml | 43 +++++++++++++++++++ .../MutableTopology.yaml | 43 +++++++++++++++++++ .../generated_openapi/zz_generated.openapi.go | 14 ++++++ openapi/openapi.json | 8 ++++ ...ctures-Hypershift-CustomNoUpgrade.crd.yaml | 43 +++++++++++++++++++ ...res-SelfManagedHA-CustomNoUpgrade.crd.yaml | 43 +++++++++++++++++++ ...SelfManagedHA-DevPreviewNoUpgrade.crd.yaml | 43 +++++++++++++++++++ ...onfigs-Hypershift-CustomNoUpgrade.crd.yaml | 43 +++++++++++++++++++ ...igs-SelfManagedHA-CustomNoUpgrade.crd.yaml | 43 +++++++++++++++++++ ...SelfManagedHA-DevPreviewNoUpgrade.crd.yaml | 43 +++++++++++++++++++ 17 files changed, 636 insertions(+), 10 deletions(-) diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml index 7a35e5fc0f7..1ac2b84cb55 100644 --- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml +++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml @@ -1163,6 +1163,35 @@ spec: - DualReplica - External type: string + controlPlaneTopologyTransitionStatus: + default: NotTransitioned + description: |- + ControlPlaneTopologyTransitionStatus reports the current state of a + control plane topology transition requested via spec.controlPlaneTopology. + + "NotTransitioned" means no transition has ever been requested: + spec.controlPlaneTopology is empty. This is the default state prior to + the cluster's first transition; once a transition completes, this + field moves to "Transitioned" and does not return to "NotTransitioned". + + "Pending" means a transition has been requested and admitted by the + topology transition controller, and the controller is actively + reconciling the cluster to the new topology. + + "Error" means a requested transition could not be admitted, either + because the requested topology change is not a supported transition or + because a precondition was not met. The specific reason is reported as + an Event on this Infrastructure object rather than in this field. + + "Transitioned" means the most recently requested transition completed + successfully; spec.controlPlaneTopology matches status.controlPlaneTopology. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string cpuPartitioning: default: None description: |- @@ -1203,6 +1232,20 @@ spec: - HighlyAvailable - SingleReplica type: string + infrastructureTopologyTransitionStatus: + default: NotTransitioned + description: |- + InfrastrutureTopologyTransitionStatus reports the current state of a + infrastructure topology transition requested via spec.controlPlaneTopology. + + See ControlPlaneTopologyTransitionStatus for enum definitinos and meanings. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string platform: description: |- platform is the underlying infrastructure provider for the cluster. diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml index bbeff9ec02e..84ec395b8bf 100644 --- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml +++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml @@ -1163,6 +1163,35 @@ spec: - DualReplica - External type: string + controlPlaneTopologyTransitionStatus: + default: NotTransitioned + description: |- + ControlPlaneTopologyTransitionStatus reports the current state of a + control plane topology transition requested via spec.controlPlaneTopology. + + "NotTransitioned" means no transition has ever been requested: + spec.controlPlaneTopology is empty. This is the default state prior to + the cluster's first transition; once a transition completes, this + field moves to "Transitioned" and does not return to "NotTransitioned". + + "Pending" means a transition has been requested and admitted by the + topology transition controller, and the controller is actively + reconciling the cluster to the new topology. + + "Error" means a requested transition could not be admitted, either + because the requested topology change is not a supported transition or + because a precondition was not met. The specific reason is reported as + an Event on this Infrastructure object rather than in this field. + + "Transitioned" means the most recently requested transition completed + successfully; spec.controlPlaneTopology matches status.controlPlaneTopology. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string cpuPartitioning: default: None description: |- @@ -1203,6 +1232,20 @@ spec: - HighlyAvailable - SingleReplica type: string + infrastructureTopologyTransitionStatus: + default: NotTransitioned + description: |- + InfrastrutureTopologyTransitionStatus reports the current state of a + infrastructure topology transition requested via spec.controlPlaneTopology. + + See ControlPlaneTopologyTransitionStatus for enum definitinos and meanings. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string platform: description: |- platform is the underlying infrastructure provider for the cluster. diff --git a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml index 0207127aa67..0b9d4b1f906 100644 --- a/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml +++ b/config/v1/zz_generated.crd-manifests/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml @@ -1163,6 +1163,35 @@ spec: - DualReplica - External type: string + controlPlaneTopologyTransitionStatus: + default: NotTransitioned + description: |- + ControlPlaneTopologyTransitionStatus reports the current state of a + control plane topology transition requested via spec.controlPlaneTopology. + + "NotTransitioned" means no transition has ever been requested: + spec.controlPlaneTopology is empty. This is the default state prior to + the cluster's first transition; once a transition completes, this + field moves to "Transitioned" and does not return to "NotTransitioned". + + "Pending" means a transition has been requested and admitted by the + topology transition controller, and the controller is actively + reconciling the cluster to the new topology. + + "Error" means a requested transition could not be admitted, either + because the requested topology change is not a supported transition or + because a precondition was not met. The specific reason is reported as + an Event on this Infrastructure object rather than in this field. + + "Transitioned" means the most recently requested transition completed + successfully; spec.controlPlaneTopology matches status.controlPlaneTopology. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string cpuPartitioning: default: None description: |- @@ -1203,6 +1232,20 @@ spec: - HighlyAvailable - SingleReplica type: string + infrastructureTopologyTransitionStatus: + default: NotTransitioned + description: |- + InfrastrutureTopologyTransitionStatus reports the current state of a + infrastructure topology transition requested via spec.controlPlaneTopology. + + See ControlPlaneTopologyTransitionStatus for enum definitinos and meanings. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string platform: description: |- platform is the underlying infrastructure provider for the cluster. diff --git a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/MutableTopology.yaml b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/MutableTopology.yaml index 446505413cb..fb819c6b0ae 100644 --- a/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/MutableTopology.yaml +++ b/config/v1/zz_generated.featuregated-crd-manifests/infrastructures.config.openshift.io/MutableTopology.yaml @@ -1051,6 +1051,35 @@ spec: The 'HighlyAvailableArbiter' mode indicates that the control plane will consist of 2 control-plane nodes that run conventional services and 1 smaller sized arbiter node that runs a bare minimum of services to maintain quorum. type: string + controlPlaneTopologyTransitionStatus: + default: NotTransitioned + description: |- + ControlPlaneTopologyTransitionStatus reports the current state of a + control plane topology transition requested via spec.controlPlaneTopology. + + "NotTransitioned" means no transition has ever been requested: + spec.controlPlaneTopology is empty. This is the default state prior to + the cluster's first transition; once a transition completes, this + field moves to "Transitioned" and does not return to "NotTransitioned". + + "Pending" means a transition has been requested and admitted by the + topology transition controller, and the controller is actively + reconciling the cluster to the new topology. + + "Error" means a requested transition could not be admitted, either + because the requested topology change is not a supported transition or + because a precondition was not met. The specific reason is reported as + an Event on this Infrastructure object rather than in this field. + + "Transitioned" means the most recently requested transition completed + successfully; spec.controlPlaneTopology matches status.controlPlaneTopology. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string cpuPartitioning: default: None description: |- @@ -1091,6 +1120,20 @@ spec: - HighlyAvailable - SingleReplica type: string + infrastructureTopologyTransitionStatus: + default: NotTransitioned + description: |- + InfrastrutureTopologyTransitionStatus reports the current state of a + infrastructure topology transition requested via spec.controlPlaneTopology. + + See ControlPlaneTopologyTransitionStatus for enum definitinos and meanings. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string platform: description: |- platform is the underlying infrastructure provider for the cluster. diff --git a/config/v1/zz_generated.swagger_doc_generated.go b/config/v1/zz_generated.swagger_doc_generated.go index aa7c2ee8821..c45a48560fa 100644 --- a/config/v1/zz_generated.swagger_doc_generated.go +++ b/config/v1/zz_generated.swagger_doc_generated.go @@ -1882,16 +1882,18 @@ func (InfrastructureSpec) SwaggerDoc() map[string]string { } var map_InfrastructureStatus = map[string]string{ - "": "InfrastructureStatus describes the infrastructure the cluster is leveraging.", - "infrastructureName": "infrastructureName uniquely identifies a cluster with a human friendly name. Once set it should not be changed. Must be of max length 27 and must have only alphanumeric or hyphen characters.", - "platform": "platform is the underlying infrastructure provider for the cluster.\n\nDeprecated: Use platformStatus.type instead.", - "platformStatus": "platformStatus holds status information specific to the underlying infrastructure provider.", - "etcdDiscoveryDomain": "etcdDiscoveryDomain is the domain used to fetch the SRV records for discovering etcd servers and clients. For more info: https://github.com/etcd-io/etcd/blob/329be66e8b3f9e2e6af83c123ff89297e49ebd15/Documentation/op-guide/clustering.md#dns-discovery deprecated: as of 4.7, this field is no longer set or honored. It will be removed in a future release.", - "apiServerURL": "apiServerURL is a valid URI with scheme 'https', address and optionally a port (defaulting to 443). apiServerURL can be used by components like the web console to tell users where to find the Kubernetes API.", - "apiServerInternalURI": "apiServerInternalURL is a valid URI with scheme 'https', address and optionally a port (defaulting to 443). apiServerInternalURL can be used by components like kubelets, to contact the Kubernetes API server using the infrastructure provider rather than Kubernetes networking.", - "controlPlaneTopology": "controlPlaneTopology expresses the expectations for operands that normally run on control nodes. The default is 'HighlyAvailable', which represents the behavior operators have in a \"normal\" cluster. The 'SingleReplica' mode will be used in single-node deployments and the operators should not configure the operand for highly-available operation The 'External' mode indicates that the control plane is hosted externally to the cluster and that its components are not visible within the cluster. The 'HighlyAvailableArbiter' mode indicates that the control plane will consist of 2 control-plane nodes that run conventional services and 1 smaller sized arbiter node that runs a bare minimum of services to maintain quorum.", - "infrastructureTopology": "infrastructureTopology expresses the expectations for infrastructure services that do not run on control plane nodes, usually indicated by a node selector for a `role` value other than `master`. The default is 'HighlyAvailable', which represents the behavior operators have in a \"normal\" cluster. The 'SingleReplica' mode will be used in single-node deployments and the operators should not configure the operand for highly-available operation NOTE: External topology mode is not applicable for this field.", - "cpuPartitioning": "cpuPartitioning expresses if CPU partitioning is a currently enabled feature in the cluster. CPU Partitioning means that this cluster can support partitioning workloads to specific CPU Sets. Valid values are \"None\" and \"AllNodes\". When omitted, the default value is \"None\". The default value of \"None\" indicates that no nodes will be setup with CPU partitioning. The \"AllNodes\" value indicates that all nodes have been setup with CPU partitioning, and can then be further configured via the PerformanceProfile API.", + "": "InfrastructureStatus describes the infrastructure the cluster is leveraging.", + "infrastructureName": "infrastructureName uniquely identifies a cluster with a human friendly name. Once set it should not be changed. Must be of max length 27 and must have only alphanumeric or hyphen characters.", + "platform": "platform is the underlying infrastructure provider for the cluster.\n\nDeprecated: Use platformStatus.type instead.", + "platformStatus": "platformStatus holds status information specific to the underlying infrastructure provider.", + "etcdDiscoveryDomain": "etcdDiscoveryDomain is the domain used to fetch the SRV records for discovering etcd servers and clients. For more info: https://github.com/etcd-io/etcd/blob/329be66e8b3f9e2e6af83c123ff89297e49ebd15/Documentation/op-guide/clustering.md#dns-discovery deprecated: as of 4.7, this field is no longer set or honored. It will be removed in a future release.", + "apiServerURL": "apiServerURL is a valid URI with scheme 'https', address and optionally a port (defaulting to 443). apiServerURL can be used by components like the web console to tell users where to find the Kubernetes API.", + "apiServerInternalURI": "apiServerInternalURL is a valid URI with scheme 'https', address and optionally a port (defaulting to 443). apiServerInternalURL can be used by components like kubelets, to contact the Kubernetes API server using the infrastructure provider rather than Kubernetes networking.", + "controlPlaneTopology": "controlPlaneTopology expresses the expectations for operands that normally run on control nodes. The default is 'HighlyAvailable', which represents the behavior operators have in a \"normal\" cluster. The 'SingleReplica' mode will be used in single-node deployments and the operators should not configure the operand for highly-available operation The 'External' mode indicates that the control plane is hosted externally to the cluster and that its components are not visible within the cluster. The 'HighlyAvailableArbiter' mode indicates that the control plane will consist of 2 control-plane nodes that run conventional services and 1 smaller sized arbiter node that runs a bare minimum of services to maintain quorum.", + "infrastructureTopology": "infrastructureTopology expresses the expectations for infrastructure services that do not run on control plane nodes, usually indicated by a node selector for a `role` value other than `master`. The default is 'HighlyAvailable', which represents the behavior operators have in a \"normal\" cluster. The 'SingleReplica' mode will be used in single-node deployments and the operators should not configure the operand for highly-available operation NOTE: External topology mode is not applicable for this field.", + "controlPlaneTopologyTransitionStatus": "ControlPlaneTopologyTransitionStatus reports the current state of a control plane topology transition requested via spec.controlPlaneTopology.\n\n\"NotTransitioned\" means no transition has ever been requested: spec.controlPlaneTopology is empty. This is the default state prior to the cluster's first transition; once a transition completes, this field moves to \"Transitioned\" and does not return to \"NotTransitioned\".\n\n\"Pending\" means a transition has been requested and admitted by the topology transition controller, and the controller is actively reconciling the cluster to the new topology.\n\n\"Error\" means a requested transition could not be admitted, either because the requested topology change is not a supported transition or because a precondition was not met. The specific reason is reported as an Event on this Infrastructure object rather than in this field.\n\n\"Transitioned\" means the most recently requested transition completed successfully; spec.controlPlaneTopology matches status.controlPlaneTopology.", + "infrastructureTopologyTransitionStatus": "InfrastrutureTopologyTransitionStatus reports the current state of a infrastructure topology transition requested via spec.controlPlaneTopology.\n\nSee ControlPlaneTopologyTransitionStatus for enum definitinos and meanings.", + "cpuPartitioning": "cpuPartitioning expresses if CPU partitioning is a currently enabled feature in the cluster. CPU Partitioning means that this cluster can support partitioning workloads to specific CPU Sets. Valid values are \"None\" and \"AllNodes\". When omitted, the default value is \"None\". The default value of \"None\" indicates that no nodes will be setup with CPU partitioning. The \"AllNodes\" value indicates that all nodes have been setup with CPU partitioning, and can then be further configured via the PerformanceProfile API.", } func (InfrastructureStatus) SwaggerDoc() map[string]string { diff --git a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml index 273851bb919..218630fae14 100644 --- a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml +++ b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml @@ -1468,6 +1468,35 @@ spec: - DualReplica - External type: string + controlPlaneTopologyTransitionStatus: + default: NotTransitioned + description: |- + ControlPlaneTopologyTransitionStatus reports the current state of a + control plane topology transition requested via spec.controlPlaneTopology. + + "NotTransitioned" means no transition has ever been requested: + spec.controlPlaneTopology is empty. This is the default state prior to + the cluster's first transition; once a transition completes, this + field moves to "Transitioned" and does not return to "NotTransitioned". + + "Pending" means a transition has been requested and admitted by the + topology transition controller, and the controller is actively + reconciling the cluster to the new topology. + + "Error" means a requested transition could not be admitted, either + because the requested topology change is not a supported transition or + because a precondition was not met. The specific reason is reported as + an Event on this Infrastructure object rather than in this field. + + "Transitioned" means the most recently requested transition completed + successfully; spec.controlPlaneTopology matches status.controlPlaneTopology. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string cpuPartitioning: default: None description: |- @@ -1508,6 +1537,20 @@ spec: - HighlyAvailable - SingleReplica type: string + infrastructureTopologyTransitionStatus: + default: NotTransitioned + description: |- + InfrastrutureTopologyTransitionStatus reports the current state of a + infrastructure topology transition requested via spec.controlPlaneTopology. + + See ControlPlaneTopologyTransitionStatus for enum definitinos and meanings. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string platform: description: |- platform is the underlying infrastructure provider for the cluster. diff --git a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml index 8e1534879d6..7fa9af8c75f 100644 --- a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml +++ b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml @@ -1468,6 +1468,35 @@ spec: - DualReplica - External type: string + controlPlaneTopologyTransitionStatus: + default: NotTransitioned + description: |- + ControlPlaneTopologyTransitionStatus reports the current state of a + control plane topology transition requested via spec.controlPlaneTopology. + + "NotTransitioned" means no transition has ever been requested: + spec.controlPlaneTopology is empty. This is the default state prior to + the cluster's first transition; once a transition completes, this + field moves to "Transitioned" and does not return to "NotTransitioned". + + "Pending" means a transition has been requested and admitted by the + topology transition controller, and the controller is actively + reconciling the cluster to the new topology. + + "Error" means a requested transition could not be admitted, either + because the requested topology change is not a supported transition or + because a precondition was not met. The specific reason is reported as + an Event on this Infrastructure object rather than in this field. + + "Transitioned" means the most recently requested transition completed + successfully; spec.controlPlaneTopology matches status.controlPlaneTopology. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string cpuPartitioning: default: None description: |- @@ -1508,6 +1537,20 @@ spec: - HighlyAvailable - SingleReplica type: string + infrastructureTopologyTransitionStatus: + default: NotTransitioned + description: |- + InfrastrutureTopologyTransitionStatus reports the current state of a + infrastructure topology transition requested via spec.controlPlaneTopology. + + See ControlPlaneTopologyTransitionStatus for enum definitinos and meanings. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string platform: description: |- platform is the underlying infrastructure provider for the cluster. diff --git a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml index fb3e18ca85e..e15bfc01125 100644 --- a/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml +++ b/machineconfiguration/v1/zz_generated.crd-manifests/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml @@ -1468,6 +1468,35 @@ spec: - DualReplica - External type: string + controlPlaneTopologyTransitionStatus: + default: NotTransitioned + description: |- + ControlPlaneTopologyTransitionStatus reports the current state of a + control plane topology transition requested via spec.controlPlaneTopology. + + "NotTransitioned" means no transition has ever been requested: + spec.controlPlaneTopology is empty. This is the default state prior to + the cluster's first transition; once a transition completes, this + field moves to "Transitioned" and does not return to "NotTransitioned". + + "Pending" means a transition has been requested and admitted by the + topology transition controller, and the controller is actively + reconciling the cluster to the new topology. + + "Error" means a requested transition could not be admitted, either + because the requested topology change is not a supported transition or + because a precondition was not met. The specific reason is reported as + an Event on this Infrastructure object rather than in this field. + + "Transitioned" means the most recently requested transition completed + successfully; spec.controlPlaneTopology matches status.controlPlaneTopology. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string cpuPartitioning: default: None description: |- @@ -1508,6 +1537,20 @@ spec: - HighlyAvailable - SingleReplica type: string + infrastructureTopologyTransitionStatus: + default: NotTransitioned + description: |- + InfrastrutureTopologyTransitionStatus reports the current state of a + infrastructure topology transition requested via spec.controlPlaneTopology. + + See ControlPlaneTopologyTransitionStatus for enum definitinos and meanings. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string platform: description: |- platform is the underlying infrastructure provider for the cluster. diff --git a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/MutableTopology.yaml b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/MutableTopology.yaml index 3d7117d83f3..87407679b72 100644 --- a/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/MutableTopology.yaml +++ b/machineconfiguration/v1/zz_generated.featuregated-crd-manifests/controllerconfigs.machineconfiguration.openshift.io/MutableTopology.yaml @@ -1346,6 +1346,35 @@ spec: The 'HighlyAvailableArbiter' mode indicates that the control plane will consist of 2 control-plane nodes that run conventional services and 1 smaller sized arbiter node that runs a bare minimum of services to maintain quorum. type: string + controlPlaneTopologyTransitionStatus: + default: NotTransitioned + description: |- + ControlPlaneTopologyTransitionStatus reports the current state of a + control plane topology transition requested via spec.controlPlaneTopology. + + "NotTransitioned" means no transition has ever been requested: + spec.controlPlaneTopology is empty. This is the default state prior to + the cluster's first transition; once a transition completes, this + field moves to "Transitioned" and does not return to "NotTransitioned". + + "Pending" means a transition has been requested and admitted by the + topology transition controller, and the controller is actively + reconciling the cluster to the new topology. + + "Error" means a requested transition could not be admitted, either + because the requested topology change is not a supported transition or + because a precondition was not met. The specific reason is reported as + an Event on this Infrastructure object rather than in this field. + + "Transitioned" means the most recently requested transition completed + successfully; spec.controlPlaneTopology matches status.controlPlaneTopology. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string cpuPartitioning: default: None description: |- @@ -1386,6 +1415,20 @@ spec: - HighlyAvailable - SingleReplica type: string + infrastructureTopologyTransitionStatus: + default: NotTransitioned + description: |- + InfrastrutureTopologyTransitionStatus reports the current state of a + infrastructure topology transition requested via spec.controlPlaneTopology. + + See ControlPlaneTopologyTransitionStatus for enum definitinos and meanings. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string platform: description: |- platform is the underlying infrastructure provider for the cluster. diff --git a/openapi/generated_openapi/zz_generated.openapi.go b/openapi/generated_openapi/zz_generated.openapi.go index b3557d1e5b5..823b6c1be7d 100644 --- a/openapi/generated_openapi/zz_generated.openapi.go +++ b/openapi/generated_openapi/zz_generated.openapi.go @@ -16421,6 +16421,20 @@ func schema_openshift_api_config_v1_InfrastructureStatus(ref common.ReferenceCal Format: "", }, }, + "controlPlaneTopologyTransitionStatus": { + SchemaProps: spec.SchemaProps{ + Description: "ControlPlaneTopologyTransitionStatus reports the current state of a control plane topology transition requested via spec.controlPlaneTopology.\n\n\"NotTransitioned\" means no transition has ever been requested: spec.controlPlaneTopology is empty. This is the default state prior to the cluster's first transition; once a transition completes, this field moves to \"Transitioned\" and does not return to \"NotTransitioned\".\n\n\"Pending\" means a transition has been requested and admitted by the topology transition controller, and the controller is actively reconciling the cluster to the new topology.\n\n\"Error\" means a requested transition could not be admitted, either because the requested topology change is not a supported transition or because a precondition was not met. The specific reason is reported as an Event on this Infrastructure object rather than in this field.\n\n\"Transitioned\" means the most recently requested transition completed successfully; spec.controlPlaneTopology matches status.controlPlaneTopology.", + Type: []string{"string"}, + Format: "", + }, + }, + "infrastructureTopologyTransitionStatus": { + SchemaProps: spec.SchemaProps{ + Description: "InfrastrutureTopologyTransitionStatus reports the current state of a infrastructure topology transition requested via spec.controlPlaneTopology.\n\nSee ControlPlaneTopologyTransitionStatus for enum definitinos and meanings.", + Type: []string{"string"}, + Format: "", + }, + }, "cpuPartitioning": { SchemaProps: spec.SchemaProps{ Description: "cpuPartitioning expresses if CPU partitioning is a currently enabled feature in the cluster. CPU Partitioning means that this cluster can support partitioning workloads to specific CPU Sets. Valid values are \"None\" and \"AllNodes\". When omitted, the default value is \"None\". The default value of \"None\" indicates that no nodes will be setup with CPU partitioning. The \"AllNodes\" value indicates that all nodes have been setup with CPU partitioning, and can then be further configured via the PerformanceProfile API.", diff --git a/openapi/openapi.json b/openapi/openapi.json index b865fda0089..648bb0012c8 100644 --- a/openapi/openapi.json +++ b/openapi/openapi.json @@ -8586,6 +8586,10 @@ "type": "string", "default": "" }, + "controlPlaneTopologyTransitionStatus": { + "description": "ControlPlaneTopologyTransitionStatus reports the current state of a control plane topology transition requested via spec.controlPlaneTopology.\n\n\"NotTransitioned\" means no transition has ever been requested: spec.controlPlaneTopology is empty. This is the default state prior to the cluster's first transition; once a transition completes, this field moves to \"Transitioned\" and does not return to \"NotTransitioned\".\n\n\"Pending\" means a transition has been requested and admitted by the topology transition controller, and the controller is actively reconciling the cluster to the new topology.\n\n\"Error\" means a requested transition could not be admitted, either because the requested topology change is not a supported transition or because a precondition was not met. The specific reason is reported as an Event on this Infrastructure object rather than in this field.\n\n\"Transitioned\" means the most recently requested transition completed successfully; spec.controlPlaneTopology matches status.controlPlaneTopology.", + "type": "string" + }, "cpuPartitioning": { "description": "cpuPartitioning expresses if CPU partitioning is a currently enabled feature in the cluster. CPU Partitioning means that this cluster can support partitioning workloads to specific CPU Sets. Valid values are \"None\" and \"AllNodes\". When omitted, the default value is \"None\". The default value of \"None\" indicates that no nodes will be setup with CPU partitioning. The \"AllNodes\" value indicates that all nodes have been setup with CPU partitioning, and can then be further configured via the PerformanceProfile API.", "type": "string", @@ -8605,6 +8609,10 @@ "description": "infrastructureTopology expresses the expectations for infrastructure services that do not run on control plane nodes, usually indicated by a node selector for a `role` value other than `master`. The default is 'HighlyAvailable', which represents the behavior operators have in a \"normal\" cluster. The 'SingleReplica' mode will be used in single-node deployments and the operators should not configure the operand for highly-available operation NOTE: External topology mode is not applicable for this field.", "type": "string" }, + "infrastructureTopologyTransitionStatus": { + "description": "InfrastrutureTopologyTransitionStatus reports the current state of a infrastructure topology transition requested via spec.controlPlaneTopology.\n\nSee ControlPlaneTopologyTransitionStatus for enum definitinos and meanings.", + "type": "string" + }, "platform": { "description": "platform is the underlying infrastructure provider for the cluster.\n\nDeprecated: Use platformStatus.type instead.", "type": "string" diff --git a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml index 7a35e5fc0f7..1ac2b84cb55 100644 --- a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml +++ b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-Hypershift-CustomNoUpgrade.crd.yaml @@ -1163,6 +1163,35 @@ spec: - DualReplica - External type: string + controlPlaneTopologyTransitionStatus: + default: NotTransitioned + description: |- + ControlPlaneTopologyTransitionStatus reports the current state of a + control plane topology transition requested via spec.controlPlaneTopology. + + "NotTransitioned" means no transition has ever been requested: + spec.controlPlaneTopology is empty. This is the default state prior to + the cluster's first transition; once a transition completes, this + field moves to "Transitioned" and does not return to "NotTransitioned". + + "Pending" means a transition has been requested and admitted by the + topology transition controller, and the controller is actively + reconciling the cluster to the new topology. + + "Error" means a requested transition could not be admitted, either + because the requested topology change is not a supported transition or + because a precondition was not met. The specific reason is reported as + an Event on this Infrastructure object rather than in this field. + + "Transitioned" means the most recently requested transition completed + successfully; spec.controlPlaneTopology matches status.controlPlaneTopology. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string cpuPartitioning: default: None description: |- @@ -1203,6 +1232,20 @@ spec: - HighlyAvailable - SingleReplica type: string + infrastructureTopologyTransitionStatus: + default: NotTransitioned + description: |- + InfrastrutureTopologyTransitionStatus reports the current state of a + infrastructure topology transition requested via spec.controlPlaneTopology. + + See ControlPlaneTopologyTransitionStatus for enum definitinos and meanings. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string platform: description: |- platform is the underlying infrastructure provider for the cluster. diff --git a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml index bbeff9ec02e..84ec395b8bf 100644 --- a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml +++ b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-CustomNoUpgrade.crd.yaml @@ -1163,6 +1163,35 @@ spec: - DualReplica - External type: string + controlPlaneTopologyTransitionStatus: + default: NotTransitioned + description: |- + ControlPlaneTopologyTransitionStatus reports the current state of a + control plane topology transition requested via spec.controlPlaneTopology. + + "NotTransitioned" means no transition has ever been requested: + spec.controlPlaneTopology is empty. This is the default state prior to + the cluster's first transition; once a transition completes, this + field moves to "Transitioned" and does not return to "NotTransitioned". + + "Pending" means a transition has been requested and admitted by the + topology transition controller, and the controller is actively + reconciling the cluster to the new topology. + + "Error" means a requested transition could not be admitted, either + because the requested topology change is not a supported transition or + because a precondition was not met. The specific reason is reported as + an Event on this Infrastructure object rather than in this field. + + "Transitioned" means the most recently requested transition completed + successfully; spec.controlPlaneTopology matches status.controlPlaneTopology. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string cpuPartitioning: default: None description: |- @@ -1203,6 +1232,20 @@ spec: - HighlyAvailable - SingleReplica type: string + infrastructureTopologyTransitionStatus: + default: NotTransitioned + description: |- + InfrastrutureTopologyTransitionStatus reports the current state of a + infrastructure topology transition requested via spec.controlPlaneTopology. + + See ControlPlaneTopologyTransitionStatus for enum definitinos and meanings. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string platform: description: |- platform is the underlying infrastructure provider for the cluster. diff --git a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml index 0207127aa67..0b9d4b1f906 100644 --- a/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml +++ b/payload-manifests/crds/0000_10_config-operator_01_infrastructures-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml @@ -1163,6 +1163,35 @@ spec: - DualReplica - External type: string + controlPlaneTopologyTransitionStatus: + default: NotTransitioned + description: |- + ControlPlaneTopologyTransitionStatus reports the current state of a + control plane topology transition requested via spec.controlPlaneTopology. + + "NotTransitioned" means no transition has ever been requested: + spec.controlPlaneTopology is empty. This is the default state prior to + the cluster's first transition; once a transition completes, this + field moves to "Transitioned" and does not return to "NotTransitioned". + + "Pending" means a transition has been requested and admitted by the + topology transition controller, and the controller is actively + reconciling the cluster to the new topology. + + "Error" means a requested transition could not be admitted, either + because the requested topology change is not a supported transition or + because a precondition was not met. The specific reason is reported as + an Event on this Infrastructure object rather than in this field. + + "Transitioned" means the most recently requested transition completed + successfully; spec.controlPlaneTopology matches status.controlPlaneTopology. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string cpuPartitioning: default: None description: |- @@ -1203,6 +1232,20 @@ spec: - HighlyAvailable - SingleReplica type: string + infrastructureTopologyTransitionStatus: + default: NotTransitioned + description: |- + InfrastrutureTopologyTransitionStatus reports the current state of a + infrastructure topology transition requested via spec.controlPlaneTopology. + + See ControlPlaneTopologyTransitionStatus for enum definitinos and meanings. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string platform: description: |- platform is the underlying infrastructure provider for the cluster. diff --git a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml index 273851bb919..218630fae14 100644 --- a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml +++ b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-Hypershift-CustomNoUpgrade.crd.yaml @@ -1468,6 +1468,35 @@ spec: - DualReplica - External type: string + controlPlaneTopologyTransitionStatus: + default: NotTransitioned + description: |- + ControlPlaneTopologyTransitionStatus reports the current state of a + control plane topology transition requested via spec.controlPlaneTopology. + + "NotTransitioned" means no transition has ever been requested: + spec.controlPlaneTopology is empty. This is the default state prior to + the cluster's first transition; once a transition completes, this + field moves to "Transitioned" and does not return to "NotTransitioned". + + "Pending" means a transition has been requested and admitted by the + topology transition controller, and the controller is actively + reconciling the cluster to the new topology. + + "Error" means a requested transition could not be admitted, either + because the requested topology change is not a supported transition or + because a precondition was not met. The specific reason is reported as + an Event on this Infrastructure object rather than in this field. + + "Transitioned" means the most recently requested transition completed + successfully; spec.controlPlaneTopology matches status.controlPlaneTopology. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string cpuPartitioning: default: None description: |- @@ -1508,6 +1537,20 @@ spec: - HighlyAvailable - SingleReplica type: string + infrastructureTopologyTransitionStatus: + default: NotTransitioned + description: |- + InfrastrutureTopologyTransitionStatus reports the current state of a + infrastructure topology transition requested via spec.controlPlaneTopology. + + See ControlPlaneTopologyTransitionStatus for enum definitinos and meanings. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string platform: description: |- platform is the underlying infrastructure provider for the cluster. diff --git a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml index 8e1534879d6..7fa9af8c75f 100644 --- a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml +++ b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-CustomNoUpgrade.crd.yaml @@ -1468,6 +1468,35 @@ spec: - DualReplica - External type: string + controlPlaneTopologyTransitionStatus: + default: NotTransitioned + description: |- + ControlPlaneTopologyTransitionStatus reports the current state of a + control plane topology transition requested via spec.controlPlaneTopology. + + "NotTransitioned" means no transition has ever been requested: + spec.controlPlaneTopology is empty. This is the default state prior to + the cluster's first transition; once a transition completes, this + field moves to "Transitioned" and does not return to "NotTransitioned". + + "Pending" means a transition has been requested and admitted by the + topology transition controller, and the controller is actively + reconciling the cluster to the new topology. + + "Error" means a requested transition could not be admitted, either + because the requested topology change is not a supported transition or + because a precondition was not met. The specific reason is reported as + an Event on this Infrastructure object rather than in this field. + + "Transitioned" means the most recently requested transition completed + successfully; spec.controlPlaneTopology matches status.controlPlaneTopology. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string cpuPartitioning: default: None description: |- @@ -1508,6 +1537,20 @@ spec: - HighlyAvailable - SingleReplica type: string + infrastructureTopologyTransitionStatus: + default: NotTransitioned + description: |- + InfrastrutureTopologyTransitionStatus reports the current state of a + infrastructure topology transition requested via spec.controlPlaneTopology. + + See ControlPlaneTopologyTransitionStatus for enum definitinos and meanings. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string platform: description: |- platform is the underlying infrastructure provider for the cluster. diff --git a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml index fb3e18ca85e..e15bfc01125 100644 --- a/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml +++ b/payload-manifests/crds/0000_80_machine-config_01_controllerconfigs-SelfManagedHA-DevPreviewNoUpgrade.crd.yaml @@ -1468,6 +1468,35 @@ spec: - DualReplica - External type: string + controlPlaneTopologyTransitionStatus: + default: NotTransitioned + description: |- + ControlPlaneTopologyTransitionStatus reports the current state of a + control plane topology transition requested via spec.controlPlaneTopology. + + "NotTransitioned" means no transition has ever been requested: + spec.controlPlaneTopology is empty. This is the default state prior to + the cluster's first transition; once a transition completes, this + field moves to "Transitioned" and does not return to "NotTransitioned". + + "Pending" means a transition has been requested and admitted by the + topology transition controller, and the controller is actively + reconciling the cluster to the new topology. + + "Error" means a requested transition could not be admitted, either + because the requested topology change is not a supported transition or + because a precondition was not met. The specific reason is reported as + an Event on this Infrastructure object rather than in this field. + + "Transitioned" means the most recently requested transition completed + successfully; spec.controlPlaneTopology matches status.controlPlaneTopology. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string cpuPartitioning: default: None description: |- @@ -1508,6 +1537,20 @@ spec: - HighlyAvailable - SingleReplica type: string + infrastructureTopologyTransitionStatus: + default: NotTransitioned + description: |- + InfrastrutureTopologyTransitionStatus reports the current state of a + infrastructure topology transition requested via spec.controlPlaneTopology. + + See ControlPlaneTopologyTransitionStatus for enum definitinos and meanings. + enum: + - NotTransitioned + - Pending + - Error + - RetryWithBackoff + - Transitioned + type: string platform: description: |- platform is the underlying infrastructure provider for the cluster.