-
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
support storage class in Ceph RBD volume #31251
Conversation
Signed-off-by: Huamin Chen <hchen@redhat.com>
|
||
func selectorToParam(pv *api.PersistentVolume) (string, string, string, error) { | ||
if pv.Annotations == nil { | ||
return "", "", "", fmt.Errorf("PV has no annotation, cannot get Ceph admin cedentials") |
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.
s/cedentials/credentials/
I am considering support the following rbd options as part of the provisioning parameters
|
@rootfs is it possible to also control the RBD features via the StorageClass? (fast-diff, deep-flatten, object-map, exclusive-lock etc) is StorageClass the right place for those RBD features? Also, would it make sense to specify multiple pools in the StorageClass, and have provisioning round-robin the pools? Side note, I'm in the process of reworking the documentation: https://github.com/elsonrodriguez/kubernetes/tree/rbd-prov3-docs/examples/experimental/persistent-volume-provisioning I'll send a follow-up PR after this is merged. edit: |
@rootfs This is working pretty good. Provisioning, Mounting, Remounting after pod deletion, all works. Going to run through some more scenarios. |
@elsonrodriguez I think we can introduce the support of more features later. As discussed with @rootfs krbd doesn't support all the image features yet, it really depends on the kernel you're using. @rootfs thanks for addressing my comments! |
provisioner: kubernetes.io/rbd | ||
parameters: | ||
monitors: 10.16.153.105:6789 | ||
adminID: kube |
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.
adminId
, to follow userId
below. Or the other way around.
Reviewed 7 of 9 files at r1, 2 of 2 files at r2. Comments from Reviewable |
Signed-off-by: Huamin Chen <hchen@redhat.com>
Reviewed 6 of 6 files at r3. Comments from Reviewable |
I am happy with overall quality of the PR. @elsonrodriguez, @leseb, can you check please Ceph-related parts? |
@jsafrane LGTM (from a Ceph angle) |
@pwittrock @jsafrane Hi, this is 500+ LOC. Is this a bug fix? Should it be in 1.4? Thanks |
@pwittrock @saad-ali @matchstick Is this something we should make an exception for? |
Here is the link to the exceptions process for adding features or large refactors post feature freeze date. @rootfs @pmorie @saad-ali @thockin @jsafrane @childsb Is there a case why to add this in the 1.4 window? If so please follow the application for an exception procedures which are outlined in the link above. |
Will remove 1.4 milestone from the PR. If exception process determines we want this in v1.4, it can be re-added. |
Can one of the admins verify that this patch is reasonable to test? If so, please reply "ok to test". This message will repeat several times in short succession due to jenkinsci/ghprb-plugin#292. Sorry. |
@@ -262,3 +448,24 @@ func getVolumeSource( | |||
|
|||
return nil, false, fmt.Errorf("Spec does not reference a RBD volume type") | |||
} | |||
|
|||
// parseSecretMap locates the secret by key name. |
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.
nit: parseSecretMap -> parseSecret
Will update after #31886 |
GCE e2e build/test passed for commit 0c3b2f4. |
@apelisse can you get rid of |
@k8s-bot test this [submit-queue is verifying that this PR is safe to merge] |
GCE e2e build/test passed for commit 0c3b2f4. |
Automatic merge from submit-queue |
Dynamic provisioning for Ceph RBD was implemented in Kubernetes in PR: kubernetes/kubernetes#31251 So it is also a part of OpenShift. That's why the Ceph RBD dynamic provisioner documentation is added.
Dynamic provisioning for Ceph RBD was implemented in Kubernetes in PR: kubernetes/kubernetes#31251 So it is also a part of OpenShift. That's why the Ceph RBD dynamic provisioner documentation is added.
replace WIP PR #30959, using PV annotation idea from @jsafrane
@kubernetes/sig-storage @johscheuer @elsonrodriguez
This change is