From 866c9e10438fe7a65da2a9d7ed0b27f7d03f4656 Mon Sep 17 00:00:00 2001 From: raulj-gespejo Date: Fri, 26 Apr 2024 11:42:59 -0600 Subject: [PATCH] IBM Spectrum Scale Container Native v5.2.0.0 04/26/2024 -------------------------------------------- * IBM Spectrum Scale Operator v5.2.0.0 * IBM Spectrum Scale v5.2.0.0 * IBM Spectrum Scale Container Storage Interface 2.11.0 Signed-off-by: raulj-gespejo --- config/base/apis/scale/crd/kustomization.yaml | 43 + .../{v1alpha1 => crd}/kustomizeconfig.yaml | 0 .../crd/patches/cainjection_in_daemons.yaml | 7 + .../scale/crd/patches/webhook_in_daemons.yaml | 14 + ...ale.spectrum.ibm.com_approvalrequests.yaml | 0 ...le.spectrum.ibm.com_asyncreplications.yaml | 0 .../crd/scale.spectrum.ibm.com_callhomes.yaml | 0 .../scale.spectrum.ibm.com_cloudcsidisks.yaml | 0 ...spectrum.ibm.com_clusterinterconnects.yaml | 0 .../crd/scale.spectrum.ibm.com_clusters.yaml | 36 +- ...cale.spectrum.ibm.com_compressionjobs.yaml | 0 ...le.spectrum.ibm.com_consistencygroups.yaml | 0 .../crd/scale.spectrum.ibm.com_daemons.yaml | 135 ++- .../crd/scale.spectrum.ibm.com_diskjobs.yaml | 0 .../scale.spectrum.ibm.com_dnsconfigs.yaml | 0 .../crd/scale.spectrum.ibm.com_dnss.yaml | 0 ...le.spectrum.ibm.com_encryptionconfigs.yaml | 2 + .../scale.spectrum.ibm.com_filesystems.yaml | 0 ...scale.spectrum.ibm.com_grafanabridges.yaml | 0 .../crd/scale.spectrum.ibm.com_guis.yaml | 0 .../scale.spectrum.ibm.com_localdisks.yaml | 0 .../scale.spectrum.ibm.com_pmcollectors.yaml | 0 ...scale.spectrum.ibm.com_recoverygroups.yaml | 0 ...le.spectrum.ibm.com_regionaldrexports.yaml | 0 .../scale.spectrum.ibm.com_regionaldrs.yaml | 0 ...scale.spectrum.ibm.com_remoteclusters.yaml | 43 +- ...scale.spectrum.ibm.com_restripefsjobs.yaml | 0 ...ctrum.ibm.com_stretchclusterinitnodes.yaml | 0 ...cale.spectrum.ibm.com_stretchclusters.yaml | 2 +- ...rum.ibm.com_stretchclustertiebreakers.yaml | 0 ...ale.spectrum.ibm.com_upgradeapprovals.yaml | 0 .../crd/scale.spectrum.ibm.com_volumes.yaml | 74 ++ config/base/apis/scale/kustomization.yaml | 3 +- ...cale.spectrum.ibm.com_networkpolicies.yaml | 116 -- .../apis/scale/v1alpha1/kustomization.yaml | 23 - .../apis/scale/v1beta1/kustomization.yaml | 30 - .../apis/scale/v1beta1/kustomizeconfig.yaml | 28 - ...le_v1beta1_callhome.yaml => callhome.yaml} | 0 .../components/callhome/kustomization.yaml | 2 +- ...cale_v1beta1_cluster.yaml => cluster.yaml} | 6 +- .../components/cluster/kustomization.yaml | 2 +- ...ptionconfig.yaml => encryptionconfig.yaml} | 0 .../encryptionconfig/base/kustomization.yaml | 2 +- ...tem_remote.yaml => filesystem_remote.yaml} | 0 .../filesystem/remote/kustomization.yaml | 2 +- .../snc.local/filesystem_local.yaml | 21 + .../filesystem/snc.local/kustomization.yaml | 5 + .../components/localdisk/kustomization.yaml | 5 + .../components/localdisk/localdisks.yaml | 47 + .../remotecluster/kustomization.yaml | 2 +- ..._remotecluster.yaml => remotecluster.yaml} | 10 +- .../filesystem/snc.local/kustomization.yaml | 11 + .../overlays/localdisk/kustomization.yaml | 11 + config/coredns/rbac/cluster_role.yaml | 35 - config/coredns/rbac/cluster_role_binding.yaml | 12 - config/coredns/rbac/kustomization.yaml | 5 - config/coredns/rbac/kustomizeconfig.yaml | 7 - config/csi/kustomization.yaml | 2 +- .../ppc64le/kustomization.yaml | 0 .../s390x/kustomization.yaml | 0 .../x86_64/kustomization.yaml | 0 config/operator/base/rbac/role.yaml | 1 + config/operator/base/versionLabel.yaml | 2 +- config/operator/base/webhook/manifests.yaml | 20 + .../components/manager/deploy/config.yaml | 5 +- .../components/manager/deploy/manager.yaml | 3 +- .../manager/deploy/versionLabel.yaml | 2 +- .../components/webhook/dev/kustomization.yaml | 1 + .../dev/webhookconfig_service_patch.yaml | 8 +- .../manager/controller_manager_config.yaml | 36 +- .../overlays/manager/kustomization.yaml | 2 +- generated/das/install.yaml | 1066 ----------------- generated/scale/README.md | 93 +- .../{v1beta1 => cr}/callhome/callhome.yaml | 0 .../{v1beta1 => cr}/cluster/cluster.yaml | 6 +- .../encryptionconfig.remote.yaml | 0 .../scale/cr/filesystem/filesystem.local.yaml | 25 + .../filesystem/filesystem.remote.yaml | 0 generated/scale/cr/localdisk/localdisk.yaml | 71 ++ .../remotecluster/remotecluster.yaml | 7 +- .../scale/install-excluding-operator.yaml | 511 ++++---- generated/scale/install.yaml | 559 +++++---- .../mco/{ocp4.12 => ocp4.15}/mco_ppc64le.yaml | 0 .../mco/{ocp4.12 => ocp4.15}/mco_s390x.yaml | 0 .../mco/{ocp4.12 => ocp4.15}/mco_x86_64.yaml | 0 85 files changed, 1306 insertions(+), 1855 deletions(-) create mode 100644 config/base/apis/scale/crd/kustomization.yaml rename config/base/apis/scale/{v1alpha1 => crd}/kustomizeconfig.yaml (100%) create mode 100644 config/base/apis/scale/crd/patches/cainjection_in_daemons.yaml create mode 100644 config/base/apis/scale/crd/patches/webhook_in_daemons.yaml rename config/base/apis/scale/{v1alpha1 => }/crd/scale.spectrum.ibm.com_approvalrequests.yaml (100%) rename config/base/apis/scale/{v1alpha1 => }/crd/scale.spectrum.ibm.com_asyncreplications.yaml (100%) rename config/base/apis/scale/{v1beta1 => }/crd/scale.spectrum.ibm.com_callhomes.yaml (100%) rename config/base/apis/scale/{v1beta1 => }/crd/scale.spectrum.ibm.com_cloudcsidisks.yaml (100%) rename config/base/apis/scale/{v1alpha1 => }/crd/scale.spectrum.ibm.com_clusterinterconnects.yaml (100%) rename config/base/apis/scale/{v1beta1 => }/crd/scale.spectrum.ibm.com_clusters.yaml (96%) rename config/base/apis/scale/{v1alpha1 => }/crd/scale.spectrum.ibm.com_compressionjobs.yaml (100%) rename config/base/apis/scale/{v1alpha1 => }/crd/scale.spectrum.ibm.com_consistencygroups.yaml (100%) rename config/base/apis/scale/{v1beta1 => }/crd/scale.spectrum.ibm.com_daemons.yaml (85%) rename config/base/apis/scale/{v1alpha1 => }/crd/scale.spectrum.ibm.com_diskjobs.yaml (100%) rename config/base/apis/scale/{v1alpha1 => }/crd/scale.spectrum.ibm.com_dnsconfigs.yaml (100%) rename config/base/apis/scale/{v1alpha1 => }/crd/scale.spectrum.ibm.com_dnss.yaml (100%) rename config/base/apis/scale/{v1beta1 => }/crd/scale.spectrum.ibm.com_encryptionconfigs.yaml (99%) rename config/base/apis/scale/{v1beta1 => }/crd/scale.spectrum.ibm.com_filesystems.yaml (100%) rename config/base/apis/scale/{v1beta1 => }/crd/scale.spectrum.ibm.com_grafanabridges.yaml (100%) rename config/base/apis/scale/{v1beta1 => }/crd/scale.spectrum.ibm.com_guis.yaml (100%) rename config/base/apis/scale/{v1beta1 => }/crd/scale.spectrum.ibm.com_localdisks.yaml (100%) rename config/base/apis/scale/{v1beta1 => }/crd/scale.spectrum.ibm.com_pmcollectors.yaml (100%) rename config/base/apis/scale/{v1beta1 => }/crd/scale.spectrum.ibm.com_recoverygroups.yaml (100%) rename config/base/apis/scale/{v1alpha1 => }/crd/scale.spectrum.ibm.com_regionaldrexports.yaml (100%) rename config/base/apis/scale/{v1beta1 => }/crd/scale.spectrum.ibm.com_regionaldrs.yaml (100%) rename config/base/apis/scale/{v1beta1 => }/crd/scale.spectrum.ibm.com_remoteclusters.yaml (80%) rename config/base/apis/scale/{v1alpha1 => }/crd/scale.spectrum.ibm.com_restripefsjobs.yaml (100%) rename config/base/apis/scale/{v1alpha1 => }/crd/scale.spectrum.ibm.com_stretchclusterinitnodes.yaml (100%) rename config/base/apis/scale/{v1alpha1 => }/crd/scale.spectrum.ibm.com_stretchclusters.yaml (99%) rename config/base/apis/scale/{v1alpha1 => }/crd/scale.spectrum.ibm.com_stretchclustertiebreakers.yaml (100%) rename config/base/apis/scale/{v1alpha1 => }/crd/scale.spectrum.ibm.com_upgradeapprovals.yaml (100%) create mode 100644 config/base/apis/scale/crd/scale.spectrum.ibm.com_volumes.yaml delete mode 100644 config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_networkpolicies.yaml delete mode 100644 config/base/apis/scale/v1alpha1/kustomization.yaml delete mode 100644 config/base/apis/scale/v1beta1/kustomization.yaml delete mode 100644 config/base/apis/scale/v1beta1/kustomizeconfig.yaml rename config/cluster/components/callhome/{scale_v1beta1_callhome.yaml => callhome.yaml} (100%) rename config/cluster/components/cluster/{scale_v1beta1_cluster.yaml => cluster.yaml} (95%) rename config/cluster/components/encryptionconfig/base/{scale_v1beta1_encryptionconfig.yaml => encryptionconfig.yaml} (100%) rename config/cluster/components/filesystem/remote/{scale_v1beta1_filesystem_remote.yaml => filesystem_remote.yaml} (100%) create mode 100644 config/cluster/components/filesystem/snc.local/filesystem_local.yaml create mode 100644 config/cluster/components/filesystem/snc.local/kustomization.yaml create mode 100644 config/cluster/components/localdisk/kustomization.yaml create mode 100644 config/cluster/components/localdisk/localdisks.yaml rename config/cluster/components/remotecluster/{scale_v1beta1_remotecluster.yaml => remotecluster.yaml} (73%) create mode 100644 config/cluster/overlays/filesystem/snc.local/kustomization.yaml create mode 100644 config/cluster/overlays/localdisk/kustomization.yaml delete mode 100644 config/coredns/rbac/cluster_role.yaml delete mode 100644 config/coredns/rbac/cluster_role_binding.yaml delete mode 100644 config/coredns/rbac/kustomizeconfig.yaml rename config/machineconfig/{ocp4.12 => ocp4.15}/ppc64le/kustomization.yaml (100%) rename config/machineconfig/{ocp4.12 => ocp4.15}/s390x/kustomization.yaml (100%) rename config/machineconfig/{ocp4.12 => ocp4.15}/x86_64/kustomization.yaml (100%) delete mode 100644 generated/das/install.yaml rename generated/scale/{v1beta1 => cr}/callhome/callhome.yaml (100%) rename generated/scale/{v1beta1 => cr}/cluster/cluster.yaml (95%) rename generated/scale/{v1beta1 => cr}/encryptionconfig/encryptionconfig.remote.yaml (100%) create mode 100644 generated/scale/cr/filesystem/filesystem.local.yaml rename generated/scale/{v1beta1 => cr}/filesystem/filesystem.remote.yaml (100%) create mode 100644 generated/scale/cr/localdisk/localdisk.yaml rename generated/scale/{v1beta1 => cr}/remotecluster/remotecluster.yaml (80%) rename generated/scale/mco/{ocp4.12 => ocp4.15}/mco_ppc64le.yaml (100%) rename generated/scale/mco/{ocp4.12 => ocp4.15}/mco_s390x.yaml (100%) rename generated/scale/mco/{ocp4.12 => ocp4.15}/mco_x86_64.yaml (100%) diff --git a/config/base/apis/scale/crd/kustomization.yaml b/config/base/apis/scale/crd/kustomization.yaml new file mode 100644 index 0000000..9b05003 --- /dev/null +++ b/config/base/apis/scale/crd/kustomization.yaml @@ -0,0 +1,43 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +# Uncomment to enable conversion webhook +#patches: +# - patches/webhook_in_daemons.yaml +# +kubebuilder:scaffold:crdkustomizewebhookpatch + +# Uncomment to enable certmanager injection for conversion webhook +#- patches/cainjection_in_daemons.yaml +# +kubebuilder:scaffold:crdkustomizecainjectionpatch + +configurations: +- kustomizeconfig.yaml +resources: +- scale.spectrum.ibm.com_approvalrequests.yaml +- scale.spectrum.ibm.com_asyncreplications.yaml +- scale.spectrum.ibm.com_callhomes.yaml +- scale.spectrum.ibm.com_cloudcsidisks.yaml +- scale.spectrum.ibm.com_clusterinterconnects.yaml +- scale.spectrum.ibm.com_clusters.yaml +- scale.spectrum.ibm.com_compressionjobs.yaml +- scale.spectrum.ibm.com_consistencygroups.yaml +- scale.spectrum.ibm.com_daemons.yaml +- scale.spectrum.ibm.com_diskjobs.yaml +- scale.spectrum.ibm.com_dnsconfigs.yaml +- scale.spectrum.ibm.com_dnss.yaml +- scale.spectrum.ibm.com_encryptionconfigs.yaml +- scale.spectrum.ibm.com_filesystems.yaml +- scale.spectrum.ibm.com_grafanabridges.yaml +- scale.spectrum.ibm.com_guis.yaml +- scale.spectrum.ibm.com_localdisks.yaml +- scale.spectrum.ibm.com_pmcollectors.yaml +- scale.spectrum.ibm.com_recoverygroups.yaml +- scale.spectrum.ibm.com_regionaldrexports.yaml +- scale.spectrum.ibm.com_regionaldrs.yaml +- scale.spectrum.ibm.com_remoteclusters.yaml +- scale.spectrum.ibm.com_restripefsjobs.yaml +- scale.spectrum.ibm.com_stretchclusterinitnodes.yaml +- scale.spectrum.ibm.com_stretchclusters.yaml +- scale.spectrum.ibm.com_stretchclustertiebreakers.yaml +- scale.spectrum.ibm.com_upgradeapprovals.yaml +- scale.spectrum.ibm.com_volumes.yaml diff --git a/config/base/apis/scale/v1alpha1/kustomizeconfig.yaml b/config/base/apis/scale/crd/kustomizeconfig.yaml similarity index 100% rename from config/base/apis/scale/v1alpha1/kustomizeconfig.yaml rename to config/base/apis/scale/crd/kustomizeconfig.yaml diff --git a/config/base/apis/scale/crd/patches/cainjection_in_daemons.yaml b/config/base/apis/scale/crd/patches/cainjection_in_daemons.yaml new file mode 100644 index 0000000..83af109 --- /dev/null +++ b/config/base/apis/scale/crd/patches/cainjection_in_daemons.yaml @@ -0,0 +1,7 @@ +# The following patch adds a directive for certmanager to inject CA into the CRD +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + cert-manager.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME) + name: daemons.scale.spectrum.ibm.com diff --git a/config/base/apis/scale/crd/patches/webhook_in_daemons.yaml b/config/base/apis/scale/crd/patches/webhook_in_daemons.yaml new file mode 100644 index 0000000..10d4343 --- /dev/null +++ b/config/base/apis/scale/crd/patches/webhook_in_daemons.yaml @@ -0,0 +1,14 @@ +# The following patch enables a conversion webhook for the CRD +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + name: daemons.scale.spectrum.ibm.com +spec: + conversion: + strategy: Webhook + webhook: + clientConfig: + service: + namespace: system + name: webhook-service + path: /convert diff --git a/config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_approvalrequests.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_approvalrequests.yaml similarity index 100% rename from config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_approvalrequests.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_approvalrequests.yaml diff --git a/config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_asyncreplications.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_asyncreplications.yaml similarity index 100% rename from config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_asyncreplications.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_asyncreplications.yaml diff --git a/config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_callhomes.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_callhomes.yaml similarity index 100% rename from config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_callhomes.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_callhomes.yaml diff --git a/config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_cloudcsidisks.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_cloudcsidisks.yaml similarity index 100% rename from config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_cloudcsidisks.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_cloudcsidisks.yaml diff --git a/config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_clusterinterconnects.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_clusterinterconnects.yaml similarity index 100% rename from config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_clusterinterconnects.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_clusterinterconnects.yaml diff --git a/config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_clusters.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_clusters.yaml similarity index 96% rename from config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_clusters.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_clusters.yaml index 0229f6d..298e044 100644 --- a/config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_clusters.yaml +++ b/config/base/apis/scale/crd/scale.spectrum.ibm.com_clusters.yaml @@ -205,6 +205,23 @@ spec: type: string tscCmdPortRange: type: string + verbsPorts: + type: string + verbsRdma: + enum: + - enable + - disable + type: string + verbsRdmaCm: + enum: + - enable + - disable + type: string + verbsRdmaSend: + enum: + - "yes" + - "no" + type: string type: object hostAliases: description: hostAliases that will be added to the internal DNS @@ -387,6 +404,23 @@ spec: type: string tscCmdPortRange: type: string + verbsPorts: + type: string + verbsRdma: + enum: + - enable + - disable + type: string + verbsRdmaCm: + enum: + - enable + - disable + type: string + verbsRdmaSend: + enum: + - "yes" + - "no" + type: string type: object resources: description: The Memory/CPU resource requests that will @@ -556,7 +590,7 @@ spec: properties: accept: description: Read the license and specify "true" to accept or - "false" to not accept. https://www.ibm.com/support/customer/csol/terms/?id=L-WTYD-L6XAV7 + "false" to not accept. https://www.ibm.com/support/customer/csol/terms/?id=L-YXLU-VTKFBH BY DOWNLOADING, INSTALLING, COPYING, ACCESSING, CLICKING ON AN "ACCEPT" BUTTON, OR OTHERWISE USING THE PROGRAM, LICENSEE AGREES TO THE TERMS OF THIS AGREEMENT. IF YOU ARE ACCEPTING diff --git a/config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_compressionjobs.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_compressionjobs.yaml similarity index 100% rename from config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_compressionjobs.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_compressionjobs.yaml diff --git a/config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_consistencygroups.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_consistencygroups.yaml similarity index 100% rename from config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_consistencygroups.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_consistencygroups.yaml diff --git a/config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_daemons.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_daemons.yaml similarity index 85% rename from config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_daemons.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_daemons.yaml index b7fd9a7..3ff6fd0 100644 --- a/config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_daemons.yaml +++ b/config/base/apis/scale/crd/scale.spectrum.ibm.com_daemons.yaml @@ -41,10 +41,6 @@ spec: name: Terminating priority: 10 type: string - - jsonPath: .status.podsStatus.waitingForDelete - name: Waiting Delete - priority: 10 - type: string - jsonPath: .status.quorumPods.total name: Quorum priority: 10 @@ -240,6 +236,23 @@ spec: type: string tscCmdPortRange: type: string + verbsPorts: + type: string + verbsRdma: + enum: + - enable + - disable + type: string + verbsRdmaCm: + enum: + - enable + - disable + type: string + verbsRdmaSend: + enum: + - "yes" + - "no" + type: string type: object edition: description: It specifies the IBM Spectrum Scale edition, "data-access" @@ -440,6 +453,23 @@ spec: type: string tscCmdPortRange: type: string + verbsPorts: + type: string + verbsRdma: + enum: + - enable + - disable + type: string + verbsRdmaCm: + enum: + - enable + - disable + type: string + verbsRdmaSend: + enum: + - "yes" + - "no" + type: string type: object resources: description: The Memory/CPU resource requests that will be set @@ -599,6 +629,69 @@ spec: - type type: object type: array + cordonAndDrain: + description: Details about nodes that are cordoned and drained and + pods that are evicted by Scale operator. + properties: + nodesCordonedByOperator: + description: List of nodes that are cordoned by Scale operator. + These nodes have status SchedulingDisabled. Nodes that are cordoned + by third party like machine config operator are not listed. + type: string + nodesCordonedByOthers: + description: List of nodes that are cordoned by third party like + machine config operator. These nodes have status SchedulingDisabled. + Nodes that are cordoned by Scale operator are not listed. + type: string + nodesDraining: + description: List of nodes on which the Scale operator is currently + evicting pods + items: + properties: + node: + description: The node that is currently drained by the Scale + operator + type: string + ongoingPodEvictions: + description: The pods that the Scale operator is currently + evicting + items: + type: string + type: array + podEvictionsFailed: + description: The pods that failed to evict. The Scale operator + continues to try to evict these pods. + items: + type: string + type: array + required: + - node + - ongoingPodEvictions + - podEvictionsFailed + type: object + type: array + podEvictionRequests: + description: List of daemon core pod evictions that are requested + by third party (like machine config operator). + items: + properties: + pods: + description: Scale core pods that has been requested for + eviction. + type: string + requestor: + description: Name of requestor that requests the eviction + of the pod. + type: string + required: + - pods + - requestor + type: object + type: array + required: + - nodesCordonedByOperator + - nodesCordonedByOthers + type: object failureGroup: description: FailureGroup whose pods are upgraded next type: string @@ -708,9 +801,38 @@ spec: description: List of core pods with unknown status. Pods scheduled on unreachable nodes are listed here. type: string - podsWaitingForDelete: + podsUnsafeToDelete: + description: List of core pods that can currently not be deleted + because deleting the pods would result in an unsafe condition. + items: + properties: + deleteUnsafeReason: + description: The reason why the pods are unsafe to be deleted + type: string + pods: + description: List of core pods that are not safe to be deleted + by the Storage Scale operator + type: string + required: + - deleteUnsafeReason + - pods + type: object + type: array + podsWaitingToBeDeleted: description: List of core pods that will be deleted soon - type: string + items: + properties: + deleteReason: + description: Reason for deleting the core pods + type: string + pods: + description: List of core pods that will be deleted soon + type: string + required: + - deleteReason + - pods + type: object + type: array quorumPods: description: List of pods that act as quorum node for Spectrum Scale @@ -722,7 +844,6 @@ spec: - podsStarting - podsTerminating - podsUnknown - - podsWaitingForDelete - quorumPods type: object versions: diff --git a/config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_diskjobs.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_diskjobs.yaml similarity index 100% rename from config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_diskjobs.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_diskjobs.yaml diff --git a/config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_dnsconfigs.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_dnsconfigs.yaml similarity index 100% rename from config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_dnsconfigs.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_dnsconfigs.yaml diff --git a/config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_dnss.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_dnss.yaml similarity index 100% rename from config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_dnss.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_dnss.yaml diff --git a/config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_encryptionconfigs.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_encryptionconfigs.yaml similarity index 99% rename from config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_encryptionconfigs.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_encryptionconfigs.yaml index 9f19c7d..ad56d36 100644 --- a/config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_encryptionconfigs.yaml +++ b/config/base/apis/scale/crd/scale.spectrum.ibm.com_encryptionconfigs.yaml @@ -172,6 +172,8 @@ spec: - type type: object type: array + rkmId: + type: string type: object type: object served: true diff --git a/config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_filesystems.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_filesystems.yaml similarity index 100% rename from config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_filesystems.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_filesystems.yaml diff --git a/config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_grafanabridges.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_grafanabridges.yaml similarity index 100% rename from config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_grafanabridges.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_grafanabridges.yaml diff --git a/config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_guis.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_guis.yaml similarity index 100% rename from config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_guis.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_guis.yaml diff --git a/config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_localdisks.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_localdisks.yaml similarity index 100% rename from config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_localdisks.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_localdisks.yaml diff --git a/config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_pmcollectors.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_pmcollectors.yaml similarity index 100% rename from config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_pmcollectors.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_pmcollectors.yaml diff --git a/config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_recoverygroups.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_recoverygroups.yaml similarity index 100% rename from config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_recoverygroups.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_recoverygroups.yaml diff --git a/config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_regionaldrexports.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_regionaldrexports.yaml similarity index 100% rename from config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_regionaldrexports.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_regionaldrexports.yaml diff --git a/config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_regionaldrs.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_regionaldrs.yaml similarity index 100% rename from config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_regionaldrs.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_regionaldrs.yaml diff --git a/config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_remoteclusters.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_remoteclusters.yaml similarity index 80% rename from config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_remoteclusters.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_remoteclusters.yaml index e2597f3..da5d7ab 100644 --- a/config/base/apis/scale/v1beta1/crd/scale.spectrum.ibm.com_remoteclusters.yaml +++ b/config/base/apis/scale/crd/scale.spectrum.ibm.com_remoteclusters.yaml @@ -20,9 +20,6 @@ spec: scope: Namespaced versions: - additionalPrinterColumns: - - jsonPath: .spec.gui.host - name: Host - type: string - jsonPath: .status.conditions[?(@.type=="Ready")].status name: Ready type: string @@ -52,8 +49,10 @@ spec: contactNodes: description: This property is optional and provides a list of nodes from the storage cluster to be used as the remote cluster contact - nodes. The names should be the daemon node names. If not specified, - the operator uses any 3 nodes detected from the storage cluster. + nodes. The names must be the daemon node names. If not specified, + the operator uses all quorum nodes detected from the storage cluster. + If the contact node names are not resolvable in local cluster, configure + the 'hostAliases' with node name and IP in Cluster CR. items: type: string type: array @@ -71,14 +70,38 @@ spec: namespace. type: string host: - description: host of the remote cluster REST API endpoint. This - must be resolvable by DNS. + description: host references a REST API endpoint on the remote + cluster. This must be resolvable by DNS. This field is DEPRECATED + and will be removed in a future release. Use field 'hosts' instead. type: string + hosts: + description: hosts references one or more REST API endpoints on + the remote cluster. Up to 3 endpoints can be specified. The + hosts must be resolvable by DNS. + items: + type: string + maxItems: 3 + type: array insecureSkipVerify: description: insecureSkipVerify controls whether a client verifies the server's certificate chain and host name. If set true, TLS is susceptible to machine-in-the-middle attacks. type: boolean + passwordRotation: + description: passwordRotation allows to configure automatic password + rotation of the container operator and CSI admin GUI users. + Automatic password rotation is disabled if this section is not + specified. + properties: + passwordChangeInterval: + default: "80" + description: 'passwordChangeInterval allows the configuration + in days for the operator to change the user passwords on + the storage cluster. Specify the value surrounded by double + quotes (like passwordChangeFrequency: "30"). The default + value is 80 days.' + type: string + type: object port: default: 443 description: It specifies the port of the Remote Cluster. @@ -96,7 +119,6 @@ spec: type: string required: - csiSecretName - - host - secretName type: object required: @@ -173,6 +195,11 @@ spec: - type type: object type: array + lastPasswordChange: + description: lastPasswordChange indicates when the passwords for the + remote storage users was last changed by the operator. This field + is only present if the automatic password rotation function is enabled. + type: string localKeySHADigest: description: localKeySHADigest is the digest of the public access key that must be used by the remote cluster in order to communicate diff --git a/config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_restripefsjobs.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_restripefsjobs.yaml similarity index 100% rename from config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_restripefsjobs.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_restripefsjobs.yaml diff --git a/config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_stretchclusterinitnodes.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_stretchclusterinitnodes.yaml similarity index 100% rename from config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_stretchclusterinitnodes.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_stretchclusterinitnodes.yaml diff --git a/config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_stretchclusters.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_stretchclusters.yaml similarity index 99% rename from config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_stretchclusters.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_stretchclusters.yaml index 76023f7..b62d5ab 100644 --- a/config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_stretchclusters.yaml +++ b/config/base/apis/scale/crd/scale.spectrum.ibm.com_stretchclusters.yaml @@ -55,7 +55,7 @@ spec: name: description: Define the name of the site. maxLength: 60 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + pattern: ^[a-z0-9]([_a-z0-9]*[a-z0-9])?$ type: string required: - kubeApi diff --git a/config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_stretchclustertiebreakers.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_stretchclustertiebreakers.yaml similarity index 100% rename from config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_stretchclustertiebreakers.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_stretchclustertiebreakers.yaml diff --git a/config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_upgradeapprovals.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_upgradeapprovals.yaml similarity index 100% rename from config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_upgradeapprovals.yaml rename to config/base/apis/scale/crd/scale.spectrum.ibm.com_upgradeapprovals.yaml diff --git a/config/base/apis/scale/crd/scale.spectrum.ibm.com_volumes.yaml b/config/base/apis/scale/crd/scale.spectrum.ibm.com_volumes.yaml new file mode 100644 index 0000000..d70c54a --- /dev/null +++ b/config/base/apis/scale/crd/scale.spectrum.ibm.com_volumes.yaml @@ -0,0 +1,74 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.0 + creationTimestamp: null + name: volumes.scale.spectrum.ibm.com +spec: + group: scale.spectrum.ibm.com + names: + kind: Volume + listKind: VolumeList + plural: volumes + singular: volume + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: Volume + 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: VolumeSpec defines the desired state of Volume + properties: + accessModes: + items: + type: string + type: array + capacity: + 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: ResourceList is a set of (resource name, quantity) pairs. + type: object + consistencyGroup: + type: string + pvcName: + type: string + pvcNamespace: + type: string + reclaimPolicy: + description: PersistentVolumeReclaimPolicy describes a policy for + end-of-life maintenance of persistent volumes. + type: string + required: + - accessModes + - capacity + - consistencyGroup + - pvcName + - pvcNamespace + - reclaimPolicy + type: object + status: + description: VolumeStatus defines the observed state of Volume + type: object + type: object + served: true + storage: true diff --git a/config/base/apis/scale/kustomization.yaml b/config/base/apis/scale/kustomization.yaml index 06bd7f6..fddd97e 100644 --- a/config/base/apis/scale/kustomization.yaml +++ b/config/base/apis/scale/kustomization.yaml @@ -2,5 +2,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - v1alpha1 - - v1beta1 +- crd diff --git a/config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_networkpolicies.yaml b/config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_networkpolicies.yaml deleted file mode 100644 index 75e60cb..0000000 --- a/config/base/apis/scale/v1alpha1/crd/scale.spectrum.ibm.com_networkpolicies.yaml +++ /dev/null @@ -1,116 +0,0 @@ ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.9.0 - creationTimestamp: null - name: networkpolicies.scale.spectrum.ibm.com -spec: - group: scale.spectrum.ibm.com - names: - categories: - - scale - kind: NetworkPolicy - listKind: NetworkPolicyList - plural: networkpolicies - singular: networkpolicy - scope: Cluster - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: NetworkPolicy is the Schema for the NetworkPolicy API - 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: NetworkPolicySpec defines the desired state of NetworkPolicy - type: object - status: - description: NetworkPolicyStatus defines the observed state of NetworkPolicy - properties: - conditions: - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other 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: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - 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. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - 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 - - message - - reason - - status - - type - type: object - type: array - type: object - type: object - served: true - storage: true - subresources: - status: {} diff --git a/config/base/apis/scale/v1alpha1/kustomization.yaml b/config/base/apis/scale/v1alpha1/kustomization.yaml deleted file mode 100644 index eb51a16..0000000 --- a/config/base/apis/scale/v1alpha1/kustomization.yaml +++ /dev/null @@ -1,23 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: -- crd/scale.spectrum.ibm.com_compressionjobs.yaml -- crd/scale.spectrum.ibm.com_diskjobs.yaml -- crd/scale.spectrum.ibm.com_dnsconfigs.yaml -- crd/scale.spectrum.ibm.com_dnss.yaml -- crd/scale.spectrum.ibm.com_networkpolicies.yaml -- crd/scale.spectrum.ibm.com_restripefsjobs.yaml -- crd/scale.spectrum.ibm.com_stretchclusterinitnodes.yaml -- crd/scale.spectrum.ibm.com_stretchclusters.yaml -- crd/scale.spectrum.ibm.com_stretchclustertiebreakers.yaml -- crd/scale.spectrum.ibm.com_upgradeapprovals.yaml -- crd/scale.spectrum.ibm.com_asyncreplications.yaml -- crd/scale.spectrum.ibm.com_clusterinterconnects.yaml -- crd/scale.spectrum.ibm.com_consistencygroups.yaml -- crd/scale.spectrum.ibm.com_regionaldrexports.yaml -- crd/scale.spectrum.ibm.com_approvalrequests.yaml - # +kubebuilder:scaffold:crdkustomizeresource - -configurations: -- kustomizeconfig.yaml diff --git a/config/base/apis/scale/v1beta1/kustomization.yaml b/config/base/apis/scale/v1beta1/kustomization.yaml deleted file mode 100644 index 2868801..0000000 --- a/config/base/apis/scale/v1beta1/kustomization.yaml +++ /dev/null @@ -1,30 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization - -resources: -- crd/scale.spectrum.ibm.com_callhomes.yaml -- crd/scale.spectrum.ibm.com_cloudcsidisks.yaml -- crd/scale.spectrum.ibm.com_clusters.yaml -- crd/scale.spectrum.ibm.com_daemons.yaml -- crd/scale.spectrum.ibm.com_encryptionconfigs.yaml -- crd/scale.spectrum.ibm.com_filesystems.yaml -- crd/scale.spectrum.ibm.com_grafanabridges.yaml -- crd/scale.spectrum.ibm.com_guis.yaml -- crd/scale.spectrum.ibm.com_localdisks.yaml -- crd/scale.spectrum.ibm.com_pmcollectors.yaml -- crd/scale.spectrum.ibm.com_recoverygroups.yaml -- crd/scale.spectrum.ibm.com_remoteclusters.yaml -- crd/scale.spectrum.ibm.com_regionaldrs.yaml - # +kubebuilder:scaffold:crdkustomizeresource - -# Uncomment to enable conversion webhook -#patches: -# - patches/webhook_in_daemons.yaml -# +kubebuilder:scaffold:crdkustomizewebhookpatch - -# Uncomment to enable certmanager injection for conversion webhook -#- patches/cainjection_in_daemons.yaml -# +kubebuilder:scaffold:crdkustomizecainjectionpatch - -configurations: -- kustomizeconfig.yaml diff --git a/config/base/apis/scale/v1beta1/kustomizeconfig.yaml b/config/base/apis/scale/v1beta1/kustomizeconfig.yaml deleted file mode 100644 index 110a545..0000000 --- a/config/base/apis/scale/v1beta1/kustomizeconfig.yaml +++ /dev/null @@ -1,28 +0,0 @@ -nameReference: - - kind: Service - version: v1 - fieldSpecs: - - kind: APIService - group: apiregistration.k8s.io/v1 - path: spec/service/name - - kind: Service - version: v1 - fieldSpecs: - - kind: CustomResourceDefinition - version: v1 - group: apiextensions.k8s.io - path: spec/conversion/webhook/clientConfig/service/name - -namespace: - - kind: APIService - group: apiregistration.k8s.io/v1 - path: spec/service/namespace - create: true - - kind: CustomResourceDefinition - version: v1 - group: apiextensions.k8s.io - path: spec/conversion/webhook/clientConfig/service/namespace - create: false - -varReference: - - path: metadata/annotations diff --git a/config/cluster/components/callhome/scale_v1beta1_callhome.yaml b/config/cluster/components/callhome/callhome.yaml similarity index 100% rename from config/cluster/components/callhome/scale_v1beta1_callhome.yaml rename to config/cluster/components/callhome/callhome.yaml diff --git a/config/cluster/components/callhome/kustomization.yaml b/config/cluster/components/callhome/kustomization.yaml index 9f46e83..83b5bec 100644 --- a/config/cluster/components/callhome/kustomization.yaml +++ b/config/cluster/components/callhome/kustomization.yaml @@ -2,4 +2,4 @@ apiVersion: kustomize.config.k8s.io/v1alpha1 kind: Component resources: - - scale_v1beta1_callhome.yaml + - callhome.yaml diff --git a/config/cluster/components/cluster/scale_v1beta1_cluster.yaml b/config/cluster/components/cluster/cluster.yaml similarity index 95% rename from config/cluster/components/cluster/scale_v1beta1_cluster.yaml rename to config/cluster/components/cluster/cluster.yaml index bade739..fb1343e 100644 --- a/config/cluster/components/cluster/scale_v1beta1_cluster.yaml +++ b/config/cluster/components/cluster/cluster.yaml @@ -8,7 +8,7 @@ spec: # User must accept the Spectrum Scale license to deploy a CNSA cluster. # By specifying "accept: true" below, user agrees to the terms and conditions set # forth by the IBM Spectrum Scale Container Native Data Access/Data Management license located - # at https://www.ibm.com/support/customer/csol/terms/?id=L-WTYD-L6XAV7 + # at https://www.ibm.com/support/customer/csol/terms/?id=L-YXLU-VTKFBH # # Enter either data-access or data-management to the license.license field. Customers entitled to # the Data Management Edition can use either data-management or data-access. Customers entitled to @@ -55,6 +55,10 @@ spec: resources: cpu: "2" memory: 4Gi + - name: storage + resources: + cpu: "2" + memory: 8Gi # ------------------------------------------------------------------------------- # grafana bridge is optional # ------------------------------------------------------------------------------- diff --git a/config/cluster/components/cluster/kustomization.yaml b/config/cluster/components/cluster/kustomization.yaml index 84443ac..f46c9ad 100644 --- a/config/cluster/components/cluster/kustomization.yaml +++ b/config/cluster/components/cluster/kustomization.yaml @@ -2,4 +2,4 @@ apiVersion: kustomize.config.k8s.io/v1alpha1 kind: Component resources: - - scale_v1beta1_cluster.yaml + - cluster.yaml diff --git a/config/cluster/components/encryptionconfig/base/scale_v1beta1_encryptionconfig.yaml b/config/cluster/components/encryptionconfig/base/encryptionconfig.yaml similarity index 100% rename from config/cluster/components/encryptionconfig/base/scale_v1beta1_encryptionconfig.yaml rename to config/cluster/components/encryptionconfig/base/encryptionconfig.yaml diff --git a/config/cluster/components/encryptionconfig/base/kustomization.yaml b/config/cluster/components/encryptionconfig/base/kustomization.yaml index cb3a153..3c68ef6 100644 --- a/config/cluster/components/encryptionconfig/base/kustomization.yaml +++ b/config/cluster/components/encryptionconfig/base/kustomization.yaml @@ -2,4 +2,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - scale_v1beta1_encryptionconfig.yaml + - encryptionconfig.yaml diff --git a/config/cluster/components/filesystem/remote/scale_v1beta1_filesystem_remote.yaml b/config/cluster/components/filesystem/remote/filesystem_remote.yaml similarity index 100% rename from config/cluster/components/filesystem/remote/scale_v1beta1_filesystem_remote.yaml rename to config/cluster/components/filesystem/remote/filesystem_remote.yaml diff --git a/config/cluster/components/filesystem/remote/kustomization.yaml b/config/cluster/components/filesystem/remote/kustomization.yaml index dc62626..5cbc7dd 100644 --- a/config/cluster/components/filesystem/remote/kustomization.yaml +++ b/config/cluster/components/filesystem/remote/kustomization.yaml @@ -2,4 +2,4 @@ apiVersion: kustomize.config.k8s.io/v1alpha1 kind: Component resources: - - scale_v1beta1_filesystem_remote.yaml + - filesystem_remote.yaml diff --git a/config/cluster/components/filesystem/snc.local/filesystem_local.yaml b/config/cluster/components/filesystem/snc.local/filesystem_local.yaml new file mode 100644 index 0000000..64ab881 --- /dev/null +++ b/config/cluster/components/filesystem/snc.local/filesystem_local.yaml @@ -0,0 +1,21 @@ +apiVersion: scale.spectrum.ibm.com/v1beta1 +kind: Filesystem +metadata: + name: local-sample +spec: + local: + blockSize: 4M + pools: + - name: system + disks: + - worker0-vdb + - worker0-vdc + - worker1-vdb + - worker1-vdc + - worker2-vdb + - worker2-vdc + seLinuxOptions: + level: s0 + role: object_r + type: container_file_t + user: system_u diff --git a/config/cluster/components/filesystem/snc.local/kustomization.yaml b/config/cluster/components/filesystem/snc.local/kustomization.yaml new file mode 100644 index 0000000..d5cacf0 --- /dev/null +++ b/config/cluster/components/filesystem/snc.local/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component + +resources: + - filesystem_local.yaml diff --git a/config/cluster/components/localdisk/kustomization.yaml b/config/cluster/components/localdisk/kustomization.yaml new file mode 100644 index 0000000..ac36387 --- /dev/null +++ b/config/cluster/components/localdisk/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1alpha1 +kind: Component + +resources: + - localdisks.yaml diff --git a/config/cluster/components/localdisk/localdisks.yaml b/config/cluster/components/localdisk/localdisks.yaml new file mode 100644 index 0000000..7a94a65 --- /dev/null +++ b/config/cluster/components/localdisk/localdisks.yaml @@ -0,0 +1,47 @@ +apiVersion: scale.spectrum.ibm.com/v1beta1 +kind: LocalDisk +metadata: + name: worker0-vdb +spec: + node: worker0.example.com + device: /dev/vdb +--- +apiVersion: scale.spectrum.ibm.com/v1beta1 +kind: LocalDisk +metadata: + name: worker1-vdb +spec: + node: worker1.example.com + device: /dev/vdb +--- +apiVersion: scale.spectrum.ibm.com/v1beta1 +kind: LocalDisk +metadata: + name: worker2-vdb +spec: + node: worker2.example.com + device: /dev/vdb +--- +apiVersion: scale.spectrum.ibm.com/v1beta1 +kind: LocalDisk +metadata: + name: worker0-vdc +spec: + node: worker0.example.com + device: /dev/vdc +--- +apiVersion: scale.spectrum.ibm.com/v1beta1 +kind: LocalDisk +metadata: + name: worker1-vdc +spec: + node: worker1.example.com + device: /dev/vdc +--- +apiVersion: scale.spectrum.ibm.com/v1beta1 +kind: LocalDisk +metadata: + name: worker2-vdc +spec: + node: worker2.example.com + device: /dev/vdc diff --git a/config/cluster/components/remotecluster/kustomization.yaml b/config/cluster/components/remotecluster/kustomization.yaml index f972272..4114cbe 100644 --- a/config/cluster/components/remotecluster/kustomization.yaml +++ b/config/cluster/components/remotecluster/kustomization.yaml @@ -2,4 +2,4 @@ apiVersion: kustomize.config.k8s.io/v1alpha1 kind: Component resources: - - scale_v1beta1_remotecluster.yaml + - remotecluster.yaml diff --git a/config/cluster/components/remotecluster/scale_v1beta1_remotecluster.yaml b/config/cluster/components/remotecluster/remotecluster.yaml similarity index 73% rename from config/cluster/components/remotecluster/scale_v1beta1_remotecluster.yaml rename to config/cluster/components/remotecluster/remotecluster.yaml index 62dfe13..83c2ffc 100644 --- a/config/cluster/components/remotecluster/scale_v1beta1_remotecluster.yaml +++ b/config/cluster/components/remotecluster/remotecluster.yaml @@ -1,4 +1,3 @@ ---- apiVersion: scale.spectrum.ibm.com/v1beta1 kind: RemoteCluster metadata: @@ -16,8 +15,13 @@ spec: # This is the secret that contains the CSIAdmin user # credentials in the ibm-spectrum-scale-csi namespace. csiSecretName: csi-remote-mount-storage-cluster-1 - host: guihost.example.com + # hosts are the the GUI endpoints from the storage cluster. Multiple + # hosts (up to 3) can be specified to ensure high availability of GUI. + hosts: + - guihost1.example.com + #- guihost2.example.com + #- guihost3.example.com insecureSkipVerify: false # This is the secret that contains the ContainerOperator user - # credentials in the ibm-spectrum-scale namespace + # credentials in the ibm-spectrum-scale namespace. secretName: cnsa-remote-mount-storage-cluster-1 diff --git a/config/cluster/overlays/filesystem/snc.local/kustomization.yaml b/config/cluster/overlays/filesystem/snc.local/kustomization.yaml new file mode 100644 index 0000000..4b88eb6 --- /dev/null +++ b/config/cluster/overlays/filesystem/snc.local/kustomization.yaml @@ -0,0 +1,11 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: ibm-spectrum-scale + +commonLabels: + app.kubernetes.io/instance: ibm-spectrum-scale + app.kubernetes.io/name: cluster + +components: + - ../../../components/filesystem/snc.local diff --git a/config/cluster/overlays/localdisk/kustomization.yaml b/config/cluster/overlays/localdisk/kustomization.yaml new file mode 100644 index 0000000..5d648d0 --- /dev/null +++ b/config/cluster/overlays/localdisk/kustomization.yaml @@ -0,0 +1,11 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +namespace: ibm-spectrum-scale + +commonLabels: + app.kubernetes.io/instance: ibm-spectrum-scale + app.kubernetes.io/name: cluster + +components: + - ../../components/localdisk diff --git a/config/coredns/rbac/cluster_role.yaml b/config/coredns/rbac/cluster_role.yaml deleted file mode 100644 index 2a6a139..0000000 --- a/config/coredns/rbac/cluster_role.yaml +++ /dev/null @@ -1,35 +0,0 @@ ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: dns -rules: - - apiGroups: - - "" - resources: - - endpoints - - services - - pods - - namespaces - verbs: - - list - - watch - - apiGroups: - - discovery.k8s.io - resources: - - endpointslices - verbs: - - list - - watch - - apiGroups: - - authentication.k8s.io - resources: - - tokenreviews - verbs: - - create - - apiGroups: - - authorization.k8s.io - resources: - - subjectaccessreviews - verbs: - - create diff --git a/config/coredns/rbac/cluster_role_binding.yaml b/config/coredns/rbac/cluster_role_binding.yaml deleted file mode 100644 index d7f5700..0000000 --- a/config/coredns/rbac/cluster_role_binding.yaml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: dns -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: dns -subjects: - - kind: ServiceAccount - name: dns - namespace: system diff --git a/config/coredns/rbac/kustomization.yaml b/config/coredns/rbac/kustomization.yaml index bb2b516..d4f5fba 100644 --- a/config/coredns/rbac/kustomization.yaml +++ b/config/coredns/rbac/kustomization.yaml @@ -1,7 +1,2 @@ resources: - service_account.yaml - - cluster_role.yaml - - cluster_role_binding.yaml - -configurations: - - kustomizeconfig.yaml diff --git a/config/coredns/rbac/kustomizeconfig.yaml b/config/coredns/rbac/kustomizeconfig.yaml deleted file mode 100644 index 00aa324..0000000 --- a/config/coredns/rbac/kustomizeconfig.yaml +++ /dev/null @@ -1,7 +0,0 @@ -namereference: - - kind: SecurityContextConstraints - fieldSpecs: - - path: rules/resourceNames - kind: Role - - path: rules/resourceNames - kind: ClusterRole diff --git a/config/csi/kustomization.yaml b/config/csi/kustomization.yaml index 5e7f120..90ef7e2 100644 --- a/config/csi/kustomization.yaml +++ b/config/csi/kustomization.yaml @@ -2,5 +2,5 @@ namespace: ibm-spectrum-scale-csi resources: -- github.com/IBM/ibm-spectrum-scale-csi.git//operator/config/overlays/cnsa?ref=release-2.10 +- github.com/IBM/ibm-spectrum-scale-csi.git//operator/config/overlays/cnsa?ref=release-2.11 - namespace.yaml diff --git a/config/machineconfig/ocp4.12/ppc64le/kustomization.yaml b/config/machineconfig/ocp4.15/ppc64le/kustomization.yaml similarity index 100% rename from config/machineconfig/ocp4.12/ppc64le/kustomization.yaml rename to config/machineconfig/ocp4.15/ppc64le/kustomization.yaml diff --git a/config/machineconfig/ocp4.12/s390x/kustomization.yaml b/config/machineconfig/ocp4.15/s390x/kustomization.yaml similarity index 100% rename from config/machineconfig/ocp4.12/s390x/kustomization.yaml rename to config/machineconfig/ocp4.15/s390x/kustomization.yaml diff --git a/config/machineconfig/ocp4.12/x86_64/kustomization.yaml b/config/machineconfig/ocp4.15/x86_64/kustomization.yaml similarity index 100% rename from config/machineconfig/ocp4.12/x86_64/kustomization.yaml rename to config/machineconfig/ocp4.15/x86_64/kustomization.yaml diff --git a/config/operator/base/rbac/role.yaml b/config/operator/base/rbac/role.yaml index 03c622c..98392a4 100644 --- a/config/operator/base/rbac/role.yaml +++ b/config/operator/base/rbac/role.yaml @@ -316,6 +316,7 @@ rules: - poddisruptionbudgets verbs: - create + - delete - get - list - patch diff --git a/config/operator/base/versionLabel.yaml b/config/operator/base/versionLabel.yaml index 2fbfe77..e1f0651 100644 --- a/config/operator/base/versionLabel.yaml +++ b/config/operator/base/versionLabel.yaml @@ -3,7 +3,7 @@ kind: LabelTransformer metadata: name: versionLabeler labels: - app.kubernetes.io/version: v5.1.9.3 + app.kubernetes.io/version: v5.2.0.0 fieldSpecs: - kind: Namespace path: metadata/labels diff --git a/config/operator/base/webhook/manifests.yaml b/config/operator/base/webhook/manifests.yaml index 50a3c13..dfcdfa2 100644 --- a/config/operator/base/webhook/manifests.yaml +++ b/config/operator/base/webhook/manifests.yaml @@ -155,6 +155,26 @@ webhooks: resources: - localdisks sideEffects: None +- admissionReviewVersions: + - v1 + clientConfig: + service: + name: webhook-service + namespace: system + path: /validate-scale-spectrum-ibm-com-v1beta1-remotecluster + failurePolicy: Fail + name: vremotecluster.scale.spectrum.ibm.com + rules: + - apiGroups: + - scale.spectrum.ibm.com + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - remoteclusters + sideEffects: None - admissionReviewVersions: - v1 clientConfig: diff --git a/config/operator/components/manager/deploy/config.yaml b/config/operator/components/manager/deploy/config.yaml index affaf93..ea39bc0 100644 --- a/config/operator/components/manager/deploy/config.yaml +++ b/config/operator/components/manager/deploy/config.yaml @@ -9,12 +9,11 @@ spec: containers: - name: manager args: - - "--config=controller_manager_config.yaml" + - "--config=/config/controller_manager_config.yaml" - "--zap-log-level=1" volumeMounts: - name: manager-config - mountPath: /controller_manager_config.yaml - subPath: controller_manager_config.yaml + mountPath: /config - name: cabundle mountPath: /etc/ssl/service volumes: diff --git a/config/operator/components/manager/deploy/manager.yaml b/config/operator/components/manager/deploy/manager.yaml index 6c677e9..a4909f0 100644 --- a/config/operator/components/manager/deploy/manager.yaml +++ b/config/operator/components/manager/deploy/manager.yaml @@ -34,7 +34,8 @@ spec: nodeSelector: node-role.kubernetes.io/master: "" tolerations: - - effect: NoSchedule + - key: node-role.kubernetes.io/master + effect: NoSchedule operator: Exists topologySpreadConstraints: - maxSkew: 1 diff --git a/config/operator/components/manager/deploy/versionLabel.yaml b/config/operator/components/manager/deploy/versionLabel.yaml index 1abbcd3..2d009ca 100644 --- a/config/operator/components/manager/deploy/versionLabel.yaml +++ b/config/operator/components/manager/deploy/versionLabel.yaml @@ -3,7 +3,7 @@ kind: LabelTransformer metadata: name: versionLabeler labels: - app.kubernetes.io/version: v5.1.9.3 + app.kubernetes.io/version: v5.2.0.0 fieldSpecs: - kind: Deployment path: metadata/labels diff --git a/config/operator/components/webhook/dev/kustomization.yaml b/config/operator/components/webhook/dev/kustomization.yaml index 967e528..139f4fd 100644 --- a/config/operator/components/webhook/dev/kustomization.yaml +++ b/config/operator/components/webhook/dev/kustomization.yaml @@ -35,3 +35,4 @@ replacements: - webhooks.[name=vclusterinterconnect.scale.spectrum.ibm.com].clientConfig.caBundle - webhooks.[name=vasyncreplication.scale.spectrum.ibm.com].clientConfig.caBundle - webhooks.[name=vapprovalrequest.scale.spectrum.ibm.com].clientConfig.caBundle + - webhooks.[name=vremotecluster.scale.spectrum.ibm.com].clientConfig.caBundle diff --git a/config/operator/components/webhook/dev/webhookconfig_service_patch.yaml b/config/operator/components/webhook/dev/webhookconfig_service_patch.yaml index be66527..76e5ff0 100644 --- a/config/operator/components/webhook/dev/webhookconfig_service_patch.yaml +++ b/config/operator/components/webhook/dev/webhookconfig_service_patch.yaml @@ -70,4 +70,10 @@ webhooks: service: null url: https://localhost:59443/validate-scale-spectrum-ibm-com-v1alpha1-approvalrequest caBundle: REPLACE_CABUNDLE - failurePolicy: Ignore \ No newline at end of file + failurePolicy: Ignore + - name: vremotecluster.scale.spectrum.ibm.com + clientConfig: + service: null + url: https://localhost:59443/validate-scale-spectrum-ibm-com-v1beta1-remotecluster + caBundle: REPLACE_CABUNDLE + failurePolicy: Ignore diff --git a/config/operator/overlays/manager/controller_manager_config.yaml b/config/operator/overlays/manager/controller_manager_config.yaml index 8c3ff13..12a07a7 100644 --- a/config/operator/overlays/manager/controller_manager_config.yaml +++ b/config/operator/overlays/manager/controller_manager_config.yaml @@ -1,24 +1,18 @@ apiVersion: scale.spectrum.ibm.com/v1alpha1 kind: ClusterManagerConfig -health: - healthProbeBindAddress: :8081 -metrics: - bindAddress: 127.0.0.1:8080 -webhook: - port: 9443 images: - coreECE: cp.icr.io/cp/spectrum/scale/erasure-code/ibm-spectrum-scale-daemon@sha256:6426c2dbfbb607df8ad6caf63dfaf64235e60f8174ce78a86d7bd86729e48f7f - coreDME: cp.icr.io/cp/spectrum/scale/data-management/ibm-spectrum-scale-daemon@sha256:26880dbf5dfe214fc00581826d1486069cb7489fe23e64904eb7004d8db31602 - coreDAE: cp.icr.io/cp/spectrum/scale/data-access/ibm-spectrum-scale-daemon@sha256:151a3e73ea7d8be39b4f74fb1516d2043f33665a21cc1351a7b6401f46b9a9fd - coreInit: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-core-init@sha256:79b1354e5a4c3c0341b448ca3fcd504a1b33df94f74099046cfa6e13b883d1f8 - gui: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-gui@sha256:29e828701e55c5de848f83a188b2a09de35227aeb6bbdc06ad01b5ec34d2c654 - postgres: cp.icr.io/cp/spectrum/scale/postgres@sha256:b2f06ce12103bedbc0a49ae4ffff062d90824e0f45462de712f66952679f7670 - logs: cp.icr.io/cp/spectrum/scale/ubi-minimal@sha256:582e18f13291d7c686ec4e6e92d20b24c62ae0fc72767c46f30a69b1a6198055 - pmcollector: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-pmcollector@sha256:41c90bb86fafc5785376d842b098ddbc98bc94b64421e8da7c5aaa54bd9602e8 - sysmon: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-monitor@sha256:815ee1b6af28e693a9b1d54b2b496a3e7dc5b25c51cf60e17a7faa222e44a8b3 - grafanaBridge: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-grafana-bridge@sha256:8bf1a89ee1e9e52a3f9cd49e1c1747b02fbe7f84f071667ab0e12ea6f25f32f2 - coreDNS: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-coredns@sha256:1ba4d51e896607c6f968f8df8e04ccfe7a71babd778838c9de040beda6bf1ff7 - mustGather: icr.io/cpopen/ibm-spectrum-scale-must-gather@sha256:78bd4a9ca171ff062a9de912ea782a7eb1208ec68d04e1e71a12767fed8e8d1c - ganesha: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-ganesha@sha256:54870c3c6cdd36799e08f8808580cc81d03c05ddad42e9af3ccf22d67fe112e2 - stunnel: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-stunnel@sha256:76e33b772faf6c823b65668f2ff31b4603cbfeb768b1eb77629ad23f2071ce76 - pmsensors: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-pmsensors@sha256:fedb2b2c71c9609125e4e2acd6354a5eccd9af0fba5459f19cd234afc674c913 + coreECE: cp.icr.io/cp/spectrum/scale/erasure-code/ibm-spectrum-scale-daemon@sha256:8d0e78cc97ae6d23ea0585e98a43d32c52c4717ff426c5eeff6ad122b735c571 + coreDME: cp.icr.io/cp/spectrum/scale/data-management/ibm-spectrum-scale-daemon@sha256:65a1b65e4076ac7be840904a6a1d59eb74849cda58a1a4a59b2f9a8de94652de + coreDAE: cp.icr.io/cp/spectrum/scale/data-access/ibm-spectrum-scale-daemon@sha256:0a6c1c0c588168bde48c82ae0ab2ad0ab51429680840dca90f19b24fcbfc3c2c + coreInit: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-core-init@sha256:089718b2d96d909b86bf19448c4d86f31a3877eb450d465d830e55133415015d + gui: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-gui@sha256:93288c812f0bace075eb785f519d6d7f684bdb33407c44a93b53df9abdd16e0a + postgres: cp.icr.io/cp/spectrum/scale/postgres@sha256:bbd7346fab25b7e0b25f214829d6ebfb78ef0465059492e46dee740ce8fcd844 + logs: cp.icr.io/cp/spectrum/scale/ubi-minimal@sha256:bc552efb4966aaa44b02532be3168ac1ff18e2af299d0fe89502a1d9fabafbc5 + pmcollector: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-pmcollector@sha256:07a9e951ab315724ca39e332a7559ca98519442b0669241fd97ffdb3a0381667 + sysmon: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-monitor@sha256:3f41d20e7beaf757778d8650172adf8456569607dab3479eb4524407ed2e4a13 + grafanaBridge: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-grafana-bridge@sha256:a6ca689d8205f17bb278910c521842f98ced8537aba55b287792a91269bf2f41 + coreDNS: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-coredns@sha256:88cbfe40fd302a6467cb7e852b298f6c8d8659782ab313706d491d3ddf172a6e + mustGather: icr.io/cpopen/ibm-spectrum-scale-must-gather@sha256:eab5b2e72579b96f2cfc04162e4dd6ace7eb3570f2f08dca552c045ea29faa3d + ganesha: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-ganesha@sha256:2adb24635e4c67ce940c79f611c08b3518004259f825cb7f719e262d18242728 + stunnel: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-stunnel@sha256:c55b0718d6bdc1b5995517e205cd0c2993d735a532b6358663e15207c6c6a7f3 + pmsensors: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-pmsensors@sha256:7befbffc26148c416bf6cb6e3c3174231c8748e4bfd8371acd3b94606b22f5bc diff --git a/config/operator/overlays/manager/kustomization.yaml b/config/operator/overlays/manager/kustomization.yaml index c0b8e8e..342a504 100644 --- a/config/operator/overlays/manager/kustomization.yaml +++ b/config/operator/overlays/manager/kustomization.yaml @@ -20,7 +20,7 @@ configMapGenerator: name: manager-config images: -- digest: sha256:85fb826bdafff98bac9046001f8fb6e8dd5da67c2322b12b2e436ba86ff3d99a +- digest: sha256:d44f11cc61f410dd20d7bb52ac28eebc80f928eede9be434c270a7ad5648b626 name: controller newName: icr.io/cpopen/ibm-spectrum-scale-operator diff --git a/generated/das/install.yaml b/generated/das/install.yaml deleted file mode 100644 index 44800c5..0000000 --- a/generated/das/install.yaml +++ /dev/null @@ -1,1066 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - labels: - app.kubernetes.io/instance: ibm-spectrum-scale-das - app.kubernetes.io/name: operator - control-plane: controller-manager - scale.spectrum.ibm.com/networkpolicy: allow - name: ibm-spectrum-scale-das ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.6.0 - creationTimestamp: null - name: haservices.das.scale.ibm.com -spec: - group: das.scale.ibm.com - names: - kind: HAService - listKind: HAServiceList - plural: haservices - singular: haservice - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .spec.ip_range - name: IP_range - type: string - - jsonPath: .status.scale_factor - name: Scale_factor - type: integer - name: v1alpha1 - schema: - openAPIV3Schema: - description: HAService is the Schema for the haservices API - 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: HAServiceSpec defines the desired state of HAService - properties: - autoHA: - description: HAService performs automatic IP fail-over & fail-back, - if the autoHA is set to 'true'. Defaults to 'true'. - type: boolean - ip_range: - description: 'Ip_range is an example field of HAService. Provide pool - of IP addresses that can be used for address allocations for s3 - services HPO-MetalLB will take care of assigning and unassigning - individual addresses to the s3 service running on every worker node - which are part of IBM Container Native Storage Access cluster. Make - sure the IP address range provided is equivalent to the number of - worker nodes which are labled to be used as IBM Container Native - Storage Access node. example: Supported number of worker nodes in - ocp environment is 3. Ip_range: "10.10.10.11-10.10.10.13" -> these - IP address would be allocated to the s3 service running on each - of the ocp worker node.' - type: string - scale_factor: - description: 'Scale_factor is an example field of HAService. Scale_factor - controlls scaling of the s3 object service across worker nodes. - Only static scaling is supported. example: Scale_factor: 5 -> means - 5 s3 service endpoints would be spawned per ocp worker node to handle - the s3 service requests.' - type: integer - required: - - ip_range - type: object - status: - description: HAServiceStatus defines the observed state of HAService - properties: - Number_of_nodes_labeled: - type: integer - ip_range: - description: 'INSERT ADDITIONAL STATUS FIELD - define observed state - of cluster Important: Run "make" to regenerate code after modifying - this file Ip_range is an example field of HAService. pool of IP - addresses that is used for address allocations for s3 services HPO-MetalLB - will take care of assigning and unassigning individual addresses - to the s3 service' - type: string - scale_factor: - description: 'Scale_factor is an example field of HAService. Scale_factor - controlls scaling of the s3 object service across worker nodes. - This is required to track the scalefactor which is active in cluster, - its currently populated initially onto global var `CurrentScalefactor` - in utilityFunction.go but we have to store it in status, else operator - reboot wipes of vars in memory. Note: we support scalefactor independent - of metallb install.' - type: integer - service_mappings: - items: - properties: - current_node: - type: string - default_node: - type: string - svc_name: - type: string - type: object - type: array - required: - - ip_range - type: object - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.6.0 - creationTimestamp: null - name: s3services.das.scale.ibm.com -spec: - group: das.scale.ibm.com - names: - kind: S3Service - listKind: S3ServiceList - plural: s3services - singular: s3service - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .spec.enable - name: Enabled - type: boolean - - jsonPath: .status.phase - name: Phase - type: string - - jsonPath: .status.s3Endpoints - name: S3-Endpoints - type: string - name: v1alpha1 - schema: - openAPIV3Schema: - description: S3Service is the Schema for the s3services API - 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: S3ServiceSpec defines the desired state of S3Service - properties: - dbStorageClass: - description: Storage Class to be used to configure PVC for the S3 - Service Database. If not provided DAS operator will check for storage - class defined on the OCP cluster, with provisioner 'spectrumscale.csi.ibm.com', - and choose the same, if there is only one with provisioner being - 'spectrumscale.csi.ibm.com'. - type: string - enable: - description: Enable or Disable S3 Service on the OCP cluster, by setting - this param to true or false - type: boolean - enableMD5: - description: Enable or Disable md5sum calculation for s3 object at - s3 service level, by setting this param to true or false - type: boolean - license: - description: The license must be accepted by the end user that provides - a way to specify the IBM Spectrum Scale for Data Access Service. - properties: - accept: - description: Read the license and specify "true" to accept or - "false" to not accept. https://www.ibm.com/support/customer/csol/terms/?id=L-SXXK-ARTNWG - BY DOWNLOADING, INSTALLING, COPYING, ACCESSING, CLICKING ON - AN "ACCEPT" BUTTON, OR OTHERWISE USING THE PROGRAM, LICENSEE - AGREES TO THE TERMS OF THIS AGREEMENT. IF YOU ARE ACCEPTING - THESE TERMS ON BEHALF OF LICENSEE, YOU REPRESENT AND WARRANT - THAT YOU HAVE FULL AUTHORITY TO BIND LICENSEE TO THESE TERMS. - IF YOU DO NOT AGREE TO THESE TERMS, * DO NOT DOWNLOAD, INSTALL, - COPY, ACCESS, CLICK ON AN "ACCEPT" BUTTON, OR USE THE PROGRAM; - AND * PROMPTLY RETURN THE UNUSED MEDIA AND DOCUMENTATION TO - THE PARTY FROM WHOM IT WAS OBTAINED FOR A REFUND OF THE AMOUNT - PAID. IF THE PROGRAM WAS DOWNLOADED, DESTROY ALL COPIES OF THE - PROGRAM. - enum: - - true - type: boolean - license: - description: It specifies the IBM Spectrum Scale edition, "data-access-service-s3" - // +kubebuilder:validation:Enum:=data-access-service-s3 - type: string - required: - - accept - - license - type: object - scaleDataBackend: - description: IBM Spectrum Scale Filesystem information, that is configured - with IBM Spectrum Scale CSI driver, which is to be enabled for S3 - data access. This would act as data backend for access using the - S3 service interface. If not provided, DAS operator will try to - auto-discover it from IBM Spectrum Scale CSI driver namespace, from - CR 'csiscaleoperators' spec, if there is only one of this kind. - items: - type: string - type: array - required: - - license - type: object - status: - description: S3ServiceStatus defines the observed state of S3Service - properties: - enable: - description: Showing S3Service status, based on whether it is Enabled - or Disabled - type: boolean - phase: - description: S3Service phase - based on Noobaa service deployment - phase - type: string - s3Endpoints: - description: S3 Service Endpoint for Data Access - items: - type: string - type: array - required: - - phase - - s3Endpoints - type: object - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - labels: - app.kubernetes.io/instance: ibm-spectrum-scale-das - app.kubernetes.io/name: operator - name: ibm-spectrum-scale-das-operator - namespace: ibm-spectrum-scale-das ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: ibm-spectrum-scale-das-leader-election-role - namespace: ibm-spectrum-scale-das -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - update -- apiGroups: - - "" - resources: - - configmaps/status - verbs: - - get - - update - - patch ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - creationTimestamp: null - name: das-cli-user -rules: -- apiGroups: - - "" - resources: - - nodes - verbs: - - get - - list -- apiGroups: - - "noobaa.io" - resources: - - noobaas - verbs: - - get - - list -- apiGroups: - - "noobaa.io" - resources: - - "namespacestores" - verbs: - - list -- apiGroups: - - "" - resources: - - "persistentvolumeclaims" - - "persistentvolumes" - verbs: - - list -- apiGroups: - - "" - resources: - - "namespaces" - verbs: - - get -- apiGroups: - - "" - resources: - - "events" - verbs: - - create -- apiGroups: - - networking.k8s.io - resources: - - networkpolicies - verbs: - - get - - list - - create - - delete - - update -- apiGroups: - - "" - resources: - - endpoints - verbs: - - get ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - creationTimestamp: null - name: ibm-spectrum-scale-das-manager-role -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - create - - get - - list - - patch - - watch -- apiGroups: - - "" - resources: - - endpoints - verbs: - - create - - get - - list - - patch - - watch -- apiGroups: - - "" - resources: - - namespaces - verbs: - - create - - delete - - get - - update -- apiGroups: - - "" - resources: - - events - verbs: - - create -- apiGroups: - - "" - resources: - - nodes - verbs: - - get - - list - - patch - - watch - - update -- apiGroups: - - "" - resources: - - persistentvolumeclaims - verbs: - - create - - delete - - get - - list -- apiGroups: - - "" - resources: - - persistentvolumes - verbs: - - create - - delete - - get - - list -- apiGroups: - - "" - resources: - - pods - verbs: - - create - - delete - - update - - patch - - get - - list - - watch -- apiGroups: - - "" - resources: - - secrets - verbs: - - create - - delete - - get - - list - - watch -- apiGroups: - - "" - resources: - - serviceaccounts - verbs: - - create - - delete - - get - - list -- apiGroups: - - "" - resources: - - services - verbs: - - create - - delete - - get - - list - - patch -- apiGroups: - - "" - resources: - - services/status - verbs: - - get - - patch - - update -- apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - apps - resources: - - daemonsets - verbs: - - get - - list - - watch -- apiGroups: - - apps - resources: - - deployments - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - apps - resources: - - deployments/scale - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - apps - resources: - - statefulsets - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - config.openshift.io - resources: - - clusterversions - verbs: - - get - - list -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - list - - create - - update -- apiGroups: - - "" - resources: - - pods - verbs: - - get - - list - - watch - - update -- apiGroups: - - "" - resources: - - pods/status - verbs: - - get -- apiGroups: - - csi.ibm.com - resources: - - csiscaleoperators - verbs: - - get - - list -- apiGroups: - - das.scale.ibm.com - resources: - - haservices - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - das.scale.ibm.com - resources: - - haservices/status - verbs: - - get - - patch - - update -- apiGroups: - - das.scale.ibm.com - resources: - - s3services - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - das.scale.ibm.com - resources: - - s3services/status - verbs: - - get - - patch - - update -- apiGroups: - - metallb.io - resources: - - ipaddresspools - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - metallb.io - resources: - - l2advertisements - verbs: - - create - - delete -- apiGroups: - - metallb.io - resources: - - metallbs - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - noobaa.io - resources: - - namespacestores - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - noobaa.io - resources: - - noobaas - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - noobaa.io/v1alpha1 - resources: - - services/status - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - operators.coreos.com - resources: - - catalogsources - verbs: - - create - - delete - - get - - patch - - update -- apiGroups: - - operators.coreos.com - resources: - - clusterserviceversions - verbs: - - get - - list - - watch -- apiGroups: - - operators.coreos.com - resources: - - installplans - verbs: - - get - - patch -- apiGroups: - - operators.coreos.com - resources: - - operatorgroups - verbs: - - create - - delete - - get - - patch - - update -- apiGroups: - - operators.coreos.com - resources: - - subscriptions - verbs: - - create - - delete - - get - - update - - patch -- apiGroups: - - packages.operators.coreos.com - resources: - - packagemanifests - verbs: - - get - - list - - watch -- apiGroups: - - rbac.authorization.k8s.io - resources: - - clusterrolebindings - verbs: - - create - - delete - - get - - list - - patch - - update - - use - - watch -- apiGroups: - - rbac.authorization.k8s.io - resources: - - clusterroles - verbs: - - create - - delete - - get - - list - - patch - - update - - use - - watch -- apiGroups: - - rbac.authorization.k8s.io - resources: - - rolebindings - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - rbac.authorization.k8s.io - resources: - - roles - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - route.openshift.io - resources: - - routes - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - scale.ibm.com - resources: - - scaleclusters - verbs: - - get - - list -- apiGroups: - - scale.spectrum.ibm.com - resources: - - clusters - verbs: - - get - - list -- apiGroups: - - scale.spectrum.ibm.com - resources: - - filesystems - verbs: - - get - - list -- apiGroups: - - scale.spectrum.ibm.com - resources: - - remoteclusters - verbs: - - get - - list -- apiGroups: - - security.openshift.io - resourceNames: - - restricted-v2 - resources: - - securitycontextconstraints - verbs: - - get - - list - - use - - watch -- apiGroups: - - storage.k8s.io - resources: - - storageclasses - verbs: - - get - - list -- apiGroups: - - networking.k8s.io - resources: - - networkpolicies - verbs: - - get - - list - - create - - delete - - update -- apiGroups: - - "" - resources: - - endpoints - verbs: - - get ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: ibm-spectrum-scale-das-metrics-reader -rules: -- nonResourceURLs: - - /metrics - verbs: - - get ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: ibm-spectrum-scale-das-proxy-role -rules: -- apiGroups: - - authentication.k8s.io - resources: - - tokenreviews - verbs: - - create -- apiGroups: - - authorization.k8s.io - resources: - - subjectaccessreviews - verbs: - - create ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: ibm-spectrum-scale-das-leader-election-rolebinding - namespace: ibm-spectrum-scale-das -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: ibm-spectrum-scale-das-leader-election-role -subjects: -- kind: ServiceAccount - name: ibm-spectrum-scale-das-operator - namespace: ibm-spectrum-scale-das ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: ibm-spectrum-scale-das-manager-rolebinding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: ibm-spectrum-scale-das-manager-role -subjects: -- kind: ServiceAccount - name: ibm-spectrum-scale-das-operator - namespace: ibm-spectrum-scale-das ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: ibm-spectrum-scale-das-proxy-rolebinding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: ibm-spectrum-scale-das-proxy-role -subjects: -- kind: ServiceAccount - name: ibm-spectrum-scale-das-operator - namespace: ibm-spectrum-scale-das ---- - -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: ibm-spectrum-scale-das-cli-user -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: das-cli-user -subjects: -- kind: ServiceAccount - name: das-cli-user - namespace: ibm-spectrum-scale-das ---- - -apiVersion: v1 -kind: Service -metadata: - labels: - control-plane: controller-manager - name: ibm-spectrum-scale-das-controller-manager-metrics-service - namespace: ibm-spectrum-scale-das -spec: - ports: - - name: https - port: 8443 - targetPort: https - selector: - control-plane: controller-manager ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - annotations: - productVersion: 5.1.9.1 - labels: - app.kubernetes.io/instance: ibm-spectrum-scale-das - app.kubernetes.io/managed-by: ibm-spectrum-scale-das-operator - app.kubernetes.io/name: operator - control-plane: controller-manager - product: ibm-spectrum-scale-das - release: ibm-spectrum-scale-das-operator - name: ibm-spectrum-scale-das-controller-manager - namespace: ibm-spectrum-scale-das -spec: - replicas: 1 - selector: - matchLabels: - app.kubernetes.io/instance: ibm-spectrum-scale-das - app.kubernetes.io/name: operator - control-plane: controller-manager - template: - metadata: - annotations: - productID: ibm-spectrum-scale-das-operator - productName: IBM Spectrum Scale DAS Operator - productVersion: 5.1.9.1 - labels: - app.kubernetes.io/instance: ibm-spectrum-scale-das - app.kubernetes.io/managed-by: ibm-spectrum-scale-das-operator - app.kubernetes.io/name: operator - control-plane: controller-manager - product: ibm-spectrum-scale-das - release: ibm-spectrum-scale-das-operator - spec: - securityContext: - seccompProfile: - type: RuntimeDefault - runAsNonRoot: true - automountServiceAccountToken: true - containers: - - args: - - --secure-listen-address=0.0.0.0:8443 - - --upstream=http://127.0.0.1:8080/ - - --logtostderr=true - - --v=10 - image: gcr.io/kubebuilder/kube-rbac-proxy@sha256:d4883d7c622683b3319b5e6b3a7edfbf2594c18060131a8bf64504805f875522 - name: kube-rbac-proxy - securityContext: - allowPrivilegeEscalation: false - readOnlyRootFilesystem: true - privileged: false - capabilities: - drop: - - ALL - ports: - - containerPort: 8443 - name: https - - args: - - --metrics-addr=127.0.0.1:8080 - - --enable-leader-election - command: - - /manager - env: - - name: WATCH_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: LOG_LEVEL - value: info - - name: DAS_ENDPOINT_IMAGE - value: cp.icr.io/cp/spectrum/scale/das/s3/ibm-spectrum-scale-das-endpoint@sha256:5ec18d36e114d1f3938fc740a7c70a5978fe371be9bd847364ae34843c9d62e4 - - name: NOOBAAMON_IMAGE - value: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-monitor@sha256:781f86296525f7519d212f8b1887d1a680157b5ebf55f3a989d76579778abb77 - - name: PMSENSOR_IMAGE - value: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-pmsensors@sha256:69ae2d99018bd3ce064125677fbd8d00c3829fee64597a83b5da20844f966157 - image: icr.io/cpopen/ibm-spectrum-scale-das-operator@sha256:9c82e815a75f4ceacd0c3f300c1221993bf6fb5438fc2db1209a4105361bba6b - imagePullPolicy: IfNotPresent - securityContext: - allowPrivilegeEscalation: false - readOnlyRootFilesystem: true - privileged: false - capabilities: - drop: - - ALL - name: manager - resources: - limits: - cpu: 100m - memory: 200Mi - requests: - cpu: 100m - memory: 50Mi - imagePullSecrets: - - name: ibm-entitlement-key - serviceAccountName: ibm-spectrum-scale-das-operator - terminationGracePeriodSeconds: 10 ---- -apiVersion: v1 -kind: ConfigMap -metadata: - labels: - app.kubernetes.io/instance: ibm-spectrum-scale - app.kubernetes.io/name: das-s3-proxy - name: das-pmsensors-config - namespace: ibm-spectrum-scale -data: - ZIMonSensors.cfg: "colCandidates= \"ibm-spectrum-scale-pmcollector-0.ibm-spectrum-scale-pmcollector\", - \"ibm-spectrum-scale-pmcollector-1.ibm-spectrum-scale-pmcollector\"\ncolRedundancy - = 2\ncollectors = {\n host = \"ibm-spectrum-scale-pmcollector-0.ibm-spectrum-scale-pmcollector\"\n - \ port = \"4739\"\n}, {\n host = \"ibm-spectrum-scale-pmcollector-1.ibm-spectrum-scale-pmcollector\"\n - \ port = \"4739\"\n}\ndaemonize = F\ndelay_initial_poll = T\nhostname = \"\"\nlogfile= \"stdout\"\nloglevel - = \"info\"\npiddir = \"/var/run\"\nrelease = \"5.1.9-1\"\nsensors = {\n\tname = \"DasS3\"\n\tperiod = 60\n\ttype= \"Generic\"\n}" diff --git a/generated/scale/README.md b/generated/scale/README.md index dec109a..806fee5 100644 --- a/generated/scale/README.md +++ b/generated/scale/README.md @@ -7,36 +7,38 @@ The images that are listed in the following table are the container images that | Pod | Container | Repository | Image | |-----|-----------|------------|---------------------| -| ibm-spectrum-scale-controller-manager-XXXXXXXXX-XXXXX | manager | icr.io/cpopen | ibm-spectrum-scale-operator@sha256:85fb826bdafff98bac9046001f8fb6e8dd5da67c2322b12b2e436ba86ff3d99a | -| ibm-spectrum-scale-csi-operator | operator | icr.io/cpopen | ibm-spectrum-scale-csi-operator@sha256:ccb895d8916171352aed2f06d9d6f3a1a7aba20405cd129091e9b57d59ad1343 | -| must-gather-XXXXX | must-gather | icr.io/cpopen | ibm-spectrum-scale-must-gather@sha256:78bd4a9ca171ff062a9de912ea782a7eb1208ec68d04e1e71a12767fed8e8d1c | +| ibm-spectrum-scale-controller-manager-XXXXXXXXX-XXXXX | manager | icr.io/cpopen | ibm-spectrum-scale-operator@sha256:d44f11cc61f410dd20d7bb52ac28eebc80f928eede9be434c270a7ad5648b626 | +| ibm-spectrum-scale-csi-operator | operator | icr.io/cpopen | ibm-spectrum-scale-csi-operator@sha256:bd264199ac10d574163bfa32bb88844fd786ee6f794a56e235591d2f051c7807 | +| must-gather-XXXXX | must-gather | icr.io/cpopen | ibm-spectrum-scale-must-gather@sha256:eab5b2e72579b96f2cfc04162e4dd6ace7eb3570f2f08dca552c045ea29faa3d | +{: caption="Images (non-entitled)" caption-side="bottom"} -## IBM Storage Scale images acquired from entitled IBM Container Repository +## IBM Storage Scale images that are acquired from entitled IBM Container Repository The images that are listed in the following table are the container images that are obtained through entitlement to the IBM Container Repository. | Pod | Container | Repository | Image | |-----|-----------|------------|---------------------| -| workerX/masterX* | mmbuildgpl | cp.icr.io/cp/spectrum/scale | ibm-spectrum-scale-core-init@sha256:79b1354e5a4c3c0341b448ca3fcd504a1b33df94f74099046cfa6e13b883d1f8 | -| workerX/masterX* | config | cp.icr.io/cp/spectrum/scale | ibm-spectrum-scale-core-init@sha256:79b1354e5a4c3c0341b448ca3fcd504a1b33df94f74099046cfa6e13b883d1f8 | -| workerX/masterX* | gpfs (Data Access Edition) | cp.icr.io/cp/spectrum/scale/data-access | ibm-spectrum-scale-daemon@sha256:151a3e73ea7d8be39b4f74fb1516d2043f33665a21cc1351a7b6401f46b9a9fd | -| workerX/masterX* | gpfs (Data Management Edition) | cp.icr.io/cp/spectrum/scale/data-management | ibm-spectrum-scale-daemon@sha256:26880dbf5dfe214fc00581826d1486069cb7489fe23e64904eb7004d8db31602 | -| workerX/masterX* | logs | cp.icr.io/cp/spectrum/scale | ubi-minimal@sha256:582e18f13291d7c686ec4e6e92d20b24c62ae0fc72767c46f30a69b1a6198055 | -| ibm-spectrum-scale-gui-X | liberty | cp.icr.io/cp/spectrum/scale | ibm-spectrum-scale-gui@sha256:29e828701e55c5de848f83a188b2a09de35227aeb6bbdc06ad01b5ec34d2c654 | -| ibm-spectrum-scale-gui-X | sysmon | cp.icr.io/cp/spectrum/scale | ibm-spectrum-scale-monitor@sha256:815ee1b6af28e693a9b1d54b2b496a3e7dc5b25c51cf60e17a7faa222e44a8b3 | -| ibm-spectrum-scale-gui-X | postgres | cp.icr.io/cp/spectrum/scale | postgres@sha256:b2f06ce12103bedbc0a49ae4ffff062d90824e0f45462de712f66952679f7670 | -| ibm-spectrum-scale-gui-X | logs | cp.icr.io/cp/spectrum/scale | ubi-minimal@sha256:582e18f13291d7c686ec4e6e92d20b24c62ae0fc72767c46f30a69b1a6198055 | -| ibm-spectrum-scale-pmcollector-X | pmcollector | cp.icr.io/cp/spectrum/scale | ibm-spectrum-scale-pmcollector@sha256:41c90bb86fafc5785376d842b098ddbc98bc94b64421e8da7c5aaa54bd9602e8 | -| ibm-spectrum-scale-pmcollector-X | sysmon | cp.icr.io/cp/spectrum/scale | ibm-spectrum-scale-monitor@sha256:815ee1b6af28e693a9b1d54b2b496a3e7dc5b25c51cf60e17a7faa222e44a8b3 | -| ibm-spectrum-scale-grafana-bridge-X | grafanabridge | cp.icr.io/cp/spectrum/scale | ibm-spectrum-scale-grafana-bridge@sha256:8bf1a89ee1e9e52a3f9cd49e1c1747b02fbe7f84f071667ab0e12ea6f25f32f2 | -| coredns-XXXXX | coredns | cp.icr.io/cp/spectrum/scale | ibm-spectrum-scale-coredns@sha256:1ba4d51e896607c6f968f8df8e04ccfe7a71babd778838c9de040beda6bf1ff7 | -| ibm-spectrum-scale-csi-snapshotter | csi-snapshotter | cp.icr.io/cp/spectrum/scale/csi | csi-snapshotter@sha256:becc53e25b96573f61f7469923a92fb3e9d3a3781732159954ce0d9da07233a2 | -| ibm-spectrum-scale-csi-attacher | ibm-spectrum-scale-csi-attacher | cp.icr.io/cp/spectrum/scale/csi | csi-attacher@sha256:4eb73137b66381b7b5dfd4d21d460f4b4095347ab6ed4626e0199c29d8d021af | -| ibm-spectrum-scale-csi-provisioner | csi-provisioner | cp.icr.io/cp/spectrum/scale/csi | csi-provisioner@sha256:d078dc174323407e8cc6f0f9abd4efaac5db27838f1564d0253d5e3233e3f17f | -| ibm-spectrum-scale-csi-driver-XXXXX | liveness-probe | cp.icr.io/cp/spectrum/scale/csi | livenessprobe@sha256:4dc0b87ccd69f9865b89234d8555d3a614ab0a16ed94a3016ffd27f8106132ce | -| ibm-spectrum-scale-csi-driver-XXXXX | driver-registrar | cp.icr.io/cp/spectrum/scale/csi | csi-node-driver-registrar@sha256:f6717ce72a2615c7fbc746b4068f788e78579c54c43b8716e5ce650d97af2df1 | -| ibm-spectrum-scale-csi-resizer-X | ibm-spectrum-scale-csi-resizer | cp.icr.io/cp/spectrum/scale/csi | csi-resizer@sha256:2e2b44393539d744a55b9370b346e8ebd95a77573064f3f9a8caf18c22f4d0d0 | -| ibm-spectrum-scale-csi-driver-XXXXX | ibm-spectrum-scale-csi | cp.icr.io/cp/spectrum/scale/csi | ibm-spectrum-scale-csi-driver@sha256:a61878203bb642320e67edc9229bf84ad37ef0828522ad6d8566bd7747d631f6 | +| workerX/masterX* | mmbuildgpl | cp.icr.io/cp/spectrum/scale | ibm-spectrum-scale-core-init@sha256:089718b2d96d909b86bf19448c4d86f31a3877eb450d465d830e55133415015d | +| workerX/masterX* | config | cp.icr.io/cp/spectrum/scale | ibm-spectrum-scale-core-init@sha256:089718b2d96d909b86bf19448c4d86f31a3877eb450d465d830e55133415015d | +| workerX/masterX* | gpfs (if using Data Access Edition) | cp.icr.io/cp/spectrum/scale/data-access | ibm-spectrum-scale-daemon@sha256:0a6c1c0c588168bde48c82ae0ab2ad0ab51429680840dca90f19b24fcbfc3c2c | +| workerX/masterX* | gpfs (if using Data Management Edition) | cp.icr.io/cp/spectrum/scale/data-management | ibm-spectrum-scale-daemon@sha256:65a1b65e4076ac7be840904a6a1d59eb74849cda58a1a4a59b2f9a8de94652de | +| workerX/masterX* | logs | cp.icr.io/cp/spectrum/scale | ubi-minimal@sha256:bc552efb4966aaa44b02532be3168ac1ff18e2af299d0fe89502a1d9fabafbc5 | +| ibm-spectrum-scale-gui-X | liberty | cp.icr.io/cp/spectrum/scale | ibm-spectrum-scale-gui@sha256:93288c812f0bace075eb785f519d6d7f684bdb33407c44a93b53df9abdd16e0a | +| ibm-spectrum-scale-gui-X | sysmon | cp.icr.io/cp/spectrum/scale | ibm-spectrum-scale-monitor@sha256:3f41d20e7beaf757778d8650172adf8456569607dab3479eb4524407ed2e4a13 | +| ibm-spectrum-scale-gui-X | postgres | cp.icr.io/cp/spectrum/scale | postgres@sha256:bbd7346fab25b7e0b25f214829d6ebfb78ef0465059492e46dee740ce8fcd844 | +| ibm-spectrum-scale-gui-X | logs | cp.icr.io/cp/spectrum/scale | ubi-minimal@sha256:bc552efb4966aaa44b02532be3168ac1ff18e2af299d0fe89502a1d9fabafbc5 | +| ibm-spectrum-scale-pmcollector-X | pmcollector | cp.icr.io/cp/spectrum/scale | ibm-spectrum-scale-pmcollector@sha256:07a9e951ab315724ca39e332a7559ca98519442b0669241fd97ffdb3a0381667 | +| ibm-spectrum-scale-pmcollector-X | sysmon | cp.icr.io/cp/spectrum/scale | ibm-spectrum-scale-monitor@sha256:3f41d20e7beaf757778d8650172adf8456569607dab3479eb4524407ed2e4a13 | +| ibm-spectrum-scale-csi-snapshotter | csi-snapshotter | cp.icr.io/cp/spectrum/scale/csi | csi-snapshotter@sha256:1a29ab1e4ecdc33a84062cec757620d9787c28b28793202c5b78ae097c3dee27 | +| ibm-spectrum-scale-csi-attacher | ibm-spectrum-scale-csi-attacher | cp.icr.io/cp/spectrum/scale/csi | csi-attacher@sha256:d69cc72025f7c40dae112ff989e920a3331583497c8dfb1600c5ae0e37184a29 | +| ibm-spectrum-scale-csi-provisioner | csi-provisioner | cp.icr.io/cp/spectrum/scale/csi | csi-provisioner@sha256:de79c8bbc271622eb94d2ee8689f189ea7c1cb6adac260a421980fe5eed66708 | +| ibm-spectrum-scale-csi-driver-XXXXX | liveness-probe | cp.icr.io/cp/spectrum/scale/csi | livenessprobe@sha256:5baeb4a6d7d517434292758928bb33efc6397368cbb48c8a4cf29496abf4e987 | +| ibm-spectrum-scale-csi-driver-XXXXX | driver-registrar | cp.icr.io/cp/spectrum/scale/csi | csi-node-driver-registrar@sha256:c53535af8a7f7e3164609838c4b191b42b2d81238d75c1b2a2b582ada62a9780 | +| ibm-spectrum-scale-csi-resizer-X | ibm-spectrum-scale-csi-resizer | cp.icr.io/cp/spectrum/scale/csi | csi-resizer@sha256:4c148bbdf883153bc72d321be4dc55c33774a6d98b2b3e0c2da6ae389149a9b7 | +| ibm-spectrum-scale-csi-driver-XXXXX | ibm-spectrum-scale-csi | cp.icr.io/cp/spectrum/scale/csi | ibm-spectrum-scale-csi-driver@sha256:b2bc343eadbc11d9ed74a8477d2cd0a7a8460a72203d3f6236d4662e68df1166 | +| ibm-spectrum-scale-grafana-bridge-X | grafanabridge | cp.icr.io/cp/spectrum/scale | ibm-spectrum-scale-grafana-bridge@sha256:a6ca689d8205f17bb278910c521842f98ced8537aba55b287792a91269bf2f41 | +| coredns-XXXXX | coredns | cp.icr.io/cp/spectrum/scale | ibm-spectrum-scale-coredns@sha256:88cbfe40fd302a6467cb7e852b298f6c8d8659782ab313706d491d3ddf172a6e | +{: caption="Images (entitled)" caption-side="bottom"} *Pod names that contain the mmbuildgpl, config, and gpfs containers may vary. The pod name is based on the shortname of the node that it was scheduled to. @@ -44,29 +46,32 @@ The images that are listed in the following table are the container images that ## Air gapped +For air-gapped support, a production-grade Docker V2 registry that is available and accessible from the Red Hat OpenShift Container Platform cluster nodes is required. This might be such registry as Quay Enterprise, JFrog Artifactory, or Docker Registry. The Red Hat OpenShift Internal Registry is not supported. + When setting up your environment to be air-gapped, use `skopeo` to copy the following images from the IBM Entitled Container Registry to your internal production-grade image registry. For more information, see [Skopeo Copy to the Rescue](https://www.redhat.com/en/blog/skopeo-copy-rescue). ```bash # IBM Storage Scale container native images -icr.io/cpopen/ibm-spectrum-scale-operator@sha256:85fb826bdafff98bac9046001f8fb6e8dd5da67c2322b12b2e436ba86ff3d99a -cp.icr.io/cp/spectrum/scale/data-access/ibm-spectrum-scale-daemon@sha256:151a3e73ea7d8be39b4f74fb1516d2043f33665a21cc1351a7b6401f46b9a9fd -cp.icr.io/cp/spectrum/scale/data-management/ibm-spectrum-scale-daemon@sha256:26880dbf5dfe214fc00581826d1486069cb7489fe23e64904eb7004d8db31602 -cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-core-init@sha256:79b1354e5a4c3c0341b448ca3fcd504a1b33df94f74099046cfa6e13b883d1f8 -cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-pmcollector@sha256:41c90bb86fafc5785376d842b098ddbc98bc94b64421e8da7c5aaa54bd9602e8 -cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-monitor@sha256:815ee1b6af28e693a9b1d54b2b496a3e7dc5b25c51cf60e17a7faa222e44a8b3 -cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-gui@sha256:29e828701e55c5de848f83a188b2a09de35227aeb6bbdc06ad01b5ec34d2c654 -cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-grafana-bridge@sha256:8bf1a89ee1e9e52a3f9cd49e1c1747b02fbe7f84f071667ab0e12ea6f25f32f2 -icr.io/cpopen/ibm-spectrum-scale-must-gather@sha256:78bd4a9ca171ff062a9de912ea782a7eb1208ec68d04e1e71a12767fed8e8d1c -cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-coredns@sha256:1ba4d51e896607c6f968f8df8e04ccfe7a71babd778838c9de040beda6bf1ff7 -cp.icr.io/cp/spectrum/scale/ubi-minimal@sha256:582e18f13291d7c686ec4e6e92d20b24c62ae0fc72767c46f30a69b1a6198055 -cp.icr.io/cp/spectrum/scale/postgres@sha256:b2f06ce12103bedbc0a49ae4ffff062d90824e0f45462de712f66952679f7670 +icr.io/cpopen/ibm-spectrum-scale-operator@sha256:d44f11cc61f410dd20d7bb52ac28eebc80f928eede9be434c270a7ad5648b626 +cp.icr.io/cp/spectrum/scale/data-access/ibm-spectrum-scale-daemon@sha256:0a6c1c0c588168bde48c82ae0ab2ad0ab51429680840dca90f19b24fcbfc3c2c +cp.icr.io/cp/spectrum/scale/data-management/ibm-spectrum-scale-daemon@sha256:65a1b65e4076ac7be840904a6a1d59eb74849cda58a1a4a59b2f9a8de94652de +cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-core-init@sha256:089718b2d96d909b86bf19448c4d86f31a3877eb450d465d830e55133415015d +cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-pmcollector@sha256:07a9e951ab315724ca39e332a7559ca98519442b0669241fd97ffdb3a0381667 +cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-monitor@sha256:3f41d20e7beaf757778d8650172adf8456569607dab3479eb4524407ed2e4a13 +cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-gui@sha256:93288c812f0bace075eb785f519d6d7f684bdb33407c44a93b53df9abdd16e0a +cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-grafana-bridge@sha256:a6ca689d8205f17bb278910c521842f98ced8537aba55b287792a91269bf2f41 +icr.io/cpopen/ibm-spectrum-scale-must-gather@sha256:eab5b2e72579b96f2cfc04162e4dd6ace7eb3570f2f08dca552c045ea29faa3d +cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-coredns@sha256:88cbfe40fd302a6467cb7e852b298f6c8d8659782ab313706d491d3ddf172a6e +cp.icr.io/cp/spectrum/scale/ubi-minimal@sha256:bc552efb4966aaa44b02532be3168ac1ff18e2af299d0fe89502a1d9fabafbc5 +cp.icr.io/cp/spectrum/scale/postgres@sha256:bbd7346fab25b7e0b25f214829d6ebfb78ef0465059492e46dee740ce8fcd844 # IBM Container Storage Interface (CSI) images -icr.io/cpopen/ibm-spectrum-scale-csi-operator@sha256:ccb895d8916171352aed2f06d9d6f3a1a7aba20405cd129091e9b57d59ad1343 -cp.icr.io/cp/spectrum/scale/csi/ibm-spectrum-scale-csi-driver@sha256:a61878203bb642320e67edc9229bf84ad37ef0828522ad6d8566bd7747d631f6 -cp.icr.io/cp/spectrum/scale/csi/csi-snapshotter@sha256:becc53e25b96573f61f7469923a92fb3e9d3a3781732159954ce0d9da07233a2 -cp.icr.io/cp/spectrum/scale/csi/csi-provisioner@sha256:d078dc174323407e8cc6f0f9abd4efaac5db27838f1564d0253d5e3233e3f17f -cp.icr.io/cp/spectrum/scale/csi/csi-node-driver-registrar@sha256:f6717ce72a2615c7fbc746b4068f788e78579c54c43b8716e5ce650d97af2df1 -cp.icr.io/cp/spectrum/scale/csi/csi-attacher@sha256:4eb73137b66381b7b5dfd4d21d460f4b4095347ab6ed4626e0199c29d8d021af -cp.icr.io/cp/spectrum/scale/csi/livenessprobe@sha256:4dc0b87ccd69f9865b89234d8555d3a614ab0a16ed94a3016ffd27f8106132ce -cp.icr.io/cp/spectrum/scale/csi/csi-resizer@sha256:2e2b44393539d744a55b9370b346e8ebd95a77573064f3f9a8caf18c22f4d0d0 +icr.io/cpopen/ibm-spectrum-scale-csi-operator@sha256:bd264199ac10d574163bfa32bb88844fd786ee6f794a56e235591d2f051c7807 +cp.icr.io/cp/spectrum/scale/csi/ibm-spectrum-scale-csi-driver@sha256:b2bc343eadbc11d9ed74a8477d2cd0a7a8460a72203d3f6236d4662e68df1166 +cp.icr.io/cp/spectrum/scale/csi/csi-snapshotter@sha256:1a29ab1e4ecdc33a84062cec757620d9787c28b28793202c5b78ae097c3dee27 +cp.icr.io/cp/spectrum/scale/csi/csi-provisioner@sha256:de79c8bbc271622eb94d2ee8689f189ea7c1cb6adac260a421980fe5eed66708 +cp.icr.io/cp/spectrum/scale/csi/csi-node-driver-registrar@sha256:c53535af8a7f7e3164609838c4b191b42b2d81238d75c1b2a2b582ada62a9780 +cp.icr.io/cp/spectrum/scale/csi/csi-attacher@sha256:d69cc72025f7c40dae112ff989e920a3331583497c8dfb1600c5ae0e37184a29 +cp.icr.io/cp/spectrum/scale/csi/livenessprobe@sha256:5baeb4a6d7d517434292758928bb33efc6397368cbb48c8a4cf29496abf4e987 +cp.icr.io/cp/spectrum/scale/csi/csi-resizer@sha256:4c148bbdf883153bc72d321be4dc55c33774a6d98b2b3e0c2da6ae389149a9b7 ``` + diff --git a/generated/scale/v1beta1/callhome/callhome.yaml b/generated/scale/cr/callhome/callhome.yaml similarity index 100% rename from generated/scale/v1beta1/callhome/callhome.yaml rename to generated/scale/cr/callhome/callhome.yaml diff --git a/generated/scale/v1beta1/cluster/cluster.yaml b/generated/scale/cr/cluster/cluster.yaml similarity index 95% rename from generated/scale/v1beta1/cluster/cluster.yaml rename to generated/scale/cr/cluster/cluster.yaml index a50e415..f9b0c1b 100644 --- a/generated/scale/v1beta1/cluster/cluster.yaml +++ b/generated/scale/cr/cluster/cluster.yaml @@ -44,6 +44,10 @@ spec: resources: cpu: "2" memory: 4Gi + - name: storage + resources: + cpu: "2" + memory: 8Gi # ------------------------------------------------------------------------------- # grafana bridge is optional # ------------------------------------------------------------------------------- @@ -53,7 +57,7 @@ spec: # User must accept the Spectrum Scale license to deploy a CNSA cluster. # By specifying "accept: true" below, user agrees to the terms and conditions set # forth by the IBM Spectrum Scale Container Native Data Access/Data Management license located - # at https://www.ibm.com/support/customer/csol/terms/?id=L-WTYD-L6XAV7 + # at https://www.ibm.com/support/customer/csol/terms/?id=L-YXLU-VTKFBH # # Enter either data-access or data-management to the license.license field. Customers entitled to # the Data Management Edition can use either data-management or data-access. Customers entitled to diff --git a/generated/scale/v1beta1/encryptionconfig/encryptionconfig.remote.yaml b/generated/scale/cr/encryptionconfig/encryptionconfig.remote.yaml similarity index 100% rename from generated/scale/v1beta1/encryptionconfig/encryptionconfig.remote.yaml rename to generated/scale/cr/encryptionconfig/encryptionconfig.remote.yaml diff --git a/generated/scale/cr/filesystem/filesystem.local.yaml b/generated/scale/cr/filesystem/filesystem.local.yaml new file mode 100644 index 0000000..55a9c1f --- /dev/null +++ b/generated/scale/cr/filesystem/filesystem.local.yaml @@ -0,0 +1,25 @@ +apiVersion: scale.spectrum.ibm.com/v1beta1 +kind: Filesystem +metadata: + labels: + app.kubernetes.io/instance: ibm-spectrum-scale + app.kubernetes.io/name: cluster + name: local-sample + namespace: ibm-spectrum-scale +spec: + local: + blockSize: 4M + pools: + - disks: + - worker0-vdb + - worker0-vdc + - worker1-vdb + - worker1-vdc + - worker2-vdb + - worker2-vdc + name: system + seLinuxOptions: + level: s0 + role: object_r + type: container_file_t + user: system_u diff --git a/generated/scale/v1beta1/filesystem/filesystem.remote.yaml b/generated/scale/cr/filesystem/filesystem.remote.yaml similarity index 100% rename from generated/scale/v1beta1/filesystem/filesystem.remote.yaml rename to generated/scale/cr/filesystem/filesystem.remote.yaml diff --git a/generated/scale/cr/localdisk/localdisk.yaml b/generated/scale/cr/localdisk/localdisk.yaml new file mode 100644 index 0000000..6554c16 --- /dev/null +++ b/generated/scale/cr/localdisk/localdisk.yaml @@ -0,0 +1,71 @@ +apiVersion: scale.spectrum.ibm.com/v1beta1 +kind: LocalDisk +metadata: + labels: + app.kubernetes.io/instance: ibm-spectrum-scale + app.kubernetes.io/name: cluster + name: worker0-vdb + namespace: ibm-spectrum-scale +spec: + device: /dev/vdb + node: worker0.example.com +--- +apiVersion: scale.spectrum.ibm.com/v1beta1 +kind: LocalDisk +metadata: + labels: + app.kubernetes.io/instance: ibm-spectrum-scale + app.kubernetes.io/name: cluster + name: worker0-vdc + namespace: ibm-spectrum-scale +spec: + device: /dev/vdc + node: worker0.example.com +--- +apiVersion: scale.spectrum.ibm.com/v1beta1 +kind: LocalDisk +metadata: + labels: + app.kubernetes.io/instance: ibm-spectrum-scale + app.kubernetes.io/name: cluster + name: worker1-vdb + namespace: ibm-spectrum-scale +spec: + device: /dev/vdb + node: worker1.example.com +--- +apiVersion: scale.spectrum.ibm.com/v1beta1 +kind: LocalDisk +metadata: + labels: + app.kubernetes.io/instance: ibm-spectrum-scale + app.kubernetes.io/name: cluster + name: worker1-vdc + namespace: ibm-spectrum-scale +spec: + device: /dev/vdc + node: worker1.example.com +--- +apiVersion: scale.spectrum.ibm.com/v1beta1 +kind: LocalDisk +metadata: + labels: + app.kubernetes.io/instance: ibm-spectrum-scale + app.kubernetes.io/name: cluster + name: worker2-vdb + namespace: ibm-spectrum-scale +spec: + device: /dev/vdb + node: worker2.example.com +--- +apiVersion: scale.spectrum.ibm.com/v1beta1 +kind: LocalDisk +metadata: + labels: + app.kubernetes.io/instance: ibm-spectrum-scale + app.kubernetes.io/name: cluster + name: worker2-vdc + namespace: ibm-spectrum-scale +spec: + device: /dev/vdc + node: worker2.example.com diff --git a/generated/scale/v1beta1/remotecluster/remotecluster.yaml b/generated/scale/cr/remotecluster/remotecluster.yaml similarity index 80% rename from generated/scale/v1beta1/remotecluster/remotecluster.yaml rename to generated/scale/cr/remotecluster/remotecluster.yaml index c723c72..4d8bb4b 100644 --- a/generated/scale/v1beta1/remotecluster/remotecluster.yaml +++ b/generated/scale/cr/remotecluster/remotecluster.yaml @@ -19,7 +19,12 @@ spec: # This is the secret that contains the CSIAdmin user # credentials in the ibm-spectrum-scale-csi namespace. csiSecretName: csi-remote-mount-storage-cluster-1 - host: guihost.example.com + # hosts are the the GUI endpoints from the storage cluster. Multiple + # hosts (up to 3) can be specified to ensure high availability of GUI. + hosts: + - guihost1.example.com + # - guihost2.example.com + # - guihost3.example.com insecureSkipVerify: false # This is the secret that contains the ContainerOperator user # credentials in the ibm-spectrum-scale namespace. diff --git a/generated/scale/install-excluding-operator.yaml b/generated/scale/install-excluding-operator.yaml index b5f2050..2e911d0 100644 --- a/generated/scale/install-excluding-operator.yaml +++ b/generated/scale/install-excluding-operator.yaml @@ -43,7 +43,7 @@ metadata: labels: app.kubernetes.io/instance: ibm-spectrum-scale app.kubernetes.io/name: operator - app.kubernetes.io/version: v5.1.9.3 + app.kubernetes.io/version: v5.2.0.0 control-plane: controller-manager pod-security.kubernetes.io/audit: restricted pod-security.kubernetes.io/enforce: restricted @@ -1303,6 +1303,23 @@ spec: type: string tscCmdPortRange: type: string + verbsPorts: + type: string + verbsRdma: + enum: + - enable + - disable + type: string + verbsRdmaCm: + enum: + - enable + - disable + type: string + verbsRdmaSend: + enum: + - "yes" + - "no" + type: string type: object hostAliases: description: hostAliases that will be added to the internal DNS @@ -1485,6 +1502,23 @@ spec: type: string tscCmdPortRange: type: string + verbsPorts: + type: string + verbsRdma: + enum: + - enable + - disable + type: string + verbsRdmaCm: + enum: + - enable + - disable + type: string + verbsRdmaSend: + enum: + - "yes" + - "no" + type: string type: object resources: description: The Memory/CPU resource requests that will @@ -1654,7 +1688,7 @@ spec: properties: accept: description: Read the license and specify "true" to accept or - "false" to not accept. https://www.ibm.com/support/customer/csol/terms/?id=L-WTYD-L6XAV7 + "false" to not accept. https://www.ibm.com/support/customer/csol/terms/?id=L-YXLU-VTKFBH BY DOWNLOADING, INSTALLING, COPYING, ACCESSING, CLICKING ON AN "ACCEPT" BUTTON, OR OTHERWISE USING THE PROGRAM, LICENSEE AGREES TO THE TERMS OF THIS AGREEMENT. IF YOU ARE ACCEPTING @@ -3561,10 +3595,6 @@ spec: name: Terminating priority: 10 type: string - - jsonPath: .status.podsStatus.waitingForDelete - name: Waiting Delete - priority: 10 - type: string - jsonPath: .status.quorumPods.total name: Quorum priority: 10 @@ -3760,6 +3790,23 @@ spec: type: string tscCmdPortRange: type: string + verbsPorts: + type: string + verbsRdma: + enum: + - enable + - disable + type: string + verbsRdmaCm: + enum: + - enable + - disable + type: string + verbsRdmaSend: + enum: + - "yes" + - "no" + type: string type: object edition: description: It specifies the IBM Spectrum Scale edition, "data-access" @@ -3960,6 +4007,23 @@ spec: type: string tscCmdPortRange: type: string + verbsPorts: + type: string + verbsRdma: + enum: + - enable + - disable + type: string + verbsRdmaCm: + enum: + - enable + - disable + type: string + verbsRdmaSend: + enum: + - "yes" + - "no" + type: string type: object resources: description: The Memory/CPU resource requests that will be set @@ -4119,6 +4183,69 @@ spec: - type type: object type: array + cordonAndDrain: + description: Details about nodes that are cordoned and drained and + pods that are evicted by Scale operator. + properties: + nodesCordonedByOperator: + description: List of nodes that are cordoned by Scale operator. + These nodes have status SchedulingDisabled. Nodes that are cordoned + by third party like machine config operator are not listed. + type: string + nodesCordonedByOthers: + description: List of nodes that are cordoned by third party like + machine config operator. These nodes have status SchedulingDisabled. + Nodes that are cordoned by Scale operator are not listed. + type: string + nodesDraining: + description: List of nodes on which the Scale operator is currently + evicting pods + items: + properties: + node: + description: The node that is currently drained by the Scale + operator + type: string + ongoingPodEvictions: + description: The pods that the Scale operator is currently + evicting + items: + type: string + type: array + podEvictionsFailed: + description: The pods that failed to evict. The Scale operator + continues to try to evict these pods. + items: + type: string + type: array + required: + - node + - ongoingPodEvictions + - podEvictionsFailed + type: object + type: array + podEvictionRequests: + description: List of daemon core pod evictions that are requested + by third party (like machine config operator). + items: + properties: + pods: + description: Scale core pods that has been requested for + eviction. + type: string + requestor: + description: Name of requestor that requests the eviction + of the pod. + type: string + required: + - pods + - requestor + type: object + type: array + required: + - nodesCordonedByOperator + - nodesCordonedByOthers + type: object failureGroup: description: FailureGroup whose pods are upgraded next type: string @@ -4228,9 +4355,38 @@ spec: description: List of core pods with unknown status. Pods scheduled on unreachable nodes are listed here. type: string - podsWaitingForDelete: + podsUnsafeToDelete: + description: List of core pods that can currently not be deleted + because deleting the pods would result in an unsafe condition. + items: + properties: + deleteUnsafeReason: + description: The reason why the pods are unsafe to be deleted + type: string + pods: + description: List of core pods that are not safe to be deleted + by the Storage Scale operator + type: string + required: + - deleteUnsafeReason + - pods + type: object + type: array + podsWaitingToBeDeleted: description: List of core pods that will be deleted soon - type: string + items: + properties: + deleteReason: + description: Reason for deleting the core pods + type: string + pods: + description: List of core pods that will be deleted soon + type: string + required: + - deleteReason + - pods + type: object + type: array quorumPods: description: List of pods that act as quorum node for Spectrum Scale @@ -4242,7 +4398,6 @@ spec: - podsStarting - podsTerminating - podsUnknown - - podsWaitingForDelete - quorumPods type: object versions: @@ -5000,6 +5155,8 @@ spec: - type type: object type: array + rkmId: + type: string type: object type: object served: true @@ -6018,125 +6175,6 @@ spec: --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.9.0 - creationTimestamp: null - labels: - app.kubernetes.io/instance: ibm-spectrum-scale - app.kubernetes.io/name: operator - name: networkpolicies.scale.spectrum.ibm.com -spec: - group: scale.spectrum.ibm.com - names: - categories: - - scale - kind: NetworkPolicy - listKind: NetworkPolicyList - plural: networkpolicies - singular: networkpolicy - scope: Cluster - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: NetworkPolicy is the Schema for the NetworkPolicy API - 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: NetworkPolicySpec defines the desired state of NetworkPolicy - type: object - status: - description: NetworkPolicyStatus defines the observed state of NetworkPolicy - properties: - conditions: - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other 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: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - 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. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - 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 - - message - - reason - - status - - type - type: object - type: array - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.9.0 @@ -6802,9 +6840,6 @@ spec: scope: Namespaced versions: - additionalPrinterColumns: - - jsonPath: .spec.gui.host - name: Host - type: string - jsonPath: .status.conditions[?(@.type=="Ready")].status name: Ready type: string @@ -6834,8 +6869,10 @@ spec: contactNodes: description: This property is optional and provides a list of nodes from the storage cluster to be used as the remote cluster contact - nodes. The names should be the daemon node names. If not specified, - the operator uses any 3 nodes detected from the storage cluster. + nodes. The names must be the daemon node names. If not specified, + the operator uses all quorum nodes detected from the storage cluster. + If the contact node names are not resolvable in local cluster, configure + the 'hostAliases' with node name and IP in Cluster CR. items: type: string type: array @@ -6853,14 +6890,38 @@ spec: namespace. type: string host: - description: host of the remote cluster REST API endpoint. This - must be resolvable by DNS. + description: host references a REST API endpoint on the remote + cluster. This must be resolvable by DNS. This field is DEPRECATED + and will be removed in a future release. Use field 'hosts' instead. type: string + hosts: + description: hosts references one or more REST API endpoints on + the remote cluster. Up to 3 endpoints can be specified. The + hosts must be resolvable by DNS. + items: + type: string + maxItems: 3 + type: array insecureSkipVerify: description: insecureSkipVerify controls whether a client verifies the server's certificate chain and host name. If set true, TLS is susceptible to machine-in-the-middle attacks. type: boolean + passwordRotation: + description: passwordRotation allows to configure automatic password + rotation of the container operator and CSI admin GUI users. + Automatic password rotation is disabled if this section is not + specified. + properties: + passwordChangeInterval: + default: "80" + description: 'passwordChangeInterval allows the configuration + in days for the operator to change the user passwords on + the storage cluster. Specify the value surrounded by double + quotes (like passwordChangeFrequency: "30"). The default + value is 80 days.' + type: string + type: object port: default: 443 description: It specifies the port of the Remote Cluster. @@ -6878,7 +6939,6 @@ spec: type: string required: - csiSecretName - - host - secretName type: object required: @@ -6955,6 +7015,11 @@ spec: - type type: object type: array + lastPasswordChange: + description: lastPasswordChange indicates when the passwords for the + remote storage users was last changed by the operator. This field + is only present if the automatic password rotation function is enabled. + type: string localKeySHADigest: description: localKeySHADigest is the digest of the public access key that must be used by the remote cluster in order to communicate @@ -7420,7 +7485,7 @@ spec: name: description: Define the name of the site. maxLength: 60 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + pattern: ^[a-z0-9]([_a-z0-9]*[a-z0-9])?$ type: string required: - kubeApi @@ -7907,6 +7972,83 @@ spec: subresources: status: {} --- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.0 + creationTimestamp: null + labels: + app.kubernetes.io/instance: ibm-spectrum-scale + app.kubernetes.io/name: operator + name: volumes.scale.spectrum.ibm.com +spec: + group: scale.spectrum.ibm.com + names: + kind: Volume + listKind: VolumeList + plural: volumes + singular: volume + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: Volume + 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: VolumeSpec defines the desired state of Volume + properties: + accessModes: + items: + type: string + type: array + capacity: + 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: ResourceList is a set of (resource name, quantity) pairs. + type: object + consistencyGroup: + type: string + pvcName: + type: string + pvcNamespace: + type: string + reclaimPolicy: + description: PersistentVolumeReclaimPolicy describes a policy for + end-of-life maintenance of persistent volumes. + type: string + required: + - accessModes + - capacity + - consistencyGroup + - pvcName + - pvcNamespace + - reclaimPolicy + type: object + status: + description: VolumeStatus defines the observed state of Volume + type: object + type: object + served: true + storage: true +--- apiVersion: v1 imagePullSecrets: - name: ibm-spectrum-scale-csi-registrykey @@ -8199,44 +8341,6 @@ rules: --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole -metadata: - labels: - app.kubernetes.io/instance: ibm-spectrum-scale - app.kubernetes.io/name: coredns - name: ibm-spectrum-scale-dns -rules: -- apiGroups: - - "" - resources: - - endpoints - - services - - pods - - namespaces - verbs: - - list - - watch -- apiGroups: - - discovery.k8s.io - resources: - - endpointslices - verbs: - - list - - watch -- apiGroups: - - authentication.k8s.io - resources: - - tokenreviews - verbs: - - create -- apiGroups: - - authorization.k8s.io - resources: - - subjectaccessreviews - verbs: - - create ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole metadata: labels: app.kubernetes.io/instance: ibm-spectrum-scale @@ -8585,6 +8689,7 @@ rules: - poddisruptionbudgets verbs: - create + - delete - get - list - patch @@ -9451,22 +9556,6 @@ subjects: --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding -metadata: - labels: - app.kubernetes.io/instance: ibm-spectrum-scale - app.kubernetes.io/name: coredns - name: ibm-spectrum-scale-dns -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: ibm-spectrum-scale-dns -subjects: -- kind: ServiceAccount - name: ibm-spectrum-scale-dns - namespace: ibm-spectrum-scale-dns ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding metadata: labels: app.kubernetes.io/instance: ibm-spectrum-scale @@ -9536,7 +9625,7 @@ apiVersion: apps/v1 kind: Deployment metadata: annotations: - productVersion: 2.10.1 + productVersion: 2.11.0 labels: app.kubernetes.io/instance: ibm-spectrum-scale-csi-operator app.kubernetes.io/managed-by: ibm-spectrum-scale-csi-operator @@ -9555,7 +9644,7 @@ spec: annotations: productID: ibm-spectrum-scale-csi-operator productName: IBM Spectrum Scale CSI Operator - productVersion: 2.10.1 + productVersion: 2.11.0 labels: app.kubernetes.io/instance: ibm-spectrum-scale-csi-operator app.kubernetes.io/managed-by: ibm-spectrum-scale-csi-operator @@ -9582,26 +9671,26 @@ spec: - name: SHORTNAME_NODE_MAPPING value: "yes" - name: CSI_SNAPSHOTTER_IMAGE - value: cp.icr.io/cp/spectrum/scale/csi/csi-snapshotter@sha256:becc53e25b96573f61f7469923a92fb3e9d3a3781732159954ce0d9da07233a2 + value: cp.icr.io/cp/spectrum/scale/csi/csi-snapshotter@sha256:1a29ab1e4ecdc33a84062cec757620d9787c28b28793202c5b78ae097c3dee27 - name: CSI_ATTACHER_IMAGE - value: cp.icr.io/cp/spectrum/scale/csi/csi-attacher@sha256:4eb73137b66381b7b5dfd4d21d460f4b4095347ab6ed4626e0199c29d8d021af + value: cp.icr.io/cp/spectrum/scale/csi/csi-attacher@sha256:d69cc72025f7c40dae112ff989e920a3331583497c8dfb1600c5ae0e37184a29 - name: CSI_PROVISIONER_IMAGE - value: cp.icr.io/cp/spectrum/scale/csi/csi-provisioner@sha256:d078dc174323407e8cc6f0f9abd4efaac5db27838f1564d0253d5e3233e3f17f + value: cp.icr.io/cp/spectrum/scale/csi/csi-provisioner@sha256:de79c8bbc271622eb94d2ee8689f189ea7c1cb6adac260a421980fe5eed66708 - name: CSI_LIVENESSPROBE_IMAGE - value: cp.icr.io/cp/spectrum/scale/csi/livenessprobe@sha256:4dc0b87ccd69f9865b89234d8555d3a614ab0a16ed94a3016ffd27f8106132ce + value: cp.icr.io/cp/spectrum/scale/csi/livenessprobe@sha256:5baeb4a6d7d517434292758928bb33efc6397368cbb48c8a4cf29496abf4e987 - name: CSI_NODE_REGISTRAR_IMAGE - value: cp.icr.io/cp/spectrum/scale/csi/csi-node-driver-registrar@sha256:f6717ce72a2615c7fbc746b4068f788e78579c54c43b8716e5ce650d97af2df1 + value: cp.icr.io/cp/spectrum/scale/csi/csi-node-driver-registrar@sha256:c53535af8a7f7e3164609838c4b191b42b2d81238d75c1b2a2b582ada62a9780 - name: CSI_RESIZER_IMAGE - value: cp.icr.io/cp/spectrum/scale/csi/csi-resizer@sha256:2e2b44393539d744a55b9370b346e8ebd95a77573064f3f9a8caf18c22f4d0d0 + value: cp.icr.io/cp/spectrum/scale/csi/csi-resizer@sha256:4c148bbdf883153bc72d321be4dc55c33774a6d98b2b3e0c2da6ae389149a9b7 - name: CSI_DRIVER_IMAGE - value: cp.icr.io/cp/spectrum/scale/csi/ibm-spectrum-scale-csi-driver@sha256:a61878203bb642320e67edc9229bf84ad37ef0828522ad6d8566bd7747d631f6 + value: cp.icr.io/cp/spectrum/scale/csi/ibm-spectrum-scale-csi-driver@sha256:b2bc343eadbc11d9ed74a8477d2cd0a7a8460a72203d3f6236d4662e68df1166 - name: METRICS_BIND_ADDRESS value: "8383" - name: WATCH_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - image: icr.io/cpopen/ibm-spectrum-scale-csi-operator@sha256:ccb895d8916171352aed2f06d9d6f3a1a7aba20405cd129091e9b57d59ad1343 + image: icr.io/cpopen/ibm-spectrum-scale-csi-operator@sha256:bd264199ac10d574163bfa32bb88844fd786ee6f794a56e235591d2f051c7807 imagePullPolicy: IfNotPresent livenessProbe: exec: @@ -9953,6 +10042,26 @@ webhooks: resources: - localdisks sideEffects: None +- admissionReviewVersions: + - v1 + clientConfig: + service: + name: ibm-spectrum-scale-webhook-service + namespace: ibm-spectrum-scale-operator + path: /validate-scale-spectrum-ibm-com-v1beta1-remotecluster + failurePolicy: Fail + name: vremotecluster.scale.spectrum.ibm.com + rules: + - apiGroups: + - scale.spectrum.ibm.com + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - remoteclusters + sideEffects: None - admissionReviewVersions: - v1 clientConfig: diff --git a/generated/scale/install.yaml b/generated/scale/install.yaml index 0d3cf78..18f4663 100644 --- a/generated/scale/install.yaml +++ b/generated/scale/install.yaml @@ -43,7 +43,7 @@ metadata: labels: app.kubernetes.io/instance: ibm-spectrum-scale app.kubernetes.io/name: operator - app.kubernetes.io/version: v5.1.9.3 + app.kubernetes.io/version: v5.2.0.0 control-plane: controller-manager pod-security.kubernetes.io/audit: restricted pod-security.kubernetes.io/enforce: restricted @@ -1303,6 +1303,23 @@ spec: type: string tscCmdPortRange: type: string + verbsPorts: + type: string + verbsRdma: + enum: + - enable + - disable + type: string + verbsRdmaCm: + enum: + - enable + - disable + type: string + verbsRdmaSend: + enum: + - "yes" + - "no" + type: string type: object hostAliases: description: hostAliases that will be added to the internal DNS @@ -1485,6 +1502,23 @@ spec: type: string tscCmdPortRange: type: string + verbsPorts: + type: string + verbsRdma: + enum: + - enable + - disable + type: string + verbsRdmaCm: + enum: + - enable + - disable + type: string + verbsRdmaSend: + enum: + - "yes" + - "no" + type: string type: object resources: description: The Memory/CPU resource requests that will @@ -1654,7 +1688,7 @@ spec: properties: accept: description: Read the license and specify "true" to accept or - "false" to not accept. https://www.ibm.com/support/customer/csol/terms/?id=L-WTYD-L6XAV7 + "false" to not accept. https://www.ibm.com/support/customer/csol/terms/?id=L-YXLU-VTKFBH BY DOWNLOADING, INSTALLING, COPYING, ACCESSING, CLICKING ON AN "ACCEPT" BUTTON, OR OTHERWISE USING THE PROGRAM, LICENSEE AGREES TO THE TERMS OF THIS AGREEMENT. IF YOU ARE ACCEPTING @@ -3561,10 +3595,6 @@ spec: name: Terminating priority: 10 type: string - - jsonPath: .status.podsStatus.waitingForDelete - name: Waiting Delete - priority: 10 - type: string - jsonPath: .status.quorumPods.total name: Quorum priority: 10 @@ -3760,6 +3790,23 @@ spec: type: string tscCmdPortRange: type: string + verbsPorts: + type: string + verbsRdma: + enum: + - enable + - disable + type: string + verbsRdmaCm: + enum: + - enable + - disable + type: string + verbsRdmaSend: + enum: + - "yes" + - "no" + type: string type: object edition: description: It specifies the IBM Spectrum Scale edition, "data-access" @@ -3960,6 +4007,23 @@ spec: type: string tscCmdPortRange: type: string + verbsPorts: + type: string + verbsRdma: + enum: + - enable + - disable + type: string + verbsRdmaCm: + enum: + - enable + - disable + type: string + verbsRdmaSend: + enum: + - "yes" + - "no" + type: string type: object resources: description: The Memory/CPU resource requests that will be set @@ -4119,6 +4183,69 @@ spec: - type type: object type: array + cordonAndDrain: + description: Details about nodes that are cordoned and drained and + pods that are evicted by Scale operator. + properties: + nodesCordonedByOperator: + description: List of nodes that are cordoned by Scale operator. + These nodes have status SchedulingDisabled. Nodes that are cordoned + by third party like machine config operator are not listed. + type: string + nodesCordonedByOthers: + description: List of nodes that are cordoned by third party like + machine config operator. These nodes have status SchedulingDisabled. + Nodes that are cordoned by Scale operator are not listed. + type: string + nodesDraining: + description: List of nodes on which the Scale operator is currently + evicting pods + items: + properties: + node: + description: The node that is currently drained by the Scale + operator + type: string + ongoingPodEvictions: + description: The pods that the Scale operator is currently + evicting + items: + type: string + type: array + podEvictionsFailed: + description: The pods that failed to evict. The Scale operator + continues to try to evict these pods. + items: + type: string + type: array + required: + - node + - ongoingPodEvictions + - podEvictionsFailed + type: object + type: array + podEvictionRequests: + description: List of daemon core pod evictions that are requested + by third party (like machine config operator). + items: + properties: + pods: + description: Scale core pods that has been requested for + eviction. + type: string + requestor: + description: Name of requestor that requests the eviction + of the pod. + type: string + required: + - pods + - requestor + type: object + type: array + required: + - nodesCordonedByOperator + - nodesCordonedByOthers + type: object failureGroup: description: FailureGroup whose pods are upgraded next type: string @@ -4228,9 +4355,38 @@ spec: description: List of core pods with unknown status. Pods scheduled on unreachable nodes are listed here. type: string - podsWaitingForDelete: + podsUnsafeToDelete: + description: List of core pods that can currently not be deleted + because deleting the pods would result in an unsafe condition. + items: + properties: + deleteUnsafeReason: + description: The reason why the pods are unsafe to be deleted + type: string + pods: + description: List of core pods that are not safe to be deleted + by the Storage Scale operator + type: string + required: + - deleteUnsafeReason + - pods + type: object + type: array + podsWaitingToBeDeleted: description: List of core pods that will be deleted soon - type: string + items: + properties: + deleteReason: + description: Reason for deleting the core pods + type: string + pods: + description: List of core pods that will be deleted soon + type: string + required: + - deleteReason + - pods + type: object + type: array quorumPods: description: List of pods that act as quorum node for Spectrum Scale @@ -4242,7 +4398,6 @@ spec: - podsStarting - podsTerminating - podsUnknown - - podsWaitingForDelete - quorumPods type: object versions: @@ -5000,6 +5155,8 @@ spec: - type type: object type: array + rkmId: + type: string type: object type: object served: true @@ -6018,125 +6175,6 @@ spec: --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.9.0 - creationTimestamp: null - labels: - app.kubernetes.io/instance: ibm-spectrum-scale - app.kubernetes.io/name: operator - name: networkpolicies.scale.spectrum.ibm.com -spec: - group: scale.spectrum.ibm.com - names: - categories: - - scale - kind: NetworkPolicy - listKind: NetworkPolicyList - plural: networkpolicies - singular: networkpolicy - scope: Cluster - versions: - - name: v1alpha1 - schema: - openAPIV3Schema: - description: NetworkPolicy is the Schema for the NetworkPolicy API - 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: NetworkPolicySpec defines the desired state of NetworkPolicy - type: object - status: - description: NetworkPolicyStatus defines the observed state of NetworkPolicy - properties: - conditions: - items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other 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: - description: message is a human readable message indicating - details about the transition. This may be an empty string. - maxLength: 32768 - type: string - observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. - format: int64 - minimum: 0 - type: integer - reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. - This field may not be empty. - maxLength: 1024 - minLength: 1 - pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ - 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. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) - 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 - - message - - reason - - status - - type - type: object - type: array - type: object - type: object - served: true - storage: true - subresources: - status: {} ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.9.0 @@ -6802,9 +6840,6 @@ spec: scope: Namespaced versions: - additionalPrinterColumns: - - jsonPath: .spec.gui.host - name: Host - type: string - jsonPath: .status.conditions[?(@.type=="Ready")].status name: Ready type: string @@ -6834,8 +6869,10 @@ spec: contactNodes: description: This property is optional and provides a list of nodes from the storage cluster to be used as the remote cluster contact - nodes. The names should be the daemon node names. If not specified, - the operator uses any 3 nodes detected from the storage cluster. + nodes. The names must be the daemon node names. If not specified, + the operator uses all quorum nodes detected from the storage cluster. + If the contact node names are not resolvable in local cluster, configure + the 'hostAliases' with node name and IP in Cluster CR. items: type: string type: array @@ -6853,14 +6890,38 @@ spec: namespace. type: string host: - description: host of the remote cluster REST API endpoint. This - must be resolvable by DNS. + description: host references a REST API endpoint on the remote + cluster. This must be resolvable by DNS. This field is DEPRECATED + and will be removed in a future release. Use field 'hosts' instead. type: string + hosts: + description: hosts references one or more REST API endpoints on + the remote cluster. Up to 3 endpoints can be specified. The + hosts must be resolvable by DNS. + items: + type: string + maxItems: 3 + type: array insecureSkipVerify: description: insecureSkipVerify controls whether a client verifies the server's certificate chain and host name. If set true, TLS is susceptible to machine-in-the-middle attacks. type: boolean + passwordRotation: + description: passwordRotation allows to configure automatic password + rotation of the container operator and CSI admin GUI users. + Automatic password rotation is disabled if this section is not + specified. + properties: + passwordChangeInterval: + default: "80" + description: 'passwordChangeInterval allows the configuration + in days for the operator to change the user passwords on + the storage cluster. Specify the value surrounded by double + quotes (like passwordChangeFrequency: "30"). The default + value is 80 days.' + type: string + type: object port: default: 443 description: It specifies the port of the Remote Cluster. @@ -6878,7 +6939,6 @@ spec: type: string required: - csiSecretName - - host - secretName type: object required: @@ -6955,6 +7015,11 @@ spec: - type type: object type: array + lastPasswordChange: + description: lastPasswordChange indicates when the passwords for the + remote storage users was last changed by the operator. This field + is only present if the automatic password rotation function is enabled. + type: string localKeySHADigest: description: localKeySHADigest is the digest of the public access key that must be used by the remote cluster in order to communicate @@ -7420,7 +7485,7 @@ spec: name: description: Define the name of the site. maxLength: 60 - pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ + pattern: ^[a-z0-9]([_a-z0-9]*[a-z0-9])?$ type: string required: - kubeApi @@ -7907,6 +7972,83 @@ spec: subresources: status: {} --- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.9.0 + creationTimestamp: null + labels: + app.kubernetes.io/instance: ibm-spectrum-scale + app.kubernetes.io/name: operator + name: volumes.scale.spectrum.ibm.com +spec: + group: scale.spectrum.ibm.com + names: + kind: Volume + listKind: VolumeList + plural: volumes + singular: volume + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: Volume + 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: VolumeSpec defines the desired state of Volume + properties: + accessModes: + items: + type: string + type: array + capacity: + 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: ResourceList is a set of (resource name, quantity) pairs. + type: object + consistencyGroup: + type: string + pvcName: + type: string + pvcNamespace: + type: string + reclaimPolicy: + description: PersistentVolumeReclaimPolicy describes a policy for + end-of-life maintenance of persistent volumes. + type: string + required: + - accessModes + - capacity + - consistencyGroup + - pvcName + - pvcNamespace + - reclaimPolicy + type: object + status: + description: VolumeStatus defines the observed state of Volume + type: object + type: object + served: true + storage: true +--- apiVersion: v1 imagePullSecrets: - name: ibm-spectrum-scale-csi-registrykey @@ -8199,44 +8341,6 @@ rules: --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole -metadata: - labels: - app.kubernetes.io/instance: ibm-spectrum-scale - app.kubernetes.io/name: coredns - name: ibm-spectrum-scale-dns -rules: -- apiGroups: - - "" - resources: - - endpoints - - services - - pods - - namespaces - verbs: - - list - - watch -- apiGroups: - - discovery.k8s.io - resources: - - endpointslices - verbs: - - list - - watch -- apiGroups: - - authentication.k8s.io - resources: - - tokenreviews - verbs: - - create -- apiGroups: - - authorization.k8s.io - resources: - - subjectaccessreviews - verbs: - - create ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole metadata: labels: app.kubernetes.io/instance: ibm-spectrum-scale @@ -8585,6 +8689,7 @@ rules: - poddisruptionbudgets verbs: - create + - delete - get - list - patch @@ -9451,22 +9556,6 @@ subjects: --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding -metadata: - labels: - app.kubernetes.io/instance: ibm-spectrum-scale - app.kubernetes.io/name: coredns - name: ibm-spectrum-scale-dns -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: ibm-spectrum-scale-dns -subjects: -- kind: ServiceAccount - name: ibm-spectrum-scale-dns - namespace: ibm-spectrum-scale-dns ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding metadata: labels: app.kubernetes.io/instance: ibm-spectrum-scale @@ -9518,28 +9607,22 @@ data: controller_manager_config.yaml: | apiVersion: scale.spectrum.ibm.com/v1alpha1 kind: ClusterManagerConfig - health: - healthProbeBindAddress: :8081 - metrics: - bindAddress: 127.0.0.1:8080 - webhook: - port: 9443 images: - coreECE: cp.icr.io/cp/spectrum/scale/erasure-code/ibm-spectrum-scale-daemon@sha256:6426c2dbfbb607df8ad6caf63dfaf64235e60f8174ce78a86d7bd86729e48f7f - coreDME: cp.icr.io/cp/spectrum/scale/data-management/ibm-spectrum-scale-daemon@sha256:26880dbf5dfe214fc00581826d1486069cb7489fe23e64904eb7004d8db31602 - coreDAE: cp.icr.io/cp/spectrum/scale/data-access/ibm-spectrum-scale-daemon@sha256:151a3e73ea7d8be39b4f74fb1516d2043f33665a21cc1351a7b6401f46b9a9fd - coreInit: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-core-init@sha256:79b1354e5a4c3c0341b448ca3fcd504a1b33df94f74099046cfa6e13b883d1f8 - gui: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-gui@sha256:29e828701e55c5de848f83a188b2a09de35227aeb6bbdc06ad01b5ec34d2c654 - postgres: cp.icr.io/cp/spectrum/scale/postgres@sha256:b2f06ce12103bedbc0a49ae4ffff062d90824e0f45462de712f66952679f7670 - logs: cp.icr.io/cp/spectrum/scale/ubi-minimal@sha256:582e18f13291d7c686ec4e6e92d20b24c62ae0fc72767c46f30a69b1a6198055 - pmcollector: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-pmcollector@sha256:41c90bb86fafc5785376d842b098ddbc98bc94b64421e8da7c5aaa54bd9602e8 - sysmon: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-monitor@sha256:815ee1b6af28e693a9b1d54b2b496a3e7dc5b25c51cf60e17a7faa222e44a8b3 - grafanaBridge: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-grafana-bridge@sha256:8bf1a89ee1e9e52a3f9cd49e1c1747b02fbe7f84f071667ab0e12ea6f25f32f2 - coreDNS: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-coredns@sha256:1ba4d51e896607c6f968f8df8e04ccfe7a71babd778838c9de040beda6bf1ff7 - mustGather: icr.io/cpopen/ibm-spectrum-scale-must-gather@sha256:78bd4a9ca171ff062a9de912ea782a7eb1208ec68d04e1e71a12767fed8e8d1c - ganesha: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-ganesha@sha256:54870c3c6cdd36799e08f8808580cc81d03c05ddad42e9af3ccf22d67fe112e2 - stunnel: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-stunnel@sha256:76e33b772faf6c823b65668f2ff31b4603cbfeb768b1eb77629ad23f2071ce76 - pmsensors: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-pmsensors@sha256:fedb2b2c71c9609125e4e2acd6354a5eccd9af0fba5459f19cd234afc674c913 + coreECE: cp.icr.io/cp/spectrum/scale/erasure-code/ibm-spectrum-scale-daemon@sha256:8d0e78cc97ae6d23ea0585e98a43d32c52c4717ff426c5eeff6ad122b735c571 + coreDME: cp.icr.io/cp/spectrum/scale/data-management/ibm-spectrum-scale-daemon@sha256:65a1b65e4076ac7be840904a6a1d59eb74849cda58a1a4a59b2f9a8de94652de + coreDAE: cp.icr.io/cp/spectrum/scale/data-access/ibm-spectrum-scale-daemon@sha256:0a6c1c0c588168bde48c82ae0ab2ad0ab51429680840dca90f19b24fcbfc3c2c + coreInit: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-core-init@sha256:089718b2d96d909b86bf19448c4d86f31a3877eb450d465d830e55133415015d + gui: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-gui@sha256:93288c812f0bace075eb785f519d6d7f684bdb33407c44a93b53df9abdd16e0a + postgres: cp.icr.io/cp/spectrum/scale/postgres@sha256:bbd7346fab25b7e0b25f214829d6ebfb78ef0465059492e46dee740ce8fcd844 + logs: cp.icr.io/cp/spectrum/scale/ubi-minimal@sha256:bc552efb4966aaa44b02532be3168ac1ff18e2af299d0fe89502a1d9fabafbc5 + pmcollector: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-pmcollector@sha256:07a9e951ab315724ca39e332a7559ca98519442b0669241fd97ffdb3a0381667 + sysmon: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-monitor@sha256:3f41d20e7beaf757778d8650172adf8456569607dab3479eb4524407ed2e4a13 + grafanaBridge: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-grafana-bridge@sha256:a6ca689d8205f17bb278910c521842f98ced8537aba55b287792a91269bf2f41 + coreDNS: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-coredns@sha256:88cbfe40fd302a6467cb7e852b298f6c8d8659782ab313706d491d3ddf172a6e + mustGather: icr.io/cpopen/ibm-spectrum-scale-must-gather@sha256:eab5b2e72579b96f2cfc04162e4dd6ace7eb3570f2f08dca552c045ea29faa3d + ganesha: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-ganesha@sha256:2adb24635e4c67ce940c79f611c08b3518004259f825cb7f719e262d18242728 + stunnel: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-stunnel@sha256:c55b0718d6bdc1b5995517e205cd0c2993d735a532b6358663e15207c6c6a7f3 + pmsensors: cp.icr.io/cp/spectrum/scale/ibm-spectrum-scale-pmsensors@sha256:7befbffc26148c416bf6cb6e3c3174231c8748e4bfd8371acd3b94606b22f5bc kind: ConfigMap metadata: labels: @@ -9571,7 +9654,7 @@ apiVersion: apps/v1 kind: Deployment metadata: annotations: - productVersion: 2.10.1 + productVersion: 2.11.0 labels: app.kubernetes.io/instance: ibm-spectrum-scale-csi-operator app.kubernetes.io/managed-by: ibm-spectrum-scale-csi-operator @@ -9590,7 +9673,7 @@ spec: annotations: productID: ibm-spectrum-scale-csi-operator productName: IBM Spectrum Scale CSI Operator - productVersion: 2.10.1 + productVersion: 2.11.0 labels: app.kubernetes.io/instance: ibm-spectrum-scale-csi-operator app.kubernetes.io/managed-by: ibm-spectrum-scale-csi-operator @@ -9617,26 +9700,26 @@ spec: - name: SHORTNAME_NODE_MAPPING value: "yes" - name: CSI_SNAPSHOTTER_IMAGE - value: cp.icr.io/cp/spectrum/scale/csi/csi-snapshotter@sha256:becc53e25b96573f61f7469923a92fb3e9d3a3781732159954ce0d9da07233a2 + value: cp.icr.io/cp/spectrum/scale/csi/csi-snapshotter@sha256:1a29ab1e4ecdc33a84062cec757620d9787c28b28793202c5b78ae097c3dee27 - name: CSI_ATTACHER_IMAGE - value: cp.icr.io/cp/spectrum/scale/csi/csi-attacher@sha256:4eb73137b66381b7b5dfd4d21d460f4b4095347ab6ed4626e0199c29d8d021af + value: cp.icr.io/cp/spectrum/scale/csi/csi-attacher@sha256:d69cc72025f7c40dae112ff989e920a3331583497c8dfb1600c5ae0e37184a29 - name: CSI_PROVISIONER_IMAGE - value: cp.icr.io/cp/spectrum/scale/csi/csi-provisioner@sha256:d078dc174323407e8cc6f0f9abd4efaac5db27838f1564d0253d5e3233e3f17f + value: cp.icr.io/cp/spectrum/scale/csi/csi-provisioner@sha256:de79c8bbc271622eb94d2ee8689f189ea7c1cb6adac260a421980fe5eed66708 - name: CSI_LIVENESSPROBE_IMAGE - value: cp.icr.io/cp/spectrum/scale/csi/livenessprobe@sha256:4dc0b87ccd69f9865b89234d8555d3a614ab0a16ed94a3016ffd27f8106132ce + value: cp.icr.io/cp/spectrum/scale/csi/livenessprobe@sha256:5baeb4a6d7d517434292758928bb33efc6397368cbb48c8a4cf29496abf4e987 - name: CSI_NODE_REGISTRAR_IMAGE - value: cp.icr.io/cp/spectrum/scale/csi/csi-node-driver-registrar@sha256:f6717ce72a2615c7fbc746b4068f788e78579c54c43b8716e5ce650d97af2df1 + value: cp.icr.io/cp/spectrum/scale/csi/csi-node-driver-registrar@sha256:c53535af8a7f7e3164609838c4b191b42b2d81238d75c1b2a2b582ada62a9780 - name: CSI_RESIZER_IMAGE - value: cp.icr.io/cp/spectrum/scale/csi/csi-resizer@sha256:2e2b44393539d744a55b9370b346e8ebd95a77573064f3f9a8caf18c22f4d0d0 + value: cp.icr.io/cp/spectrum/scale/csi/csi-resizer@sha256:4c148bbdf883153bc72d321be4dc55c33774a6d98b2b3e0c2da6ae389149a9b7 - name: CSI_DRIVER_IMAGE - value: cp.icr.io/cp/spectrum/scale/csi/ibm-spectrum-scale-csi-driver@sha256:a61878203bb642320e67edc9229bf84ad37ef0828522ad6d8566bd7747d631f6 + value: cp.icr.io/cp/spectrum/scale/csi/ibm-spectrum-scale-csi-driver@sha256:b2bc343eadbc11d9ed74a8477d2cd0a7a8460a72203d3f6236d4662e68df1166 - name: METRICS_BIND_ADDRESS value: "8383" - name: WATCH_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - image: icr.io/cpopen/ibm-spectrum-scale-csi-operator@sha256:ccb895d8916171352aed2f06d9d6f3a1a7aba20405cd129091e9b57d59ad1343 + image: icr.io/cpopen/ibm-spectrum-scale-csi-operator@sha256:bd264199ac10d574163bfa32bb88844fd786ee6f794a56e235591d2f051c7807 imagePullPolicy: IfNotPresent livenessProbe: exec: @@ -9689,7 +9772,7 @@ metadata: labels: app.kubernetes.io/instance: ibm-spectrum-scale app.kubernetes.io/name: operator - app.kubernetes.io/version: v5.1.9.3 + app.kubernetes.io/version: v5.2.0.0 control-plane: controller-manager name: ibm-spectrum-scale-controller-manager namespace: ibm-spectrum-scale-operator @@ -9705,7 +9788,7 @@ spec: labels: app.kubernetes.io/instance: ibm-spectrum-scale app.kubernetes.io/name: operator - app.kubernetes.io/version: v5.1.9.3 + app.kubernetes.io/version: v5.2.0.0 control-plane: controller-manager spec: affinity: @@ -9725,7 +9808,7 @@ spec: - s390x containers: - args: - - --config=controller_manager_config.yaml + - --config=/config/controller_manager_config.yaml - --zap-log-level=1 command: - /manager @@ -9736,7 +9819,7 @@ spec: valueFrom: resourceFieldRef: resource: limits.memory - image: icr.io/cpopen/ibm-spectrum-scale-operator@sha256:85fb826bdafff98bac9046001f8fb6e8dd5da67c2322b12b2e436ba86ff3d99a + image: icr.io/cpopen/ibm-spectrum-scale-operator@sha256:d44f11cc61f410dd20d7bb52ac28eebc80f928eede9be434c270a7ad5648b626 livenessProbe: httpGet: path: /healthz @@ -9775,9 +9858,8 @@ spec: - mountPath: /tmp/k8s-webhook-server/serving-certs name: cert readOnly: true - - mountPath: /controller_manager_config.yaml + - mountPath: /config name: manager-config - subPath: controller_manager_config.yaml - mountPath: /etc/ssl/service name: cabundle nodeSelector: @@ -9786,6 +9868,7 @@ spec: terminationGracePeriodSeconds: 10 tolerations: - effect: NoSchedule + key: node-role.kubernetes.io/master operator: Exists topologySpreadConstraints: - labelSelector: @@ -10113,6 +10196,26 @@ webhooks: resources: - localdisks sideEffects: None +- admissionReviewVersions: + - v1 + clientConfig: + service: + name: ibm-spectrum-scale-webhook-service + namespace: ibm-spectrum-scale-operator + path: /validate-scale-spectrum-ibm-com-v1beta1-remotecluster + failurePolicy: Fail + name: vremotecluster.scale.spectrum.ibm.com + rules: + - apiGroups: + - scale.spectrum.ibm.com + apiVersions: + - v1beta1 + operations: + - CREATE + - UPDATE + resources: + - remoteclusters + sideEffects: None - admissionReviewVersions: - v1 clientConfig: diff --git a/generated/scale/mco/ocp4.12/mco_ppc64le.yaml b/generated/scale/mco/ocp4.15/mco_ppc64le.yaml similarity index 100% rename from generated/scale/mco/ocp4.12/mco_ppc64le.yaml rename to generated/scale/mco/ocp4.15/mco_ppc64le.yaml diff --git a/generated/scale/mco/ocp4.12/mco_s390x.yaml b/generated/scale/mco/ocp4.15/mco_s390x.yaml similarity index 100% rename from generated/scale/mco/ocp4.12/mco_s390x.yaml rename to generated/scale/mco/ocp4.15/mco_s390x.yaml diff --git a/generated/scale/mco/ocp4.12/mco_x86_64.yaml b/generated/scale/mco/ocp4.15/mco_x86_64.yaml similarity index 100% rename from generated/scale/mco/ocp4.12/mco_x86_64.yaml rename to generated/scale/mco/ocp4.15/mco_x86_64.yaml