You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by "La Motta, David" <Da...@netapp.com> on 2013/06/12 16:35:18 UTC

Cloning VMs in CloudStack, or not...

Hey everybody, I've got a couple of questions on cloning VM instances in CloudStack.  I haven't seen anything in the UI that would allow me to create, say, 1000 clones of a VM instance in a given cluster.  Is there such functionality in CloudStack?

If there isn't, can I drop to the hypervisor and create the clones there, then register all those new VMs in CloudStack?  I haven't found a command in the REST API that would allow me to register a hypervisor VM with CloudStack.

Would I have to create a template from the VM in the hypervisor, upload the template to CS, then create an instance out of that template?  Rinse and repeat 1000 times?

I am thinking in terms of a service provider who may have the need to pump out large quantities of VMs from within CloudStack.

Thoughts?


David La Motta
Technical Marketing Engineer
Citrix Solutions

NetApp
919.476.5042
dlamotta@netapp.com<ma...@netapp.com>




Re: Cloning VMs in CloudStack, or not...

Posted by "La Motta, David" <Da...@netapp.com>.
Cool.  I'll circle around internally.  Thanks.


David La Motta
Technical Marketing Engineer
Citrix Solutions

NetApp
919.476.5042
dlamotta@netapp.com<ma...@netapp.com>



On Jun 13, 2013, at 2:38 PM, Kelcey Jamison Damage <ke...@bbits.ca>>
 wrote:

I was tipped off by one of the Vancouver guys by the name of Dave Dye. He never told me who specifically or which team, so I'm afraid it's a witch hunt, or maybe get in touch with Dave, he might know who to connect you to.

----- Original Message -----
From: "David La Motta" <Da...@netapp.com>>
To: "<de...@cloudstack.apache.org>>" <de...@cloudstack.apache.org>>
Sent: Thursday, June 13, 2013 11:13:41 AM
Subject: Re: Cloning VMs in CloudStack, or not...

Hey Kelcey, you'd mentioned there was somebody, but never got any specifics.  You can share names outside of this thread if you'd like, and I'll reach out to them internally.  If not I'll have to go on a witch hunt  :-)


David La Motta
Technical Marketing Engineer
Citrix Solutions

NetApp
919.476.5042
dlamotta@netapp.com<ma...@netapp.com>



On Jun 13, 2013, at 2:10 PM, Kelcey Jamison Damage <ke...@bbits.ca>>
wrote:

Hey David, not sure if I mentioned this, but there are some guys at NetApp in Calgary that are interested in CloudStack development as well

----- Original Message -----
From: "Chip Childers" <ch...@sungard.com>>
To: dev@cloudstack.apache.org<ma...@cloudstack.apache.org>
Sent: Thursday, June 13, 2013 10:56:51 AM
Subject: Re: Cloning VMs in CloudStack, or not...

On Thu, Jun 13, 2013 at 04:17:10PM +0000, La Motta, David wrote:
Cool, we'll take a look at CreateCommand.  I like your suggestion to tweak the execute method to accomplish this.

We are literally getting our feet wet at this point, and have some ideas that we are looking to implement in a NetApp plugin to CS.

Hopefully we'll get to meet some of you at the CCC in a couple of weeks and share some of those ideas.

Glad to hear about this!  Please keep sharing as you progress in your
thinking.



Re: Cloning VMs in CloudStack, or not...

Posted by Kelcey Jamison Damage <ke...@bbits.ca>.
I was tipped off by one of the Vancouver guys by the name of Dave Dye. He never told me who specifically or which team, so I'm afraid it's a witch hunt, or maybe get in touch with Dave, he might know who to connect you to.

----- Original Message -----
From: "David La Motta" <Da...@netapp.com>
To: "<de...@cloudstack.apache.org>" <de...@cloudstack.apache.org>
Sent: Thursday, June 13, 2013 11:13:41 AM
Subject: Re: Cloning VMs in CloudStack, or not...

Hey Kelcey, you'd mentioned there was somebody, but never got any specifics.  You can share names outside of this thread if you'd like, and I'll reach out to them internally.  If not I'll have to go on a witch hunt  :-)


David La Motta
Technical Marketing Engineer
Citrix Solutions

NetApp
919.476.5042
dlamotta@netapp.com<ma...@netapp.com>



On Jun 13, 2013, at 2:10 PM, Kelcey Jamison Damage <ke...@bbits.ca>>
 wrote:

Hey David, not sure if I mentioned this, but there are some guys at NetApp in Calgary that are interested in CloudStack development as well

----- Original Message -----
From: "Chip Childers" <ch...@sungard.com>>
To: dev@cloudstack.apache.org<ma...@cloudstack.apache.org>
Sent: Thursday, June 13, 2013 10:56:51 AM
Subject: Re: Cloning VMs in CloudStack, or not...

On Thu, Jun 13, 2013 at 04:17:10PM +0000, La Motta, David wrote:
Cool, we'll take a look at CreateCommand.  I like your suggestion to tweak the execute method to accomplish this.

We are literally getting our feet wet at this point, and have some ideas that we are looking to implement in a NetApp plugin to CS.

Hopefully we'll get to meet some of you at the CCC in a couple of weeks and share some of those ideas.

Glad to hear about this!  Please keep sharing as you progress in your
thinking.


Re: Cloning VMs in CloudStack, or not...

Posted by "La Motta, David" <Da...@netapp.com>.
Hey Kelcey, you'd mentioned there was somebody, but never got any specifics.  You can share names outside of this thread if you'd like, and I'll reach out to them internally.  If not I'll have to go on a witch hunt  :-)


David La Motta
Technical Marketing Engineer
Citrix Solutions

NetApp
919.476.5042
dlamotta@netapp.com<ma...@netapp.com>



On Jun 13, 2013, at 2:10 PM, Kelcey Jamison Damage <ke...@bbits.ca>>
 wrote:

Hey David, not sure if I mentioned this, but there are some guys at NetApp in Calgary that are interested in CloudStack development as well

----- Original Message -----
From: "Chip Childers" <ch...@sungard.com>>
To: dev@cloudstack.apache.org<ma...@cloudstack.apache.org>
Sent: Thursday, June 13, 2013 10:56:51 AM
Subject: Re: Cloning VMs in CloudStack, or not...

On Thu, Jun 13, 2013 at 04:17:10PM +0000, La Motta, David wrote:
Cool, we'll take a look at CreateCommand.  I like your suggestion to tweak the execute method to accomplish this.

We are literally getting our feet wet at this point, and have some ideas that we are looking to implement in a NetApp plugin to CS.

Hopefully we'll get to meet some of you at the CCC in a couple of weeks and share some of those ideas.

Glad to hear about this!  Please keep sharing as you progress in your
thinking.


Re: Cloning VMs in CloudStack, or not...

Posted by Kelcey Jamison Damage <ke...@bbits.ca>.
Hey David, not sure if I mentioned this, but there are some guys at NetApp in Calgary that are interested in CloudStack development as well

----- Original Message -----
From: "Chip Childers" <ch...@sungard.com>
To: dev@cloudstack.apache.org
Sent: Thursday, June 13, 2013 10:56:51 AM
Subject: Re: Cloning VMs in CloudStack, or not...

On Thu, Jun 13, 2013 at 04:17:10PM +0000, La Motta, David wrote:
> Cool, we'll take a look at CreateCommand.  I like your suggestion to tweak the execute method to accomplish this.
> 
> We are literally getting our feet wet at this point, and have some ideas that we are looking to implement in a NetApp plugin to CS.
> 
> Hopefully we'll get to meet some of you at the CCC in a couple of weeks and share some of those ideas.

Glad to hear about this!  Please keep sharing as you progress in your
thinking.

Re: Cloning VMs in CloudStack, or not...

Posted by Chip Childers <ch...@sungard.com>.
On Thu, Jun 13, 2013 at 04:17:10PM +0000, La Motta, David wrote:
> Cool, we'll take a look at CreateCommand.  I like your suggestion to tweak the execute method to accomplish this.
> 
> We are literally getting our feet wet at this point, and have some ideas that we are looking to implement in a NetApp plugin to CS.
> 
> Hopefully we'll get to meet some of you at the CCC in a couple of weeks and share some of those ideas.

Glad to hear about this!  Please keep sharing as you progress in your
thinking.

Re: Cloning VMs in CloudStack, or not...

Posted by "La Motta, David" <Da...@netapp.com>.
Cool, we'll take a look at CreateCommand.  I like your suggestion to tweak the execute method to accomplish this.

We are literally getting our feet wet at this point, and have some ideas that we are looking to implement in a NetApp plugin to CS.

Hopefully we'll get to meet some of you at the CCC in a couple of weeks and share some of those ideas.



David La Motta
Technical Marketing Engineer
Citrix Solutions

NetApp
919.476.5042
dlamotta@netapp.com<ma...@netapp.com>



On Jun 13, 2013, at 11:37 AM, Marcus Sorensen <sh...@gmail.com>>
 wrote:

CreateCommand in the agent code is responsible for making a template
into a new volume. With Xen and VMware, you're limited to what the
hypervisor is capable of as far as storage cloning to create a new
copy from an existing template on your primary storage. With KVM, you
can create your own storage adapter and handle this however you want.

That said, we've used the plugin functionality of CloudStack to create
a few convenience commands (mostly simple things like getting the vnc
port/host for a vm so we don't have to rely on the consoleproxy vm),
and one of the things we have done is a clone volume. The plugin
provides an API call that accepts an existing volume id, talks to the
backend storage to do the clone, then creates a new volume object and
persists it to the database. I'm sure this will be made easier by
Edison's storage framework.

Another thing we've done via plugin is to extend the
deployVirtualMachine call so that we can create a VM and add resource
tags to it in one call. The deployVirtualMachine api call has two
primary methods, create and execute. By leaving create intact, and
overriding execute, you can do fun things like edit the vm definition
before it gets started for the first time. Looking through the deploy
code, it looks like if the VM's associated root volume is in a ready
state, it will ignore the template and just start the VM.  So you
could create a registerVirtualMachine api call whose execute method
generates a volume via some clone method (or accepts some parameter
that identifies a volume path or whatever is needed), sets the ROOT
volume for the vm to be that volume, and then starts the vm (or not,
depending on whether the startvm parameter from deployVirtualMachine
was set).

Once we figured out the plugin system we realized that we can do
*almost* anything we want in cloudstack, but it requires some
developer time.

On Thu, Jun 13, 2013 at 7:49 AM, La Motta, David
<Da...@netapp.com>> wrote:
Looking at this in more detail, that's not going to do it.  If we have to create a template and call deployVirtualMachine, that will do--intentionally--what it was intended to do: spin up a new VM in the hypervisor and allocate a chunk of disk out of primary storage.

What we are looking to do, while still attempting to maintain vendor neutrality, would require a registerVirtualMachine method.  With such a thing, anybody can drop an instance (thinking in terms of a root volume, and/or a data disk) on primary storage, then invoke the register method to make CloudStack _and_ the hypervisor aware of the new instance.  This would allow rapid cloning of VMs to be offloaded to the storage layer, and then the registration just connects the dots between CS and the hypervisor, which would be another fast operation.

If there is a way to do that today, by all means we are happy to take a look and go down that path.  If there isn't, it seems that this registerVirtualMachine method could be a modified version of deployVirtualMachine, without the disk creation piece.  Of course, there are other intricacies to take care of (UUIDs, naming and such), so by no means a super trivial task.

Is there any expert in this area who can shed some light on the topic?  We (NetApp) have created other products which have plugins for XenServer and vSphere that do just that:  take advantage of hardware level cloning techniques, then make those clones available to the hypervisor.  So, with all the CS code for dealing with the hypervisors, to me it seems like we could be close to providing such a registerVirtualMachine, given a pointer to the actual disk on storage.  How that VM disk makes it to storage is another story, one that CS doesn't have to concern itself, IMO.

Thx!


David La Motta
Technical Marketing Engineer
Citrix Solutions

NetApp
919.476.5042
dlamotta@netapp.com<ma...@netapp.com>



On Jun 12, 2013, at 10:57 AM, "La Motta, David" <Da...@netapp.com>> wrote:

Nope!  That's the one I was looking for.  Too close to destroyVirtualMachine… didn't even see it  ;-)

Thanks again.


David La Motta
Technical Marketing Engineer
Citrix Solutions

NetApp
919.476.5042
dlamotta@netapp.com<ma...@netapp.com>



On Jun 12, 2013, at 10:54 AM, Chip Childers <ch...@sungard.com>>
wrote:

On Wed, Jun 12, 2013 at 02:49:42PM +0000, La Motta, David wrote:
Ok, thanks.  So it is doable.  The question now being how fast this process will be, since the VM creation will ultimately be done on the hypervisor.

What is the API that I could use to create a VM from a template?  I am looking at the 4.1 REST API and there is nothing for creating under the Virtual Machine section for Root, Domain, or User.

Thanks, Chip.

You always have to specify a templateid param for the
deployVirtualMachine API call [1].  Are you looking at some other API
call?

-chip

[1] http://cloudstack.apache.org/docs/api/apidocs-4.1/user/deployVirtualMachine.html




Re: Cloning VMs in CloudStack, or not...

Posted by Marcus Sorensen <sh...@gmail.com>.
CreateCommand in the agent code is responsible for making a template
into a new volume. With Xen and VMware, you're limited to what the
hypervisor is capable of as far as storage cloning to create a new
copy from an existing template on your primary storage. With KVM, you
can create your own storage adapter and handle this however you want.

That said, we've used the plugin functionality of CloudStack to create
a few convenience commands (mostly simple things like getting the vnc
port/host for a vm so we don't have to rely on the consoleproxy vm),
and one of the things we have done is a clone volume. The plugin
provides an API call that accepts an existing volume id, talks to the
backend storage to do the clone, then creates a new volume object and
persists it to the database. I'm sure this will be made easier by
Edison's storage framework.

Another thing we've done via plugin is to extend the
deployVirtualMachine call so that we can create a VM and add resource
tags to it in one call. The deployVirtualMachine api call has two
primary methods, create and execute. By leaving create intact, and
overriding execute, you can do fun things like edit the vm definition
before it gets started for the first time. Looking through the deploy
code, it looks like if the VM's associated root volume is in a ready
state, it will ignore the template and just start the VM.  So you
could create a registerVirtualMachine api call whose execute method
generates a volume via some clone method (or accepts some parameter
that identifies a volume path or whatever is needed), sets the ROOT
volume for the vm to be that volume, and then starts the vm (or not,
depending on whether the startvm parameter from deployVirtualMachine
was set).

Once we figured out the plugin system we realized that we can do
*almost* anything we want in cloudstack, but it requires some
developer time.

On Thu, Jun 13, 2013 at 7:49 AM, La Motta, David
<Da...@netapp.com> wrote:
> Looking at this in more detail, that's not going to do it.  If we have to create a template and call deployVirtualMachine, that will do--intentionally--what it was intended to do: spin up a new VM in the hypervisor and allocate a chunk of disk out of primary storage.
>
> What we are looking to do, while still attempting to maintain vendor neutrality, would require a registerVirtualMachine method.  With such a thing, anybody can drop an instance (thinking in terms of a root volume, and/or a data disk) on primary storage, then invoke the register method to make CloudStack _and_ the hypervisor aware of the new instance.  This would allow rapid cloning of VMs to be offloaded to the storage layer, and then the registration just connects the dots between CS and the hypervisor, which would be another fast operation.
>
> If there is a way to do that today, by all means we are happy to take a look and go down that path.  If there isn't, it seems that this registerVirtualMachine method could be a modified version of deployVirtualMachine, without the disk creation piece.  Of course, there are other intricacies to take care of (UUIDs, naming and such), so by no means a super trivial task.
>
> Is there any expert in this area who can shed some light on the topic?  We (NetApp) have created other products which have plugins for XenServer and vSphere that do just that:  take advantage of hardware level cloning techniques, then make those clones available to the hypervisor.  So, with all the CS code for dealing with the hypervisors, to me it seems like we could be close to providing such a registerVirtualMachine, given a pointer to the actual disk on storage.  How that VM disk makes it to storage is another story, one that CS doesn't have to concern itself, IMO.
>
> Thx!
>
>
> David La Motta
> Technical Marketing Engineer
> Citrix Solutions
>
> NetApp
> 919.476.5042
> dlamotta@netapp.com<ma...@netapp.com>
>
>
>
> On Jun 12, 2013, at 10:57 AM, "La Motta, David" <Da...@netapp.com>> wrote:
>
> Nope!  That's the one I was looking for.  Too close to destroyVirtualMachine… didn't even see it  ;-)
>
> Thanks again.
>
>
> David La Motta
> Technical Marketing Engineer
> Citrix Solutions
>
> NetApp
> 919.476.5042
> dlamotta@netapp.com<ma...@netapp.com>
>
>
>
> On Jun 12, 2013, at 10:54 AM, Chip Childers <ch...@sungard.com>>
> wrote:
>
> On Wed, Jun 12, 2013 at 02:49:42PM +0000, La Motta, David wrote:
> Ok, thanks.  So it is doable.  The question now being how fast this process will be, since the VM creation will ultimately be done on the hypervisor.
>
> What is the API that I could use to create a VM from a template?  I am looking at the 4.1 REST API and there is nothing for creating under the Virtual Machine section for Root, Domain, or User.
>
> Thanks, Chip.
>
> You always have to specify a templateid param for the
> deployVirtualMachine API call [1].  Are you looking at some other API
> call?
>
> -chip
>
> [1] http://cloudstack.apache.org/docs/api/apidocs-4.1/user/deployVirtualMachine.html
>
>

Re: Cloning VMs in CloudStack, or not...

Posted by "La Motta, David" <Da...@netapp.com>.
Looking at this in more detail, that's not going to do it.  If we have to create a template and call deployVirtualMachine, that will do--intentionally--what it was intended to do: spin up a new VM in the hypervisor and allocate a chunk of disk out of primary storage.

What we are looking to do, while still attempting to maintain vendor neutrality, would require a registerVirtualMachine method.  With such a thing, anybody can drop an instance (thinking in terms of a root volume, and/or a data disk) on primary storage, then invoke the register method to make CloudStack _and_ the hypervisor aware of the new instance.  This would allow rapid cloning of VMs to be offloaded to the storage layer, and then the registration just connects the dots between CS and the hypervisor, which would be another fast operation.

If there is a way to do that today, by all means we are happy to take a look and go down that path.  If there isn't, it seems that this registerVirtualMachine method could be a modified version of deployVirtualMachine, without the disk creation piece.  Of course, there are other intricacies to take care of (UUIDs, naming and such), so by no means a super trivial task.

Is there any expert in this area who can shed some light on the topic?  We (NetApp) have created other products which have plugins for XenServer and vSphere that do just that:  take advantage of hardware level cloning techniques, then make those clones available to the hypervisor.  So, with all the CS code for dealing with the hypervisors, to me it seems like we could be close to providing such a registerVirtualMachine, given a pointer to the actual disk on storage.  How that VM disk makes it to storage is another story, one that CS doesn't have to concern itself, IMO.

Thx!


David La Motta
Technical Marketing Engineer
Citrix Solutions

NetApp
919.476.5042
dlamotta@netapp.com<ma...@netapp.com>



On Jun 12, 2013, at 10:57 AM, "La Motta, David" <Da...@netapp.com>> wrote:

Nope!  That's the one I was looking for.  Too close to destroyVirtualMachine… didn't even see it  ;-)

Thanks again.


David La Motta
Technical Marketing Engineer
Citrix Solutions

NetApp
919.476.5042
dlamotta@netapp.com<ma...@netapp.com>



On Jun 12, 2013, at 10:54 AM, Chip Childers <ch...@sungard.com>>
wrote:

On Wed, Jun 12, 2013 at 02:49:42PM +0000, La Motta, David wrote:
Ok, thanks.  So it is doable.  The question now being how fast this process will be, since the VM creation will ultimately be done on the hypervisor.

What is the API that I could use to create a VM from a template?  I am looking at the 4.1 REST API and there is nothing for creating under the Virtual Machine section for Root, Domain, or User.

Thanks, Chip.

You always have to specify a templateid param for the
deployVirtualMachine API call [1].  Are you looking at some other API
call?

-chip

[1] http://cloudstack.apache.org/docs/api/apidocs-4.1/user/deployVirtualMachine.html



Re: Cloning VMs in CloudStack, or not...

Posted by "La Motta, David" <Da...@netapp.com>.
Nope!  That's the one I was looking for.  Too close to destroyVirtualMachine… didn't even see it  ;-)

Thanks again.


David La Motta
Technical Marketing Engineer
Citrix Solutions

NetApp
919.476.5042
dlamotta@netapp.com<ma...@netapp.com>



On Jun 12, 2013, at 10:54 AM, Chip Childers <ch...@sungard.com>>
 wrote:

On Wed, Jun 12, 2013 at 02:49:42PM +0000, La Motta, David wrote:
Ok, thanks.  So it is doable.  The question now being how fast this process will be, since the VM creation will ultimately be done on the hypervisor.

What is the API that I could use to create a VM from a template?  I am looking at the 4.1 REST API and there is nothing for creating under the Virtual Machine section for Root, Domain, or User.

Thanks, Chip.

You always have to specify a templateid param for the
deployVirtualMachine API call [1].  Are you looking at some other API
call?

-chip

[1] http://cloudstack.apache.org/docs/api/apidocs-4.1/user/deployVirtualMachine.html


Re: Cloning VMs in CloudStack, or not...

Posted by Chip Childers <ch...@sungard.com>.
On Wed, Jun 12, 2013 at 02:49:42PM +0000, La Motta, David wrote:
> Ok, thanks.  So it is doable.  The question now being how fast this process will be, since the VM creation will ultimately be done on the hypervisor.
> 
> What is the API that I could use to create a VM from a template?  I am looking at the 4.1 REST API and there is nothing for creating under the Virtual Machine section for Root, Domain, or User.
> 
> Thanks, Chip.

You always have to specify a templateid param for the
deployVirtualMachine API call [1].  Are you looking at some other API
call?

-chip

[1] http://cloudstack.apache.org/docs/api/apidocs-4.1/user/deployVirtualMachine.html

Re: Cloning VMs in CloudStack, or not...

Posted by "La Motta, David" <Da...@netapp.com>.
Ok, thanks.  So it is doable.  The question now being how fast this process will be, since the VM creation will ultimately be done on the hypervisor.

What is the API that I could use to create a VM from a template?  I am looking at the 4.1 REST API and there is nothing for creating under the Virtual Machine section for Root, Domain, or User.

Thanks, Chip.



David La Motta
Technical Marketing Engineer
Citrix Solutions

NetApp
919.476.5042
dlamotta@netapp.com<ma...@netapp.com>



On Jun 12, 2013, at 10:37 AM, Chip Childers <ch...@sungard.com>>
 wrote:

On Wed, Jun 12, 2013 at 02:35:18PM +0000, La Motta, David wrote:
Hey everybody, I've got a couple of questions on cloning VM instances in CloudStack.  I haven't seen anything in the UI that would allow me to create, say, 1000 clones of a VM instance in a given cluster.  Is there such functionality in CloudStack?

It's a 2 step process:

1) Create a template from the source VM
2) Create VM's (using the API) from that template


If there isn't, can I drop to the hypervisor and create the clones there, then register all those new VMs in CloudStack?  I haven't found a command in the REST API that would allow me to register a hypervisor VM with CloudStack.

Would I have to create a template from the VM in the hypervisor, upload the template to CS, then create an instance out of that template?  Rinse and repeat 1000 times?


CS doesn't really handle changes done within the HV directly.  Use the
steps listed above.

I am thinking in terms of a service provider who may have the need to pump out large quantities of VMs from within CloudStack.

Thoughts?


David La Motta
Technical Marketing Engineer
Citrix Solutions

NetApp
919.476.5042
dlamotta@netapp.com<ma...@netapp.com>





Re: Cloning VMs in CloudStack, or not...

Posted by Chip Childers <ch...@sungard.com>.
On Wed, Jun 12, 2013 at 02:35:18PM +0000, La Motta, David wrote:
> Hey everybody, I've got a couple of questions on cloning VM instances in CloudStack.  I haven't seen anything in the UI that would allow me to create, say, 1000 clones of a VM instance in a given cluster.  Is there such functionality in CloudStack?

It's a 2 step process:

1) Create a template from the source VM
2) Create VM's (using the API) from that template

> 
> If there isn't, can I drop to the hypervisor and create the clones there, then register all those new VMs in CloudStack?  I haven't found a command in the REST API that would allow me to register a hypervisor VM with CloudStack.
> 
> Would I have to create a template from the VM in the hypervisor, upload the template to CS, then create an instance out of that template?  Rinse and repeat 1000 times?
> 

CS doesn't really handle changes done within the HV directly.  Use the
steps listed above.

> I am thinking in terms of a service provider who may have the need to pump out large quantities of VMs from within CloudStack.
> 
> Thoughts?
> 
> 
> David La Motta
> Technical Marketing Engineer
> Citrix Solutions
> 
> NetApp
> 919.476.5042
> dlamotta@netapp.com<ma...@netapp.com>
> 
> 
>