diff --git a/go.mod b/go.mod index bec2870d8..6207d0199 100644 --- a/go.mod +++ b/go.mod @@ -11,6 +11,11 @@ replace ( k8s.io/kubernetes => github.com/openshift/kubernetes v1.30.1-0.20251027205255-4e0347881cbd ) +replace ( + github.com/openshift/api => ../api + github.com/openshift/clinet-go => ../client-go +) + require ( github.com/blang/semver v3.5.1+incompatible github.com/go-logr/logr v1.4.3 diff --git a/go.sum b/go.sum index daef2f2bf..7dd257d66 100644 --- a/go.sum +++ b/go.sum @@ -449,8 +449,6 @@ github.com/opencontainers/selinux v1.11.1 h1:nHFvthhM0qY8/m+vfhJylliSshm8G1jJ2jD github.com/opencontainers/selinux v1.11.1/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec= github.com/openshift-eng/openshift-tests-extension v0.0.0-20251105193959-75a0be5d9bd7 h1:Z1swlS6b3Adm6RPhjqefs3DWnNFLDxRX+WC8GMXhja4= github.com/openshift-eng/openshift-tests-extension v0.0.0-20251105193959-75a0be5d9bd7/go.mod h1:6gkP5f2HL0meusT0Aim8icAspcD1cG055xxBZ9yC68M= -github.com/openshift/api v0.0.0-20260114133223-6ab113cb7368 h1:kSr3DOlq0NCrHd65HB2o/pBsks7AfRm+fkpf9RLUPoc= -github.com/openshift/api v0.0.0-20260114133223-6ab113cb7368/go.mod h1:d5uzF0YN2nQQFA0jIEWzzOZ+edmo6wzlGLvx5Fhz4uY= github.com/openshift/client-go v0.0.0-20251202151200-fb4471581cf8 h1:97rgISdT4IOmXlmEUV5Wr6d8BzzjPclzAjCARLbSlT0= github.com/openshift/client-go v0.0.0-20251202151200-fb4471581cf8/go.mod h1:WVJnsrbSO1J8x8KceOmv1d5CpoN34Uzsaz1O4MIOKJI= github.com/openshift/cluster-api-actuator-pkg/testutils v0.0.0-20250910145856-21d03d30056d h1:+sqUThLi/lmgT5/scmmjnS6+RZFtbdxRAscNfCPyLPI= diff --git a/install/0000_30_machine-api-operator_02_machine.CustomNoUpgrade.crd.yaml b/install/0000_30_machine-api-operator_02_machine.CustomNoUpgrade.crd.yaml index 3e68b107e..f3a8d1226 100644 --- a/install/0000_30_machine-api-operator_02_machine.CustomNoUpgrade.crd.yaml +++ b/install/0000_30_machine-api-operator_02_machine.CustomNoUpgrade.crd.yaml @@ -567,6 +567,16 @@ spec: serialized/deserialized from this field. type: object x-kubernetes-preserve-unknown-fields: true + synchronizedAPI: + description: |- + synchronizedAPI holds the last stable value of authoritativeAPI. + It is used to detect migration cancellation requests and to restore the resource to its previous state. + Valid values are "MachineAPI" and "ClusterAPI". + When omitted, the resource has not yet been reconciled by the migration controller. + enum: + - MachineAPI + - ClusterAPI + type: string synchronizedGeneration: description: |- synchronizedGeneration is the generation of the authoritative resource that the non-authoritative resource is synchronised with. @@ -584,8 +594,6 @@ spec: && self.synchronizedGeneration >= oldSelf.synchronizedGeneration) || (oldSelf.authoritativeAPI == ''Migrating'' && self.authoritativeAPI != ''Migrating'')' - - message: authoritativeAPI may not be removed once set - rule: has(self.authoritativeAPI) || !has(oldSelf.authoritativeAPI) type: object served: true storage: true diff --git a/install/0000_30_machine-api-operator_02_machine.DevPreviewNoUpgrade.crd.yaml b/install/0000_30_machine-api-operator_02_machine.DevPreviewNoUpgrade.crd.yaml index 9ece1ebed..ab3889a02 100644 --- a/install/0000_30_machine-api-operator_02_machine.DevPreviewNoUpgrade.crd.yaml +++ b/install/0000_30_machine-api-operator_02_machine.DevPreviewNoUpgrade.crd.yaml @@ -567,6 +567,16 @@ spec: serialized/deserialized from this field. type: object x-kubernetes-preserve-unknown-fields: true + synchronizedAPI: + description: |- + synchronizedAPI holds the last stable value of authoritativeAPI. + It is used to detect migration cancellation requests and to restore the resource to its previous state. + Valid values are "MachineAPI" and "ClusterAPI". + When omitted, the resource has not yet been reconciled by the migration controller. + enum: + - MachineAPI + - ClusterAPI + type: string synchronizedGeneration: description: |- synchronizedGeneration is the generation of the authoritative resource that the non-authoritative resource is synchronised with. @@ -584,8 +594,6 @@ spec: && self.synchronizedGeneration >= oldSelf.synchronizedGeneration) || (oldSelf.authoritativeAPI == ''Migrating'' && self.authoritativeAPI != ''Migrating'')' - - message: authoritativeAPI may not be removed once set - rule: has(self.authoritativeAPI) || !has(oldSelf.authoritativeAPI) type: object served: true storage: true diff --git a/install/0000_30_machine-api-operator_02_machine.TechPreviewNoUpgrade.crd.yaml b/install/0000_30_machine-api-operator_02_machine.TechPreviewNoUpgrade.crd.yaml index b24670fd3..16b686cf0 100644 --- a/install/0000_30_machine-api-operator_02_machine.TechPreviewNoUpgrade.crd.yaml +++ b/install/0000_30_machine-api-operator_02_machine.TechPreviewNoUpgrade.crd.yaml @@ -567,6 +567,16 @@ spec: serialized/deserialized from this field. type: object x-kubernetes-preserve-unknown-fields: true + synchronizedAPI: + description: |- + synchronizedAPI holds the last stable value of authoritativeAPI. + It is used to detect migration cancellation requests and to restore the resource to its previous state. + Valid values are "MachineAPI" and "ClusterAPI". + When omitted, the resource has not yet been reconciled by the migration controller. + enum: + - MachineAPI + - ClusterAPI + type: string synchronizedGeneration: description: |- synchronizedGeneration is the generation of the authoritative resource that the non-authoritative resource is synchronised with. @@ -584,8 +594,6 @@ spec: && self.synchronizedGeneration >= oldSelf.synchronizedGeneration) || (oldSelf.authoritativeAPI == ''Migrating'' && self.authoritativeAPI != ''Migrating'')' - - message: authoritativeAPI may not be removed once set - rule: has(self.authoritativeAPI) || !has(oldSelf.authoritativeAPI) type: object served: true storage: true diff --git a/install/0000_30_machine-api-operator_03_machineset.CustomNoUpgrade.crd.yaml b/install/0000_30_machine-api-operator_03_machineset.CustomNoUpgrade.crd.yaml index db01cca4f..ee7aab748 100644 --- a/install/0000_30_machine-api-operator_03_machineset.CustomNoUpgrade.crd.yaml +++ b/install/0000_30_machine-api-operator_03_machineset.CustomNoUpgrade.crd.yaml @@ -674,6 +674,16 @@ spec: description: replicas is the most recently observed number of replicas. format: int32 type: integer + synchronizedAPI: + description: |- + synchronizedAPI holds the last stable value of authoritativeAPI. + It is used to detect migration cancellation requests and to restore the resource to its previous state. + Valid values are "MachineAPI" and "ClusterAPI". + When omitted, the resource has not yet been reconciled by the migration controller. + enum: + - MachineAPI + - ClusterAPI + type: string synchronizedGeneration: description: |- synchronizedGeneration is the generation of the authoritative resource that the non-authoritative resource is synchronised with. @@ -691,8 +701,6 @@ spec: && self.synchronizedGeneration >= oldSelf.synchronizedGeneration) || (oldSelf.authoritativeAPI == ''Migrating'' && self.authoritativeAPI != ''Migrating'')' - - message: authoritativeAPI may not be removed once set - rule: has(self.authoritativeAPI) || !has(oldSelf.authoritativeAPI) type: object served: true storage: true diff --git a/install/0000_30_machine-api-operator_03_machineset.DevPreviewNoUpgrade.crd.yaml b/install/0000_30_machine-api-operator_03_machineset.DevPreviewNoUpgrade.crd.yaml index 1556758e6..2fa8b2c54 100644 --- a/install/0000_30_machine-api-operator_03_machineset.DevPreviewNoUpgrade.crd.yaml +++ b/install/0000_30_machine-api-operator_03_machineset.DevPreviewNoUpgrade.crd.yaml @@ -674,6 +674,16 @@ spec: description: replicas is the most recently observed number of replicas. format: int32 type: integer + synchronizedAPI: + description: |- + synchronizedAPI holds the last stable value of authoritativeAPI. + It is used to detect migration cancellation requests and to restore the resource to its previous state. + Valid values are "MachineAPI" and "ClusterAPI". + When omitted, the resource has not yet been reconciled by the migration controller. + enum: + - MachineAPI + - ClusterAPI + type: string synchronizedGeneration: description: |- synchronizedGeneration is the generation of the authoritative resource that the non-authoritative resource is synchronised with. @@ -691,8 +701,6 @@ spec: && self.synchronizedGeneration >= oldSelf.synchronizedGeneration) || (oldSelf.authoritativeAPI == ''Migrating'' && self.authoritativeAPI != ''Migrating'')' - - message: authoritativeAPI may not be removed once set - rule: has(self.authoritativeAPI) || !has(oldSelf.authoritativeAPI) type: object served: true storage: true diff --git a/install/0000_30_machine-api-operator_03_machineset.TechPreviewNoUpgrade.crd.yaml b/install/0000_30_machine-api-operator_03_machineset.TechPreviewNoUpgrade.crd.yaml index f9801ce02..3c9985994 100644 --- a/install/0000_30_machine-api-operator_03_machineset.TechPreviewNoUpgrade.crd.yaml +++ b/install/0000_30_machine-api-operator_03_machineset.TechPreviewNoUpgrade.crd.yaml @@ -674,6 +674,16 @@ spec: description: replicas is the most recently observed number of replicas. format: int32 type: integer + synchronizedAPI: + description: |- + synchronizedAPI holds the last stable value of authoritativeAPI. + It is used to detect migration cancellation requests and to restore the resource to its previous state. + Valid values are "MachineAPI" and "ClusterAPI". + When omitted, the resource has not yet been reconciled by the migration controller. + enum: + - MachineAPI + - ClusterAPI + type: string synchronizedGeneration: description: |- synchronizedGeneration is the generation of the authoritative resource that the non-authoritative resource is synchronised with. @@ -691,8 +701,6 @@ spec: && self.synchronizedGeneration >= oldSelf.synchronizedGeneration) || (oldSelf.authoritativeAPI == ''Migrating'' && self.authoritativeAPI != ''Migrating'')' - - message: authoritativeAPI may not be removed once set - rule: has(self.authoritativeAPI) || !has(oldSelf.authoritativeAPI) type: object served: true storage: true diff --git a/vendor/github.com/openshift/api/features.md b/vendor/github.com/openshift/api/features.md index fd8d9fa77..72b1a7281 100644 --- a/vendor/github.com/openshift/api/features.md +++ b/vendor/github.com/openshift/api/features.md @@ -36,7 +36,6 @@ | ClusterMonitoringConfig| | | Enabled | Enabled | | | Enabled | Enabled | | ClusterUpdateAcceptRisks| | | Enabled | Enabled | | | Enabled | Enabled | | ClusterVersionOperatorConfiguration| | | Enabled | Enabled | | | Enabled | Enabled | -| ConfigurablePKI| | | Enabled | Enabled | | | Enabled | Enabled | | DNSNameResolver| | | Enabled | Enabled | | | Enabled | Enabled | | DualReplica| | | Enabled | Enabled | | | Enabled | Enabled | | DyanmicServiceEndpointIBMCloud| | | Enabled | Enabled | | | Enabled | Enabled | diff --git a/vendor/github.com/openshift/api/features/features.go b/vendor/github.com/openshift/api/features/features.go index 9159b43d3..dbf66d632 100644 --- a/vendor/github.com/openshift/api/features/features.go +++ b/vendor/github.com/openshift/api/features/features.go @@ -953,12 +953,4 @@ var ( enhancementPR("https://github.com/kubernetes/enhancements/issues/4381"). enableForClusterProfile(Hypershift, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade, configv1.Default, configv1.OKD). mustRegister() - - FeatureGateConfigurablePKI = newFeatureGate("ConfigurablePKI"). - reportProblemsToJiraComponent("kube-apiserver"). - contactPerson("sanchezl"). - productScope(ocpSpecific). - enhancementPR("https://github.com/openshift/enhancements/pull/1882"). - enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). - mustRegister() ) diff --git a/vendor/github.com/openshift/api/machine/v1beta1/types_machine.go b/vendor/github.com/openshift/api/machine/v1beta1/types_machine.go index 9510b49fd..085c10629 100644 --- a/vendor/github.com/openshift/api/machine/v1beta1/types_machine.go +++ b/vendor/github.com/openshift/api/machine/v1beta1/types_machine.go @@ -185,6 +185,18 @@ const ( MachineAuthorityMigrating MachineAuthority = "Migrating" ) +// SynchronizedAPI holds the last stable value of authoritativeAPI. +// +kubebuilder:validation:Enum=MachineAPI;ClusterAPI +type SynchronizedAPI string + +const ( + // MachineAPISynchronized indicates that the Machine API is the last synchronized API. + MachineAPISynchronized SynchronizedAPI = "MachineAPI" + + // ClusterAPISynchronized indicates that the Cluster API is the last synchronized API. + ClusterAPISynchronized SynchronizedAPI = "ClusterAPI" +) + // +genclient // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object @@ -317,7 +329,6 @@ type LifecycleHook struct { // MachineStatus defines the observed state of Machine // +openshift:validation:FeatureGateAwareXValidation:featureGate=MachineAPIMigration,rule="!has(oldSelf.synchronizedGeneration) || (has(self.synchronizedGeneration) && self.synchronizedGeneration >= oldSelf.synchronizedGeneration) || (oldSelf.authoritativeAPI == 'Migrating' && self.authoritativeAPI != 'Migrating')",message="synchronizedGeneration must not decrease unless authoritativeAPI is transitioning from Migrating to another value" -// +openshift:validation:FeatureGateAwareXValidation:featureGate=MachineAPIMigration,rule="has(self.authoritativeAPI) || !has(oldSelf.authoritativeAPI)",message="authoritativeAPI may not be removed once set" type MachineStatus struct { // nodeRef will point to the corresponding Node if it exists. // +optional @@ -407,6 +418,14 @@ type MachineStatus struct { // +optional AuthoritativeAPI MachineAuthority `json:"authoritativeAPI,omitempty"` + // synchronizedAPI holds the last stable value of authoritativeAPI. + // It is used to detect migration cancellation requests and to restore the resource to its previous state. + // Valid values are "MachineAPI" and "ClusterAPI". + // When omitted, the resource has not yet been reconciled by the migration controller. + // +openshift:enable:FeatureGate=MachineAPIMigration + // +optional + SynchronizedAPI SynchronizedAPI `json:"synchronizedAPI,omitempty"` + // synchronizedGeneration is the generation of the authoritative resource that the non-authoritative resource is synchronised with. // This field is set when the authoritative resource is updated and the sync controller has updated the non-authoritative resource to match. // +kubebuilder:validation:Minimum=0 diff --git a/vendor/github.com/openshift/api/machine/v1beta1/types_machineset.go b/vendor/github.com/openshift/api/machine/v1beta1/types_machineset.go index 80cb282b7..69856b272 100644 --- a/vendor/github.com/openshift/api/machine/v1beta1/types_machineset.go +++ b/vendor/github.com/openshift/api/machine/v1beta1/types_machineset.go @@ -112,7 +112,6 @@ type MachineTemplateSpec struct { // MachineSetStatus defines the observed state of MachineSet // +openshift:validation:FeatureGateAwareXValidation:featureGate=MachineAPIMigration,rule="!has(oldSelf.synchronizedGeneration) || (has(self.synchronizedGeneration) && self.synchronizedGeneration >= oldSelf.synchronizedGeneration) || (oldSelf.authoritativeAPI == 'Migrating' && self.authoritativeAPI != 'Migrating')",message="synchronizedGeneration must not decrease unless authoritativeAPI is transitioning from Migrating to another value" -// +openshift:validation:FeatureGateAwareXValidation:featureGate=MachineAPIMigration,rule="has(self.authoritativeAPI) || !has(oldSelf.authoritativeAPI)",message="authoritativeAPI may not be removed once set" type MachineSetStatus struct { // replicas is the most recently observed number of replicas. // +optional @@ -169,6 +168,14 @@ type MachineSetStatus struct { // +optional AuthoritativeAPI MachineAuthority `json:"authoritativeAPI,omitempty"` + // synchronizedAPI holds the last stable value of authoritativeAPI. + // It is used to detect migration cancellation requests and to restore the resource to its previous state. + // Valid values are "MachineAPI" and "ClusterAPI". + // When omitted, the resource has not yet been reconciled by the migration controller. + // +openshift:enable:FeatureGate=MachineAPIMigration + // +optional + SynchronizedAPI SynchronizedAPI `json:"synchronizedAPI,omitempty"` + // synchronizedGeneration is the generation of the authoritative resource that the non-authoritative resource is synchronised with. // This field is set when the authoritative resource is updated and the sync controller has updated the non-authoritative resource to match. // +kubebuilder:validation:Minimum=0 diff --git a/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machines-CustomNoUpgrade.crd.yaml b/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machines-CustomNoUpgrade.crd.yaml index 3e68b107e..f3a8d1226 100644 --- a/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machines-CustomNoUpgrade.crd.yaml +++ b/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machines-CustomNoUpgrade.crd.yaml @@ -567,6 +567,16 @@ spec: serialized/deserialized from this field. type: object x-kubernetes-preserve-unknown-fields: true + synchronizedAPI: + description: |- + synchronizedAPI holds the last stable value of authoritativeAPI. + It is used to detect migration cancellation requests and to restore the resource to its previous state. + Valid values are "MachineAPI" and "ClusterAPI". + When omitted, the resource has not yet been reconciled by the migration controller. + enum: + - MachineAPI + - ClusterAPI + type: string synchronizedGeneration: description: |- synchronizedGeneration is the generation of the authoritative resource that the non-authoritative resource is synchronised with. @@ -584,8 +594,6 @@ spec: && self.synchronizedGeneration >= oldSelf.synchronizedGeneration) || (oldSelf.authoritativeAPI == ''Migrating'' && self.authoritativeAPI != ''Migrating'')' - - message: authoritativeAPI may not be removed once set - rule: has(self.authoritativeAPI) || !has(oldSelf.authoritativeAPI) type: object served: true storage: true diff --git a/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machines-DevPreviewNoUpgrade.crd.yaml b/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machines-DevPreviewNoUpgrade.crd.yaml index 9ece1ebed..ab3889a02 100644 --- a/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machines-DevPreviewNoUpgrade.crd.yaml +++ b/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machines-DevPreviewNoUpgrade.crd.yaml @@ -567,6 +567,16 @@ spec: serialized/deserialized from this field. type: object x-kubernetes-preserve-unknown-fields: true + synchronizedAPI: + description: |- + synchronizedAPI holds the last stable value of authoritativeAPI. + It is used to detect migration cancellation requests and to restore the resource to its previous state. + Valid values are "MachineAPI" and "ClusterAPI". + When omitted, the resource has not yet been reconciled by the migration controller. + enum: + - MachineAPI + - ClusterAPI + type: string synchronizedGeneration: description: |- synchronizedGeneration is the generation of the authoritative resource that the non-authoritative resource is synchronised with. @@ -584,8 +594,6 @@ spec: && self.synchronizedGeneration >= oldSelf.synchronizedGeneration) || (oldSelf.authoritativeAPI == ''Migrating'' && self.authoritativeAPI != ''Migrating'')' - - message: authoritativeAPI may not be removed once set - rule: has(self.authoritativeAPI) || !has(oldSelf.authoritativeAPI) type: object served: true storage: true diff --git a/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machines-TechPreviewNoUpgrade.crd.yaml b/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machines-TechPreviewNoUpgrade.crd.yaml index b24670fd3..16b686cf0 100644 --- a/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machines-TechPreviewNoUpgrade.crd.yaml +++ b/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machines-TechPreviewNoUpgrade.crd.yaml @@ -567,6 +567,16 @@ spec: serialized/deserialized from this field. type: object x-kubernetes-preserve-unknown-fields: true + synchronizedAPI: + description: |- + synchronizedAPI holds the last stable value of authoritativeAPI. + It is used to detect migration cancellation requests and to restore the resource to its previous state. + Valid values are "MachineAPI" and "ClusterAPI". + When omitted, the resource has not yet been reconciled by the migration controller. + enum: + - MachineAPI + - ClusterAPI + type: string synchronizedGeneration: description: |- synchronizedGeneration is the generation of the authoritative resource that the non-authoritative resource is synchronised with. @@ -584,8 +594,6 @@ spec: && self.synchronizedGeneration >= oldSelf.synchronizedGeneration) || (oldSelf.authoritativeAPI == ''Migrating'' && self.authoritativeAPI != ''Migrating'')' - - message: authoritativeAPI may not be removed once set - rule: has(self.authoritativeAPI) || !has(oldSelf.authoritativeAPI) type: object served: true storage: true diff --git a/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machinesets-CustomNoUpgrade.crd.yaml b/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machinesets-CustomNoUpgrade.crd.yaml index db01cca4f..ee7aab748 100644 --- a/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machinesets-CustomNoUpgrade.crd.yaml +++ b/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machinesets-CustomNoUpgrade.crd.yaml @@ -674,6 +674,16 @@ spec: description: replicas is the most recently observed number of replicas. format: int32 type: integer + synchronizedAPI: + description: |- + synchronizedAPI holds the last stable value of authoritativeAPI. + It is used to detect migration cancellation requests and to restore the resource to its previous state. + Valid values are "MachineAPI" and "ClusterAPI". + When omitted, the resource has not yet been reconciled by the migration controller. + enum: + - MachineAPI + - ClusterAPI + type: string synchronizedGeneration: description: |- synchronizedGeneration is the generation of the authoritative resource that the non-authoritative resource is synchronised with. @@ -691,8 +701,6 @@ spec: && self.synchronizedGeneration >= oldSelf.synchronizedGeneration) || (oldSelf.authoritativeAPI == ''Migrating'' && self.authoritativeAPI != ''Migrating'')' - - message: authoritativeAPI may not be removed once set - rule: has(self.authoritativeAPI) || !has(oldSelf.authoritativeAPI) type: object served: true storage: true diff --git a/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machinesets-DevPreviewNoUpgrade.crd.yaml b/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machinesets-DevPreviewNoUpgrade.crd.yaml index 1556758e6..2fa8b2c54 100644 --- a/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machinesets-DevPreviewNoUpgrade.crd.yaml +++ b/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machinesets-DevPreviewNoUpgrade.crd.yaml @@ -674,6 +674,16 @@ spec: description: replicas is the most recently observed number of replicas. format: int32 type: integer + synchronizedAPI: + description: |- + synchronizedAPI holds the last stable value of authoritativeAPI. + It is used to detect migration cancellation requests and to restore the resource to its previous state. + Valid values are "MachineAPI" and "ClusterAPI". + When omitted, the resource has not yet been reconciled by the migration controller. + enum: + - MachineAPI + - ClusterAPI + type: string synchronizedGeneration: description: |- synchronizedGeneration is the generation of the authoritative resource that the non-authoritative resource is synchronised with. @@ -691,8 +701,6 @@ spec: && self.synchronizedGeneration >= oldSelf.synchronizedGeneration) || (oldSelf.authoritativeAPI == ''Migrating'' && self.authoritativeAPI != ''Migrating'')' - - message: authoritativeAPI may not be removed once set - rule: has(self.authoritativeAPI) || !has(oldSelf.authoritativeAPI) type: object served: true storage: true diff --git a/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machinesets-TechPreviewNoUpgrade.crd.yaml b/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machinesets-TechPreviewNoUpgrade.crd.yaml index f9801ce02..3c9985994 100644 --- a/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machinesets-TechPreviewNoUpgrade.crd.yaml +++ b/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.crd-manifests/0000_10_machine-api_01_machinesets-TechPreviewNoUpgrade.crd.yaml @@ -674,6 +674,16 @@ spec: description: replicas is the most recently observed number of replicas. format: int32 type: integer + synchronizedAPI: + description: |- + synchronizedAPI holds the last stable value of authoritativeAPI. + It is used to detect migration cancellation requests and to restore the resource to its previous state. + Valid values are "MachineAPI" and "ClusterAPI". + When omitted, the resource has not yet been reconciled by the migration controller. + enum: + - MachineAPI + - ClusterAPI + type: string synchronizedGeneration: description: |- synchronizedGeneration is the generation of the authoritative resource that the non-authoritative resource is synchronised with. @@ -691,8 +701,6 @@ spec: && self.synchronizedGeneration >= oldSelf.synchronizedGeneration) || (oldSelf.authoritativeAPI == ''Migrating'' && self.authoritativeAPI != ''Migrating'')' - - message: authoritativeAPI may not be removed once set - rule: has(self.authoritativeAPI) || !has(oldSelf.authoritativeAPI) type: object served: true storage: true diff --git a/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.swagger_doc_generated.go index 093a40076..0d043ad60 100644 --- a/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.swagger_doc_generated.go @@ -626,6 +626,7 @@ var map_MachineStatus = map[string]string{ "phase": "phase represents the current phase of machine actuation. One of: Failed, Provisioning, Provisioned, Running, Deleting", "conditions": "conditions defines the current state of the Machine", "authoritativeAPI": "authoritativeAPI is the API that is authoritative for this resource. Valid values are MachineAPI, ClusterAPI and Migrating. This value is updated by the migration controller to reflect the authoritative API. Machine API and Cluster API controllers use this value to determine whether or not to reconcile the resource. When set to Migrating, the migration controller is currently performing the handover of authority from one API to the other.", + "synchronizedAPI": "synchronizedAPI holds the last stable value of authoritativeAPI. It is used to detect migration cancellation requests and to restore the resource to its previous state. Valid values are \"MachineAPI\" and \"ClusterAPI\". When omitted, the resource has not yet been reconciled by the migration controller.", "synchronizedGeneration": "synchronizedGeneration is the generation of the authoritative resource that the non-authoritative resource is synchronised with. This field is set when the authoritative resource is updated and the sync controller has updated the non-authoritative resource to match.", } @@ -729,6 +730,7 @@ var map_MachineSetStatus = map[string]string{ "errorReason": "In the event that there is a terminal problem reconciling the replicas, both ErrorReason and ErrorMessage will be set. ErrorReason will be populated with a succinct value suitable for machine interpretation, while ErrorMessage will contain a more verbose string suitable for logging and human consumption.\n\nThese fields should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the MachineTemplate's spec or the configuration of the machine controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the machine controller, or the responsible machine controller itself being critically misconfigured.\n\nAny transient errors that occur during the reconciliation of Machines can be added as events to the MachineSet object and/or logged in the controller's output.", "conditions": "conditions defines the current state of the MachineSet", "authoritativeAPI": "authoritativeAPI is the API that is authoritative for this resource. Valid values are MachineAPI, ClusterAPI and Migrating. This value is updated by the migration controller to reflect the authoritative API. Machine API and Cluster API controllers use this value to determine whether or not to reconcile the resource. When set to Migrating, the migration controller is currently performing the handover of authority from one API to the other.", + "synchronizedAPI": "synchronizedAPI holds the last stable value of authoritativeAPI. It is used to detect migration cancellation requests and to restore the resource to its previous state. Valid values are \"MachineAPI\" and \"ClusterAPI\". When omitted, the resource has not yet been reconciled by the migration controller.", "synchronizedGeneration": "synchronizedGeneration is the generation of the authoritative resource that the non-authoritative resource is synchronised with. This field is set when the authoritative resource is updated and the sync controller has updated the non-authoritative resource to match.", } diff --git a/vendor/github.com/openshift/api/operator/v1/types_console.go b/vendor/github.com/openshift/api/operator/v1/types_console.go index 35795b2b7..e030a65c8 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_console.go +++ b/vendor/github.com/openshift/api/operator/v1/types_console.go @@ -107,9 +107,6 @@ const ( // gettingStartedBanner is the name of the 'Getting started resources' banner in the console UI Overview page. GettingStartedBanner ConsoleCapabilityName = "GettingStartedBanner" - - // guidedTour is the name of the 'Guided Tour' feature in console UI. - GuidedTour ConsoleCapabilityName = "GuidedTour" ) // CapabilityState defines the state of the capability in the console UI. @@ -137,8 +134,8 @@ type CapabilityVisibility struct { // Capabilities contains set of UI capabilities and their state in the console UI. type Capability struct { // name is the unique name of a capability. - // Available capabilities are LightspeedButton, GettingStartedBanner, and GuidedTour. - // +kubebuilder:validation:Enum:="LightspeedButton";"GettingStartedBanner";"GuidedTour" + // Available capabilities are LightspeedButton and GettingStartedBanner. + // +kubebuilder:validation:Enum:="LightspeedButton";"GettingStartedBanner" // +required Name ConsoleCapabilityName `json:"name"` // visibility defines the visibility state of the capability. @@ -284,10 +281,10 @@ type ConsoleCustomization struct { // capabilities defines an array of capabilities that can be interacted with in the console UI. // Each capability defines a visual state that can be interacted with the console to render in the UI. - // Available capabilities are LightspeedButton, GettingStartedBanner, and GuidedTour. + // Available capabilities are LightspeedButton and GettingStartedBanner. // Each of the available capabilities may appear only once in the list. // +kubebuilder:validation:MinItems=1 - // +kubebuilder:validation:MaxItems=3 + // +kubebuilder:validation:MaxItems=2 // +listType=map // +listMapKey=name // +optional diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go index 64aac26eb..06096a6c8 100644 --- a/vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go @@ -210,7 +210,7 @@ func (AddPage) SwaggerDoc() map[string]string { var map_Capability = map[string]string{ "": "Capabilities contains set of UI capabilities and their state in the console UI.", - "name": "name is the unique name of a capability. Available capabilities are LightspeedButton, GettingStartedBanner, and GuidedTour.", + "name": "name is the unique name of a capability. Available capabilities are LightspeedButton and GettingStartedBanner.", "visibility": "visibility defines the visibility state of the capability.", } @@ -259,7 +259,7 @@ func (ConsoleConfigRoute) SwaggerDoc() map[string]string { var map_ConsoleCustomization = map[string]string{ "": "ConsoleCustomization defines a list of optional configuration for the console UI. Ensure that Logos and CustomLogoFile cannot be set at the same time.", "logos": "logos is used to replace the OpenShift Masthead and Favicon logos in the console UI with custom logos. logos is an optional field that allows a list of logos. Only one of logos or customLogoFile can be set at a time. If logos is set, customLogoFile must be unset. When specified, there must be at least one entry and no more than 2 entries. Each type must appear only once in the list.", - "capabilities": "capabilities defines an array of capabilities that can be interacted with in the console UI. Each capability defines a visual state that can be interacted with the console to render in the UI. Available capabilities are LightspeedButton, GettingStartedBanner, and GuidedTour. Each of the available capabilities may appear only once in the list.", + "capabilities": "capabilities defines an array of capabilities that can be interacted with in the console UI. Each capability defines a visual state that can be interacted with the console to render in the UI. Available capabilities are LightspeedButton and GettingStartedBanner. Each of the available capabilities may appear only once in the list.", "brand": "brand is the default branding of the web console which can be overridden by providing the brand field. There is a limited set of specific brand options. This field controls elements of the console such as the logo. Invalid value will prevent a console rollout.", "documentationBaseURL": "documentationBaseURL links to external documentation are shown in various sections of the web console. Providing documentationBaseURL will override the default documentation URL. Invalid value will prevent a console rollout.", "customProductName": "customProductName is the name that will be displayed in page titles, logo alt text, and the about dialog instead of the normal OpenShift product name.", diff --git a/vendor/modules.txt b/vendor/modules.txt index 3eb1d928a..d61a58da5 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -976,7 +976,7 @@ github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo github.com/openshift-eng/openshift-tests-extension/pkg/junit github.com/openshift-eng/openshift-tests-extension/pkg/util/sets github.com/openshift-eng/openshift-tests-extension/pkg/version -# github.com/openshift/api v0.0.0-20260114133223-6ab113cb7368 +# github.com/openshift/api v0.0.0-20260114133223-6ab113cb7368 => ../api ## explicit; go 1.24.0 github.com/openshift/api github.com/openshift/api/annotations @@ -3668,3 +3668,5 @@ sigs.k8s.io/yaml/kyaml # k8s.io/apiserver => github.com/openshift/kubernetes/staging/src/k8s.io/apiserver v0.0.0-20251015171918-61114aa5a292 # k8s.io/kubelet => github.com/openshift/kubernetes/staging/src/k8s.io/kubelet v0.0.0-20251015171918-61114aa5a292 # k8s.io/kubernetes => github.com/openshift/kubernetes v1.30.1-0.20251027205255-4e0347881cbd +# github.com/openshift/api => ../api +# github.com/openshift/clinet-go => ../client-go