-
Notifications
You must be signed in to change notification settings - Fork 40k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for libStorage as a Kubernetes volume plugin. #28599
Add support for libStorage as a Kubernetes volume plugin. #28599
Conversation
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed, please reply here (e.g.
|
ok to test |
@kubernetes/sig-storage |
Suggestion: this would probably be easier to review if it was split into multiple commits like so:
|
godeps updates/changes in a single commit. |
Working on breaking out auto-gen code from real code changes. |
@pmorie I followed your suggestion and reset the feature branch and broke out the code into 3 separate commits to make it easy to review .
|
Can one of the admins verify that this patch is reasonable to test? If so, please reply "ok to test". This message may repeat a few times in short succession due to jenkinsci/ghprb-plugin#292. Sorry. Otherwise, if this message is too spammy, please complain to ixdy. |
I signed it! |
CLAs look good, thanks! |
@kubernetes/sig-storage |
About |
@@ -18,6 +18,11 @@ | |||
"Rev": "'75cd24fc2f2c2a2088577d12123ddee5f54e0675'" | |||
}, | |||
{ | |||
"ImportPath": "github.com/BurntSushi/toml", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For a start we CAN NOT use this dep - it is licensed under the WTFPL which is not allowed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for reviewing, I have asked the developer associated with the code using this WTFPL licensed dep to investigate alternatives
Adding label:do-not-merge because PR changes docs prohibited to auto merge |
This commit captures the code changes for implementating the Kubernetes libStorage volume plugin including: - LibStoragetVolumeSource API type - LibStorage Plugin Impl - LibStorage impl of Mounter, Unmounter, Provisioner, etc - LibStorage client code
This commit encapsulates all source and doc artifacts generated by the build scripts including - API documentations - Source code for API types - Other build artifacts - Etc
This commit includes all example documentation showing how to use the libStorage Kuberneties volume plugin.
Jenkins Bazel Build failed for commit 4d073df. Full PR test history. The magic incantation to run this job again is 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-bot unit test this |
Jenkins unit/integration failed for commit 4d073df. Full PR test history. The magic incantation to run this job again is 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. |
@vladimirvivien PR needs rebase |
This change is to implement the libStorage storage provisioner and orchestrator framework as a Kubernetes volume plugin. LibStorage is an open source project from EMC {code}. One of its primary goals is provide persistent volume access to containerized applications. The libStorage framework comes with a stable API and a robust set of storage primitives including:
LibStorage offers a simple model for creating drivers for storage provisioning and orchestration. Storage drivers use a small but versioned API to implement some or all storage primitives. The drivers are automatically managed by the libStorage infrastructure. LibStorage exists to provide uniform access to the sizable and diverse storage platforms found in enterprise deployments. A libStorage volume plugin would allow Kubernetes to support many of these platforms while decoupling their implementations from the Kubernetes codebase.
The goals of the libStorage Kubernetes volume plugin are:
The libStorage volume plugin is designed to be cloud and provider agnostic. The volume is able to handle both PVs and PVCs. To enable libStorage as a dynamic persistent volume provisioner, use the
--enable-libstorage-provisioner
flag when launching thekube-controller-manager
. This will use libStorage to automatically provision volumes defined in a Persistent Volume Claim.This change is