Skip to content

Commit

Permalink
Update KEP to reflect volume cloning beta in 1.16
Browse files Browse the repository at this point in the history
  • Loading branch information
j-griffith committed Jul 17, 2019
1 parent 79119ce commit a4e8b18
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions keps/sig-storage/20181111-extend-datasource-field.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ approvers:
- "@thockin"
editor: "@j-griffith"
creation-date: 2018-11-11
last-updated: 2019-04-29
status: implementable
last-updated: 2019-07-17
status: Alpha
see-also:
replaces:
superseded-by:
Expand Down Expand Up @@ -69,6 +69,7 @@ Features like Cloning are common in most storage devices, not only is the capabi
* This KEP does NOT propose any ability to shrink a PVC during a Clone request (e.g. it's considered an invalid request to clone PVC-a with a size of 10Gib to a PVC with a requested size of less than 10Gib, expansion is "ok" if the driver supports it but it's not required)
* This KEP does NOT propose adding any ability to transfer a Clone to a different Namespace, the new PVC (Clone) will be in the same Namespace as the origin that was specified. This also means that since this is namespaced, a user can not request a Clone of a PVC that is another Namespace. A user can only request a Clone of PVCs in his or her Namespace.
* Cloning will only be available in CSI, cloning features will NOT be added to existing in-tree plugins or Flex drivers
* Cloning will only be available within the same storage class (see [Implementation Details](#implementation-detailsnotesconstraints-optional) section for more info)

## Proposal

Expand Down Expand Up @@ -114,6 +115,8 @@ Currently the CSI provisioner already accepts the DataSource field in new provis
To emphasize above, this feature will ONLY be available for CSI. This feature wil NOT be added to In-tree plugins or Flex drivers, this is strictly a CSI only feature.
It's important to note that we intentionally require that a source PVC be in the same StorageClass as the PVC being created. This is currently required because the StorageClass determintes characteristics for a volume like `fsType`. Performing a clone from an xfs volume to an ext4 volume for example would not be acceptable, given that a storageClass can have unique information, cloning across storage classes is not something we're able to try and determine safely at this time.

### Risks and Mitigations

The primary risk of this feature is requesting a PVC DataSource when using a CSI Driver that doesn't handle Cloning in a safe way for running applications. It's assumed that the responsibility for reporting Clone Capabilities in this case is up to the CSI Driver, and if a CSI Driver is reporting Clone support that implies that they can in fact Clone Volumes without disrupting or corrupting users that may be actively using the specified source volume.
Expand All @@ -130,6 +133,8 @@ Given that the only implementation changes in Kuberenetes is to enable the featu

## Implementation History

1.15 - Alpha status

## Drawbacks [optional]

## Alternatives [optional]
Expand Down

0 comments on commit a4e8b18

Please sign in to comment.