From f24c0a2428eb535372977b0382591676c8a97c28 Mon Sep 17 00:00:00 2001 From: Akhil Mohan Date: Mon, 15 Feb 2021 20:14:53 +0530 Subject: [PATCH] [stable/cstor]: update charts to 2.6.0 (#244) - update chart version - update dependent chart version - update README - update values.yaml - updated upgradetask and cva crds - add pre-delete hook to cleanup validatingwebhookconfig on release delete Signed-off-by: Akhil Mohan --- .github/workflows/chart-lint-test.yml | 1 + ct.yaml | 2 +- deploy/helm/charts/Chart.yaml | 6 +- deploy/helm/charts/README.md | 58 ++-- .../charts/crds/cstorvolumeattachment.yaml | 125 ++++++++- deploy/helm/charts/crds/upgradetask.yaml | 261 +++++++++++++++++- .../charts/templates/cleanup-webhook.yaml | 28 ++ deploy/helm/charts/templates/csi-node.yaml | 2 +- deploy/helm/charts/values.yaml | 55 ++-- 9 files changed, 458 insertions(+), 80 deletions(-) create mode 100644 deploy/helm/charts/templates/cleanup-webhook.yaml diff --git a/.github/workflows/chart-lint-test.yml b/.github/workflows/chart-lint-test.yml index dd971fa1..d6938748 100644 --- a/.github/workflows/chart-lint-test.yml +++ b/.github/workflows/chart-lint-test.yml @@ -15,6 +15,7 @@ on: jobs: lint-test: runs-on: ubuntu-latest + timeout-minutes: 10 steps: - name: Checkout uses: actions/checkout@v2 diff --git a/ct.yaml b/ct.yaml index 16a725e3..8eb8bbc6 100644 --- a/ct.yaml +++ b/ct.yaml @@ -2,4 +2,4 @@ remote: origin chart-dirs: - deploy/helm -helm-extra-args: --timeout=500s +helm-extra-args: --timeout 500s diff --git a/deploy/helm/charts/Chart.yaml b/deploy/helm/charts/Chart.yaml index 7f5b30a6..5d9241d3 100644 --- a/deploy/helm/charts/Chart.yaml +++ b/deploy/helm/charts/Chart.yaml @@ -4,10 +4,10 @@ description: CStor-Operator helm chart for Kubernetes type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. -version: 2.5.3 +version: 2.6.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. -appVersion: 2.5.0 +appVersion: 2.6.0 icon: https://raw.githubusercontent.com/cncf/artwork/master/projects/openebs/icon/color/openebs-icon-color.png home: http://www.openebs.io/ keywords: @@ -22,7 +22,7 @@ sources: dependencies: - name: openebs-ndm - version: "1.1.1" + version: "1.2.0" repository: "https://openebs.github.io/node-disk-manager" condition: openebsNDM.enabled diff --git a/deploy/helm/charts/README.md b/deploy/helm/charts/README.md index dd65ff15..8780a673 100644 --- a/deploy/helm/charts/README.md +++ b/deploy/helm/charts/README.md @@ -45,7 +45,7 @@ By default this chart installs additional, dependent charts: | Repository | Name | Version | |------------|------|---------| -| https://openebs.github.io/node-disk-manager | openebs-ndm | 1.1.1 | +| https://openebs.github.io/node-disk-manager | openebs-ndm | 1.2.0 | To disable the dependency during installation, set `openebsNDM.enabled` to `false`. @@ -81,7 +81,7 @@ The following table lists the configurable parameters of the OpenEBS CStor chart | admissionServer.image.pullPolicy | string | `"IfNotPresent"` | Admission webhook image pull policy | | admissionServer.image.registry | string | `nil` | Admission webhook image registry | | admissionServer.image.repository | string | `"openebs/cstor-webhook"` | Admission webhook image repo | -| admissionServer.image.tag | string | `"2.5.0"` | Admission webhook image tag | +| admissionServer.image.tag | string | `"2.6.0"` | Admission webhook image tag | | admissionServer.nodeSelector | object | `{}` | Admission webhook pod node selector | | admissionServer.podAnnotations | object | `{}` | Admission webhook pod annotations | | admissionServer.resources | object | `{}` | Admission webhook pod resources | @@ -89,47 +89,42 @@ The following table lists the configurable parameters of the OpenEBS CStor chart | admissionServer.tolerations | list | `[]` | Admission webhook tolerations | | csiController.annotations | object | `{}` | CSI controller annotations | | csiController.attacher.image.pullPolicy | string | `"IfNotPresent"` | CSI attacher image pull policy | -| csiController.attacher.image.registry | string | `"quay.io/"` | CSI attacher image registry | -| csiController.attacher.image.repository | string | `"k8scsi/csi-attacher"` | CSI attacher image repo | +| csiController.attacher.image.registry | string | `"k8s.gcr.io/"` | CSI attacher image registry | +| csiController.attacher.image.repository | string | `"sig-storage/csi-attacher"` | CSI attacher image repo | | csiController.attacher.image.tag | string | `"v3.1.0"` | CSI attacher image tag | | csiController.attacher.name | string | `"csi-attacher"` | CSI attacher container name| -| csiController.componentName | string | `""` | CSI controller component name | -| csiController.driverRegistrar.image.pullPolicy | string | `"IfNotPresent"` | CSI driver registrar image pull policy | -| csiController.driverRegistrar.image.registry | string | `"quay.io/"` | CSI driver registrar image registry | -| csiController.driverRegistrar.image.repository | string | `"k8scsi/csi-cluster-driver-registrar"` | CSI driver registrar image repo | -| csiController.driverRegistrar.image.tag | string | `"v1.0.1"` | CSI driver registrar image tag| -| csiController.driverRegistrar.name | string | `"csi-cluster-driver-registrar"` | CSI driver registrar container name | +| csiController.componentName | string | `"openebs-cstor-csi-controller"` | CSI controller component name | | csiController.nodeSelector | object | `{}` | CSI controller pod node selector | | csiController.podAnnotations | object | `{}` | CSI controller pod annotations | | csiController.provisioner.image.pullPolicy | string | `"IfNotPresent"` | CSI provisioner image pull policy | -| csiController.provisioner.image.registry | string | `"quay.io/"` | CSI provisioner image pull registry | -| csiController.provisioner.image.repository | string | `"k8scsi/csi-provisioner"` | CSI provisioner image pull repository | +| csiController.provisioner.image.registry | string | `"k8s.gcr.io/"` | CSI provisioner image pull registry | +| csiController.provisioner.image.repository | string | `"sig-storage/csi-provisioner"` | CSI provisioner image pull repository | | csiController.provisioner.image.tag | string | `"v2.1.0"` | CSI provisioner image tag | | csiController.provisioner.name | string | `"csi-provisioner"` | CSI provisioner container name | | csiController.resizer.image.pullPolicy | string | `"IfNotPresent"` | CSI resizer image pull policy | -| csiController.resizer.image.registry | string | `"quay.io/"` | CSI resizer image registry | -| csiController.resizer.image.repository | string | `"k8scsi/csi-resizer"` | CSI resizer image repository| +| csiController.resizer.image.registry | string | `"k8s.gcr.io/"` | CSI resizer image registry | +| csiController.resizer.image.repository | string | `"sig-storage/csi-resizer"` | CSI resizer image repository| | csiController.resizer.image.tag | string | `"v1.1.0"` | CSI resizer image tag | | csiController.resizer.name | string | `"csi-resizer"` | CSI resizer container name | | csiController.resources | object | `{}` | CSI controller container resources | | csiController.securityContext | object | `{}` | CSI controller security context | | csiController.snapshotController.image.pullPolicy | string | `"IfNotPresent"` | CSI snapshot controller image pull policy | -| csiController.snapshotController.image.registry | string | `"quay.io/"` | CSI snapshot controller image registry | -| csiController.snapshotController.image.repository | string | `"k8scsi/snapshot-controller"` | CSI snapshot controller image repository | +| csiController.snapshotController.image.registry | string | `"k8s.gcr.io/"` | CSI snapshot controller image registry | +| csiController.snapshotController.image.repository | string | `"sig-storage/snapshot-controller"` | CSI snapshot controller image repository | | csiController.snapshotController.image.tag | string | `"v3.0.3"` | CSI snapshot controller image tag | | csiController.snapshotController.name | string | `"snapshot-controller"` | CSI snapshot controller container name | | csiController.snapshotter.image.pullPolicy | string | `"IfNotPresent"` | CSI snapshotter image pull policy | -| csiController.snapshotter.image.registry | string | `"quay.io/"` | CSI snapshotter image pull registry | -| csiController.snapshotter.image.repository | string | `"k8scsi/csi-snapshotter"` | CSI snapshotter image repositroy | +| csiController.snapshotter.image.registry | string | `"k8s.gcr.io/"` | CSI snapshotter image pull registry | +| csiController.snapshotter.image.repository | string | `"sig-storage/csi-snapshotter"` | CSI snapshotter image repositroy | | csiController.snapshotter.image.tag | string | `"v3.0.3"` | CSI snapshotter image tag | | csiController.snapshotter.name | string | `"csi-snapshotter"` | CSI snapshotter container name | | csiController.tolerations | list | `[]` | CSI controller pod tolerations | | csiNode.annotations | object | `{}` | CSI Node annotations | | csiNode.componentName | string | `"openebs-cstor-csi-node"` | CSI Node component name | | csiNode.driverRegistrar.image.pullPolicy | string | `"IfNotPresent"` | CSI Node driver registrar image pull policy| -| csiNode.driverRegistrar.image.registry | string | `"quay.io/"` | CSI Node driver registrar image registry | -| csiNode.driverRegistrar.image.repository | string | `"k8scsi/csi-node-driver-registrar"` | CSI Node driver registrar image repository | -| csiNode.driverRegistrar.image.tag | string | `"v1.0.1"` | CSI Node driver registrar image tag| +| csiNode.driverRegistrar.image.registry | string | `"k8s.gcr.io/"` | CSI Node driver registrar image registry | +| csiNode.driverRegistrar.image.repository | string | `"sig-storage/csi-node-driver-registrar"` | CSI Node driver registrar image repository | +| csiNode.driverRegistrar.image.tag | string | `"v2.1.0"` | CSI Node driver registrar image tag| | csiNode.driverRegistrar.name | string | `"csi-node-driver-registrar"` | CSI Node driver registrar container name | | csiNode.kubeletDir | string | `"/var/lib/kubelet/"` | Kubelet root dir | | csiNode.labels | object | `{}` | CSI Node pod labels | @@ -143,19 +138,19 @@ The following table lists the configurable parameters of the OpenEBS CStor chart | cspcOperator.componentName | string | `"cspc-operator"` | CSPC operator component name | | cspcOperator.cstorPool.image.registry | string | `nil` | CStor pool image registry | | cspcOperator.cstorPool.image.repository | string | `"openebs/cstor-pool"` | CStor pool image repository| -| cspcOperator.cstorPool.image.tag | string | `"2.5.0"` | CStor pool image tag | +| cspcOperator.cstorPool.image.tag | string | `"2.6.0"` | CStor pool image tag | | cspcOperator.cstorPoolExporter.image.registry | string | `nil` | CStor pool exporter image registry | | cspcOperator.cstorPoolExporter.image.repository | string | `"openebs/m-exporter"` | CStor pool exporter image repositry | -| cspcOperator.cstorPoolExporter.image.tag | string | `"2.5.0"` | CStor pool exporter image tag | +| cspcOperator.cstorPoolExporter.image.tag | string | `"2.6.0"` | CStor pool exporter image tag | | cspcOperator.image.pullPolicy | string | `"IfNotPresent"` | CSPC operator image pull policy | | cspcOperator.image.registry | string | `nil` | CSPC operator image registry | | cspcOperator.image.repository | string | `"openebs/cspc-operator"` | CSPC operator image repository | -| cspcOperator.image.tag | string | `"2.5.0"` | CSPC operator image tag | +| cspcOperator.image.tag | string | `"2.6.0"` | CSPC operator image tag | | cspcOperator.nodeSelector | object | `{}` | CSPC operator pod nodeSelector| | cspcOperator.podAnnotations | object | `{}` | CSPC operator pod annotations | | cspcOperator.poolManager.image.registry | string | `nil` | CStor Pool Manager image registry | | cspcOperator.poolManager.image.repository | string | `"openebs/cstor-pool-manager"` | CStor Pool Manager image repository | -| cspcOperator.poolManager.image.tag | string | `"2.5.0"` | CStor Pool Manager image tag | +| cspcOperator.poolManager.image.tag | string | `"2.6.0"` | CStor Pool Manager image tag | | cspcOperator.resources | object | `{}` | CSPC operator pod resources | | cspcOperator.resyncInterval | string | `"30"` | CSPC operator resync interval | | cspcOperator.securityContext | object | `{}` | CSPC operator security context | @@ -163,14 +158,15 @@ The following table lists the configurable parameters of the OpenEBS CStor chart | cstorCSIPlugin.image.pullPolicy | string | `"IfNotPresent"` | CStor CSI driver image pull policy | | cstorCSIPlugin.image.registry | string | `nil` | CStor CSI driver image registry | | cstorCSIPlugin.image.repository | string | `"openebs/cstor-csi-driver"` | CStor CSI driver image repository | -| cstorCSIPlugin.image.tag | string | `"2.5.0"` | CStor CSI driver image tag | +| cstorCSIPlugin.image.tag | string | `"2.6.0"` | CStor CSI driver image tag | | cstorCSIPlugin.name | string | `"cstor-csi-plugin"` | CStor CSI driver container name | +| cstorCSIPlugin.remount | string | `"true"` | Enable/disable auto-remount when volume recovers from read-only state | | cvcOperator.annotations | object | `{}` | CVC operator annotations | | cvcOperator.componentName | string | `"cvc-operator"` | CVC operator component name | | cvcOperator.image.pullPolicy | string | `"IfNotPresent"` | CVC operator image pull policy | | cvcOperator.image.registry | string | `nil` | CVC operator image registry | | cvcOperator.image.repository | string | `"openebs/cvc-operator"` | CVC operator image repository | -| cvcOperator.image.tag | string | `"2.5.0"` | CVC operator image tag | +| cvcOperator.image.tag | string | `"2.6.0"` | CVC operator image tag | | cvcOperator.nodeSelector | object | `{}` | CVC operator pod nodeSelector | | cvcOperator.podAnnotations | object | `{}` | CVC operator pod annotations | | cvcOperator.resources | object | `{}` |CVC operator pod resources | @@ -178,19 +174,19 @@ The following table lists the configurable parameters of the OpenEBS CStor chart | cvcOperator.securityContext | object | `{}` | CVC operator security context | | cvcOperator.target.image.registry | string | `nil` | Volume Target image registry | | cvcOperator.target.image.repository | string | `"openebs/cstor-istgt"` | Volume Target image repository | -| cvcOperator.target.image.tag | string | `"2.5.0"` | Volume Target image tag | +| cvcOperator.target.image.tag | string | `"2.6.0"` | Volume Target image tag | | cvcOperator.tolerations | list | `[]` | CVC operator pod tolerations | | cvcOperator.volumeExporter.image.registry | string | `nil` | Volume exporter image registry | | cvcOperator.volumeExporter.image.repository | string | `"openebs/m-exporter"` | Volume exporter image repository | -| cvcOperator.volumeExporter.image.tag | string | `"2.5.0"` | Volume exporter image tag | +| cvcOperator.volumeExporter.image.tag | string | `"2.6.0"` | Volume exporter image tag | | cvcOperator.volumeMgmt.image.registry | string | `nil` | Volume mgmt image registry | | cvcOperator.volumeMgmt.image.repository | string | `"openebs/cstor-volume-manager"` | Volume mgmt image repository | -| cvcOperator.volumeMgmt.image.tag | string | `"2.5.0"` | Volume mgmt image tag| +| cvcOperator.volumeMgmt.image.tag | string | `"2.6.0"` | Volume mgmt image tag| | imagePullSecrets | string | `nil` | Image registry pull secrets | | openebsNDM.enabled | bool | `true` | Enable OpenEBS NDM dependency | | rbac.create | bool | `true` | Enable RBAC | | rbac.pspEnabled | bool | `false` | Enable PodSecurityPolicy | -| release.version | string | `"2.5.0"` | Openebs CStor release version | +| release.version | string | `"2.6.0"` | Openebs CStor release version | | serviceAccount.annotations | object | `{}` | Service Account annotations | | serviceAccount.csiController.create | bool | `true` | Enable CSI Controller ServiceAccount | | serviceAccount.csiController.name | string | `"openebs-cstor-csi-controller-sa"` | CSI Controller ServiceAccount name | diff --git a/deploy/helm/charts/crds/cstorvolumeattachment.yaml b/deploy/helm/charts/crds/cstorvolumeattachment.yaml index dfdd217f..bfa61a58 100644 --- a/deploy/helm/charts/crds/cstorvolumeattachment.yaml +++ b/deploy/helm/charts/crds/cstorvolumeattachment.yaml @@ -1,17 +1,130 @@ --- -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.4.0 + creationTimestamp: null name: cstorvolumeattachments.cstor.openebs.io spec: group: cstor.openebs.io - version: v1 - scope: Namespaced names: - plural: cstorvolumeattachments - singular: cstorvolumeattachment kind: CStorVolumeAttachment + listKind: CStorVolumeAttachmentList + plural: cstorvolumeattachments shortNames: - - cstorvolumeattachment - cva + singular: cstorvolumeattachment + scope: Namespaced + versions: + - name: v1 + schema: + openAPIV3Schema: + description: CStorVolumeAttachment represents a CSI based 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: CStorVolumeAttachmentSpec is the spec for a CStorVolume resource + properties: + iscsi: + description: ISCSIInfo specific to ISCSI protocol, this is filled + only if the volume type is iSCSI + properties: + iqn: + description: Iqn of this volume + type: string + iscsiInterface: + description: IscsiInterface of this volume + type: string + lun: + description: 'Lun specify the lun number 0, 1.. on iSCSI Volume. + (default: 0)' + type: string + targetPortal: + description: TargetPortal holds the target portal of this volume + type: string + type: object + volume: + description: Volume specific info + properties: + accessModes: + description: AccessMode of a volume will hold the access mode + of the volume + items: + type: string + type: array + accessType: + description: AccessType of a volume will indicate if the volume + will be used as a block device or mounted on a path + type: string + capacity: + description: Capacity of the volume + type: string + devicePath: + description: Device Path specifies the device path which is returned + when the iSCSI login is successful + type: string + fsType: + description: FSType of a volume will specify the format type - + ext4(default), xfs of PV + type: string + mountOptions: + description: MountOptions specifies the options with which mount + needs to be attempted + items: + type: string + type: array + name: + description: Name of the CSI volume + type: string + ownerNodeID: + description: OwnerNodeID is the Node ID which is also the owner + of this Volume + type: string + readOnly: + description: ReadOnly specifies if the volume needs to be mounted + in ReadOnly mode + type: boolean + stagingTargetPath: + description: StagingPath of the volume will hold the path on which + the volume is mounted on that node + type: string + targetPath: + description: TargetPath of the volume will hold the path on which + the volume is bind mounted on that node + type: string + required: + - name + - ownerNodeID + type: object + required: + - iscsi + - volume + type: object + status: + description: CStorVolumeAttachmentStatus status represents the current + mount status of the volume + type: string + required: + - spec + type: object + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] --- \ No newline at end of file diff --git a/deploy/helm/charts/crds/upgradetask.yaml b/deploy/helm/charts/crds/upgradetask.yaml index 13126416..ab35065b 100644 --- a/deploy/helm/charts/crds/upgradetask.yaml +++ b/deploy/helm/charts/crds/upgradetask.yaml @@ -1,24 +1,257 @@ --- -apiVersion: apiextensions.k8s.io/v1beta1 +apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: - # name must match the spec fields below, and be in the form: . + annotations: + controller-gen.kubebuilder.io/version: v0.4.0 + creationTimestamp: null name: upgradetasks.openebs.io spec: - # group name to use for REST API: /apis// group: openebs.io - # version name to use for REST API: /apis// - version: v1alpha1 - # either Namespaced or Cluster - scope: Namespaced names: - # plural name to be used in the URL: /apis/// + kind: UpgradeTask + listKind: UpgradeTaskList plural: upgradetasks - # singular name to be used as an alias on the CLI and for display singular: upgradetask - # kind is normally the CamelCased singular type. Your resource manifests use this. - kind: UpgradeTask - # shortNames allow shorter string to match your resource on the CLI - shortNames: - - utask + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: UpgradeTask represents an upgrade task + properties: + apiVersion: + description: 'APIVersion defines the versioned schema of this representation + of an object. Servers should convert recognized schemas to the latest + internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + type: string + kind: + description: 'Kind is a string value representing the REST resource this + object represents. Servers may infer this from the endpoint the client + submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + type: string + metadata: + type: object + spec: + description: Spec i.e. specifications of the UpgradeTask + properties: + cstorPool: + description: CStorPool contains the details of the cstor pool to be + upgraded + properties: + options: + description: Options can be used to change the default behaviour + of upgrade + properties: + ignoreStepsOnError: + description: IgnoreStepsOnError allows to ignore steps which + failed + items: + type: string + type: array + type: object + poolName: + description: PoolName contains the name of the cstor pool to be + upgraded + type: string + type: object + cstorPoolCluster: + description: CStorPoolCluster contains the details of the storage + pool claim to be upgraded + properties: + cspcName: + description: CSPCName contains the name of the storage pool claim + to be upgraded + type: string + options: + description: Options can be used to change the default behaviour + of upgrade + properties: + ignoreStepsOnError: + description: IgnoreStepsOnError allows to ignore steps which + failed + items: + type: string + type: array + type: object + type: object + cstorPoolInstance: + description: CStorPoolInstance contains the details of the cstor pool + to be upgraded + properties: + cspiName: + description: CSPCName contains the name of the storage pool claim + to be upgraded + type: string + options: + description: Options can be used to change the default behaviour + of upgrade + properties: + ignoreStepsOnError: + description: IgnoreStepsOnError allows to ignore steps which + failed + items: + type: string + type: array + type: object + type: object + cstorVolume: + description: CStorVolume contains the details of the cstor volume + to be upgraded + properties: + options: + description: Options can be used to change the default behaviour + of upgrade + properties: + ignoreStepsOnError: + description: IgnoreStepsOnError allows to ignore steps which + failed + items: + type: string + type: array + type: object + pvName: + description: PVName contains the name of the pv associated with + the cstor volume + type: string + type: object + fromVersion: + description: FromVersion is the current version of the resource. + type: string + imagePrefix: + description: ImagePrefix contains the url prefix of the image url. + This field is optional. If not present upgrade takes the previously + present ImagePrefix. + type: string + imageTag: + description: ImageTag contains the customized tag for ToVersion if + any. This field is optional. If not present upgrade takes the ToVersion + as the ImageTag + type: string + jivaVolume: + description: JivaVolume contains the details of the jiva volume to + be upgraded + properties: + options: + description: Options can be used to change the default behaviour + of upgrade + properties: + ignoreStepsOnError: + description: IgnoreStepsOnError allows to ignore steps which + failed + items: + type: string + type: array + type: object + pvName: + description: PVName contains the name of the pv associated with + the jiva volume + type: string + type: object + options: + description: Options contains the optional flags that can be passed + during upgrade. + properties: + timeout: + description: Timeout is maximum seconds to wait at any given step + in the upgrade + type: integer + type: object + storagePoolClaim: + description: StoragePoolClaim contains the details of the storage + pool claim to be upgraded + properties: + options: + description: Options can be used to change the default behaviour + of upgrade + properties: + ignoreStepsOnError: + description: IgnoreStepsOnError allows to ignore steps which + failed + items: + type: string + type: array + type: object + spcName: + description: SPCName contains the name of the storage pool claim + to be upgraded + type: string + type: object + toVersion: + description: ToVersion is the upgraded version of the resource. It + should be same as the version of control plane components version. + type: string + required: + - fromVersion + - toVersion + type: object + status: + description: Status of UpgradeTask + properties: + completedTime: + description: CompletedTime of Upgrade + format: date-time + nullable: true + type: string + phase: + description: Phase indicates if a upgradeTask is started, success + or errored + type: string + retries: + description: Retries is the number of times the job attempted to upgrade + the resource + type: integer + startTime: + description: StartTime of Upgrade + format: date-time + nullable: true + type: string + upgradeDetailedStatuses: + description: UpgradeDetailedStatuses contains the list of statuses + of each step + items: + description: UpgradeDetailedStatuses represents the latest available + observations of a UpgradeTask current state. + properties: + lastUpdatedAt: + description: LastUpdatedTime of a UpgradeStep + format: date-time + nullable: true + type: string + message: + description: A human-readable message indicating details about + why the upgradeStep is in this state + type: string + phase: + description: Phase indicates if the UpgradeStep is waiting, + errored or completed. + type: string + reason: + description: Reason is a brief CamelCase string that describes + any failure and is meant for machine parsing and tidy display + in the CLI + type: string + startTime: + description: StartTime of a UpgradeStep + format: date-time + nullable: true + type: string + step: + description: UpgradeStep is the current step being performed + for a particular resource upgrade + type: string + type: object + type: array + type: object + required: + - spec + type: object + served: true + storage: true +status: + acceptedNames: + kind: "" + plural: "" + conditions: [] + storedVersions: [] --- diff --git a/deploy/helm/charts/templates/cleanup-webhook.yaml b/deploy/helm/charts/templates/cleanup-webhook.yaml new file mode 100644 index 00000000..7e818de0 --- /dev/null +++ b/deploy/helm/charts/templates/cleanup-webhook.yaml @@ -0,0 +1,28 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: {{ template "cstor.fullname" . }}-webhook-cleanup + namespace: {{ .Release.Namespace }} + annotations: + "helm.sh/hook": pre-delete + "helm.sh/hook-delete-policy": hook-succeeded + labels: + app: {{ template "cstor.name" . }} +spec: + template: + metadata: + name: {{ template "cstor.fullname" . }}-webhook-cleanup + labels: + app: {{ template "cstor.name" . }} + spec: + serviceAccountName: {{ .Values.serviceAccount.cstorOperator.name }} + containers: + - name: kubectl + image: "{{ .Values.hyperkubeImage.repository }}:{{ .Values.hyperkubeImage.tag }}" + imagePullPolicy: "{{ .Values.hyperkubeImage.pullPolicy }}" + command: + - /bin/sh + - -c + - > + kubectl delete validatingWebhookConfiguration openebs-cstor-validation-webhook; + restartPolicy: OnFailure \ No newline at end of file diff --git a/deploy/helm/charts/templates/csi-node.yaml b/deploy/helm/charts/templates/csi-node.yaml index c30f9d38..b08062bf 100644 --- a/deploy/helm/charts/templates/csi-node.yaml +++ b/deploy/helm/charts/templates/csi-node.yaml @@ -81,7 +81,7 @@ spec: fieldRef: fieldPath: metadata.namespace # Enable/Disable auto-remount feature, when volumes - # recovers form the read-only state + # recovers from the read-only state - name: REMOUNT value: "{{ .Values.cstorCSIPlugin.remount }}" volumeMounts: diff --git a/deploy/helm/charts/values.yaml b/deploy/helm/charts/values.yaml index 4076683d..661617b2 100644 --- a/deploy/helm/charts/values.yaml +++ b/deploy/helm/charts/values.yaml @@ -3,7 +3,7 @@ # Declare variables to be passed into your templates. release: - version: "2.5.0" + version: "2.6.0" # If false, openebs NDM sub-chart will not be installed openebsNDM: @@ -24,17 +24,17 @@ cspcOperator: image: registry: repository: openebs/cstor-pool-manager - tag: 2.5.0 + tag: 2.6.0 cstorPool: image: registry: repository: openebs/cstor-pool - tag: 2.5.0 + tag: 2.6.0 cstorPoolExporter: image: registry: repository: openebs/m-exporter - tag: 2.5.0 + tag: 2.6.0 image: # Make sure that registry name end with a '/'. # For example : quay.io/ is a correct value here and quay.io is incorrect @@ -42,7 +42,7 @@ cspcOperator: repository: openebs/cspc-operator pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. - tag: 2.5.0 + tag: 2.6.0 annotations: {} resyncInterval: "30" podAnnotations: {} @@ -58,17 +58,17 @@ cvcOperator: image: registry: repository: openebs/cstor-istgt - tag: 2.5.0 + tag: 2.6.0 volumeMgmt: image: registry: repository: openebs/cstor-volume-manager - tag: 2.5.0 + tag: 2.6.0 volumeExporter: image: registry: repository: openebs/m-exporter - tag: 2.5.0 + tag: 2.6.0 image: # Make sure that registry name end with a '/'. # For example : quay.io/ is a correct value here and quay.io is incorrect @@ -76,7 +76,7 @@ cvcOperator: repository: openebs/cvc-operator pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. - tag: 2.5.0 + tag: 2.6.0 annotations: {} resyncInterval: "30" podAnnotations: {} @@ -93,8 +93,8 @@ csiController: image: # Make sure that registry name end with a '/'. # For example : quay.io/ is a correct value here and quay.io is incorrect - registry: quay.io/ - repository: k8scsi/csi-resizer + registry: k8s.gcr.io/ + repository: sig-storage/csi-resizer pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. tag: v1.1.0 @@ -103,8 +103,8 @@ csiController: image: # Make sure that registry name end with a '/'. # For example : quay.io/ is a correct value here and quay.io is incorrect - registry: quay.io/ - repository: k8scsi/csi-snapshotter + registry: k8s.gcr.io/ + repository: sig-storage/csi-snapshotter pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. tag: v3.0.3 @@ -113,8 +113,8 @@ csiController: image: # Make sure that registry name end with a '/'. # For example : quay.io/ is a correct value here and quay.io is incorrect - registry: quay.io/ - repository: k8scsi/snapshot-controller + registry: k8s.gcr.io/ + repository: sig-storage/snapshot-controller pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. tag: v3.0.3 @@ -123,8 +123,8 @@ csiController: image: # Make sure that registry name end with a '/'. # For example : quay.io/ is a correct value here and quay.io is incorrect - registry: quay.io/ - repository: k8scsi/csi-attacher + registry: k8s.gcr.io/ + repository: sig-storage/csi-attacher pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. tag: v3.1.0 @@ -133,8 +133,8 @@ csiController: image: # Make sure that registry name end with a '/'. # For example : quay.io/ is a correct value here and quay.io is incorrect - registry: quay.io/ - repository: k8scsi/csi-provisioner + registry: k8s.gcr.io/ + repository: sig-storage/csi-provisioner pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. tag: v2.1.0 @@ -155,7 +155,7 @@ cstorCSIPlugin: repository: openebs/cstor-csi-driver pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. - tag: 2.5.0 + tag: 2.6.0 remount: "true" csiNode: @@ -163,11 +163,11 @@ csiNode: driverRegistrar: name: "csi-node-driver-registrar" image: - registry: quay.io/ - repository: k8scsi/csi-node-driver-registrar + registry: k8s.gcr.io/ + repository: sig-storage/csi-node-driver-registrar pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. - tag: v1.0.1 + tag: v2.1.0 updateStrategy: type: RollingUpdate annotations: {} @@ -203,7 +203,7 @@ admissionServer: repository: openebs/cstor-webhook pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. - tag: 2.5.0 + tag: 2.6.0 failurePolicy: "Fail" annotations: {} podAnnotations: {} @@ -232,3 +232,10 @@ analytics: enabled: true # Specify in hours the duration after which a ping event needs to be sent. pingInterval: "24h" + +# this is to cleanup the validatingwebhook after deletion of the charts +# via a pre-delete webhook job +hyperkubeImage: + repository: "k8s.gcr.io/hyperkube" + tag: "v1.12.1" + pullPolicy: "IfNotPresent"