Hey Edison,

So...if you think my understanding is correct (please check out the e-mail
below), then I have a question.

Do we really want to have the storage plug-ins taking on the responsibility
of talking to the hypervisors to hook up the storage that they just created?

I'm a bit familiar with how OpenStack does this and it seems that it only
has its storage plug-ins create a volume (LUN, whatever) and then the
framework handles the process of dealing with the hypervisor in question to
hook up the storage.

It seems like otherwise we'd need to create a utility for all storage
plug-ins to share otherwise they'd be duplicating efforts in talking to
hypervisors.

What do you think?


On Thu, Mar 21, 2013 at 7:52 PM, Mike Tutkowski <
mike.tutkow...@solidfire.com> wrote:

> Hi Edison,
>
> I believe I understand the requirements for the plug-in better now.
>
> It sounds like the flow will be as such:
>
> * The user executes a Compute or Disk Offering that is tied via a storage
> tag to a Primary Storage that is associated with a plug-in.
>
> * The storage framework will ask the plug-in to create a volume.  The
> plug-in will create a volume and hook the volume up to the appropriate
> hypervisor.  For VMware, this means the plug-in will create a Datastore.
>  For XenServer, this means the plug-in will create a Storage Repository.
>  (So on and so forth for other hypervisors.)
>
> * The VM or data disk is then deployed to the hypervisor.
>
> Does that sound correct, Edison?
>
> Thanks!
>
>
> On Thu, Mar 21, 2013 at 5:44 PM, Edison Su <edison...@citrix.com> wrote:
>
>> ** **
>>
>> ** **
>>
>> *From:* Mike Tutkowski [mailto:mike.tutkow...@solidfire.com]
>> *Sent:* Thursday, March 21, 2013 4:18 PM
>> *To:* Edison Su
>> *Subject:* Re: Storage Subsystem 2.0 plugin docs****
>>
>> ** **
>>
>> Hi Edison,****
>>
>> ** **
>>
>> I wanted to dive into these comments a bit more:****
>>
>> ** **
>>
>> [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.****
>>
>> The part about creating a datastore or a storage repository...is that
>> something the plug-in will be responsible for doing or will the storage
>> framework cover that piece?  I'm thinking the storage framework will since
>> all sorts of plug-ins would seem to need that ability (to have their
>> storage hooked up to a datastore or a storage repository).****
>>
>> ** **
>>
>> [Edison] It’s a specific requirement for per volume per LUN case, and
>> specific for certain hypervisors(seems KVM doesn’t need to create a storage
>> pool when using iscsi LUN), so the storage framework will not deal with it
>> right now.****
>>
>> ** **
>>
>> ** **
>>
>> Thanks for your time, Edison! :)****
>>
>> ** **
>>
>> On Thu, Mar 21, 2013 at 4:45 PM, Edison Su <edison...@citrix.com> wrote:*
>> ***
>>
>> Feedback/comments are appreciated, need to know your input from storage
>> vendor point of view.****
>>
>>  ****
>>
>> *From:* Vladimir Popovski [mailto:vladi...@zadarastorage.com]
>> *Sent:* Thursday, March 21, 2013 11:52 AM
>> *To:* Edison Su; cloudstack****
>>
>>
>> *Cc:* mike.tutkow...@solidfire.com
>> *Subject:* RE: Storage Subsystem 2.0 plugin docs****
>>
>>  ****
>>
>> Hi Edison,****
>>
>>  ****
>>
>> Thank you for the reply. We will check it out.****
>>
>>  ****
>>
>> Regards,****
>>
>> -Vladimir****
>>
>>  ****
>>
>>  ****
>>
>> *From:* Edison Su [mailto:edison...@citrix.com]
>> *Sent:* Thursday, March 21, 2013 11:36 AM
>> *To:* 'Vladimir Popovski'; cloudstack
>> *Cc:* mike.tutkow...@solidfire.com
>> *Subject:* RE: Storage Subsystem 2.0 plugin docs****
>>
>>  ****
>>
>>  ****
>>
>>  ****
>>
>> *From:* Vladimir Popovski 
>> [mailto:vladi...@zadarastorage.com<vladi...@zadarastorage.com>]
>>
>> *Sent:* Wednesday, March 20, 2013 9:05 AM
>> *To:* cloudstack
>> *Cc:* 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 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****
>>
>> vladi...@zadarastorage.com****
>>
>> www.zadarastorage.com****
>>
>>  ****
>>
>>  ****
>>
>>
>>
>> ****
>>
>> ** **
>>
>> --
>> *Mike Tutkowski*****
>>
>> *Senior CloudStack Developer, SolidFire Inc.*****
>>
>> e: mike.tutkow...@solidfire.com****
>>
>> o: 303.746.7302****
>>
>> Advancing the way the world uses the 
>> cloud<http://solidfire.com/solution/overview/?video=play>
>> *™*****
>>
>
>
>
> --
> *Mike Tutkowski*
> *Senior CloudStack Developer, SolidFire Inc.*
> e: mike.tutkow...@solidfire.com
> o: 303.746.7302
> Advancing the way the world uses the 
> cloud<http://solidfire.com/solution/overview/?video=play>
> *™*
>



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

Reply via email to