Hi Edison,
Thank you for the update!
On 11/08/2012 10:05 PM, Edison Su wrote:
Hi All,
I send out storage refactor rfc few months
ago(http://markmail.org/message/6sdig3hwt5puyvsc), but just starting code in
the last few weeks.
I just checked out the Javelin branch. Could you try to make the commits
a bit more descriptive or maybe rebase locally to squash multiple
commits in one before pushing? It's kind of hard to follow.
Never the less, great work!
Here is my latest
proposal(https://cwiki.apache.org/confluence/display/CLOUDSTACK/Storage+subsystem+2.0),
and sample code is at
engine/storage/src/org/apache/cloudstack/storage/volume/,
engine/storage/src/org/apache/cloudstack/storage/datastore/ and
engine/storage/src/org/apache/cloudstack/storage/image/ on javelin branch.
The ideal is very simple, delegate the logic into different components,
into different identities. I'll try my best to get rid of the monolithic
managers, which are hard to extend.
Feedback and comments are welcome.
Is the API on the Wiki definitive? Since it seems the SnapshotService is
missing:
- List
- Destroy
Apart from that:
"BackupService will manage the snapshot on backup storage(s3/nfs etc)
BackupMigrationService will handle how to move snapshot from primary
storage to secondary storage, or vice versa. "
Does that mean we will have "Backup Storage" AND "Secondary Storage"
Imho it should be enough to have just Secondary Storage, but we should
support both NFS, CIFS and object storage (S3, Swift, Ceph, etc, etc) as
secondary storage.
Since we are actually only storing some objects with metadata that
shouldn't be a problem.
On the KVM platform we are now using Qemu to convert images and that
requires the destination to be a file, but we can always work around
that I think.
Imho the requirement to have a actual filesystem as Secondary Storage
should be gone.
NFS has it's issues, think about a NFS server dying while a qemu-img
process is running. That will go into status D and will be blocking
until the NFS comes back.
Wido