Mike,

+1 .. If storage plugins have to understand each hypervisor, the
support matrix becomes unmaintainably complex.  We have a variety of
abstractions commonly understood by hypervisors (e.g. LUNs, I/O
streams, sockets, files, etc) that a storage can either be yielded or
manipulated by a storage plugin that it is possible to decouple
hypervisors and storage entities.

Thanks,
-John




On Mar 25, 2013, at 5:37 PM, Mike Tutkowski
<mike.tutkow...@solidfire.com> wrote:

> 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=92s driver->createasync will be called when mgt server w=
> ant
>>> to create a volume on the storage. In the driver=92s implementation, it =
> can
>>> directly call storage box=92s api, or send a command to hypervisor host,=
> then
>>> call storage box=92s 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 jus=
> t 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 sin=
> ce
>>> 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=92s a specific requirement for per volume per LUN case, and
>>> specific for certain hypervisors(seems KVM doesn=92t need to create a st=
> orage
>>> 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<vladimir@za=
> darastorage.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 creat=
> ed
>>> an empty plugin for it (in Nov=9212?).****
>>>
>>> ****
>>>
>>> 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=3D"ClassicalPrimaryDataStoreProvider"
>>> class=3D"org.apache.cloudstack.storage.datastore.provider.CloudStackPrim=
> aryDataStoreProviderImpl">
>>> ****
>>>
>>>  </bean>****
>>>
>>> Second, when adding a data store into cloudstack, with an extra paramete=
> r
>>> in createstoragepoolcmd: provider=3Dyour-provider-name,
>>> liststorageproviderscmd can list all the registered providers in mgt ser=
> ver.
>>> ****
>>>
>>> ****
>>>
>>> ****
>>>
>>> -          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+Tutoria=
> l),
>>> 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, s=
> how
>>> all the registered providers, if user selects one of the drop down list,
>>> then UI will pop up a diagram, based on providers=92 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=3Dplay>
>>> *=99*****
>>
>>
>>
>> --
>> *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=3Dplay>
>> *=99*
>
>
>
> --=20
> *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=3Dplay>
> *=99*
>
> --f46d044785339cc8d004d8c69b56--

Reply via email to