-
Notifications
You must be signed in to change notification settings - Fork 50
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 Ceph RBD driver #347
Add Ceph RBD driver #347
Conversation
5a38f89
to
5168b47
Compare
Current coverage is 30.89% (diff: 100%)@@ master #347 diff @@
==========================================
Files 29 29
Lines 1719 1719
Methods 0 0
Messages 0 0
Branches 0 0
==========================================
Hits 531 531
Misses 1130 1130
Partials 58 58
|
df722c2
to
f4bdfc5
Compare
So far I've been rebasing this PR and and keeping the whole thing in one commit. That makes it hard to see that I'm adding new things, though. So far now, I'm going to push new commits with major new additions so you can see where I'm at. I think that makes piecemeal reviews easier as well. We can squash everything together at the end. My latest commit adds tests in the Code review is welcome! |
Hi @codenrhoden, I don't rebase during the review process because the GitHub code review doesn't work if you make in-line comments and then update the branch with a rebased copy. I always perform additional commits during review -- at least until the very end. Sounds good Travis! |
a556641
to
a6ec186
Compare
@@ -586,8 +586,9 @@ remote storage systems. Currently the following storage drivers are supported: | |||
[Isilon](./storage-providers.md#isilon) | isilon | |||
[ScaleIO](./storage-providers.md#scaleio) | scaleio | |||
[VirtualBox](./storage-providers.md#virtualbox) | virtualbox | |||
[EBS](./storage-providers.md#ebs) | ebs, ec2 | |||
[EFS](./storage-providers.md#efs) | efs | |||
[EBS](./storage-providers.md#aws-ebs) | ebs, ec2 |
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.
Good change, but please don't make it here as part of this PR. Please do it in a separate doc change.
[EBS](./storage-providers.md#ebs) | ebs, ec2 | ||
[EFS](./storage-providers.md#efs) | efs | ||
[EBS](./storage-providers.md#aws-ebs) | ebs, ec2 | ||
[EFS](./storage-providers.md#aws-efs) | efs |
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.
Good change, but please don't make it here as part of this PR. Please do it in a separate doc change.
return fmt.Sprintf("%s/24", a.ip.String()) | ||
} | ||
|
||
var testIPs = []testIPInput{ |
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.
Possibly optimize tests by parsing the unique IPs once and reusing the result.
@@ -0,0 +1,287 @@ | |||
// +build !libstorage_storage_driver libstorage_storage_driver_rbd |
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.
Hi @codenrhoden,
I might add a sub-package called rbd-utils
and make the file rbd-utils.go
use the package main, thereby creating a new CLI. Then basically create a wrapper for this package so with the first arg of the CLI you can invoke a method from this file and the remaining args are the args for that function.
I was just thinking it would be a quick and easy way to easily validate the functionality of the utils
package.
I've removed the |
50f585b
to
0ac1099
Compare
@akutz. I think we are all green here. Take another look through when you can. I did update the tests to use statically parsed IPs. I can run my compiled tests package on the vagrant VM included in this PR as follows:
|
This patch introduces the Ceph RBD driver
0ac1099
to
8adda99
Compare
This PR introduces the "rbd" storage driver, for interace with Ceph RBD devices.
This implementation does not use
go-ceph
, and therefore does not introduce new external dependencies. Instead it execs calls to therbd
executable, and parses thejson
output.