diff --git a/features.md b/features.md
index e5769fbce93..bfeee782c25 100644
--- a/features.md
+++ b/features.md
@@ -7,6 +7,7 @@
| MachineAPIOperatorDisableMachineHealthCheckController| | | | | | |
| MultiArchInstallAzure| | | | | | |
| GatewayAPI| | | Enabled | Enabled | | |
+| NewOLM| | Enabled | | Enabled | | Enabled |
| AWSClusterHostedDNS| | | Enabled | Enabled | Enabled | Enabled |
| AdditionalRoutingCapabilities| | | Enabled | Enabled | Enabled | Enabled |
| AutomatedEtcdBackup| | | Enabled | Enabled | Enabled | Enabled |
@@ -32,7 +33,6 @@
| MinimumKubeletVersion| | | Enabled | Enabled | Enabled | Enabled |
| MixedCPUsAllocation| | | Enabled | Enabled | Enabled | Enabled |
| NetworkSegmentation| | | Enabled | Enabled | Enabled | Enabled |
-| NewOLM| | | Enabled | Enabled | Enabled | Enabled |
| NodeSwap| | | Enabled | Enabled | Enabled | Enabled |
| OVNObservability| | | Enabled | Enabled | Enabled | Enabled |
| OnClusterBuild| | | Enabled | Enabled | Enabled | Enabled |
diff --git a/features/features.go b/features/features.go
index f127d8ffb96..ce86379829a 100644
--- a/features/features.go
+++ b/features/features.go
@@ -495,7 +495,7 @@ var (
contactPerson("joe").
productScope(ocpSpecific).
enhancementPR(legacyFeatureGateWithoutEnhancement).
- enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade).
+ enableForClusterProfile(SelfManaged, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade, configv1.Default).
mustRegister()
FeatureGateInsightsOnDemandDataGather = newFeatureGate("InsightsOnDemandDataGather").
diff --git a/operator/v1/types_olm.go b/operator/v1/types_olm.go
index f70bc698b30..1ce349d357f 100644
--- a/operator/v1/types_olm.go
+++ b/operator/v1/types_olm.go
@@ -13,6 +13,8 @@ import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
// +kubebuilder:object:root=true
// +kubebuilder:resource:path=olms,scope=Cluster
// +kubebuilder:subresource:status
+// +kubebuilder:metadata:annotations=include.release.openshift.io/ibm-cloud-managed=false
+// +kubebuilder:metadata:annotations=include.release.openshift.io/self-managed-high-availability=true
// +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/1504
// +openshift:file-pattern=cvoRunLevel=0000_10,operatorName=operator-lifecycle-manager,operatorOrdering=01
// +openshift:enable:FeatureGate=NewOLM
diff --git a/operator/v1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms-DevPreviewNoUpgrade.crd.yaml b/operator/v1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms-DevPreviewNoUpgrade.crd.yaml
deleted file mode 100644
index 575a0a1141f..00000000000
--- a/operator/v1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms-DevPreviewNoUpgrade.crd.yaml
+++ /dev/null
@@ -1,216 +0,0 @@
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
- annotations:
- api-approved.openshift.io: https://github.com/openshift/api/pull/1504
- api.openshift.io/merged-by-featuregates: "true"
- capability.openshift.io/name: OperatorLifecycleManagerV1
- include.release.openshift.io/ibm-cloud-managed: "true"
- include.release.openshift.io/self-managed-high-availability: "true"
- release.openshift.io/feature-set: DevPreviewNoUpgrade
- name: olms.operator.openshift.io
-spec:
- group: operator.openshift.io
- names:
- kind: OLM
- listKind: OLMList
- plural: olms
- singular: olm
- scope: Cluster
- versions:
- - name: v1
- schema:
- openAPIV3Schema:
- description: |-
- OLM provides information to configure an operator to manage the OLM controllers
-
- Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
- properties:
- apiVersion:
- description: |-
- APIVersion defines the versioned schema of this representation of an object.
- Servers should convert recognized schemas to the latest internal value, and
- may reject unrecognized values.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- type: string
- kind:
- description: |-
- Kind is a string value representing the REST resource this object represents.
- Servers may infer this from the endpoint the client submits requests to.
- Cannot be updated.
- In CamelCase.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- type: string
- metadata:
- type: object
- spec:
- description: spec holds user settable values for configuration
- properties:
- logLevel:
- default: Normal
- description: |-
- logLevel is an intent based logging for an overall component. It does not give fine grained control, but it is a
- simple way to manage coarse grained logging choices that operators have to interpret for their operands.
-
- Valid values are: "Normal", "Debug", "Trace", "TraceAll".
- Defaults to "Normal".
- enum:
- - ""
- - Normal
- - Debug
- - Trace
- - TraceAll
- type: string
- managementState:
- description: managementState indicates whether and how the operator
- should manage the component
- pattern: ^(Managed|Unmanaged|Force|Removed)$
- type: string
- observedConfig:
- description: |-
- observedConfig holds a sparse config that controller has observed from the cluster state. It exists in spec because
- it is an input to the level for the operator
- nullable: true
- type: object
- x-kubernetes-preserve-unknown-fields: true
- operatorLogLevel:
- default: Normal
- description: |-
- operatorLogLevel is an intent based logging for the operator itself. It does not give fine grained control, but it is a
- simple way to manage coarse grained logging choices that operators have to interpret for themselves.
-
- Valid values are: "Normal", "Debug", "Trace", "TraceAll".
- Defaults to "Normal".
- enum:
- - ""
- - Normal
- - Debug
- - Trace
- - TraceAll
- type: string
- unsupportedConfigOverrides:
- description: |-
- unsupportedConfigOverrides overrides the final configuration that was computed by the operator.
- Red Hat does not support the use of this field.
- Misuse of this field could lead to unexpected behavior or conflict with other configuration options.
- Seek guidance from the Red Hat support before using this field.
- Use of this property blocks cluster upgrades, it must be removed before upgrading your cluster.
- nullable: true
- type: object
- x-kubernetes-preserve-unknown-fields: true
- type: object
- status:
- description: status holds observed values from the cluster. They may not
- be overridden.
- properties:
- conditions:
- description: conditions is a list of conditions and their status
- items:
- description: OperatorCondition is just the standard condition fields.
- properties:
- lastTransitionTime:
- description: |-
- lastTransitionTime is the last time the condition transitioned from one status to another.
- This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
- format: date-time
- type: string
- message:
- type: string
- reason:
- type: string
- status:
- description: status of the condition, one of True, False, Unknown.
- enum:
- - "True"
- - "False"
- - Unknown
- type: string
- type:
- description: type of condition in CamelCase or in foo.example.com/CamelCase.
- maxLength: 316
- pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
- type: string
- required:
- - lastTransitionTime
- - status
- - type
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
- generations:
- description: generations are used to determine when an item needs
- to be reconciled or has changed in a way that needs a reaction.
- items:
- description: GenerationStatus keeps track of the generation for
- a given resource so that decisions about forced updates can be
- made.
- properties:
- group:
- description: group is the group of the thing you're tracking
- type: string
- hash:
- description: hash is an optional field set for resources without
- generation that are content sensitive like secrets and configmaps
- type: string
- lastGeneration:
- description: lastGeneration is the last generation of the workload
- controller involved
- format: int64
- type: integer
- name:
- description: name is the name of the thing you're tracking
- type: string
- namespace:
- description: namespace is where the thing you're tracking is
- type: string
- resource:
- description: resource is the resource type of the thing you're
- tracking
- type: string
- required:
- - group
- - name
- - namespace
- - resource
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - group
- - resource
- - namespace
- - name
- x-kubernetes-list-type: map
- latestAvailableRevision:
- description: latestAvailableRevision is the deploymentID of the most
- recent deployment
- format: int32
- type: integer
- x-kubernetes-validations:
- - message: must only increase
- rule: self >= oldSelf
- observedGeneration:
- description: observedGeneration is the last generation change you've
- dealt with
- format: int64
- type: integer
- readyReplicas:
- description: readyReplicas indicates how many replicas are ready and
- at the desired state
- format: int32
- type: integer
- version:
- description: version is the level this availability applies to
- type: string
- type: object
- required:
- - spec
- type: object
- x-kubernetes-validations:
- - message: olm is a singleton, .metadata.name must be 'cluster'
- rule: self.metadata.name == 'cluster'
- served: true
- storage: true
- subresources:
- status: {}
diff --git a/operator/v1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms-TechPreviewNoUpgrade.crd.yaml b/operator/v1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms-TechPreviewNoUpgrade.crd.yaml
deleted file mode 100644
index cb522290e71..00000000000
--- a/operator/v1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms-TechPreviewNoUpgrade.crd.yaml
+++ /dev/null
@@ -1,216 +0,0 @@
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
- annotations:
- api-approved.openshift.io: https://github.com/openshift/api/pull/1504
- api.openshift.io/merged-by-featuregates: "true"
- capability.openshift.io/name: OperatorLifecycleManagerV1
- include.release.openshift.io/ibm-cloud-managed: "true"
- include.release.openshift.io/self-managed-high-availability: "true"
- release.openshift.io/feature-set: TechPreviewNoUpgrade
- name: olms.operator.openshift.io
-spec:
- group: operator.openshift.io
- names:
- kind: OLM
- listKind: OLMList
- plural: olms
- singular: olm
- scope: Cluster
- versions:
- - name: v1
- schema:
- openAPIV3Schema:
- description: |-
- OLM provides information to configure an operator to manage the OLM controllers
-
- Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).
- properties:
- apiVersion:
- description: |-
- APIVersion defines the versioned schema of this representation of an object.
- Servers should convert recognized schemas to the latest internal value, and
- may reject unrecognized values.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- type: string
- kind:
- description: |-
- Kind is a string value representing the REST resource this object represents.
- Servers may infer this from the endpoint the client submits requests to.
- Cannot be updated.
- In CamelCase.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- type: string
- metadata:
- type: object
- spec:
- description: spec holds user settable values for configuration
- properties:
- logLevel:
- default: Normal
- description: |-
- logLevel is an intent based logging for an overall component. It does not give fine grained control, but it is a
- simple way to manage coarse grained logging choices that operators have to interpret for their operands.
-
- Valid values are: "Normal", "Debug", "Trace", "TraceAll".
- Defaults to "Normal".
- enum:
- - ""
- - Normal
- - Debug
- - Trace
- - TraceAll
- type: string
- managementState:
- description: managementState indicates whether and how the operator
- should manage the component
- pattern: ^(Managed|Unmanaged|Force|Removed)$
- type: string
- observedConfig:
- description: |-
- observedConfig holds a sparse config that controller has observed from the cluster state. It exists in spec because
- it is an input to the level for the operator
- nullable: true
- type: object
- x-kubernetes-preserve-unknown-fields: true
- operatorLogLevel:
- default: Normal
- description: |-
- operatorLogLevel is an intent based logging for the operator itself. It does not give fine grained control, but it is a
- simple way to manage coarse grained logging choices that operators have to interpret for themselves.
-
- Valid values are: "Normal", "Debug", "Trace", "TraceAll".
- Defaults to "Normal".
- enum:
- - ""
- - Normal
- - Debug
- - Trace
- - TraceAll
- type: string
- unsupportedConfigOverrides:
- description: |-
- unsupportedConfigOverrides overrides the final configuration that was computed by the operator.
- Red Hat does not support the use of this field.
- Misuse of this field could lead to unexpected behavior or conflict with other configuration options.
- Seek guidance from the Red Hat support before using this field.
- Use of this property blocks cluster upgrades, it must be removed before upgrading your cluster.
- nullable: true
- type: object
- x-kubernetes-preserve-unknown-fields: true
- type: object
- status:
- description: status holds observed values from the cluster. They may not
- be overridden.
- properties:
- conditions:
- description: conditions is a list of conditions and their status
- items:
- description: OperatorCondition is just the standard condition fields.
- properties:
- lastTransitionTime:
- description: |-
- lastTransitionTime is the last time the condition transitioned from one status to another.
- This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
- format: date-time
- type: string
- message:
- type: string
- reason:
- type: string
- status:
- description: status of the condition, one of True, False, Unknown.
- enum:
- - "True"
- - "False"
- - Unknown
- type: string
- type:
- description: type of condition in CamelCase or in foo.example.com/CamelCase.
- maxLength: 316
- pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
- type: string
- required:
- - lastTransitionTime
- - status
- - type
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
- generations:
- description: generations are used to determine when an item needs
- to be reconciled or has changed in a way that needs a reaction.
- items:
- description: GenerationStatus keeps track of the generation for
- a given resource so that decisions about forced updates can be
- made.
- properties:
- group:
- description: group is the group of the thing you're tracking
- type: string
- hash:
- description: hash is an optional field set for resources without
- generation that are content sensitive like secrets and configmaps
- type: string
- lastGeneration:
- description: lastGeneration is the last generation of the workload
- controller involved
- format: int64
- type: integer
- name:
- description: name is the name of the thing you're tracking
- type: string
- namespace:
- description: namespace is where the thing you're tracking is
- type: string
- resource:
- description: resource is the resource type of the thing you're
- tracking
- type: string
- required:
- - group
- - name
- - namespace
- - resource
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - group
- - resource
- - namespace
- - name
- x-kubernetes-list-type: map
- latestAvailableRevision:
- description: latestAvailableRevision is the deploymentID of the most
- recent deployment
- format: int32
- type: integer
- x-kubernetes-validations:
- - message: must only increase
- rule: self >= oldSelf
- observedGeneration:
- description: observedGeneration is the last generation change you've
- dealt with
- format: int64
- type: integer
- readyReplicas:
- description: readyReplicas indicates how many replicas are ready and
- at the desired state
- format: int32
- type: integer
- version:
- description: version is the level this availability applies to
- type: string
- type: object
- required:
- - spec
- type: object
- x-kubernetes-validations:
- - message: olm is a singleton, .metadata.name must be 'cluster'
- rule: self.metadata.name == 'cluster'
- served: true
- storage: true
- subresources:
- status: {}
diff --git a/operator/v1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms-CustomNoUpgrade.crd.yaml b/operator/v1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms.crd.yaml
similarity index 98%
rename from operator/v1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms-CustomNoUpgrade.crd.yaml
rename to operator/v1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms.crd.yaml
index 1b6b360241c..ec93248567a 100644
--- a/operator/v1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms-CustomNoUpgrade.crd.yaml
+++ b/operator/v1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms.crd.yaml
@@ -5,9 +5,7 @@ metadata:
api-approved.openshift.io: https://github.com/openshift/api/pull/1504
api.openshift.io/merged-by-featuregates: "true"
capability.openshift.io/name: OperatorLifecycleManagerV1
- include.release.openshift.io/ibm-cloud-managed: "true"
include.release.openshift.io/self-managed-high-availability: "true"
- release.openshift.io/feature-set: CustomNoUpgrade
name: olms.operator.openshift.io
spec:
group: operator.openshift.io
diff --git a/operator/v1/zz_generated.featuregated-crd-manifests.yaml b/operator/v1/zz_generated.featuregated-crd-manifests.yaml
index 4feeafff9c7..7ab668f2df9 100644
--- a/operator/v1/zz_generated.featuregated-crd-manifests.yaml
+++ b/operator/v1/zz_generated.featuregated-crd-manifests.yaml
@@ -347,7 +347,9 @@ networks.operator.openshift.io:
Version: v1
olms.operator.openshift.io:
- Annotations: {}
+ Annotations:
+ include.release.openshift.io/ibm-cloud-managed: "false"
+ include.release.openshift.io/self-managed-high-availability: "true"
ApprovedPRNumber: https://github.com/openshift/api/pull/1504
CRDName: olms.operator.openshift.io
Capability: OperatorLifecycleManagerV1
diff --git a/operator/v1/zz_generated.featuregated-crd-manifests/olms.operator.openshift.io/NewOLM.yaml b/operator/v1/zz_generated.featuregated-crd-manifests/olms.operator.openshift.io/NewOLM.yaml
index 3dd5726d39b..cc000a85960 100644
--- a/operator/v1/zz_generated.featuregated-crd-manifests/olms.operator.openshift.io/NewOLM.yaml
+++ b/operator/v1/zz_generated.featuregated-crd-manifests/olms.operator.openshift.io/NewOLM.yaml
@@ -8,6 +8,8 @@ metadata:
api.openshift.io/filename-ordering: "01"
capability.openshift.io/name: OperatorLifecycleManagerV1
feature-gate.release.openshift.io/NewOLM: "true"
+ include.release.openshift.io/ibm-cloud-managed: "false"
+ include.release.openshift.io/self-managed-high-availability: "true"
name: olms.operator.openshift.io
spec:
group: operator.openshift.io
diff --git a/operator/v1alpha1/types_olm.go b/operator/v1alpha1/types_olm.go
index f29385b9fa1..748834ca99d 100644
--- a/operator/v1alpha1/types_olm.go
+++ b/operator/v1alpha1/types_olm.go
@@ -17,6 +17,8 @@ import (
// +kubebuilder:object:root=true
// +kubebuilder:resource:path=olms,scope=Cluster
// +kubebuilder:subresource:status
+// +kubebuilder:metadata:annotations=include.release.openshift.io/ibm-cloud-managed=false
+// +kubebuilder:metadata:annotations=include.release.openshift.io/self-managed-high-availability=true
// +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/1504
// +openshift:file-pattern=cvoRunLevel=0000_10,operatorName=operator-lifecycle-manager,operatorOrdering=01
// +openshift:enable:FeatureGate=NewOLM
diff --git a/operator/v1alpha1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms-DevPreviewNoUpgrade.crd.yaml b/operator/v1alpha1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms-DevPreviewNoUpgrade.crd.yaml
deleted file mode 100644
index 5cb724f2829..00000000000
--- a/operator/v1alpha1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms-DevPreviewNoUpgrade.crd.yaml
+++ /dev/null
@@ -1,216 +0,0 @@
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
- annotations:
- api-approved.openshift.io: https://github.com/openshift/api/pull/1504
- api.openshift.io/merged-by-featuregates: "true"
- include.release.openshift.io/ibm-cloud-managed: "true"
- include.release.openshift.io/self-managed-high-availability: "true"
- release.openshift.io/feature-set: DevPreviewNoUpgrade
- name: olms.operator.openshift.io
-spec:
- group: operator.openshift.io
- names:
- kind: OLM
- listKind: OLMList
- plural: olms
- singular: olm
- scope: Cluster
- versions:
- - name: v1alpha1
- schema:
- openAPIV3Schema:
- description: |-
- OLM provides information to configure an operator to manage the OLM controllers
-
- Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.
- properties:
- apiVersion:
- description: |-
- APIVersion defines the versioned schema of this representation of an object.
- Servers should convert recognized schemas to the latest internal value, and
- may reject unrecognized values.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- type: string
- kind:
- description: |-
- Kind is a string value representing the REST resource this object represents.
- Servers may infer this from the endpoint the client submits requests to.
- Cannot be updated.
- In CamelCase.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- type: string
- metadata:
- type: object
- spec:
- description: spec holds user settable values for configuration
- properties:
- logLevel:
- default: Normal
- description: |-
- logLevel is an intent based logging for an overall component. It does not give fine grained control, but it is a
- simple way to manage coarse grained logging choices that operators have to interpret for their operands.
-
- Valid values are: "Normal", "Debug", "Trace", "TraceAll".
- Defaults to "Normal".
- enum:
- - ""
- - Normal
- - Debug
- - Trace
- - TraceAll
- type: string
- managementState:
- description: managementState indicates whether and how the operator
- should manage the component
- pattern: ^(Managed|Unmanaged|Force|Removed)$
- type: string
- observedConfig:
- description: |-
- observedConfig holds a sparse config that controller has observed from the cluster state. It exists in spec because
- it is an input to the level for the operator
- nullable: true
- type: object
- x-kubernetes-preserve-unknown-fields: true
- operatorLogLevel:
- default: Normal
- description: |-
- operatorLogLevel is an intent based logging for the operator itself. It does not give fine grained control, but it is a
- simple way to manage coarse grained logging choices that operators have to interpret for themselves.
-
- Valid values are: "Normal", "Debug", "Trace", "TraceAll".
- Defaults to "Normal".
- enum:
- - ""
- - Normal
- - Debug
- - Trace
- - TraceAll
- type: string
- unsupportedConfigOverrides:
- description: |-
- unsupportedConfigOverrides overrides the final configuration that was computed by the operator.
- Red Hat does not support the use of this field.
- Misuse of this field could lead to unexpected behavior or conflict with other configuration options.
- Seek guidance from the Red Hat support before using this field.
- Use of this property blocks cluster upgrades, it must be removed before upgrading your cluster.
- nullable: true
- type: object
- x-kubernetes-preserve-unknown-fields: true
- type: object
- status:
- description: status holds observed values from the cluster. They may not
- be overridden.
- properties:
- conditions:
- description: conditions is a list of conditions and their status
- items:
- description: OperatorCondition is just the standard condition fields.
- properties:
- lastTransitionTime:
- description: |-
- lastTransitionTime is the last time the condition transitioned from one status to another.
- This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
- format: date-time
- type: string
- message:
- type: string
- reason:
- type: string
- status:
- description: status of the condition, one of True, False, Unknown.
- enum:
- - "True"
- - "False"
- - Unknown
- type: string
- type:
- description: type of condition in CamelCase or in foo.example.com/CamelCase.
- maxLength: 316
- pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
- type: string
- required:
- - lastTransitionTime
- - status
- - type
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
- generations:
- description: generations are used to determine when an item needs
- to be reconciled or has changed in a way that needs a reaction.
- items:
- description: GenerationStatus keeps track of the generation for
- a given resource so that decisions about forced updates can be
- made.
- properties:
- group:
- description: group is the group of the thing you're tracking
- type: string
- hash:
- description: hash is an optional field set for resources without
- generation that are content sensitive like secrets and configmaps
- type: string
- lastGeneration:
- description: lastGeneration is the last generation of the workload
- controller involved
- format: int64
- type: integer
- name:
- description: name is the name of the thing you're tracking
- type: string
- namespace:
- description: namespace is where the thing you're tracking is
- type: string
- resource:
- description: resource is the resource type of the thing you're
- tracking
- type: string
- required:
- - group
- - name
- - namespace
- - resource
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - group
- - resource
- - namespace
- - name
- x-kubernetes-list-type: map
- latestAvailableRevision:
- description: latestAvailableRevision is the deploymentID of the most
- recent deployment
- format: int32
- type: integer
- x-kubernetes-validations:
- - message: must only increase
- rule: self >= oldSelf
- observedGeneration:
- description: observedGeneration is the last generation change you've
- dealt with
- format: int64
- type: integer
- readyReplicas:
- description: readyReplicas indicates how many replicas are ready and
- at the desired state
- format: int32
- type: integer
- version:
- description: version is the level this availability applies to
- type: string
- type: object
- required:
- - metadata
- - spec
- type: object
- x-kubernetes-validations:
- - message: olm is a singleton, .metadata.name must be 'cluster'
- rule: self.metadata.name == 'cluster'
- served: true
- storage: true
- subresources:
- status: {}
diff --git a/operator/v1alpha1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms-TechPreviewNoUpgrade.crd.yaml b/operator/v1alpha1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms-TechPreviewNoUpgrade.crd.yaml
deleted file mode 100644
index 3961906274a..00000000000
--- a/operator/v1alpha1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms-TechPreviewNoUpgrade.crd.yaml
+++ /dev/null
@@ -1,216 +0,0 @@
-apiVersion: apiextensions.k8s.io/v1
-kind: CustomResourceDefinition
-metadata:
- annotations:
- api-approved.openshift.io: https://github.com/openshift/api/pull/1504
- api.openshift.io/merged-by-featuregates: "true"
- include.release.openshift.io/ibm-cloud-managed: "true"
- include.release.openshift.io/self-managed-high-availability: "true"
- release.openshift.io/feature-set: TechPreviewNoUpgrade
- name: olms.operator.openshift.io
-spec:
- group: operator.openshift.io
- names:
- kind: OLM
- listKind: OLMList
- plural: olms
- singular: olm
- scope: Cluster
- versions:
- - name: v1alpha1
- schema:
- openAPIV3Schema:
- description: |-
- OLM provides information to configure an operator to manage the OLM controllers
-
- Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.
- properties:
- apiVersion:
- description: |-
- APIVersion defines the versioned schema of this representation of an object.
- Servers should convert recognized schemas to the latest internal value, and
- may reject unrecognized values.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- type: string
- kind:
- description: |-
- Kind is a string value representing the REST resource this object represents.
- Servers may infer this from the endpoint the client submits requests to.
- Cannot be updated.
- In CamelCase.
- More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- type: string
- metadata:
- type: object
- spec:
- description: spec holds user settable values for configuration
- properties:
- logLevel:
- default: Normal
- description: |-
- logLevel is an intent based logging for an overall component. It does not give fine grained control, but it is a
- simple way to manage coarse grained logging choices that operators have to interpret for their operands.
-
- Valid values are: "Normal", "Debug", "Trace", "TraceAll".
- Defaults to "Normal".
- enum:
- - ""
- - Normal
- - Debug
- - Trace
- - TraceAll
- type: string
- managementState:
- description: managementState indicates whether and how the operator
- should manage the component
- pattern: ^(Managed|Unmanaged|Force|Removed)$
- type: string
- observedConfig:
- description: |-
- observedConfig holds a sparse config that controller has observed from the cluster state. It exists in spec because
- it is an input to the level for the operator
- nullable: true
- type: object
- x-kubernetes-preserve-unknown-fields: true
- operatorLogLevel:
- default: Normal
- description: |-
- operatorLogLevel is an intent based logging for the operator itself. It does not give fine grained control, but it is a
- simple way to manage coarse grained logging choices that operators have to interpret for themselves.
-
- Valid values are: "Normal", "Debug", "Trace", "TraceAll".
- Defaults to "Normal".
- enum:
- - ""
- - Normal
- - Debug
- - Trace
- - TraceAll
- type: string
- unsupportedConfigOverrides:
- description: |-
- unsupportedConfigOverrides overrides the final configuration that was computed by the operator.
- Red Hat does not support the use of this field.
- Misuse of this field could lead to unexpected behavior or conflict with other configuration options.
- Seek guidance from the Red Hat support before using this field.
- Use of this property blocks cluster upgrades, it must be removed before upgrading your cluster.
- nullable: true
- type: object
- x-kubernetes-preserve-unknown-fields: true
- type: object
- status:
- description: status holds observed values from the cluster. They may not
- be overridden.
- properties:
- conditions:
- description: conditions is a list of conditions and their status
- items:
- description: OperatorCondition is just the standard condition fields.
- properties:
- lastTransitionTime:
- description: |-
- lastTransitionTime is the last time the condition transitioned from one status to another.
- This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
- format: date-time
- type: string
- message:
- type: string
- reason:
- type: string
- status:
- description: status of the condition, one of True, False, Unknown.
- enum:
- - "True"
- - "False"
- - Unknown
- type: string
- type:
- description: type of condition in CamelCase or in foo.example.com/CamelCase.
- maxLength: 316
- pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
- type: string
- required:
- - lastTransitionTime
- - status
- - type
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - type
- x-kubernetes-list-type: map
- generations:
- description: generations are used to determine when an item needs
- to be reconciled or has changed in a way that needs a reaction.
- items:
- description: GenerationStatus keeps track of the generation for
- a given resource so that decisions about forced updates can be
- made.
- properties:
- group:
- description: group is the group of the thing you're tracking
- type: string
- hash:
- description: hash is an optional field set for resources without
- generation that are content sensitive like secrets and configmaps
- type: string
- lastGeneration:
- description: lastGeneration is the last generation of the workload
- controller involved
- format: int64
- type: integer
- name:
- description: name is the name of the thing you're tracking
- type: string
- namespace:
- description: namespace is where the thing you're tracking is
- type: string
- resource:
- description: resource is the resource type of the thing you're
- tracking
- type: string
- required:
- - group
- - name
- - namespace
- - resource
- type: object
- type: array
- x-kubernetes-list-map-keys:
- - group
- - resource
- - namespace
- - name
- x-kubernetes-list-type: map
- latestAvailableRevision:
- description: latestAvailableRevision is the deploymentID of the most
- recent deployment
- format: int32
- type: integer
- x-kubernetes-validations:
- - message: must only increase
- rule: self >= oldSelf
- observedGeneration:
- description: observedGeneration is the last generation change you've
- dealt with
- format: int64
- type: integer
- readyReplicas:
- description: readyReplicas indicates how many replicas are ready and
- at the desired state
- format: int32
- type: integer
- version:
- description: version is the level this availability applies to
- type: string
- type: object
- required:
- - metadata
- - spec
- type: object
- x-kubernetes-validations:
- - message: olm is a singleton, .metadata.name must be 'cluster'
- rule: self.metadata.name == 'cluster'
- served: true
- storage: true
- subresources:
- status: {}
diff --git a/operator/v1alpha1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms-CustomNoUpgrade.crd.yaml b/operator/v1alpha1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms.crd.yaml
similarity index 98%
rename from operator/v1alpha1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms-CustomNoUpgrade.crd.yaml
rename to operator/v1alpha1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms.crd.yaml
index 3dc0e298c11..3d7242f13c4 100644
--- a/operator/v1alpha1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms-CustomNoUpgrade.crd.yaml
+++ b/operator/v1alpha1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms.crd.yaml
@@ -4,9 +4,7 @@ metadata:
annotations:
api-approved.openshift.io: https://github.com/openshift/api/pull/1504
api.openshift.io/merged-by-featuregates: "true"
- include.release.openshift.io/ibm-cloud-managed: "true"
include.release.openshift.io/self-managed-high-availability: "true"
- release.openshift.io/feature-set: CustomNoUpgrade
name: olms.operator.openshift.io
spec:
group: operator.openshift.io
diff --git a/operator/v1alpha1/zz_generated.featuregated-crd-manifests.yaml b/operator/v1alpha1/zz_generated.featuregated-crd-manifests.yaml
index 30c058236da..53d8ff23c32 100644
--- a/operator/v1alpha1/zz_generated.featuregated-crd-manifests.yaml
+++ b/operator/v1alpha1/zz_generated.featuregated-crd-manifests.yaml
@@ -44,7 +44,9 @@ imagecontentsourcepolicies.operator.openshift.io:
Version: v1alpha1
olms.operator.openshift.io:
- Annotations: {}
+ Annotations:
+ include.release.openshift.io/ibm-cloud-managed: "false"
+ include.release.openshift.io/self-managed-high-availability: "true"
ApprovedPRNumber: https://github.com/openshift/api/pull/1504
CRDName: olms.operator.openshift.io
Capability: ""
diff --git a/operator/v1alpha1/zz_generated.featuregated-crd-manifests/olms.operator.openshift.io/NewOLM.yaml b/operator/v1alpha1/zz_generated.featuregated-crd-manifests/olms.operator.openshift.io/NewOLM.yaml
index b6c1d140890..0df3be1a71b 100644
--- a/operator/v1alpha1/zz_generated.featuregated-crd-manifests/olms.operator.openshift.io/NewOLM.yaml
+++ b/operator/v1alpha1/zz_generated.featuregated-crd-manifests/olms.operator.openshift.io/NewOLM.yaml
@@ -7,6 +7,8 @@ metadata:
api.openshift.io/filename-operator: operator-lifecycle-manager
api.openshift.io/filename-ordering: "01"
feature-gate.release.openshift.io/NewOLM: "true"
+ include.release.openshift.io/ibm-cloud-managed: "false"
+ include.release.openshift.io/self-managed-high-availability: "true"
name: olms.operator.openshift.io
spec:
group: operator.openshift.io
diff --git a/payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml b/payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml
index dfa54a82b8d..94903260778 100644
--- a/payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml
+++ b/payload-manifests/featuregates/featureGate-Hypershift-DevPreviewNoUpgrade.yaml
@@ -32,6 +32,9 @@
},
{
"name": "MultiArchInstallAzure"
+ },
+ {
+ "name": "NewOLM"
}
],
"enabled": [
@@ -173,9 +176,6 @@
{
"name": "NetworkSegmentation"
},
- {
- "name": "NewOLM"
- },
{
"name": "NodeDisruptionPolicy"
},
diff --git a/payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml b/payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml
index 445f1cd1476..b153d90864c 100644
--- a/payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml
+++ b/payload-manifests/featuregates/featureGate-Hypershift-TechPreviewNoUpgrade.yaml
@@ -35,6 +35,9 @@
},
{
"name": "MultiArchInstallAzure"
+ },
+ {
+ "name": "NewOLM"
}
],
"enabled": [
@@ -173,9 +176,6 @@
{
"name": "NetworkSegmentation"
},
- {
- "name": "NewOLM"
- },
{
"name": "NodeDisruptionPolicy"
},
diff --git a/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml b/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml
index acf318aacb4..dd7411bfa00 100644
--- a/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml
+++ b/payload-manifests/featuregates/featureGate-SelfManagedHA-Default.yaml
@@ -112,9 +112,6 @@
{
"name": "NetworkSegmentation"
},
- {
- "name": "NewOLM"
- },
{
"name": "NodeSwap"
},
@@ -234,6 +231,9 @@
{
"name": "NetworkLiveMigration"
},
+ {
+ "name": "NewOLM"
+ },
{
"name": "NodeDisruptionPolicy"
},