There is a bug filed to track documentation for this feature. It's
currently unassigned. Looks like a lot of good information is going past in
this email thread. Please consider this a friendly invitation to pull any
useful conclusions and use cases out of here and put them in the doc bug
comments, or update the FS, or create a wiki page and link to it from the
doc bug, so that the info is easy to find for whoever ends up fixing the
bug.

https://issues.apache.org/jira/browse/CLOUDSTACK-885

Thanks,
Jessica T.

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

> Exactly, John ... All of what you said, plus - for example - it really puts
> the onus on the plug-in developer to update the plug in whenever we add
> support for a new hypervisor (say, HyperV).
>
> I'm happy to help out with this effort to extract hypervisor knowledge away
> from these plug-ins, so - if we go this route - please feel free to bring
> me in.
>
> Let's see what Edison thinks.
>
>
> On Mon, Mar 25, 2013 at 11:02 PM, John Burwell <jburw...@basho.com> wrote:
>
> > 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--
> >
>
>
>
> --
> *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