See below.

From: Mike Tutkowski [mailto:mike.tutkow...@solidfire.com]
Sent: Thursday, March 21, 2013 1:33 PM
To: Edison Su
Cc: Vladimir Popovski; cloudstack
Subject: Re: Storage Subsystem 2.0 plugin docs

Hi Edison,

Can you get a little more into the details of how this framework works?  For 
example, this is my thinking (using XenServer and VMware as an example):

* You create a storage plug-in.

* Primary Storage can be associated with this plug-in (as opposed to being 
associated with pre-existing storage).
Createstoragepoolcmd will associate a storage pool with a plugin.

* When a Compute or Disk Offering is executed and it is tagged to use Primary 
Storage that makes use of this plug-in, the plug-in is invoked to create the 
necessary storage (let's say an iSCSI volume).

[Edison] plugin's driver->createasync will be called when mgt server want to 
create a volume on the storage. In the driver's implementation, it can directly 
call storage box's api, or send a command to hypervisor host, then call storage 
box's api to create an iscsi.
Then create a datastore(for vmware), SR(for xenserver), or storage pool(for 
KVM) on hypervisor host, based on the iscsi iqn.
If the volume is created from a template(for root disk), need to find a way to 
import that template(which is nfs based currently, it will be just a plain http 
url the future) into the root disk.

* A datastore (for VMware) or a storage repository (for XenServer) then needs 
to be created for the SAN volume to be utilized from CS.

* The VM or data disk is placed on the datastore or storage repository and it 
(the VM or data disk) is the only object that ever utilizes this datastore or 
storage repository.

[Edison] Yes, it will work in above way.
On Thu, Mar 21, 2013 at 2:26 PM, Edison Su 
<edison...@citrix.com<mailto:edison...@citrix.com>> wrote:
Yes, the plugin framework itself will work for all the hypervisors, but the 
plugin itself may be not.
For example, if you are using per LUN per volume, I am pretty sure, VM live 
migration will not work for xenserver.

From: Mike Tutkowski 
[mailto:mike.tutkow...@solidfire.com<mailto:mike.tutkow...@solidfire.com>]
Sent: Thursday, March 21, 2013 1:14 PM
To: Vladimir Popovski
Cc: Edison Su; cloudstack
Subject: Re: Storage Subsystem 2.0 plugin docs

Very useful info, Edison - thanks!!

By the way, can you confirm for me that this storage plug-in framework is 
expected to work for all hypervisors supported by CS in 4.2.

Thanks again!

On Thu, Mar 21, 2013 at 12:52 PM, Vladimir Popovski 
<vladi...@zadarastorage.com<mailto:vladi...@zadarastorage.com>> wrote:
Hi Edison,

Thank you for the reply. We will check it out.

Regards,
-Vladimir


From: Edison Su [mailto:edison...@citrix.com<mailto:edison...@citrix.com>]
Sent: Thursday, March 21, 2013 11:36 AM
To: 'Vladimir Popovski'; cloudstack
Cc: mike.tutkow...@solidfire.com<mailto:mike.tutkow...@solidfire.com>
Subject: RE: Storage Subsystem 2.0 plugin docs



From: Vladimir Popovski [mailto:vladi...@zadarastorage.com]
Sent: Wednesday, March 20, 2013 9:05 AM
To: cloudstack
Cc: mike.tutkow...@solidfire.com<mailto:mike.tutkow...@solidfire.com>; Edison Su
Subject: Storage Subsystem 2.0 plugin docs

Hi All,

Thank you for a great work on CloudStack! We are interested in integrating CS 
with our storage system and started to look at your documentation and 
storage-related code. I see that Mike from SolidFire started working on 
something similar some time ago and Edison even created an empty plugin for it 
(in Nov'12?).

We have couple of questions related to that:

-          Is there any documentation about plugins (except of 
https://cwiki.apache.org/CLOUDSTACK/storage-subsystem-20.html)

[Edison] There are not much docs about the plugins other than the above link.  
See below.

-          Are there any exemplary plugins for primary & secondary datastores? 
Was the SolidFire plugin ever finished?

[Edison] yesterday, I checked in some code to separate existing cloudstack 
storage code into a standalone maven project, called: 
cloud-plugin-storage-volume-default, which can give you an example how a 
storage plugin will look like.

-          How to activate a new plugin and use it (at least through CLIs/APIs)

[Edison] First, put a bean configuration in 
client/tomcatconf/componentContext.xml.in<http://componentContext.xml.in> for 
your plugin provider class, like:

<bean id="ClassicalPrimaryDataStoreProvider" 
class="org.apache.cloudstack.storage.datastore.provider.CloudStackPrimaryDataStoreProviderImpl">

  </bean>

Second, when adding a data store into cloudstack, with an extra parameter in 
createstoragepoolcmd: provider=your-provider-name, liststorageproviderscmd can 
list all the registered providers in mgt server.





-          How to integrate it with the UI
 There is no UI part of example code for storage yet, the idea is to use 
pluggable 
UI(https://cwiki.apache.org/confluence/display/CLOUDSTACK/UI+Plugin+Tutorial), 
for each storage provider may need a separate UI to add a storage. For example, 
in adding primary storage ui, there will be a drop down list, show all the 
registered providers, if user selects one of the drop down list, then UI will 
pop up a diagram, based on providers' pluggable ui, then user can type whatever 
information needed for a storage(e.g. nfs server, nfs path, if its nfs). At the 
end, UI will call createstoragepoolcmd to register a storage into cloudstack.

Thanks,
-Vladimir


-------
Vladimir Popovski
VP, Cloud Operations
Zadara Storage
(949) 677-2095<tel:%28949%29%20677-2095>
vladi...@zadarastorage.com<mailto:vladi...@zadarastorage.com>
www.zadarastorage.com<http://www.zadarastorage.com/>





--
Mike Tutkowski
Senior CloudStack Developer, SolidFire Inc.
e: mike.tutkow...@solidfire.com<mailto:mike.tutkow...@solidfire.com>
o: 303.746.7302<tel:303.746.7302>
Advancing the way the world uses the 
cloud<http://solidfire.com/solution/overview/?video=play>(tm)



--
Mike Tutkowski
Senior CloudStack Developer, SolidFire Inc.
e: mike.tutkow...@solidfire.com<mailto:mike.tutkow...@solidfire.com>
o: 303.746.7302
Advancing the way the world uses the 
cloud<http://solidfire.com/solution/overview/?video=play>(tm)

Reply via email to