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
Volume Plugin for Cinder; Openstack Block Storage #6689
Conversation
To @thockin to find a reviewer. |
// CinderPersistentDisk represents a Persistent Disk resource in Openstack. | ||
// A Cinder volume must exist and be formatted before mounting to a container. | ||
// The disk must also be in the same region as the kubelet. | ||
type CinderPersistentDiskVolumeSource struct { |
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.
Maybe just "CinderVolumeSource"? It will be present in both the VolumeSource and PersistentVolumeSource structs.
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.
Will update
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.
Yeah "PersistentDisk" is not a general concept name, it's literally the product name on Google Cloud Platform. If it's not part of the well-known name of this concept, don't include the words.
3e7052c
to
4dc48ac
Compare
// The disk must also be in the same region as the kubelet. | ||
type CinderPersistentDiskVolumeSource struct { | ||
// Unique name of the PD resource. Used to identify the disk in cinder volume | ||
PDName string `json:"pdName"` |
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.
As above - use field names that make sense to someone who knows this concept.
Thanks for taking point Mark. I had almost nothing to add. |
I'm happy to contribute where I can :) |
4dc48ac
to
694e08d
Compare
This is another of the volume plugins for which we have no e2e, no way to add e2e in GCE, and no way to ingest 3rd party e2e. :( |
+1 (-1?) |
694e08d
to
e78d268
Compare
When the Pods are scheduled on Kubernetes Nodes, what are the package requirements in order for the Kubernetes Nodes to be able mount the Cinder Block Device? For example, with the current Kubernetes GlusterFS and Ceph Plugins, glusterfs-client and ceph-common have to be installed, respectively. |
Here are some details about the requirements |
@spothanis thanks. The README is part of the PR so I had read it, but all it states is "Ensure cinder is installed and configured properly in the region in which kubelet is spun up". Does this plugin design assume that the kubelet is running in a Kubernetes deployment within an OpenStack cluster? Does it still work if Kubernetes is running adjacent to an OpenStack Cinder Deployment (a private cloud scenario)? What client libraries need to be installed on the Kubelet Hosts for the Volume Plugin to work? |
The volume plugin uses gopher cloud's openstack client. It is already Does this plugin design assume that the kubelet is running in a Kubernetes Does it still work if Kubernetes is running adjacent to an OpenStack On Thu, May 7, 2015 at 5:07 AM, Steve Watt notifications@github.com wrote:
Thank you, |
Can one of the admins verify that this patch is reasonable to test? (reply "ok to test", or if you trust the user, reply "add to whitelist") If this message is too spammy, please complain @ixdy. |
ok to test |
EXPERIMENTAL JENKINS PR BUILDER: e2e build failed. |
@@ -205,6 +205,8 @@ type VolumeSource struct { | |||
Glusterfs *GlusterfsVolumeSource `json:"glusterfs"` | |||
// PersistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace | |||
PersistentVolumeClaimVolumeSource *PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,omitempty"` | |||
// CinderVolume represents a cinder volume attached and mounted on kubelets host machine | |||
CinderVolume *CinderVolumeSource `json:"cinderVolume"` |
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.
do you really want "cinderVolume" to be the API or do you want "cinder" ?
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.
I will change it to cinder
Can one of the admins verify that this patch is reasonable to test? (reply "ok to test", or if you trust the user, reply "add to whitelist") If this message is too spammy, please complain to ixdy. |
ok to test On Wed, Jul 8, 2015 at 6:55 PM, Kubernetes Bot notifications@github.com
|
@spothanis If you plan to address @pmorie's feedback in a follow up PR, please open an issue and link it here for tracking. And thanks for all your hard work! |
@spothanis It's your call -- I'll remove LGTM if you would prefer and add it again when you're ready, or I can review a follow up PR. For the record, I didn't mean to derail this so close to LGTM. |
@pmorie I really appreciate your time and advice on the PR. I will send a follow up PR to address the feedback |
@spothanis did you decide about a follow up or integrating comments now? |
@pmorie do a follow up PR if it is ok |
@spothanis sounds great. @k8s-oncall Can oncall take a look at this PR? |
Labelling this PR as size/XXL |
Fyi: plan is to wait for the submit queue to pick this up |
@bprashanth when do you expect that to happen? |
Hopefully today, it's a function of how green the build is. Let me know if this is blocking you and we can do a manual merge, as it seems retty isolated. |
@bprashanth Let's prioritize getting this in. Thanks! |
Volume Plugin for Cinder; Openstack Block Storage
Grr, broke precommit, please /hack/verify-generated-conversions.sh again |
@bprashanth looking into it |
how did shippable pass with broken conversions? |
the results should expire. it passed before the breaking changes came in. |
@bprashanth Did I read your comment correctly to mean that the precommit hook changed after the last shippable run? |
the generated code changed beneath us in a way that didn't cause a merge conflict but caused the precommit to fail, but we didn't notice because shippable ran and passed before the change |
I will open a new PR with the required changes |
@spothanis et al. Thanks for all your hard work on this. This is an awesome feature to add! |
Volume Plugin for Cinder; Openstack Block Storage
The PR implements cinder as a volume plugin. Cinder is openstack's block storage component.
The functionality is very similar to GCE's pd