Merge pull request #55204 from vladimirvivien/k8s-csi-volume-source

Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Kubernetes CSI - Persistent Volume Source Type

**What this PR does / why we need it**:
This PR is to track the addition of new API type `CSIPersistentVolumeSource` that will be used as PersistentVolume for storage sources managed by CSI drivers. 

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
xref https://github.com/kubernetes/features/issues/178

**Special notes for your reviewer**:
- Implements API `PersistentVolume` type `CSIPersistentVolumeSource`
- Part of implementation for https://github.com/kubernetes/features/issues/178
- Designed at https://github.com/kubernetes/community/pull/1258

Other CSI Volume Plugin PRs:
- Plugin Mounter/Unmounter https://github.com/kubernetes/kubernetes/pull/54529
- Plugin Attacher/Detacher https://github.com/kubernetes/kubernetes/pull/55809

**Release note**:

```release-note
NONE
```
This commit is contained in:
Kubernetes Submit Queue
2017-11-17 22:18:30 -08:00
committed by GitHub
19 changed files with 1854 additions and 1212 deletions

View File

@@ -73464,6 +73464,27 @@
}
]
},
"io.k8s.api.core.v1.CSIPersistentVolumeSource": {
"description": "Represents storage that is managed by an external CSI volume driver",
"required": [
"driver",
"volumeHandle"
],
"properties": {
"driver": {
"description": "Driver is the name of the driver to use for this volume. Required.",
"type": "string"
},
"readOnly": {
"description": "Optional: The value to pass to ControllerPublishVolumeRequest. Defaults to false (read/write).",
"type": "boolean"
},
"volumeHandle": {
"description": "VolumeHandle is the unique volume name returned by the CSI volume plugins CreateVolume to refer to the volume on all subsequent calls. Required.",
"type": "string"
}
}
},
"io.k8s.api.core.v1.Capabilities": {
"description": "Adds and removes POSIX capabilities from running containers.",
"properties": {
@@ -75812,6 +75833,10 @@
"description": "ClaimRef is part of a bi-directional binding between PersistentVolume and PersistentVolumeClaim. Expected to be non-nil when bound. claim.VolumeName is the authoritative bind between PV and PVC. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#binding",
"$ref": "#/definitions/io.k8s.api.core.v1.ObjectReference"
},
"csi": {
"description": "CSI represents storage that handled by an external CSI driver",
"$ref": "#/definitions/io.k8s.api.core.v1.CSIPersistentVolumeSource"
},
"fc": {
"description": "FC represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.",
"$ref": "#/definitions/io.k8s.api.core.v1.FCVolumeSource"