Skip to content

Conversation

@xing-yang
Copy link
Contributor

This document proposes to add Kubernetes snapshot support in-tree.

This document proposes to add Kubernetes snapshot support in-tree.
@k8s-ci-robot k8s-ci-robot added the size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. label Jan 20, 2018
@k8s-ci-robot
Copy link
Contributor

Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA.

It may take a couple minutes for the CLA signature to be fully registered; after that, please reply here with a new comment and we'll verify. Thanks.


Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@k8s-ci-robot k8s-ci-robot added the cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. label Jan 20, 2018
@k8s-ci-robot k8s-ci-robot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Jan 20, 2018
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: xing-yang
We suggest the following additional approver: saad-ali

Assign the PR to them by writing /assign @saad-ali in a comment when ready.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these OWNERS Files:

You can indicate your approval by writing /approve in a comment
You can cancel your approval by writing /approve cancel in a comment

@k8s-github-robot k8s-github-robot added the sig/storage Categorizes an issue or PR as relevant to SIG Storage. label Jan 20, 2018
// kubelet's host machine and then exposed to the pod.
// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
// +optional
AWSElasticBlockStore *AWSElasticBlockStoreVolumeSnapshotSource `json:"awsElasticBlockStore,omitempty"`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was expecting the cloud provider-related API and controller to be out of tree. Isn't the ideal scenario that any storage provider would be able to support snapshotting their storage, interacting with the core kubernetes API only via VolumeSnapshot/VolumeSnapshotData objects?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to that end, it would probably make sense for there to be a place for opaque, storage-provider-specific parameters in the VolumeSnapshotData, so the storage provider can persist the info required to locate the snapshot (similar to the parameters in StorageClass and FlexVolumeSource)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @liggitt for the comments. This design is modeled after the design of PersistentVolume and PersistentVolumeClaim. For example, PersistentVolumeSource contains storage provider data as follows:

type PersistentVolumeSource struct {
// GCEPersistentDisk represents a GCE Disk resource that is attached to a
// kubelet's host machine and then exposed to the pod.
// +optional
GCEPersistentDisk *GCEPersistentDiskVolumeSource

// AWSElasticBlockStore represents an AWS EBS disk that is attached to a
// kubelet's host machine and then exposed to the pod
// +optional
AWSElasticBlockStore *AWSElasticBlockStoreVolumeSource
...
}

Having opaque, storage-provider-specific parameters in the VolumeSnapshotData is an option we can discuss about.

@mtanino
Copy link

mtanino commented Jan 20, 2018

/ok-to-test

@k8s-ci-robot k8s-ci-robot removed the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Jan 20, 2018
@kmova
Copy link

kmova commented Jan 21, 2018

Most of the storage vendors already support volume level snapshots. It will be good to include a section on how these will be made available via the CSI drivers.

================================

**Authors:** [Cindy Wang](https://github.com/ciwang)
**Authors:** [Cindy Wang](https://github.com/ciwang), [Jing Xu](https://github.com/jinxu97),[Tomas Smetana](https://github.com/tsmetana), [Huamin Chen ](https://github.com/rootfs), [Xing Yang] (https://github.com/xing-yang)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: extra white space between [Xing Yang] and link.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will address it. Thanks.

@xing-yang
Copy link
Contributor Author

@kmova Sure, will add a section for that later.

@xing-yang
Copy link
Contributor Author

Since I re-signed CLA with a new email address, I need to close this PR and open a new PR to get the CLA issue resolved. Thanks.

@cblecker
Copy link
Member

@xing-yang You shouldn't need to. You should also be able to follow directions like https://stackoverflow.com/questions/3042437/change-commit-author-at-one-specific-commit to reset the author on your commits to match your e-mail address

@xing-yang
Copy link
Contributor Author

@cblecker Thanks. I tried that in my other PR's but couldn't resolve it until I re-submit a new one:(. I have got help from Linux Foundation help desk as well.

Here's the new PR with CLA issue resolved: #1662

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. sig/storage Categorizes an issue or PR as relevant to SIG Storage. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants