David and Edison, I plan to review the branch, but due to a personal emergency, I won't have a my feedback until COB, Monday.
Thanks, -John On May 17, 2013, at 8:19 AM, David Nalley <da...@gnsa.us> wrote: > On Fri, May 17, 2013 at 4:11 AM, Edison Su <edison...@citrix.com> wrote: >> Hi all, >> Min and I worked on object_store branch during the last one and half >> month. We made a lot of refactor on the storage code, mostly related to >> secondary storage, but also on the general storage framework. The following >> goals are made: >> >> 1. An unified storage framework. Both secondary storages(nfs/s3/swift >> etc) and primary storages will share the same plugin model, the same >> interface. Add any other new storages into cloudstack will much easier and >> straightforward. >> >> 2. The storage interface between mgt server and resource is unified, >> currently there are only 5 commands send out by mgt server: >> copycommand/createobjectcommand/deletecommand/attachcommand/dettachcommand, >> and each storage vendor can decode/encode all the >> entities(volume/snapshot/storage pool/ template etc) by its own. >> >> 3. NFS secondary storage is not explicitly depended on by other >> components. For example, when registering template into S3, template will be >> write into S3 directly, instead of storing into nfs secondary storage, then >> push to S3. If s3 is used as secondary storage, then nfs storage will be >> used as cache storage, but from other components point of view, cache >> storage is invisible. So, it's possible to make nfs storage as optional if >> s3 is used for certain hypervisors. >> The detailed FS is at >> https://cwiki.apache.org/confluence/display/CLOUDSTACK/Storage+Backup+Object+Store+Plugin+Framework >> The test we did: >> >> 1. We modified marvin to use new storage api >> >> 2. Test_volume and test_vm_life_cycle, test_template under smoke test >> folder are executed against xenserver/kvm/vmware and devcloud, some of them >> are failed, it's partly due to bugs introduced by our code, partly master >> branch itself has issue(e.g. resizevolume doesn't work). We want to fix >> these issues after merging into master. >> >> The basic follow does work: create user vm, attach/detach volume, register >> template, create template from volume/snapshot, take snapshot, create volume >> from snapshot. >> It's a huge change, around 60k LOC patch, to review the code, you can try: >> git diff master..object_store, will show all the diff. >> Comments/feedback are welcome. Thanks. >> >> > > > Given the amount of change, can we get at least a BVT run against your > branch done before merge? > > --David