Re: [Aoetools-discuss] Exposing shares

On May 13, 2014, at 3:31 AM, Ed Cashin wrote:
> OK, I've got this:
>
> https://github.com/ecashin/vblade/
Perfect, thanx!
Is this 'latest-and-greatest' (development) at the
moment, or did you create from the current released
version (21 I think)?
> ... which should help us test and think about changes. If you send a pull request, it would also be helpful, I think, to send a patch to this list. There's no community for the vblade on github now, and that's fine.
I will get right on it.
--
Turbo Fredriksson
turbo@...

Thread view

I'm in the process of adding AoE support to ZoL
(ZFS On Linux - https://github.com/zfsonlinux/zfs)
and have gotten most of the way there (https://github.com/FransUrbo/zfs/tree/aoe).
I'm the author of the iSCSI (not yet accepted) and SMB
(partly accepted) support in ZoL, so adding AoE seemed
like a good and easy addition.
I have however caught on a couple of snags that complicates
the issue.
1. How do I find the device that is shared?
'aoe-stat' doesn't say, and there's noting in the
/sys fs that I can see.
I can see the process in the list
debian:~# /bin/ps faxwww | grep 'vblade 9 0 eth0' | grep -v grep
12175 pts/1 S 0:00 sh -c /usr/sbin/vblade 9 0 eth0 /dev/zvol/rpool/test < /dev/null 2>&1 | logger -t vbladed
12177 pts/1 S 0:00 \_ /usr/sbin/vblade 9 0 eth0 /dev/zvol/rpool/test
but that doesn't seems like a secure way of
knowing.
2. How do I terminate (unshare) a device?
It's in the process list above, but that also seems
a little ... 'wonkey'.
It would have been nice if vblade/vbladed wrote
a pid file or something.
Also, before killing the process, it would be nice
to know if 'anyone' where accessing it.
3. Actually, getting ANY information on the server doesn't
seem to be possible. All the aoe-* commands returns null
and vblade/vbladed doesn't have a 'show' or 'stats' option...
So I'm wondering about some 'status API' or somewhat to retrieve
information about shares and their status. Both the three iSCSI
implementations I added support for in ZoL as well as samba have
a well defined 'status' information.
AoE/vblade have _nothing_ of this kind as far as I can see.
--
Turbo Fredriksson
turbo@...

On May 11, 2014, at 6:18 PM, Turbo Fredriksson wrote:
> So I'm wondering about some 'status API' or somewhat to retrieve
> information about shares and their status. Both the three iSCSI
> implementations I added support for in ZoL as well as samba have
> a well defined 'status' information.
Since I haven't heard anything yet, I thought I put a couple of
minutes thinking about this. This is what I came up with, without
spending to much time on it, so it needs work:
NEEDED INFO IFACE CMD EXAMPLE RETURN
====================================================================================================
1. PID of vblade ask pid 2919
2. Shelf number ask shelf 9
3. Slot number ask slot 0
4. Full device path ask device name /dev/zvol/rpool/test2
5. Size of device ask device size 20971520
6. Share options (O_DIRECT, O_SYNC, r/o, r/w) ask option [direct;sync;ro,rw]
7. Ethernet interface for share ask netif eth0
8. Share state (up, ... ?) ask state up
9. MAC Access list ask cal
The simplest would be to have each individual vblade process
create a socket to comunicate to.
Example: /var/run/vblade/<netif>_<shelf>_<slot>.ctrl
Then 'echo' the command above, and it will respond appropriately.
The more complicated (but not by much) is to create a 'mother process'
that will spawon separate processes with ONE socket
Example: /var/run/vblade/control
Additional cmds:
create process <shelf> <slot> <options> <device>
ask processes
returns:
<pid> <shelf> <slot> <options> <device>
[....]
ask <pid> [cmd from top]
This would then be 'vbladed' (binary, instead of the
shell script that it is today which simply waits for
commands and responds appropriately) and a 'vblade_cmd'
binary/script that 'simply' talks to the socket and
make 'vbladed' start (fork) the child process etc.
--
Michael Jackson is not going to buried or cremated
but recycled into shopping bags so he can remain white,
plastic and dangerous for kids to play with.

Making the AoE feature act like the alternatives makes sense to me.
Would it help you to do something like this if vblade was on github? You could implement your full-featured vbladed replacement in a fork and see how it goes.
On May 12, 2014, at 1:01 PM, Turbo Fredriksson <turbo@...> wrote:
> On May 11, 2014, at 6:18 PM, Turbo Fredriksson wrote:
>
>> So I'm wondering about some 'status API' or somewhat to retrieve
>> information about shares and their status. Both the three iSCSI
>> implementations I added support for in ZoL as well as samba have
>> a well defined 'status' information.
>
>
> Since I haven't heard anything yet, I thought I put a couple of
> minutes thinking about this. This is what I came up with, without
> spending to much time on it, so it needs work:
>
>
> NEEDED INFO IFACE CMD EXAMPLE RETURN
> ====================================================================================================
> 1. PID of vblade ask pid 2919
> 2. Shelf number ask shelf 9
> 3. Slot number ask slot 0
> 4. Full device path ask device name /dev/zvol/rpool/test2
> 5. Size of device ask device size 20971520
> 6. Share options (O_DIRECT, O_SYNC, r/o, r/w) ask option [direct;sync;ro,rw]
> 7. Ethernet interface for share ask netif eth0
> 8. Share state (up, ... ?) ask state up
> 9. MAC Access list ask cal
>
>
> The simplest would be to have each individual vblade process
> create a socket to comunicate to.
> Example: /var/run/vblade/<netif>_<shelf>_<slot>.ctrl
>
> Then 'echo' the command above, and it will respond appropriately.
>
>
> The more complicated (but not by much) is to create a 'mother process'
> that will spawon separate processes with ONE socket
> Example: /var/run/vblade/control
>
> Additional cmds:
> create process <shelf> <slot> <options> <device>
> ask processes
> returns:
> <pid> <shelf> <slot> <options> <device>
> [....]
> ask <pid> [cmd from top]
>
> This would then be 'vbladed' (binary, instead of the
> shell script that it is today which simply waits for
> commands and responds appropriately) and a 'vblade_cmd'
> binary/script that 'simply' talks to the socket and
> make 'vbladed' start (fork) the child process etc.
> --
> Michael Jackson is not going to buried or cremated
> but recycled into shopping bags so he can remain white,
> plastic and dangerous for kids to play with.
>
>
> ------------------------------------------------------------------------------
> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> Instantly run your Selenium tests across 300+ browser/OS combos.
> Get unparalleled scalability from the best Selenium testing platform available
> Simple to use. Nothing to install. Get started now for free."
> http://p.sf.net/sfu/SauceLabs
> _______________________________________________
> Aoetools-discuss mailing list
> Aoetools-discuss@...
> https://lists.sourceforge.net/lists/listinfo/aoetools-discuss

On May 13, 2014, at 2:38 AM, Ed Cashin wrote:
> Would it help you to do something like this if vblade was on github? You could implement your full-featured vbladed replacement in a fork and see how it goes.
Any version management system would do of course, but
I have started to prefer GitHub.
Since I couldn't find any 'official' one, I created
my own repository (and I've seen that other people
have done the same) based on the tar balls.
I have not actually written any code yet because I
wanted input on the best way to do this. If you're
satisfied with my initial proposal, I can write
something from that, and either send a patch to the
list, or if you choose GitHub, create a pull request.
--
There are no dumb questions,
unless a customer is asking them.
- Unknown

OK, I've got this:
https://github.com/ecashin/vblade/
... which should help us test and think about changes. If you send a pull request, it would also be helpful, I think, to send a patch to this list. There's no community for the vblade on github now, and that's fine.
On May 12, 2014, at 8:52 PM, Turbo Fredriksson <turbo@...> wrote:
> On May 13, 2014, at 2:38 AM, Ed Cashin wrote:
>
>> Would it help you to do something like this if vblade was on github? You could implement your full-featured vbladed replacement in a fork and see how it goes.
>
>
> Any version management system would do of course, but
> I have started to prefer GitHub.
>
> Since I couldn't find any 'official' one, I created
> my own repository (and I've seen that other people
> have done the same) based on the tar balls.
>
>
> I have not actually written any code yet because I
> wanted input on the best way to do this. If you're
> satisfied with my initial proposal, I can write
> something from that, and either send a patch to the
> list, or if you choose GitHub, create a pull request.
> --
> There are no dumb questions,
> unless a customer is asking them.
> - Unknown
>
>
> ------------------------------------------------------------------------------
> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> Instantly run your Selenium tests across 300+ browser/OS combos.
> Get unparalleled scalability from the best Selenium testing platform available
> Simple to use. Nothing to install. Get started now for free."
> http://p.sf.net/sfu/SauceLabs
> _______________________________________________
> Aoetools-discuss mailing list
> Aoetools-discuss@...
> https://lists.sourceforge.net/lists/listinfo/aoetools-discuss

On May 13, 2014, at 3:31 AM, Ed Cashin wrote:
> OK, I've got this:
>
> https://github.com/ecashin/vblade/
Perfect, thanx!
Is this 'latest-and-greatest' (development) at the
moment, or did you create from the current released
version (21 I think)?
> ... which should help us test and think about changes. If you send a pull request, it would also be helpful, I think, to send a patch to this list. There's no community for the vblade on github now, and that's fine.
I will get right on it.
--
Turbo Fredriksson
turbo@...

I think they're the same, but if not, I can merge any outstanding changes that might be hiding out later.
It remains to be seen whether this tree sticks, but it's certainly convenient right now. We could even have some prerelease tarballs on github, I think.
On May 13, 2014, at 2:08 PM, Turbo Fredriksson <turbo@...> wrote:
> On May 13, 2014, at 3:31 AM, Ed Cashin wrote:
>
>> OK, I've got this:
>>
>> https://github.com/ecashin/vblade/
>
> Perfect, thanx!
>
> Is this 'latest-and-greatest' (development) at the
> moment, or did you create from the current released
> version (21 I think)?
>
>> ... which should help us test and think about changes. If you send a pull request, it would also be helpful, I think, to send a patch to this list. There's no community for the vblade on github now, and that's fine.
>
>
> I will get right on it.
> --
> Turbo Fredriksson
> turbo@...
>
>
> ------------------------------------------------------------------------------
> "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
> Instantly run your Selenium tests across 300+ browser/OS combos.
> Get unparalleled scalability from the best Selenium testing platform available
> Simple to use. Nothing to install. Get started now for free."
> http://p.sf.net/sfu/SauceLabs
> _______________________________________________
> Aoetools-discuss mailing list
> Aoetools-discuss@...
> https://lists.sourceforge.net/lists/listinfo/aoetools-discuss

Community

Help

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

CountryState

JavaScript is required for this form.

I agree to receive quotes, newsletters and other information from sourceforge.net and its partners regarding IT services and products. I understand that I can withdraw my consent at any time. Please refer to our Privacy Policy or Contact Us for more details