Skip to content
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

Support Quobyte as StorageClass #31434

Merged
merged 3 commits into from
Sep 19, 2016

Conversation

johscheuer
Copy link
Contributor

@johscheuer johscheuer commented Aug 25, 2016

This PR allows Users to use Quobyte as StorageClass for dynamic volume provisioning and implements the Provisioner/Deleter Interface.

@quolix @kubernetes/sig-storage @rootfs


This change is Reviewable

@k8s-bot
Copy link

k8s-bot commented Aug 25, 2016

Can one of the admins verify that this patch is reasonable to test? If so, please reply "ok to test".
(Note: "add to whitelist" is no longer supported. Please update configurations in kubernetes/test-infra/jenkins/job-configs/kubernetes-jenkins-pull instead.)

This message will repeat several times in short succession due to jenkinsci/ghprb-plugin#292. Sorry.

6 similar comments
@k8s-bot
Copy link

k8s-bot commented Aug 25, 2016

Can one of the admins verify that this patch is reasonable to test? If so, please reply "ok to test".
(Note: "add to whitelist" is no longer supported. Please update configurations in kubernetes/test-infra/jenkins/job-configs/kubernetes-jenkins-pull instead.)

This message will repeat several times in short succession due to jenkinsci/ghprb-plugin#292. Sorry.

@k8s-bot
Copy link

k8s-bot commented Aug 25, 2016

Can one of the admins verify that this patch is reasonable to test? If so, please reply "ok to test".
(Note: "add to whitelist" is no longer supported. Please update configurations in kubernetes/test-infra/jenkins/job-configs/kubernetes-jenkins-pull instead.)

This message will repeat several times in short succession due to jenkinsci/ghprb-plugin#292. Sorry.

@k8s-bot
Copy link

k8s-bot commented Aug 25, 2016

Can one of the admins verify that this patch is reasonable to test? If so, please reply "ok to test".
(Note: "add to whitelist" is no longer supported. Please update configurations in kubernetes/test-infra/jenkins/job-configs/kubernetes-jenkins-pull instead.)

This message will repeat several times in short succession due to jenkinsci/ghprb-plugin#292. Sorry.

@k8s-bot
Copy link

k8s-bot commented Aug 25, 2016

Can one of the admins verify that this patch is reasonable to test? If so, please reply "ok to test".
(Note: "add to whitelist" is no longer supported. Please update configurations in kubernetes/test-infra/jenkins/job-configs/kubernetes-jenkins-pull instead.)

This message will repeat several times in short succession due to jenkinsci/ghprb-plugin#292. Sorry.

@k8s-bot
Copy link

k8s-bot commented Aug 25, 2016

Can one of the admins verify that this patch is reasonable to test? If so, please reply "ok to test".
(Note: "add to whitelist" is no longer supported. Please update configurations in kubernetes/test-infra/jenkins/job-configs/kubernetes-jenkins-pull instead.)

This message will repeat several times in short succession due to jenkinsci/ghprb-plugin#292. Sorry.

@k8s-bot
Copy link

k8s-bot commented Aug 25, 2016

Can one of the admins verify that this patch is reasonable to test? If so, please reply "ok to test".
(Note: "add to whitelist" is no longer supported. Please update configurations in kubernetes/test-infra/jenkins/job-configs/kubernetes-jenkins-pull instead.)

This message will repeat several times in short succession due to jenkinsci/ghprb-plugin#292. Sorry.

@k8s-github-robot k8s-github-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. release-note-label-needed labels Aug 25, 2016
if len(user) == 0 {
var user, group string

if user = quobyteVolume.user; len(user) == 0 {
Copy link
Contributor

Choose a reason for hiding this comment

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

Prefer:

user := quobyteVolume.user
if len(user) == 0 {
  user = "root"
}
...

@johscheuer johscheuer force-pushed the quobyte-dynamic-prov branch 3 times, most recently from 1d6dc04 to f29c5da Compare August 25, 2016 18:08
@rootfs
Copy link
Contributor

rootfs commented Aug 25, 2016

Review status: 0 of 23 files reviewed at latest revision, 16 unresolved discussions.


examples/experimental/persistent-volume-provisioning/README.md, line 146 [r1] (raw file):

<!-- END MUNGE: EXAMPLE quobyte/quobyte-storage-class.yaml -->

- **apiServer** API Server of Quobyte in the format http(s)://api-server:7860

apiServer is rather ambiguous, make it quobyteApiServer or something that is distinguishable from kube-apiserver.


examples/experimental/persistent-volume-provisioning/README.md, line 147 [r1] (raw file):

- **apiServer** API Server of Quobyte in the format http(s)://api-server:7860
* **registry** Quobyte registry to use to mount the volume. You can specifiy the registry as <host>:<port> pair or if you want to specify multiple registries you just have to put a semicolon between them e.q. <host1>:<port>,<host2>:<port>,<host3>:<port>. The host can be an IP address or if you have a working DNS you can also provide the DNS names.

semicolon->comma


examples/experimental/persistent-volume-provisioning/README.md, line 150 [r1] (raw file):

* **adminSecretName** secret that holds information about the Quobyte user and the password to authenticate agains the API server.
* **adminSecretNamespace** The namespace for **adminSecretName**. Default is `default`.
* **user** maps all access to this user. Default is `root`.

what does "all access" mean?


examples/experimental/persistent-volume-provisioning/quobyte/quobyte-storage-class.yaml, line 7 [r1] (raw file):

provisioner: kubernetes.io/quobyte
parameters:
    apiServer: http://139.59.210.140:7860

https if possible


pkg/volume/quobyte/quobyte.go, line 50 [r1] (raw file):

  user      string
  password  string
  apiServer string

quobyteApiServer for less confusion, same for the rest.


Comments from Reviewable

@brendandburns brendandburns added release-note Denotes a PR that will be considered when it comes time to generate release notes. and removed release-note-label-needed labels Sep 1, 2016
@johscheuer
Copy link
Contributor Author

@brendandburns we update the Quobyte API client and remove the external github.com/gorilla dependencies from it.

@rootfs got some time for reviewing the code?

@brendandburns
Copy link
Contributor

I still see the gorilla library being added. Missing a push? or perhaps just need to remove the commit?

Thanks

@johscheuer
Copy link
Contributor Author

johscheuer commented Sep 16, 2016

@rootfs can we tag this PR to be tested?

So in the first step this PR is fine with a reference to the secrets in the PV Annotations but in a second step (when external provisioners are available) we should refactor this into an external provisioners? Are there already some design docs for external provisioners?

@jsafrane
Copy link
Member

@k8s-bot ok to test

@jsafrane jsafrane added sig/storage Categorizes an issue or PR as relevant to SIG Storage. team/cluster release-note-none Denotes a PR that doesn't merit a release note. and removed release-note Denotes a PR that will be considered when it comes time to generate release notes. labels Sep 16, 2016
@jsafrane
Copy link
Member

looks OK to me, @brendandburns, @rootfs opinions?

@johscheuer, can you please provide an e2e tests for Quobyte volume plugin (mount/unmount) in a subsequent PR? Look at test/e2e/volumes.go for an example how to test with containerized storage clusters like Gluster or Ceph - typically some minimal (and often also degraded) server is started as a pod, all we need is that it provides a minimal volume that mounts.

Test for provisioning would be helpful too (test/e2e/volume_provisioning.go).

@johscheuer johscheuer force-pushed the quobyte-dynamic-prov branch 2 times, most recently from ca41e50 to 0e8fb8a Compare September 16, 2016 11:29
@johscheuer
Copy link
Contributor Author

@jsafrane I will have a look at but only in two weeks I'm stuffed with other things at the moment that I have to finish first. When I correctly remember we decided to not implement a 2e2 for Quobyte these reasons: #24977 (comment) (+following)

@rootfs
Copy link
Contributor

rootfs commented Sep 16, 2016

LGTM, pass @brendandburns for tags.

@brendandburns brendandburns added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Sep 16, 2016
@brendandburns
Copy link
Contributor

tagged.

@brendandburns brendandburns added release-note Denotes a PR that will be considered when it comes time to generate release notes. and removed release-note-none Denotes a PR that doesn't merit a release note. labels Sep 16, 2016
@k8s-github-robot k8s-github-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Sep 17, 2016
@johscheuer
Copy link
Contributor Author

@brendandburns looks like my last push got stuck :( I fixed a small typo before the lgtm and I thought my computer had pushed it looks like I was wrong.. Sorry!

@jsafrane
Copy link
Member

@k8s-bot test this issue #32770

@k8s-github-robot
Copy link

@k8s-bot test this [submit-queue is verifying that this PR is safe to merge]

@k8s-bot
Copy link

k8s-bot commented Sep 19, 2016

GCE e2e build/test passed for commit 02db13b.

@k8s-github-robot
Copy link

Automatic merge from submit-queue

@k8s-github-robot k8s-github-robot merged commit aa0e8b9 into kubernetes:master Sep 19, 2016
@johscheuer
Copy link
Contributor Author

Thanks!

@johscheuer johscheuer deleted the quobyte-dynamic-prov branch September 19, 2016 09:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lgtm "Looks good to me", indicates that a PR is ready to be merged. release-note Denotes a PR that will be considered when it comes time to generate release notes. sig/storage Categorizes an issue or PR as relevant to SIG Storage. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants