Thanks Edison, the meeting notes were helpful.

I am implementing a storage plugin for CloudByte & am using *_details table
for storing the plugin related info.

Can anyone explain what kind/type of plugin data is not suitable in
*_details table (referring to point 5).

Regards,
Amit
*CloudByte Inc.* <http://www.cloudbyte.com/>


On Fri, Sep 20, 2013 at 5:35 AM, Edison Su <edison...@citrix.com> wrote:

> Meeting notes:
>
> Date: Sep 17, 2013
>
> Attendees:
>
> NetApp: Chris, David
>
> Citrix: Alex, Animesh, Edison, Srinivas
>
>
>
> 1. TakeSnapshot method on storage plugin.
>
>     Chris: TakeSnapshot method is implemented, but backup snapshot is
> failed on the hypervisor side, as the default backup snapshot procedure
> will send a copycommand to Xenserver resource, which can't recognize the
> snapshot created by NetApp storage plugin.
>
>    Edison: take snapshot, then backup snapshot to secondary storage
> immediately is the default behavior in CloudStack. There is a way to
> customize it, by extends SnapshotStrategy interface. For example, we can
> write a SnapshotStrategy, which doesn't back up unless anther backup
> snapshot API is called. Or we can add a global configuration parameter to
> disable backup.
>
>    Chris: backup snapshot is fine, but we need a way to customize the
> backup logic. Should we need to let hypervisor knows the snapshot created
> by NetApp, Xenserver has an API to introduce a volume/snapshot, but VMware
> seems doesn't have that kind of API.
>
>    Edison: There is ways to customize the copy logic, by extending
> copyAsync in storage plugin. Everytime, mgt server sends a copycommand, it
> will go through both source storage provider and destination storage
> provider, If any of them  knows how to handle the copycommand, then mgt
> server will handle it to storage provider, otherwise, mgt server will
> handle it to DataMotionService. So there are two ways to customize
> copycommand:
>
>       a. implement copyAsync in storage plugin,
>
>       b. add a new DataMotionService.
>
>   Method a, is easier than method b.
>
>    In copyAsync implementation, we can send the copyCommand to SSVM to
> handle the actual snapshot copy, instead of sending to hypervisor host.
>
>    Chris: Need the detail about how to implement copyAsync in storage
> plugin:
>
>   [Action]: Edison needs to provide detailed information on how to
> implementation of copyAsync
>
>
>
> 2. RevertSnapshot
>
>     Chris: RevertSnapshot is never been called in CloudStack.
>
>     Edison: CloudStack always assumes the snapshot is created, then will
> be backed up to image store immediately, so no need to revert snapshot.
>
>     Chris: need to add revert snapshot functionality on the UI, and API to
> implement revert Snapshot functionality, as the snapshot created on NetApp
> can be reverted back.
>
>     [Action]: Edison needs to implement RevertSnapshot, and call storage
> plugin's RevertSnapshot accordingly.
>
>
>
> 3.  NetApp volume snapshot.
>
>    David: Due to the limitation of NetApp hardware(the number of snapshots
> can be stored on one NetApp volume is limited, less than 255?), we need to
> implement volume snapshot, instead of per VM volume snapshot.
>
>    David: Need to change storage plugin API to take snapshots for all the
> VMs created on the primary storage, instead of per one volume, such as
> takeSnapshot(List<VM> vms), then NetApp can take only one snapshot on the
> whole NetApp volume.
>
>    Animesh: Does NetApp's hardware has the information for VM's each
> volumes, as there is only one snapshot taking on primary storage?
>
>    David: Yes, there is information per volume, we can store them in
> snapshot's path column in CloudStack DB.
>
>    Alex: How about queue taking snapshot methods call in storage plugin?
> For example, queue the taking snapshot for several minutes, then issue only
> one take-snapshot command to NetApp hardware.
>
>    David: It's doable, but maybe it's better to be done at the CloudStack
> mgt server level.
>
>    Alex: Better to send out a proposal on the mailing list, let's see what
> other storage vendor's feedback. If we agree on it's better to implement it
> at mgt server level, then can definitely can implement that.
>
>    Alex: Due to tight 4.3 schedule, maybe implement it at the storage
> driver level is more practical.
>
>    [Action] NetApp will send out a proposal to mailing list.
>
>
>
> 4. Can't add multiple image storage providers in one CloudStack setup.
>
>    Chris: There is on way to let customer to migrate existing NFS
> secondary storage to NetApp's image store, due to the above limitation.
>
>    Edison: The reason for only one image storage provider is that:
> whenever CloudStack mgt server needs to access image store, mgt server has
> not hint to pick up an image store, if there are multiple image stores. As
> both image stores are in the same scope. And for operations, like template
> sync between image stores, template copy between zones, will be much
> complicated if there are multiple image stores.
>
>    Edison: the proposal is putting the existing image store into
> maintenance mode, then migrate existing templates/snapshots stored on the
> image store to new image store.
>
>    [Action] Edison needs to implement image store maintenance mode. NetApp
> may need to provide way to migrate image store.
>
>
>
> 5. How to store configuration for storage plugin:
>
>     Animesh: Alex, is it OK to create DB table in storage plugin?
>
>     Alex: Better to use *_details table
>
>     Chris: For configurations like NetApp server info, or any other
> configuration parameter, it's not suitable in *_details
>
>     Alex: Then can store them in configuration table
>
>     Chris: configuration table is global, is it OK to store this kind of
> plugin specific information in global configuration?
>
>     Alex: In 4.3, people are talking about ConfigurationDepot on the
> mailing list, which is suitable for your case.
>
>     [Action]: Chris will take a look at ConfigDepot.
>
>
>
> 6. How to quiescing VMs:
>
>    David: What we did in other VMware products is creating a VM snapshot
> first,  new linked clone will be created, all the data write will go to the
> new linked clone. NetApp can take snapshot on the parent linked clone, then
> backup it to secondary storage, then revert the snapshot, and delete the
> new linked clone. In this way, we can leverage VM snapshot to quiecse VM,
> then actually backup snapshot through NetApp.
>
>    Alex: it's great! We maybe finally have a way to backup VMware snapshot
> efficiently. We need to investigate it, not only for VMware but also for
> Xenserver.
>
>    [Action] Both need to investigate the possible way to quiesce VM, then
> come up with new APIs to quiesce/unquiese VM.
>
>
>
>
>
>
>
>

Reply via email to