I agree you'd want to get away from going from the agent to the SAN API. My storage plug-in doesn't have any hypervisor dependencies, though. It creates volumes, deletes them, and other SAN-related activities and lets the storage framework coordinate orchestration activities (like ask the storage plug-in for a volume, then send a message to the hypervisor to attach the resultant volume).
On Sat, Sep 21, 2013 at 11:39 PM, Marcus Sorensen <shadow...@gmail.com>wrote: > It's fine, I can leave that code as-is from 4.1 to 4.2 in my plugin, > but if the capability is there to move it I'd prefer to do so. I'm not > sure how we'd get away from calling into any of the hypervisors if we > need to attach disks, or manage default storage types. I can't create > storage on Xen without talking to Xen, or a disk image on KVM without > talking to libvirt or some other thing on KVM. It is after all about > orchestrating the hypervisor, but perhaps I misunderstand the > intention. My point was that I want to get away from Mgmt server -> > Agent -> SAN API wherever possible, it should be unnecessary to go > through the Agent, but in 4.1 that's where everything was done, so > that's what we made talk to the SAN. > > On Sat, Sep 21, 2013 at 11:19 PM, Mike Tutkowski > <mike.tutkow...@solidfire.com> wrote: > > I believe, though, we should look into adding calls to grantAccess and > > revokeAccess for 4.3. > > > > For 4.2 I didn't worry about it because my plug-in didn't work with KVM. > I > > set XenServer and VMware up to use shared SRs/datastores using CHAP > > credentials that I added to all hosts in the cluster (programmatically). > VM > > migrations were handled natively (meaning here coordinated by the > cluster), > > as far as I know. > > > > Since CloudStack handles live migrations for KVM, it would probably be > > better to have support for grantAccess and revokeAccess the way you > > described earlier (since there is no true KVM cluster to handle this). > > > > > > On Sat, Sep 21, 2013 at 11:10 PM, Mike Tutkowski < > > mike.tutkow...@solidfire.com> wrote: > > > >> Also, we can bring John Burwell into this as he had related comments > >> several months ago, but we did not want to have the storage plug-ins > >> calling into the hypervisors. The idea was to get away from having any > >> hypervisor dependencies in the storage plug-ins. > >> > >> The default storage plug-in does not follow this practice (it does call > >> into the hypervisors), but the idea is to get away from that. > >> > >> > >> On Sat, Sep 21, 2013 at 11:07 PM, Mike Tutkowski < > >> mike.tutkow...@solidfire.com> wrote: > >> > >>> Hey Marcus, > >>> > >>> As far as I remember, grantAccess and revokeAccess are not invoked at > all > >>> in 4.2. Edison may be able to elaborate more on this, but I don't > believe > >>> the framework ever calls them. > >>> > >>> Talk to you later > >>> > >>> > >>> On Sat, Sep 21, 2013 at 11:02 PM, Marcus Sorensen <shadow...@gmail.com > >wrote: > >>> > >>>> Oh, one more question. Is grantAccess/revokeAccess called as I'd > >>>> expect for migration, e.g. when PrepareForMigrationCommand is called > >>>> on the target host we can grantAccess to the new host, and then when > >>>> MigrateCommand returns successfully from the old host we revokeAccess > >>>> from the old host? > >>>> > >>>> On Sat, Sep 21, 2013 at 10:57 PM, Marcus Sorensen < > shadow...@gmail.com> > >>>> wrote: > >>>> > All, > >>>> > We've had our own storage plugins based on the 4.1 branch for > >>>> > awhile now. Basically everything was done in KVM on the Agent side. > >>>> > With the new storage framework in place for 4.2, I'm working on > >>>> > splitting this code between Agent-specific (attach to VM, etc) and > the > >>>> > code that talks to the SAN apis, which should live in the new > plugin. > >>>> > However, I seem to be missing some functionality, namely storage > >>>> > stats. In 4.1, GetStorageStatsCommand would be sent to the Agent, > and > >>>> > it would call _storagePoolMgr.getStoragePool, which we'd use to > update > >>>> > the used bytes and capacity of the storage pool. > >>>> > > >>>> > 1) with the new framework, will storage pools managed by a plugin > >>>> > still call GetStorageStatsCommand? This is less than ideal, but > >>>> > better than nothing. I'd prefer to move all code that talks to the > SAN > >>>> > into the storage plugin and out of the KVM agent. > >>>> > > >>>> > 2) Or is there some call I can handle that I'm not noticing will > >>>> > already do this in the storage plugin? I can fetch the current > >>>> > size/used in the initialize, or even when hosts attach in the > Listener > >>>> > (which I don't see any documentation on), but I think the plugin > >>>> > framework needs the equivalent of GetStorageStatsCommand if it > doesn't > >>>> > already have it. > >>>> > >>> > >>> > >>> > >>> -- > >>> *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> > > *™* > -- *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> *™*