diff --git a/.github/workflows/regenerate-operator-bundles.yml b/.github/workflows/regenerate-operator-bundles.yml index a60844418..ce18672ac 100644 --- a/.github/workflows/regenerate-operator-bundles.yml +++ b/.github/workflows/regenerate-operator-bundles.yml @@ -35,14 +35,12 @@ jobs: # Runs a set of commands using the runners shell - name: Lint Operator Bundles - continue-on-error: true id: lint_bundle run: | make lint-operator-bundles # Runs a set of commands using the runners shell - name: Regenerate Operator Bundles - continue-on-error: true id: generate_bundle run: | make regenerate-operator-bundles diff --git a/hack/bundle-automation/config.yaml b/hack/bundle-automation/config.yaml index f4f22a7c3..65aa7efcf 100644 --- a/hack/bundle-automation/config.yaml +++ b/hack/bundle-automation/config.yaml @@ -1,7 +1,7 @@ - repo_name: generate-hive-bundle gen_command: ./hack/bundle-automation/gen-hive-bundle.sh - branch: mce-2.5 - sha: f91ea54e9e889ed7f9ca90e415066edc328202b8 + branch: mce-2.6 + sha: e11a23b88b31c989402ff0a79de21572bacd72e5 bundlePath: /tmp/hive-operator-manifests name: hive-operator imageMappings: @@ -9,7 +9,7 @@ - repo_name: image-based-install-operator github_ref: "https://github.com/openshift/image-based-install-operator.git" - branch: "main" + branch: "backplane-2.6" operators: - name: image-based-install-operator bundlePath: "bundle/manifests/" @@ -37,7 +37,7 @@ branch: "backplane-2.6" operators: - name: cluster-manager - bundlePath: "deploy/cluster-manager/olm-catalog/cluster-manager/manifests/" + bundlePath: "deploy/cluster-manager/olm-catalog/latest/manifests/" imageMappings: registration-operator: registration_operator exclusions: diff --git a/pkg/templates/crds/cluster-manager/operator.open-cluster-management.io_clustermanagers.yaml b/pkg/templates/crds/cluster-manager/operator.open-cluster-management.io_clustermanagers.yaml index 12dd60949..50c9c87b4 100644 --- a/pkg/templates/crds/cluster-manager/operator.open-cluster-management.io_clustermanagers.yaml +++ b/pkg/templates/crds/cluster-manager/operator.open-cluster-management.io_clustermanagers.yaml @@ -323,6 +323,8 @@ spec: type: string type: object workConfiguration: + default: + workDriver: kube description: WorkConfiguration contains the configuration of work properties: featureGates: @@ -356,6 +358,22 @@ spec: - feature type: object type: array + workDriver: + default: kube + description: "WorkDriver represents the type of work driver. Possible + values are \"kube\", \"mqtt\", or \"grpc\". If not provided, + the default value is \"kube\". If set to non-\"kube\" drivers, + the klusterlet need to use the same driver. and the driver configuration + must be provided in a secret named \"work-driver-config\" in + the namespace where the cluster manager is running, adhering + to the following structure: config.yaml: | + \n For detailed driver configuration, please refer to the sdk-go + documentation: https://github.com/open-cluster-management-io/sdk-go/blob/main/pkg/cloudevents/README.md#supported-protocols-and-drivers" + enum: + - kube + - mqtt + - grpc + type: string type: object workImagePullSpec: default: quay.io/open-cluster-management/work diff --git a/pkg/templates/crds/hive-operator/hive.openshift.io_clusterdeployments.yaml b/pkg/templates/crds/hive-operator/hive.openshift.io_clusterdeployments.yaml index 86515c22d..4179a5aa4 100644 --- a/pkg/templates/crds/hive-operator/hive.openshift.io_clusterdeployments.yaml +++ b/pkg/templates/crds/hive-operator/hive.openshift.io_clusterdeployments.yaml @@ -66,7 +66,7 @@ spec: belong. type: string boundServiceAccountSigningKeySecretRef: - description: BoundServiceAccountSignkingKeySecretRef refers to a Secret + description: BoundServiceAccountSigningKeySecretRef refers to a Secret that contains a 'bound-service-account-signing-key.key' data key pointing to the private key that will be used to sign ServiceAccount objects. Primarily used to provision AWS clusters to use Amazon's @@ -509,28 +509,6 @@ spec: required: - agentSelector type: object - alibabacloud: - description: AlibabaCloud is the configuration used when installing - on Alibaba Cloud - properties: - credentialsSecretRef: - description: CredentialsSecretRef refers to a secret that - contains Alibaba Cloud account access credentials. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - type: object - x-kubernetes-map-type: atomic - region: - description: Region specifies the Alibaba Cloud region where - the cluster will be created. - type: string - required: - - credentialsSecretRef - - region - type: object aws: description: AWS is the configuration used when installing on AWS. diff --git a/pkg/templates/crds/hive-operator/hive.openshift.io_clusterdeprovisions.yaml b/pkg/templates/crds/hive-operator/hive.openshift.io_clusterdeprovisions.yaml index 8775481b0..4a58cdff9 100644 --- a/pkg/templates/crds/hive-operator/hive.openshift.io_clusterdeprovisions.yaml +++ b/pkg/templates/crds/hive-operator/hive.openshift.io_clusterdeprovisions.yaml @@ -71,32 +71,6 @@ spec: description: Platform contains platform-specific configuration for a ClusterDeprovision properties: - alibabacloud: - description: AlibabaCloud contains Alibaba Cloud specific deprovision - settings - properties: - baseDomain: - description: 'BaseDomain is the DNS base domain. TODO: Use - the non-platform-specific BaseDomain field.' - type: string - credentialsSecretRef: - description: CredentialsSecretRef is the Alibaba account credentials - to use for deprovisioning the cluster - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - type: object - x-kubernetes-map-type: atomic - region: - description: Region is the Alibaba region for this deprovision - type: string - required: - - baseDomain - - credentialsSecretRef - - region - type: object aws: description: AWS contains AWS-specific deprovision settings properties: diff --git a/pkg/templates/crds/hive-operator/hive.openshift.io_clusterpools.yaml b/pkg/templates/crds/hive-operator/hive.openshift.io_clusterpools.yaml index 5ec7694c6..8b2f16688 100644 --- a/pkg/templates/crds/hive-operator/hive.openshift.io_clusterpools.yaml +++ b/pkg/templates/crds/hive-operator/hive.openshift.io_clusterpools.yaml @@ -251,28 +251,6 @@ spec: required: - agentSelector type: object - alibabacloud: - description: AlibabaCloud is the configuration used when installing - on Alibaba Cloud - properties: - credentialsSecretRef: - description: CredentialsSecretRef refers to a secret that - contains Alibaba Cloud account access credentials. - properties: - name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - TODO: Add other useful fields. apiVersion, kind, uid?' - type: string - type: object - x-kubernetes-map-type: atomic - region: - description: Region specifies the Alibaba Cloud region where - the cluster will be created. - type: string - required: - - credentialsSecretRef - - region - type: object aws: description: AWS is the configuration used when installing on AWS. diff --git a/pkg/templates/crds/hive-operator/hive.openshift.io_hiveconfigs.yaml b/pkg/templates/crds/hive-operator/hive.openshift.io_hiveconfigs.yaml index f8ba9b8c4..e84e003ca 100644 --- a/pkg/templates/crds/hive-operator/hive.openshift.io_hiveconfigs.yaml +++ b/pkg/templates/crds/hive-operator/hive.openshift.io_hiveconfigs.yaml @@ -247,6 +247,61 @@ spec: own pods. This is ignored for all others. format: int32 type: integer + resources: + description: Resources describes the compute resource + requirements of the controller container. This is + ONLY for controllers that have been split out into + their own pods. This is ignored for all others. + properties: + claims: + description: "Claims lists the names of resources, + defined in spec.resourceClaims, that are used + by this container. \n This is an alpha field and + requires enabling the DynamicResourceAllocation + feature gate. \n This field is immutable. It can + only be set for containers." + items: + description: ResourceClaim references one entry + in PodSpec.ResourceClaims. + properties: + name: + description: Name must match the name of one + entry in pod.spec.resourceClaims of the + Pod where this field is used. It makes that + resource available inside a container. + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount + of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount + of compute resources required. If Requests is + omitted for a container, it defaults to Limits + if that is explicitly specified, otherwise to + an implementation-defined value. Requests cannot + exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object type: object name: description: Name specifies the name of the controller @@ -317,6 +372,58 @@ spec: for all others. format: int32 type: integer + resources: + description: Resources describes the compute resource requirements + of the controller container. This is ONLY for controllers + that have been split out into their own pods. This is ignored + for all others. + properties: + claims: + description: "Claims lists the names of resources, defined + in spec.resourceClaims, that are used by this container. + \n This is an alpha field and requires enabling the + DynamicResourceAllocation feature gate. \n This field + is immutable. It can only be set for containers." + items: + description: ResourceClaim references one entry in PodSpec.ResourceClaims. + properties: + name: + description: Name must match the name of one entry + in pod.spec.resourceClaims of the Pod where this + field is used. It makes that resource available + inside a container. + type: string + required: + - name + type: object + type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map + limits: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Limits describes the maximum amount of compute + resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + requests: + additionalProperties: + anyOf: + - type: integer + - type: string + pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$ + x-kubernetes-int-or-string: true + description: 'Requests describes the minimum amount of + compute resources required. If Requests is omitted for + a container, it defaults to Limits if that is explicitly + specified, otherwise to an implementation-defined value. + Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/' + type: object + type: object type: object type: object deleteProtection: diff --git a/pkg/templates/crds/hive-operator/hive.openshift.io_machinepools.yaml b/pkg/templates/crds/hive-operator/hive.openshift.io_machinepools.yaml index aaff21fdc..f7c0a02ea 100644 --- a/pkg/templates/crds/hive-operator/hive.openshift.io_machinepools.yaml +++ b/pkg/templates/crds/hive-operator/hive.openshift.io_machinepools.yaml @@ -86,39 +86,6 @@ spec: description: Platform is configuration for machine pool specific to the platform. properties: - alibabacloud: - description: AlibabaCloud is the configuration used when installing - on Alibaba Cloud. - properties: - imageID: - description: ImageID is the Image ID that should be used to - create ECS instance. If set, the ImageID should belong to - the same region as the cluster. - type: string - instanceType: - description: InstanceType defines the ECS instance type. eg. - ecs.g6.large - type: string - systemDiskCategory: - description: SystemDiskCategory defines the category of the - system disk. - enum: - - "" - - cloud_efficiency - - cloud_essd - type: string - systemDiskSize: - description: SystemDiskSize defines the size of the system - disk in gibibytes (GiB). - minimum: 120 - type: integer - zones: - description: Zones is list of availability zones that can - be used. eg. ["cn-hangzhou-i", "cn-hangzhou-h", "cn-hangzhou-j"] - items: - type: string - type: array - type: object aws: description: AWS is the configuration used when installing on AWS. @@ -195,6 +162,14 @@ spec: description: InstanceType defines the ec2 instance type. eg. m4-large type: string + userTags: + additionalProperties: + type: string + description: UserTags contains the user defined tags to be + supplied for the ec2 instance. Note that these will be merged + with ClusterDeployment.Spec.Platform.AWS.UserTags, with + this field taking precedence when keys collide. + type: object zones: description: Zones is list of availability zones that can be used. @@ -293,6 +268,18 @@ spec: network and subnets exist in when they are not in the main ProjectID. type: string + onHostMaintenance: + description: OnHostMaintenance determines the behavior when + a maintenance event occurs that might cause the instance + to reboot. This is required to be set to "Terminate" if + you want to provision machine with attached GPUs. Otherwise, + allowed values are "Migrate" and "Terminate". If omitted, + the platform chooses a default, which is subject to change + over time, currently that default is "Migrate". + enum: + - Migrate + - Terminate + type: string osDisk: description: OSDisk defines the storage for instances. properties: diff --git a/pkg/templates/crds/hive-operator/hive.openshift.io_selectorsyncsets.yaml b/pkg/templates/crds/hive-operator/hive.openshift.io_selectorsyncsets.yaml index 452eb30ab..5359da475 100644 --- a/pkg/templates/crds/hive-operator/hive.openshift.io_selectorsyncsets.yaml +++ b/pkg/templates/crds/hive-operator/hive.openshift.io_selectorsyncsets.yaml @@ -102,6 +102,18 @@ spec: type: object type: object x-kubernetes-map-type: atomic + enableResourceTemplates: + description: 'EnableResourceTemplates, if True, causes hive to honor + golang text/templates in Resources. While the standard syntax is + supported, it won''t do you a whole lot of good as the parser does + not pass a data object (i.e. there is no "dot" for you to use). + This currently exists to expose a single function: {{ fromCDLabel + "some.label/key" }} will be substituted with the string value of + ClusterDeployment.Labels["some.label/key"]. The empty string is + interpolated if there are no labels, or if the indicated key does + not exist. Note that this only works in values (not e.g. map keys) + that are of type string.' + type: boolean patches: description: Patches is the list of patches to apply. items: diff --git a/pkg/templates/crds/hive-operator/hive.openshift.io_syncsets.yaml b/pkg/templates/crds/hive-operator/hive.openshift.io_syncsets.yaml index ef59bb7e3..faa83d0a8 100644 --- a/pkg/templates/crds/hive-operator/hive.openshift.io_syncsets.yaml +++ b/pkg/templates/crds/hive-operator/hive.openshift.io_syncsets.yaml @@ -71,6 +71,18 @@ spec: type: object x-kubernetes-map-type: atomic type: array + enableResourceTemplates: + description: 'EnableResourceTemplates, if True, causes hive to honor + golang text/templates in Resources. While the standard syntax is + supported, it won''t do you a whole lot of good as the parser does + not pass a data object (i.e. there is no "dot" for you to use). + This currently exists to expose a single function: {{ fromCDLabel + "some.label/key" }} will be substituted with the string value of + ClusterDeployment.Labels["some.label/key"]. The empty string is + interpolated if there are no labels, or if the indicated key does + not exist. Note that this only works in values (not e.g. map keys) + that are of type string.' + type: boolean patches: description: Patches is the list of patches to apply. items: