DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.

DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
In 4.2 release, we have added support for object storage like S3/Swift as secondary storage, but missed a systematic way for current customers who are using NFS secondary storage to migrate them to S3 without introducing extra downtime. In this proposal, we are implementing a way for users to achieve that goal.
Requirements
Enable CloudStack to allow the addition of an object store with an existing NFS secondary storage
a. All new resources (snapshots, templates, volumes) created will go directly into object store.
b. Only reads and deletes will be allowed on old NFS.
c. ExtractTemplate, CopyTemplate, CreateVolumeFromSnapshot and ExtractVolume will result in a copy of the resource to the object store. This is to ensure that we maintain the requirement that the object store is region-wide and not zone-wide as the NFS limitation.
We will introduce a new API to add a S3/Swift object store after automatically converting existing NFS secondary storage to NFS staging store for each zone. This API is not exposed in CloudStack UI, and should be invoked outside by admin when he/she wants to do such migration.
updateCloudToUseObjectStore: This api will convert existing NFS secondary storage to NFS staging store for each zone. Internally, it will update DB entries in template_store_ref, volume_store_ref and snapshot_store_ref to indicate that those objects are now stored in Staging store instead of secondary storage. After that, it will add S3/Swift object store as the new secondary storage. This API takes almost the same input parameters as current addImageStore.
Here are steps we recommended to migrate NFS to object store:
In the future, customer may want to get rid of existing NFS secondary storage completely. At that point, we need to provide a script to migrate all those remaining items on old NFS to S3, and then completely shut down the old NFS. This script is out of scope for 4.3.