Generated changes
parent
92b849562d
commit
37d594af16
Binary file not shown.
|
@ -306,6 +306,29 @@ entries:
|
|||
- assets/haproxy/haproxy-1.4.300.tgz
|
||||
version: 1.4.300
|
||||
hpe-csi-driver:
|
||||
- annotations:
|
||||
catalog.cattle.io/certified: partner
|
||||
catalog.cattle.io/release-name: hpe-csi-driver
|
||||
apiVersion: v1
|
||||
appVersion: 1.4.0
|
||||
created: "2021-02-25T22:46:37.811643961Z"
|
||||
description: A Helm chart for installing the HPE CSI Driver for Kubernetes
|
||||
digest: 487dca3d6bdf6961bf29425945b40974667a67723d2a8d9edbca87285e628793
|
||||
home: https://hpe.com/storage/containers
|
||||
icon: https://raw.githubusercontent.com/hpe-storage/co-deployments/master/docs/assets/hpedev.png
|
||||
keywords:
|
||||
- HPE
|
||||
- Storage
|
||||
- StorageClass
|
||||
maintainers:
|
||||
- email: hpe-containers-dev@hpe.com
|
||||
name: raunakkumar
|
||||
name: hpe-csi-driver
|
||||
sources:
|
||||
- https://scod.hpedev.io/csi_driver
|
||||
urls:
|
||||
- assets/hpe-csi-driver/hpe-csi-driver-1.4.200.tgz
|
||||
version: 1.4.200
|
||||
- annotations:
|
||||
catalog.cattle.io/certified: partner
|
||||
catalog.cattle.io/release-name: hpe-csi-driver
|
||||
|
@ -527,4 +550,4 @@ entries:
|
|||
urls:
|
||||
- assets/sysdig/sysdig-1.9.200.tgz
|
||||
version: 1.9.200
|
||||
generated: "2021-02-25T20:17:31.425563557Z"
|
||||
generated: "2021-02-25T22:46:37.810270792Z"
|
||||
|
|
|
@ -1,22 +1,19 @@
|
|||
apiVersion: v1
|
||||
appVersion: "1.3.0"
|
||||
appVersion: 1.4.0
|
||||
description: A Helm chart for installing the HPE CSI Driver for Kubernetes
|
||||
icon: https://raw.githubusercontent.com/hpe-storage/co-deployments/master/docs/assets/hpedev.png
|
||||
maintainers:
|
||||
- name: shivamerla
|
||||
email: hpe-containers-dev@hpe.com
|
||||
sources:
|
||||
- https://scod.hpedev.io/csi_driver
|
||||
name: hpe-csi-driver
|
||||
home: https://hpe.com/storage/containers
|
||||
version: 1.3.000
|
||||
icon: https://raw.githubusercontent.com/hpe-storage/co-deployments/master/docs/assets/hpedev.png
|
||||
keywords:
|
||||
- HPE
|
||||
- Storage
|
||||
- StorageClass
|
||||
- CentOS
|
||||
- Ubuntu
|
||||
- RHEL
|
||||
maintainers:
|
||||
- email: hpe-containers-dev@hpe.com
|
||||
name: raunakkumar
|
||||
name: hpe-csi-driver
|
||||
sources:
|
||||
- https://scod.hpedev.io/csi_driver
|
||||
version: 1.4.200
|
||||
annotations:
|
||||
catalog.cattle.io/certified: partner
|
||||
catalog.cattle.io/release-name: hpe-csi-driver
|
||||
|
|
|
@ -25,6 +25,7 @@ The following table lists the configurable parameters of the HPE-CSI chart and t
|
|||
| disableNodeConformance | Disable automatic installation of iSCSI/Multipath Packages. | false |
|
||||
| iscsi.chapUser | Username for iSCSI CHAP authentication. | "" |
|
||||
| iscsi.chapPassword | Password for iSCSI CHAP authentication. | "" |
|
||||
| registry | Registry to pull HPE CSI Driver container images from. | quay.io |
|
||||
|
||||
It's recommended to create a [values.yaml](https://github.com/hpe-storage/co-deployments/blob/master/helm/values/csi-driver) file from the corresponding release of the chart and edit it to fit the environment the chart is being deployed to. Download and edit [a sample file](https://github.com/hpe-storage/co-deployments/blob/master/helm/values/csi-driver).
|
||||
|
||||
|
@ -32,54 +33,43 @@ These are the bare minimum required parameters for a successful deployment to an
|
|||
|
||||
```
|
||||
iscsi:
|
||||
chapUser: <username>
|
||||
chapPassword: <password>
|
||||
chapUser: "<username>"
|
||||
chapPassword: "<password>"
|
||||
```
|
||||
|
||||
Tweak any additional parameters to suit the environment or as prescribed by HPE.
|
||||
|
||||
### Installing the chart
|
||||
|
||||
To install the chart with the name `hpe-csi`:
|
||||
To install the chart with the name `my-hpe-csi-driver`:
|
||||
|
||||
Add HPE helm repo:
|
||||
|
||||
```
|
||||
helm repo add hpe https://hpe-storage.github.io/co-deployments
|
||||
helm repo add hpe-storage https://hpe-storage.github.io/co-deployments/
|
||||
helm repo update
|
||||
```
|
||||
|
||||
Install the latest chart:
|
||||
|
||||
```
|
||||
helm install hpe-csi hpe/hpe-csi-driver --namespace kube-system -f myvalues.yaml
|
||||
kubectl create ns hpe-storage
|
||||
helm install my-hpe-csi-driver hpe-storage/hpe-csi-driver -n hpe-storage -f myvalues.yaml
|
||||
```
|
||||
|
||||
**Note**: values.yaml is optional if no parameters are overridden from defaults.
|
||||
**Note**: `values.yaml` is optional if no parameters are overridden from defaults.
|
||||
|
||||
### Upgrading the Chart
|
||||
### Upgrading the chart
|
||||
|
||||
To upgrade the chart, specify the version you want to upgrade to as below. Please do NOT re-use a full blown `values.yaml` from prior versions to upgrade to later versions. Always use `values.yaml` from corresponding release from [values.yaml](https://github.com/hpe-storage/co-deployments/blob/master/helm/values/csi-driver)
|
||||
Due to the [helm limitation](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/#some-caveats-and-explanations) to not support upgrade of CRDs between different chart versions, `hpe-csi-driver` helm chart upgrade is not supported.
|
||||
Our recommendation is to uninstall the existing chart and install the chart with the desired version. CRDs will be preserved between uninstall and install.
|
||||
|
||||
List the avaiable version of the plugin:
|
||||
### Uninstalling the chart
|
||||
|
||||
To uninstall the `my-hpe-csi-driver` chart:
|
||||
|
||||
```
|
||||
helm repo update
|
||||
helm search repo hpe-csi-driver -l
|
||||
```
|
||||
|
||||
Select the target version to upgrade as below:
|
||||
|
||||
```
|
||||
helm upgrade hpe-csi hpe/hpe-csi-driver --namespace kube-system --version=x.x.x.x -f myvalues.yaml
|
||||
```
|
||||
|
||||
### Uninstalling the Chart
|
||||
|
||||
To uninstall the `hpe-csi` chart:
|
||||
|
||||
```
|
||||
helm uninstall hpe-csi --namespace kube-system
|
||||
helm uninstall my-hpe-csi-driver -n hpe-storage
|
||||
```
|
||||
|
||||
**Note**: Due to a limitation in Helm, CRDs are not deleted as part of the chart uninstall.
|
||||
|
@ -89,8 +79,9 @@ helm uninstall hpe-csi --namespace kube-system
|
|||
In some cases it's more practical to provide the local configuration via the `helm` CLI directly. Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. These will take precedence over entries in [values.yaml](https://github.com/hpe-storage/co-deployments/blob/master/helm/values/csi-driver). For example:
|
||||
|
||||
```
|
||||
helm install hpe-csi hpe/hpe-csi-driver --namespace kube-system --set iscsi.chapUsername=admin \
|
||||
--set iscsi.chapPassword=xxxxxxxx
|
||||
helm install my-hpe-csi-driver hpe-storage/hpe-csi-driver -n hpe-storage \
|
||||
--set iscsi.chapUsername=admin \
|
||||
--set iscsi.chapPassword=xxxxxxxx
|
||||
```
|
||||
|
||||
## Using persistent storage with Kubernetes
|
||||
|
|
|
@ -2,52 +2,68 @@
|
|||
#############################################
|
||||
############ HPE Node Info CRD ############
|
||||
#############################################
|
||||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: hpenodeinfos.storage.hpe.com
|
||||
spec:
|
||||
spec:
|
||||
group: storage.hpe.com
|
||||
names:
|
||||
names:
|
||||
kind: HPENodeInfo
|
||||
plural: hpenodeinfos
|
||||
scope: Cluster
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
properties:
|
||||
hpeNodes:
|
||||
description: List of HPE nodes configured for storage access.
|
||||
items:
|
||||
properties:
|
||||
uuid:
|
||||
description: The UUID of the node.
|
||||
type: string
|
||||
iqns:
|
||||
description: List of IQNs configured on the node.
|
||||
items:
|
||||
versions:
|
||||
- name: v1
|
||||
# Each version can be enabled/disabled by Served flag.
|
||||
served: true
|
||||
# One and only one version must be marked as the storage version.
|
||||
storage: true
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
properties:
|
||||
apiVersion:
|
||||
description: "APIVersion defines the versioned schema of this representation of an object."
|
||||
type: string
|
||||
kind:
|
||||
description: "Kind is a string value representing the REST resource this object represents"
|
||||
type: string
|
||||
spec:
|
||||
description: "spec defines the desired characteristics of a HPE nodeinfo requested by a user."
|
||||
properties:
|
||||
chapPassword:
|
||||
description: "The CHAP Password"
|
||||
type: string
|
||||
type: array
|
||||
chapUser:
|
||||
description: The CHAP User Name
|
||||
chapUser:
|
||||
description: "The CHAP User Name"
|
||||
type: string
|
||||
chapPassword:
|
||||
description: The CHAP Password
|
||||
type: string
|
||||
networks:
|
||||
description: List of networks configured on the node.
|
||||
items:
|
||||
iqns:
|
||||
description: "List of IQNs configured on the node."
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
networks:
|
||||
description: "List of networks configured on the node."
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
uuid:
|
||||
description: "The UUID of the node."
|
||||
type: string
|
||||
type: array
|
||||
wwpns:
|
||||
description: List of WWPNs configured on the node.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
type: array
|
||||
version: v1
|
||||
status:
|
||||
acceptedNames:
|
||||
wwpns:
|
||||
description: "List of WWPNs configured on the node."
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
required:
|
||||
- uuid
|
||||
- networks
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
|
|
|
@ -24,7 +24,7 @@ spec:
|
|||
type: array
|
||||
items:
|
||||
properties:
|
||||
targetName:
|
||||
targetName:
|
||||
description: Target Name of the array
|
||||
type: string
|
||||
targetCpg:
|
||||
|
@ -34,11 +34,11 @@ spec:
|
|||
description: Target Snap CPG of the array
|
||||
type: string
|
||||
targetSecret:
|
||||
description: Secret of the replicated array
|
||||
type: string
|
||||
description: Secret of the replicated array
|
||||
type: string
|
||||
targetMode:
|
||||
description: Replication Mode
|
||||
type: string
|
||||
type: string
|
||||
targetSecretNamespace:
|
||||
description: Namespace of secret
|
||||
type: string
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: hpesnapshotgroupinfos.storage.hpe.com
|
||||
spec:
|
||||
group: storage.hpe.com
|
||||
names:
|
||||
kind: HPESnapshotGroupInfo
|
||||
plural: hpesnapshotgroupinfos
|
||||
shortNames:
|
||||
- hpesgi
|
||||
scope: Cluster
|
||||
version: v1
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
properties:
|
||||
hpeSnapshotGroupInfos:
|
||||
description: List of HPE snapshot groups created for 3PAR/Primera arrays.
|
||||
type: array
|
||||
items:
|
||||
properties:
|
||||
uuid:
|
||||
description: The UUID of the node.
|
||||
type: string
|
||||
|
||||
record:
|
||||
description: Metadata for the volume group
|
||||
type: map[string]string
|
||||
|
||||
snapshotVolumes:
|
||||
description: Snapshot volumes that are part of this snapshot group
|
||||
type: array
|
||||
items:
|
||||
properties:
|
||||
srcVolumeId:
|
||||
description: ID of the volume that is the source of this snapshot volume
|
||||
type: string
|
||||
|
||||
srcVolumeName:
|
||||
description: Name of the volume that is the source of this snapshot volume
|
||||
type: string
|
||||
|
||||
snapshotId:
|
||||
description: Snapshot volume Id
|
||||
type: string
|
||||
|
||||
snapshotName:
|
||||
description: Snapshot volume name
|
||||
type: string
|
||||
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
storedVersions: []
|
|
@ -0,0 +1,64 @@
|
|||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: hpevolumegroupinfos.storage.hpe.com
|
||||
spec:
|
||||
group: storage.hpe.com
|
||||
names:
|
||||
kind: HPEVolumeGroupInfo
|
||||
plural: hpevolumegroupinfos
|
||||
shortNames:
|
||||
- hpevgi
|
||||
scope: Cluster
|
||||
version: v1
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
properties:
|
||||
hpeVolumeGroupInfos:
|
||||
description: List of HPE volume groups configured for 3PAR/Primera arrays.
|
||||
type: array
|
||||
items:
|
||||
properties:
|
||||
uuid:
|
||||
description: The UUID of the node.
|
||||
type: string
|
||||
|
||||
record:
|
||||
description: Metadata for the volume group
|
||||
type: map[string]string
|
||||
|
||||
snapshotGroups:
|
||||
description: Snapshot groups that are linked to this volume group
|
||||
type: array
|
||||
items:
|
||||
properties:
|
||||
id:
|
||||
description: ID of the snapshot group
|
||||
type: string
|
||||
|
||||
name:
|
||||
description: Name of the snapshot group
|
||||
type: string
|
||||
|
||||
volumes:
|
||||
description: Volumes that are members in this volume group
|
||||
type: array
|
||||
items:
|
||||
properties:
|
||||
volumeId:
|
||||
description: ID of the member volume
|
||||
type: string
|
||||
|
||||
volumeName:
|
||||
description: Name of the member volume
|
||||
type: string
|
||||
|
||||
|
||||
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
storedVersions: []
|
|
@ -0,0 +1,60 @@
|
|||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: snapshotgroupclasses.storage.hpe.com
|
||||
spec:
|
||||
conversion:
|
||||
strategy: None
|
||||
group: storage.hpe.com
|
||||
names:
|
||||
kind: SnapshotGroupClass
|
||||
listKind: SnapshotGroupClassList
|
||||
plural: snapshotgroupclasses
|
||||
singular: snapshotgroupclass
|
||||
scope: Cluster
|
||||
versions:
|
||||
- name: v1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: SnapshotGroupClass specifies parameters that a underlying
|
||||
storage system uses when creating a volumegroup snapshot. A specific SnapshotGroupClass
|
||||
is used by specifying its name in a VolumeGroupSnapshot object. SnapshotGroupClasses
|
||||
are non-namespaced
|
||||
properties:
|
||||
apiVersion:
|
||||
description: APIVersion defines the versioned schema of this representation
|
||||
of an object.
|
||||
type: string
|
||||
deletionPolicy:
|
||||
description: deletionPolicy determines whether a SnapshotGroupContent
|
||||
created through the SnapshotGroupClass should be deleted when its
|
||||
bound SnapshotGroup is deleted. Supported values are "Retain" and
|
||||
"Delete". "Retain" means that the SnapshotGroupContent and its physical
|
||||
snapshotGroup on underlying storage system are kept. "Delete" means that
|
||||
the SnapshotGroupContent and its physical snapshotGroup on underlying
|
||||
storage system are deleted. Required.
|
||||
enum:
|
||||
- Delete
|
||||
- Retain
|
||||
type: string
|
||||
snapshotter:
|
||||
description: snapshotter is the name of the storage driver that handles this
|
||||
SnapshotGroupClass. Required.
|
||||
type: string
|
||||
kind:
|
||||
description: Kind is a string value representing the REST resource
|
||||
this object represents.
|
||||
type: string
|
||||
parameters:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: parameters is a key-value map with storage driver specific
|
||||
parameters for creating snapshotGroups. These values are opaque to Kubernetes.
|
||||
type: object
|
||||
required:
|
||||
- deletionPolicy
|
||||
- snapshotter
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
|
@ -0,0 +1,104 @@
|
|||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: snapshotgroupcontents.storage.hpe.com
|
||||
spec:
|
||||
conversion:
|
||||
strategy: None
|
||||
group: storage.hpe.com
|
||||
names:
|
||||
kind: SnapshotGroupContent
|
||||
listKind: SnapshotGroupContentList
|
||||
plural: snapshotgroupcontents
|
||||
singular: snapshotgroupcontent
|
||||
scope: Cluster
|
||||
versions:
|
||||
- name: v1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: SnapshotGroupContent represents the actual "on-disk" snapshotGroup
|
||||
object in the underlying storage system
|
||||
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/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/api-conventions.md#types-kinds'
|
||||
type: string
|
||||
spec:
|
||||
description: spec defines properties of a SnapshotGroupContent created
|
||||
by the underlying storage system. Required.
|
||||
properties:
|
||||
deletionPolicy:
|
||||
description: deletionPolicy determines whether this SnapshotGroupContent
|
||||
and its physical snapshotgroup on the underlying storage system should
|
||||
be deleted when its bound SnapshotGroup is deleted. Supported
|
||||
values are "Retain" and "Delete". "Retain" means that the SnapshotGroupContent
|
||||
and its physical snapshotGroup on underlying storage system are kept.
|
||||
"Delete" means that the SnapshotGroupContent and its physical
|
||||
snapshotGroup on underlying storage system are deleted.
|
||||
Required.
|
||||
enum:
|
||||
- Delete
|
||||
- Retain
|
||||
type: string
|
||||
source:
|
||||
description: source specifies from where a snapshotGroup will be created.Required.
|
||||
properties:
|
||||
snapshotGroupHandle:
|
||||
description: snapshotGroupHandle specifies the snapshotGroup Id
|
||||
of a pre-existing snapshotGroup on the underlying storage system.
|
||||
This field is immutable.
|
||||
type: string
|
||||
type: object
|
||||
snapshotGroupClassName:
|
||||
description: name of the SnapshotGroupClass to which this snapshotGroup belongs.
|
||||
type: string
|
||||
snapshotGroupRef:
|
||||
description: snapshotGroupRef specifies the SnapshotGroup object
|
||||
to which this SnapshotGroupContent object is bound. SnapshotGroup.Spec.SnapshotGroupContentName
|
||||
field must reference to this SnapshotGroupContent's name for
|
||||
the bidirectional binding to be valid.
|
||||
Required.
|
||||
properties:
|
||||
apiVersion:
|
||||
description: API version of the referent.
|
||||
type: string
|
||||
kind:
|
||||
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
|
||||
type: string
|
||||
namespace:
|
||||
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
|
||||
type: string
|
||||
resourceVersion:
|
||||
description: 'Specific resourceVersion to which this reference
|
||||
is made, if any. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency'
|
||||
type: string
|
||||
uid:
|
||||
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
|
||||
type: string
|
||||
type: object
|
||||
volumeSnapshotContentNames:
|
||||
description: list of volumeSnapshotContentNames associated with this snapshotGroups
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
required:
|
||||
- deletionPolicy
|
||||
- source
|
||||
- snapshotGroupClassName
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
|
@ -0,0 +1,83 @@
|
|||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: snapshotgroups.storage.hpe.com
|
||||
spec:
|
||||
conversion:
|
||||
strategy: None
|
||||
group: storage.hpe.com
|
||||
names:
|
||||
kind: SnapshotGroup
|
||||
listKind: SnapshotGroupList
|
||||
plural: snapshotgroups
|
||||
singular: snapshotgroup
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- name: v1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: SnapshotGroup is a user's request for creating a snapshotgroup
|
||||
properties:
|
||||
apiVersion:
|
||||
description: APIVersion defines the versioned schema of this representation
|
||||
of an object.
|
||||
type: string
|
||||
kind:
|
||||
description: 'Kind is a string value representing the REST resource
|
||||
this object represents'
|
||||
type: string
|
||||
spec:
|
||||
description: spec defines the desired characteristics of a snapshotGroup
|
||||
requested by a user.
|
||||
Required.
|
||||
properties:
|
||||
source:
|
||||
description: source specifies where a snapshotGroup will be created.
|
||||
This field is immutable after creation. Required.
|
||||
properties:
|
||||
kind:
|
||||
description: kind of the source (VolumeGroup) is the only supported one.
|
||||
type: string
|
||||
apiGroup:
|
||||
description: apiGroup of the source. Current supported is storage.hpe.com
|
||||
type: string
|
||||
name:
|
||||
description: name specifies the volumeGroupName of the VolumeGroup object in the same namespace as the SnapshotGroup object where the snapshotGroup should be dynamically taken from. This field is immutable.
|
||||
type: string
|
||||
type: object
|
||||
volumeSnapshotClassName:
|
||||
description: name of the volumeSnapshotClass to create pre-provisioned snapshots
|
||||
type: string
|
||||
snapshotGroupClassName:
|
||||
description: snapshotGroupClassName is the name of the SnapshotGroupClass requested by the SnapshotGroup.
|
||||
type: string
|
||||
snapshotGroupContentName:
|
||||
description: snapshotGroupContentName is the name of the snapshotGroupContent the snapshotGroup is bound.
|
||||
type: string
|
||||
required:
|
||||
- source
|
||||
- volumeSnapshotClassName
|
||||
- snapshotGroupClassName
|
||||
type: object
|
||||
status:
|
||||
description: status represents the current information of a snapshotGroup.
|
||||
properties:
|
||||
creationTime:
|
||||
description: creationTime is the timestamp when the point-in-time
|
||||
snapshotGroup is taken by the underlying storage system.
|
||||
format: date-time
|
||||
type: string
|
||||
phase:
|
||||
description: the state of the snapshotgroup
|
||||
enum:
|
||||
- Pending
|
||||
- Ready
|
||||
- Failed
|
||||
type: string
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
|
@ -0,0 +1,60 @@
|
|||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: volumegroupclasses.storage.hpe.com
|
||||
spec:
|
||||
conversion:
|
||||
strategy: None
|
||||
group: storage.hpe.com
|
||||
names:
|
||||
kind: VolumeGroupClass
|
||||
listKind: VolumeGroupClassList
|
||||
plural: volumegroupclasses
|
||||
singular: volumegroupclass
|
||||
scope: Cluster
|
||||
versions:
|
||||
- name: v1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: VolumeGroupClass specifies parameters that a underlying
|
||||
storage system uses when creating a volumegroup. A specific VolumeGroupClass
|
||||
is used by specifying its name in a VolumeGroup object. VolumeGroupClasses
|
||||
are non-namespaced
|
||||
properties:
|
||||
apiVersion:
|
||||
description: APIVersion defines the versioned schema of this representation
|
||||
of an object.
|
||||
type: string
|
||||
deletionPolicy:
|
||||
description: deletionPolicy determines whether a VolumeGroupContent
|
||||
created through the VolumeGroupClass should be deleted when its
|
||||
bound VolumeGroup is deleted. Supported values are "Retain" and
|
||||
"Delete". "Retain" means that the VolumeGroupContent and its physical
|
||||
volumeGroup on underlying storage system are kept. "Delete" means that
|
||||
the VolumeGroupContent and its physical volumeGroup on underlying
|
||||
storage system are deleted. Required.
|
||||
enum:
|
||||
- Delete
|
||||
- Retain
|
||||
type: string
|
||||
provisioner:
|
||||
description: provisioner is the name of the storage driver that handles this
|
||||
VolumeGroupClass. Required.
|
||||
type: string
|
||||
kind:
|
||||
description: Kind is a string value representing the REST resource
|
||||
this object represents.
|
||||
type: string
|
||||
parameters:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: parameters is a key-value map with storage driver specific
|
||||
parameters for creating volumeGroups. These values are opaque to Kubernetes.
|
||||
type: object
|
||||
required:
|
||||
- deletionPolicy
|
||||
- provisioner
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
|
@ -0,0 +1,96 @@
|
|||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: volumegroupcontents.storage.hpe.com
|
||||
spec:
|
||||
conversion:
|
||||
strategy: None
|
||||
group: storage.hpe.com
|
||||
names:
|
||||
kind: VolumeGroupContent
|
||||
listKind: VolumeGroupContentList
|
||||
plural: volumegroupcontents
|
||||
singular: volumegroupcontent
|
||||
scope: Cluster
|
||||
versions:
|
||||
- name: v1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: VolumeGroupContent represents the actual "on-disk" volumeGroup
|
||||
object in the underlying storage system
|
||||
properties:
|
||||
apiVersion:
|
||||
description: APIVersion defines the versioned schema of this representation
|
||||
of an object.
|
||||
type: string
|
||||
kind:
|
||||
description: Kind is a string value representing the REST resource
|
||||
this object represents.
|
||||
type: string
|
||||
spec:
|
||||
description: spec defines properties of a VolumeGroupContent created
|
||||
by the underlying storage system. Required.
|
||||
properties:
|
||||
deletionPolicy:
|
||||
description: deletionPolicy determines whether this VolumeGroupContent
|
||||
and its physical volumegroup on the underlying storage system should
|
||||
be deleted when its bound VolumeGroup is deleted. Supported
|
||||
values are "Retain" and "Delete". "Retain" means that the VolumeGroupContent
|
||||
and its physical volumeGroup on underlying storage system are kept.
|
||||
"Delete" means that the VolumeGroupContent and its physical
|
||||
volumeGroup on underlying storage system are deleted.
|
||||
Required.
|
||||
enum:
|
||||
- Delete
|
||||
- Retain
|
||||
type: string
|
||||
source:
|
||||
description: source specifies from where a volumeGroup will be created.Required.
|
||||
properties:
|
||||
volumeGroupHandle:
|
||||
description: volumeGroupHandle specifies the volumeGroup Id
|
||||
of a pre-existing volumeGroup on the underlying storage system.
|
||||
This field is immutable.
|
||||
type: string
|
||||
type: object
|
||||
volumeGroupClassName:
|
||||
description: name of the VolumeGroupClass to which this volumeGroup belongs.
|
||||
type: string
|
||||
volumeGroupRef:
|
||||
description: volumeGroupRef specifies the VolumeGroup object
|
||||
to which this VolumeGroupContent object is bound. VolumeGroup.Spec.VolumeGroupContentName
|
||||
field must reference to this VolumeGroupContent's name for
|
||||
the bidirectional binding to be valid.
|
||||
Required.
|
||||
properties:
|
||||
apiVersion:
|
||||
description: API version of the referent.
|
||||
type: string
|
||||
kind:
|
||||
description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
|
||||
type: string
|
||||
name:
|
||||
description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
|
||||
type: string
|
||||
namespace:
|
||||
description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
|
||||
type: string
|
||||
resourceVersion:
|
||||
description: 'Specific resourceVersion to which this reference
|
||||
is made, if any. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency'
|
||||
type: string
|
||||
uid:
|
||||
description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
|
||||
type: string
|
||||
type: object
|
||||
required:
|
||||
- deletionPolicy
|
||||
- source
|
||||
- volumeGroupClassName
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
|
@ -0,0 +1,69 @@
|
|||
---
|
||||
apiVersion: apiextensions.k8s.io/v1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
name: volumegroups.storage.hpe.com
|
||||
spec:
|
||||
conversion:
|
||||
strategy: None
|
||||
group: storage.hpe.com
|
||||
names:
|
||||
kind: VolumeGroup
|
||||
listKind: VolumeGroupList
|
||||
plural: volumegroups
|
||||
singular: volumegroup
|
||||
scope: Namespaced
|
||||
versions:
|
||||
- name: v1
|
||||
schema:
|
||||
openAPIV3Schema:
|
||||
description: VolumeGroup is a user's request for creating a volumegroup
|
||||
properties:
|
||||
apiVersion:
|
||||
description: APIVersion defines the versioned schema of this representation
|
||||
of an object.
|
||||
type: string
|
||||
kind:
|
||||
description: 'Kind is a string value representing the REST resource
|
||||
this object represents'
|
||||
type: string
|
||||
spec:
|
||||
description: spec defines the desired characteristics of a volumeGroup
|
||||
requested by a user.
|
||||
Required.
|
||||
properties:
|
||||
volumeGroupClassName:
|
||||
description: name of the volumeGroupClassName to create volumeGroups
|
||||
type: string
|
||||
persistentVolumeClaimNames:
|
||||
description: persistentVolumeClaimNames are the name of the PVC associated with this volumeGroup.
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
volumeGroupContentName:
|
||||
description: volumeGroupContentName is the name of the volumeGroupContent to which the volumeGroup is bound.
|
||||
type: string
|
||||
required:
|
||||
- volumeGroupClassName
|
||||
type: object
|
||||
status:
|
||||
description: status represents the current information of a volumeGroup.
|
||||
properties:
|
||||
creationTime:
|
||||
description: creationTime is the timestamp when the point-in-time
|
||||
volumeGroup is taken by the underlying storage system.
|
||||
format: date-time
|
||||
type: string
|
||||
phase:
|
||||
description: the state of the volumegroup
|
||||
enum:
|
||||
- Pending
|
||||
- Ready
|
||||
- Failed
|
||||
type: string
|
||||
type: object
|
||||
required:
|
||||
- spec
|
||||
type: object
|
||||
served: true
|
||||
storage: true
|
|
@ -1,3 +1,5 @@
|
|||
labels:
|
||||
io.rancher.certified: partner
|
||||
questions:
|
||||
- variable: imagePullPolicy
|
||||
label: "ImagePullPolicy"
|
||||
|
@ -18,12 +20,18 @@ questions:
|
|||
- variable: iscsi.chapUser
|
||||
label: "iSCSI CHAP Username"
|
||||
type: string
|
||||
required: true
|
||||
required: false
|
||||
description: "Specify username for iSCSI CHAP authentication"
|
||||
group: "HPE iSCSI settings"
|
||||
- variable: iscsi.chapPassword
|
||||
label: "iSCSI CHAP Password"
|
||||
type: password
|
||||
required: true
|
||||
required: false
|
||||
description: "Specify password for iSCSI CHAP authentication"
|
||||
group: "HPE iSCSI settings"
|
||||
- variable: registry
|
||||
label: "Registry"
|
||||
type: string
|
||||
default: "quay.io"
|
||||
description: "Specify registry prefix (hostname[:port]) for CSI driver images"
|
||||
group: "HPE CSI Driver settings"
|
||||
|
|
|
@ -1,14 +1,22 @@
|
|||
{{- if semverCompare ">=1.14.0" .Capabilities.KubeVersion.GitVersion }}
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
################# CSI Driver ###########
|
||||
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "18") }}
|
||||
apiVersion: storage.k8s.io/v1
|
||||
{{- else if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "14") }}
|
||||
apiVersion: storage.k8s.io/v1beta1
|
||||
{{- end }}
|
||||
|
||||
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "14") }}
|
||||
kind: CSIDriver
|
||||
metadata:
|
||||
name: csi.hpe.com
|
||||
spec:
|
||||
podInfoOnMount: true
|
||||
{{- if semverCompare ">=1.16.0" .Capabilities.KubeVersion.GitVersion }}
|
||||
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "16") }}
|
||||
volumeLifecycleModes:
|
||||
- Persistent
|
||||
- Ephemeral
|
||||
|
|
|
@ -21,7 +21,7 @@ spec:
|
|||
role: hpe-csi
|
||||
spec:
|
||||
serviceAccount: hpe-csi-controller-sa
|
||||
{{- if semverCompare ">=1.17.0" .Capabilities.KubeVersion.GitVersion }}
|
||||
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "17") }}
|
||||
priorityClassName: system-cluster-critical
|
||||
{{- end }}
|
||||
hostNetwork: true
|
||||
|
@ -32,15 +32,15 @@ spec:
|
|||
value: "1"
|
||||
containers:
|
||||
- name: csi-provisioner
|
||||
{{- if semverCompare "<=1.16.0" .Capabilities.KubeVersion.GitVersion }}
|
||||
image: quay.io/k8scsi/csi-provisioner:v1.4.0
|
||||
{{- if .Values.registry }}
|
||||
image: {{ .Values.registry }}/k8scsi/csi-provisioner:v1.5.0
|
||||
{{- else }}
|
||||
image: quay.io/k8scsi/csi-provisioner:v1.5.0
|
||||
{{- end }}
|
||||
args:
|
||||
- "--csi-address=$(ADDRESS)"
|
||||
- "--v=5"
|
||||
{{- if semverCompare ">= 1.13.0" .Capabilities.KubeVersion.GitVersion }}
|
||||
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "13") }}
|
||||
- "--timeout=30s"
|
||||
- "--worker-threads=16"
|
||||
{{- end }}
|
||||
|
@ -52,8 +52,8 @@ spec:
|
|||
- name: socket-dir
|
||||
mountPath: /var/lib/csi/sockets/pluginproxy
|
||||
- name: csi-attacher
|
||||
{{- if semverCompare "~1.13.0" .Capabilities.KubeVersion.GitVersion }}
|
||||
image: quay.io/k8scsi/csi-attacher:v1.1.0
|
||||
{{- if .Values.registry }}
|
||||
image: {{ .Values.registry }}/k8scsi/csi-attacher:v2.1.1
|
||||
{{- else }}
|
||||
image: quay.io/k8scsi/csi-attacher:v2.1.1
|
||||
{{- end }}
|
||||
|
@ -67,23 +67,31 @@ spec:
|
|||
volumeMounts:
|
||||
- name: socket-dir
|
||||
mountPath: /var/lib/csi/sockets/pluginproxy
|
||||
{{- if semverCompare ">=1.17.0" .Capabilities.KubeVersion.GitVersion }}
|
||||
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "17") }}
|
||||
- name: csi-snapshotter
|
||||
image: quay.io/k8scsi/csi-snapshotter:v2.0.1
|
||||
{{- if .Values.registry }}
|
||||
image: {{ .Values.registry }}/k8scsi/csi-snapshotter:v3.0.2
|
||||
{{- else }}
|
||||
image: quay.io/k8scsi/csi-snapshotter:v3.0.2
|
||||
{{- end }}
|
||||
args:
|
||||
- "--v=5"
|
||||
- "--csi-address=$(ADDRESS)"
|
||||
env:
|
||||
- name: ADDRESS
|
||||
value: /var/lib/csi/sockets/pluginproxy/csi.sock
|
||||
imagePullPolicy: "Always"
|
||||
imagePullPolicy: {{ .Values.imagePullPolicy | quote }}
|
||||
volumeMounts:
|
||||
- name: socket-dir
|
||||
mountPath: /var/lib/csi/sockets/pluginproxy/
|
||||
{{- end }}
|
||||
{{- if semverCompare ">=1.15.0" .Capabilities.KubeVersion.GitVersion }}
|
||||
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "15") }}
|
||||
- name: csi-resizer
|
||||
{{- if .Values.registry }}
|
||||
image: {{ .Values.registry }}/k8scsi/csi-resizer:v0.4.0
|
||||
{{- else }}
|
||||
image: quay.io/k8scsi/csi-resizer:v0.4.0
|
||||
{{- end }}
|
||||
args:
|
||||
- "--csi-address=$(ADDRESS)"
|
||||
- "--v=5"
|
||||
|
@ -96,7 +104,11 @@ spec:
|
|||
mountPath: /var/lib/csi/sockets/pluginproxy
|
||||
{{- end }}
|
||||
- name: hpe-csi-driver
|
||||
image: hpestorage/csi-driver:v1.3.0
|
||||
{{- if .Values.registry }}
|
||||
image: {{ .Values.registry }}/hpestorage/csi-driver:v1.4.0
|
||||
{{- else }}
|
||||
image: quay.io/hpestorage/csi-driver:v1.4.0
|
||||
{{- end }}
|
||||
args :
|
||||
- "--endpoint=$(CSI_ENDPOINT)"
|
||||
- "--flavor=kubernetes"
|
||||
|
@ -120,7 +132,43 @@ spec:
|
|||
- name: root-dir
|
||||
mountPath: /host
|
||||
- name: csi-volume-mutator
|
||||
image: quay.io/hpestorage/volume-mutator:v1.0.0
|
||||
{{- if .Values.registry }}
|
||||
image: {{ .Values.registry }}/hpestorage/volume-mutator:v1.2.0
|
||||
{{- else }}
|
||||
image: quay.io/hpestorage/volume-mutator:v1.2.0
|
||||
{{- end }}
|
||||
args:
|
||||
- "--v=5"
|
||||
- "--csi-address=$(ADDRESS)"
|
||||
env:
|
||||
- name: ADDRESS
|
||||
value: /var/lib/csi/sockets/pluginproxy/csi-extensions.sock
|
||||
imagePullPolicy: {{ .Values.imagePullPolicy | quote }}
|
||||
volumeMounts:
|
||||
- name: socket-dir
|
||||
mountPath: /var/lib/csi/sockets/pluginproxy/
|
||||
- name: csi-volume-group-snapshotter
|
||||
{{- if .Values.registry }}
|
||||
image: {{ .Values.registry }}/hpestorage/volume-group-snapshotter:v1.0.0
|
||||
{{- else }}
|
||||
image: quay.io/hpestorage/volume-group-snapshotter:v1.0.0
|
||||
{{- end }}
|
||||
args:
|
||||
- "--v=5"
|
||||
- "--csi-address=$(ADDRESS)"
|
||||
env:
|
||||
- name: ADDRESS
|
||||
value: /var/lib/csi/sockets/pluginproxy/csi-extensions.sock
|
||||
imagePullPolicy: {{ .Values.imagePullPolicy | quote }}
|
||||
volumeMounts:
|
||||
- name: socket-dir
|
||||
mountPath: /var/lib/csi/sockets/pluginproxy/
|
||||
- name: csi-volume-group-provisioner
|
||||
{{- if .Values.registry }}
|
||||
image: {{ .Values.registry }}/hpestorage/volume-group-provisioner:v1.0.0
|
||||
{{- else }}
|
||||
image: quay.io/hpestorage/volume-group-provisioner:v1.0.0
|
||||
{{- end }}
|
||||
args:
|
||||
- "--v=5"
|
||||
- "--csi-address=$(ADDRESS)"
|
||||
|
@ -132,7 +180,11 @@ spec:
|
|||
- name: socket-dir
|
||||
mountPath: /var/lib/csi/sockets/pluginproxy/
|
||||
- name: csi-extensions
|
||||
image: quay.io/hpestorage/csi-extensions:v1.0.0
|
||||
{{- if .Values.registry }}
|
||||
image: {{ .Values.registry }}/hpestorage/csi-extensions:v1.2.0
|
||||
{{- else }}
|
||||
image: quay.io/hpestorage/csi-extensions:v1.2.0
|
||||
{{- end }}
|
||||
args:
|
||||
- "--v=5"
|
||||
- "--endpoint=$(CSI_ENDPOINT)"
|
||||
|
|
|
@ -20,7 +20,7 @@ spec:
|
|||
role: hpe-csi
|
||||
spec:
|
||||
serviceAccount: hpe-csi-node-sa
|
||||
{{- if semverCompare ">=1.17.0" .Capabilities.KubeVersion.GitVersion }}
|
||||
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "17") }}
|
||||
priorityClassName: system-node-critical
|
||||
{{- end }}
|
||||
hostNetwork: true
|
||||
|
@ -31,21 +31,21 @@ spec:
|
|||
value: "1"
|
||||
containers:
|
||||
- name: csi-node-driver-registrar
|
||||
image: quay.io/k8scsi/csi-node-driver-registrar:v1.1.0
|
||||
{{- if .Values.registry }}
|
||||
image: {{ .Values.registry }}/k8scsi/csi-node-driver-registrar:v2.0.1
|
||||
{{- else }}
|
||||
image: quay.io/k8scsi/csi-node-driver-registrar:v2.0.1
|
||||
{{- end}}
|
||||
args:
|
||||
- "--csi-address=$(ADDRESS)"
|
||||
- "--kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)"
|
||||
- "--v=5"
|
||||
lifecycle:
|
||||
preStop:
|
||||
exec:
|
||||
command: ["/bin/sh", "-c", "rm -rf /registration/csi.hpe.com /registration/csi.hpe.com-reg.sock"]
|
||||
env:
|
||||
- name: ADDRESS
|
||||
value: /csi/csi.sock
|
||||
- name: DRIVER_REG_SOCK_PATH
|
||||
value: /var/lib/kubelet/plugins/csi.hpe.com/csi.sock
|
||||
{{- if semverCompare "~1.12.0" .Capabilities.KubeVersion.GitVersion }}
|
||||
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( eq ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "12") }}
|
||||
- name: KUBE_NODE_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
|
@ -55,11 +55,15 @@ spec:
|
|||
imagePullPolicy: "Always"
|
||||
volumeMounts:
|
||||
- name: plugin-dir
|
||||
mountPath: /csi/
|
||||
mountPath: /csi
|
||||
- name: registration-dir
|
||||
mountPath: /registration
|
||||
- name: hpe-csi-driver
|
||||
image: hpestorage/csi-driver:v1.3.0
|
||||
{{- if .Values.registry }}
|
||||
image: {{ .Values.registry }}/hpestorage/csi-driver:v1.4.0
|
||||
{{- else }}
|
||||
image: quay.io/hpestorage/csi-driver:v1.4.0
|
||||
{{- end}}
|
||||
args :
|
||||
- "--endpoint=$(CSI_ENDPOINT)"
|
||||
- "--node-service"
|
||||
|
@ -121,9 +125,11 @@ spec:
|
|||
- name: registration-dir
|
||||
hostPath:
|
||||
path: /var/lib/kubelet/plugins_registry
|
||||
type: Directory
|
||||
- name: plugin-dir
|
||||
hostPath:
|
||||
path: /var/lib/kubelet/plugins/csi.hpe.com
|
||||
type: DirectoryOrCreate
|
||||
- name: pods-mount-dir
|
||||
hostPath:
|
||||
path: /var/lib/kubelet
|
||||
|
|
|
@ -46,7 +46,7 @@ rules:
|
|||
- apiGroups: [""]
|
||||
resources: ["events"]
|
||||
verbs: ["list", "watch", "create", "update", "patch"]
|
||||
{{- if semverCompare ">=1.17.0" .Capabilities.KubeVersion.GitVersion }}
|
||||
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "17") }}
|
||||
- apiGroups: ["snapshot.storage.k8s.io"]
|
||||
resources: ["volumesnapshots"]
|
||||
verbs: ["get", "list"]
|
||||
|
@ -98,10 +98,10 @@ rules:
|
|||
- apiGroups: [""]
|
||||
resources: ["secrets"]
|
||||
verbs: ["get", "watch", "list"]
|
||||
{{- if semverCompare "~1.12.0" .Capabilities.KubeVersion.GitVersion }}
|
||||
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( eq ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "12") }}
|
||||
resources: ["csinodeinfos"]
|
||||
verbs: ["get", "list", "watch"]
|
||||
{{- else if semverCompare "~1.13.0" .Capabilities.KubeVersion.GitVersion }}
|
||||
{{- else if and (eq .Capabilities.KubeVersion.Major "1") ( eq ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "13") }}
|
||||
- apiGroups: ["csi.storage.k8s.io"]
|
||||
resources: ["csinodeinfos"]
|
||||
verbs: ["get", "list", "watch"]
|
||||
|
@ -127,7 +127,7 @@ roleRef:
|
|||
apiGroup: rbac.authorization.k8s.io
|
||||
|
||||
|
||||
{{- if semverCompare ">=1.17.0" .Capabilities.KubeVersion.GitVersion }}
|
||||
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "17") }}
|
||||
---
|
||||
|
||||
kind: ClusterRole
|
||||
|
@ -186,8 +186,7 @@ roleRef:
|
|||
|
||||
{{- end }}
|
||||
|
||||
|
||||
{{- if semverCompare ">=1.15.0" .Capabilities.KubeVersion.GitVersion }}
|
||||
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "15") }}
|
||||
---
|
||||
# Resizer must be able to work with PVCs, PVs, SCs.
|
||||
kind: ClusterRole
|
||||
|
@ -260,6 +259,154 @@ roleRef:
|
|||
apiGroup: rbac.authorization.k8s.io
|
||||
|
||||
|
||||
---
|
||||
# cluster role to support volumegroup
|
||||
kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: hpe-csi-volumegroup-role
|
||||
rules:
|
||||
- apiGroups: ["storage.hpe.com"]
|
||||
resources: ["volumegroups"]
|
||||
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||
- apiGroups: ["storage.hpe.com"]
|
||||
resources: ["volumegroupcontents"]
|
||||
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||
- apiGroups: ["storage.hpe.com"]
|
||||
resources: ["volumegroupclasses"]
|
||||
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||
- apiGroups: ["storage.hpe.com"]
|
||||
resources: ["volumegroups/status"]
|
||||
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||
- apiGroups: ["storage.hpe.com"]
|
||||
resources: ["volumegroupcontents/status"]
|
||||
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||
- apiGroups: [""]
|
||||
resources: ["namespaces"]
|
||||
verbs: ["get", "list", "create"]
|
||||
- apiGroups: [""]
|
||||
resources: ["persistentvolumes"]
|
||||
verbs: ["get", "list", "watch", "create", "delete"]
|
||||
- apiGroups: [""]
|
||||
resources: ["persistentvolumeclaims"]
|
||||
verbs: ["create", "get", "list", "watch", "update", "delete"]
|
||||
- apiGroups: [""]
|
||||
resources: ["persistentvolumeclaims/status"]
|
||||
verbs: ["update", "patch"]
|
||||
- apiGroups: [""]
|
||||
resources: ["events"]
|
||||
verbs: ["list", "watch", "create", "update", "patch"]
|
||||
- apiGroups: [""]
|
||||
resources: ["secrets"]
|
||||
verbs: ["get"]
|
||||
- apiGroups: ["apiextensions.k8s.io"]
|
||||
resources: ["customresourcedefinitions"]
|
||||
verbs: ["create", "list", "watch", "delete", "get", "update"]
|
||||
- apiGroups: ["coordination.k8s.io"]
|
||||
resources: ["leases"]
|
||||
verbs: ["get", "watch", "list", "delete", "update", "create"]
|
||||
|
||||
---
|
||||
|
||||
kind: ClusterRoleBinding
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: hpe-csi-volumegroup-binding
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: hpe-csi-controller-sa
|
||||
namespace: {{ .Release.Namespace }}
|
||||
roleRef:
|
||||
kind: ClusterRole
|
||||
name: hpe-csi-volumegroup-role
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
|
||||
---
|
||||
# cluster role to support snapshotgroup
|
||||
kind: ClusterRole
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: hpe-csi-snapshotgroup-role
|
||||
rules:
|
||||
- apiGroups: ["storage.hpe.com"]
|
||||
resources: ["snapshotgroups"]
|
||||
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||
- apiGroups: ["storage.hpe.com"]
|
||||
resources: ["snapshotgroupcontents"]
|
||||
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||
- apiGroups: ["storage.hpe.com"]
|
||||
resources: ["snapshotgroupclasses"]
|
||||
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||
- apiGroups: ["storage.hpe.com"]
|
||||
resources: ["snapshotgroups/status"]
|
||||
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||
- apiGroups: ["storage.hpe.com"]
|
||||
resources: ["snapshotgroupcontents/status"]
|
||||
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||
- apiGroups: [""]
|
||||
resources: ["namespaces"]
|
||||
verbs: ["get", "list", "create"]
|
||||
- apiGroups: [""]
|
||||
resources: ["persistentvolumes"]
|
||||
verbs: ["get", "list", "watch", "create", "delete"]
|
||||
- apiGroups: [""]
|
||||
resources: ["persistentvolumeclaims"]
|
||||
verbs: ["create", "get", "list", "watch", "update", "delete"]
|
||||
- apiGroups: [""]
|
||||
resources: ["persistentvolumeclaims/status"]
|
||||
verbs: ["update", "patch"]
|
||||
- apiGroups: [""]
|
||||
resources: ["events"]
|
||||
verbs: ["list", "watch", "create", "update", "patch"]
|
||||
- apiGroups: [""]
|
||||
resources: ["secrets"]
|
||||
verbs: ["get"]
|
||||
- apiGroups: ["apiextensions.k8s.io"]
|
||||
resources: ["customresourcedefinitions"]
|
||||
verbs: ["create", "list", "watch", "delete", "get", "update"]
|
||||
- apiGroups: ["coordination.k8s.io"]
|
||||
resources: ["leases"]
|
||||
verbs: ["get", "watch", "list", "delete", "update", "create"]
|
||||
- apiGroups: ["storage.hpe.com"]
|
||||
resources: ["volumegroups"]
|
||||
verbs: ["get", "list", "watch"]
|
||||
- apiGroups: ["storage.hpe.com"]
|
||||
resources: ["volumegroupcontents"]
|
||||
verbs: ["get", "list", "watch"]
|
||||
- apiGroups: ["storage.hpe.com"]
|
||||
resources: ["volumegroupclasses"]
|
||||
verbs: ["get", "list", "watch"]
|
||||
- apiGroups: ["snapshot.storage.k8s.io"]
|
||||
resources: ["volumesnapshotcontents"]
|
||||
verbs: ["create", "get", "list", "watch", "update", "delete"]
|
||||
- apiGroups: ["snapshot.storage.k8s.io"]
|
||||
resources: ["volumesnapshotcontents/status"]
|
||||
verbs: ["create", "get", "list", "watch", "update", "delete"]
|
||||
- apiGroups: ["snapshot.storage.k8s.io"]
|
||||
resources: ["volumesnapshots"]
|
||||
verbs: ["create", "get", "list", "watch", "update", "delete"]
|
||||
- apiGroups: ["snapshot.storage.k8s.io"]
|
||||
resources: ["volumesnapshots/status"]
|
||||
verbs: ["update"]
|
||||
- apiGroups: ["snapshot.storage.k8s.io"]
|
||||
resources: ["volumesnapshotclasses"]
|
||||
verbs: ["get", "list"]
|
||||
|
||||
---
|
||||
|
||||
kind: ClusterRoleBinding
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: hpe-csi-snapshotgroup-binding
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: hpe-csi-controller-sa
|
||||
namespace: {{ .Release.Namespace }}
|
||||
roleRef:
|
||||
kind: ClusterRole
|
||||
name: hpe-csi-snapshotgroup-role
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
|
||||
---
|
||||
# mutator must be able to work with PVCs, PVs, SCs.
|
||||
kind: ClusterRole
|
||||
|
@ -295,7 +442,8 @@ subjects:
|
|||
- kind: ServiceAccount
|
||||
name: hpe-csi-controller-sa
|
||||
# replace with non-default namespace name
|
||||
namespace: kube-system
|
||||
namespace: {{ .Release.Namespace }}
|
||||
|
||||
roleRef:
|
||||
kind: ClusterRole
|
||||
name: csi-mutator-role
|
||||
|
@ -307,7 +455,7 @@ roleRef:
|
|||
kind: Role
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
namespace: kube-system
|
||||
namespace: {{ .Release.Namespace }}
|
||||
name: csi-mutator-cfg
|
||||
rules:
|
||||
- apiGroups: ["coordination.k8s.io"]
|
||||
|
@ -319,11 +467,12 @@ kind: RoleBinding
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
metadata:
|
||||
name: csi-mutator-role-cfg
|
||||
namespace: kube-system
|
||||
namespace: {{ .Release.Namespace }}
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: hpe-csi-controller-sa
|
||||
namespace: kube-system
|
||||
namespace: {{ .Release.Namespace }}
|
||||
|
||||
roleRef:
|
||||
kind: Role
|
||||
name: csi-mutator-cfg
|
||||
|
@ -347,6 +496,12 @@ rules:
|
|||
- apiGroups: ["storage.hpe.com"]
|
||||
resources: ["hpereplicationdeviceinfos"]
|
||||
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||
- apiGroups: ["storage.hpe.com"]
|
||||
resources: ["hpevolumegroupinfos"]
|
||||
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||
- apiGroups: ["storage.hpe.com"]
|
||||
resources: ["hpesnapshotgroupinfos"]
|
||||
verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
|
||||
- apiGroups: [""]
|
||||
resources: ["pods"]
|
||||
verbs: ["get", "list"]
|
||||
|
|
|
@ -32,12 +32,16 @@ spec:
|
|||
app: nimble-csp
|
||||
spec:
|
||||
serviceAccount: hpe-csp-sa
|
||||
{{- if semverCompare ">=1.17.0" .Capabilities.KubeVersion.GitVersion }}
|
||||
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "17") }}
|
||||
priorityClassName: system-cluster-critical
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: nimble-csp
|
||||
image: hpestorage/nimble-csp:v1.3.0
|
||||
{{- if .Values.registry }}
|
||||
image: {{ .Values.registry }}/hpestorage/nimble-csp:v1.4.0
|
||||
{{- else }}
|
||||
image: quay.io/hpestorage/nimble-csp:v1.4.0
|
||||
{{- end }}
|
||||
imagePullPolicy: {{ .Values.imagePullPolicy | quote }}
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
|
|
|
@ -34,12 +34,16 @@ spec:
|
|||
app: primera3par-csp
|
||||
spec:
|
||||
serviceAccount: hpe-csp-sa
|
||||
{{- if semverCompare ">=1.17.0" .Capabilities.KubeVersion.GitVersion }}
|
||||
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "17") }}
|
||||
priorityClassName: system-cluster-critical
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: primera3par-csp
|
||||
image: hpestorage/hpe3parprimera-csp:v1.1.0
|
||||
{{- if .Values.registry }}
|
||||
image: {{ .Values.registry }}/hpestorage/hpe3parprimera-csp:v1.2.0
|
||||
{{- else }}
|
||||
image: quay.io/hpestorage/hpe3parprimera-csp:v1.2.0
|
||||
{{- end }}
|
||||
imagePullPolicy: {{ .Values.imagePullPolicy | quote }}
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
|
@ -58,4 +62,4 @@ spec:
|
|||
- effect: NoExecute
|
||||
key: node.kubernetes.io/unreachable
|
||||
operator: Exists
|
||||
tolerationSeconds: 30
|
||||
tolerationSeconds: 30
|
||||
|
|
|
@ -24,7 +24,7 @@ metadata:
|
|||
{{- end }}
|
||||
{{- end }}
|
||||
provisioner: csi.hpe.com
|
||||
{{- if semverCompare ">=1.15.0" .Capabilities.KubeVersion.GitVersion }}
|
||||
{{- if and (eq .Capabilities.KubeVersion.Major "1") ( ge ( trimSuffix "+" .Capabilities.KubeVersion.Minor ) "15") }}
|
||||
allowVolumeExpansion: {{ $sc.allowVolumeExpansion }}
|
||||
{{- end }}
|
||||
parameters:
|
||||
|
|
|
@ -17,4 +17,8 @@ disableNodeConformance: false
|
|||
# values for CHAP Authentication
|
||||
iscsi:
|
||||
chapUser: ""
|
||||
chapPassword: ""
|
||||
chapPassword: ""
|
||||
|
||||
# registry prefix for hpe csi images
|
||||
registry: "quay.io"
|
||||
|
||||
|
|
25
index.yaml
25
index.yaml
|
@ -306,6 +306,29 @@ entries:
|
|||
- assets/haproxy/haproxy-1.4.300.tgz
|
||||
version: 1.4.300
|
||||
hpe-csi-driver:
|
||||
- annotations:
|
||||
catalog.cattle.io/certified: partner
|
||||
catalog.cattle.io/release-name: hpe-csi-driver
|
||||
apiVersion: v1
|
||||
appVersion: 1.4.0
|
||||
created: "2021-02-25T22:46:37.811643961Z"
|
||||
description: A Helm chart for installing the HPE CSI Driver for Kubernetes
|
||||
digest: 487dca3d6bdf6961bf29425945b40974667a67723d2a8d9edbca87285e628793
|
||||
home: https://hpe.com/storage/containers
|
||||
icon: https://raw.githubusercontent.com/hpe-storage/co-deployments/master/docs/assets/hpedev.png
|
||||
keywords:
|
||||
- HPE
|
||||
- Storage
|
||||
- StorageClass
|
||||
maintainers:
|
||||
- email: hpe-containers-dev@hpe.com
|
||||
name: raunakkumar
|
||||
name: hpe-csi-driver
|
||||
sources:
|
||||
- https://scod.hpedev.io/csi_driver
|
||||
urls:
|
||||
- assets/hpe-csi-driver/hpe-csi-driver-1.4.200.tgz
|
||||
version: 1.4.200
|
||||
- annotations:
|
||||
catalog.cattle.io/certified: partner
|
||||
catalog.cattle.io/release-name: hpe-csi-driver
|
||||
|
@ -527,4 +550,4 @@ entries:
|
|||
urls:
|
||||
- assets/sysdig/sysdig-1.9.200.tgz
|
||||
version: 1.9.200
|
||||
generated: "2021-02-25T20:17:31.425563557Z"
|
||||
generated: "2021-02-25T22:46:37.810270792Z"
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
6a2f70133586be6504959a95c67afe48ec5209b83fcf4759932debfe8f56f273 packages/hpe-csi-driver/hpe-csi-driver.patch
|
||||
29d960d6d8b6fa6b1a353f6abc8e219df090f3a544d05e4f99f45fd9c0ce3dc5 packages/hpe-csi-driver/package.yaml
|
||||
0a18dff42f55ecf52ccad858dc318fd2b0f08439b36f3d74f1f79e1e0da0b6fe packages/hpe-csi-driver/hpe-csi-driver.patch
|
||||
132c211126b8c829d4b30ccc4019c0593d7e2bf70efee4eb22228c61a1ad1198 packages/hpe-csi-driver/package.yaml
|
||||
|
|
Loading…
Reference in New Issue