diff options
| author | Selvam <selvam@gluster.com> | 2011-05-03 18:02:39 +0530 |
|---|---|---|
| committer | Selvam <selvam@gluster.com> | 2011-05-03 18:02:39 +0530 |
| commit | df48da74b8775e59fdb9d59c9a9562a2449a2956 (patch) | |
| tree | 83e00176f30ea5b95ef661737013b491076dd36d /src/com.gluster.storage.management.client | |
| parent | 52a5b56223f1ba86ecc5af3d26ebf78037358c26 (diff) | |
Story #22 Disk migration (for a Volume)
Diffstat (limited to 'src/com.gluster.storage.management.client')
| -rw-r--r-- | src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java index 33791a50..33a93690 100644 --- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java +++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java @@ -32,6 +32,7 @@ import com.gluster.storage.management.core.model.Disk; import com.gluster.storage.management.core.model.Disk.DISK_STATUS; import com.gluster.storage.management.core.model.Status; import com.gluster.storage.management.core.model.Volume; +import com.gluster.storage.management.core.model.Volume.VOLUME_TYPE; import com.gluster.storage.management.core.response.LogMessageListResponse; import com.gluster.storage.management.core.response.VolumeListResponse; import com.gluster.storage.management.core.response.VolumeOptionInfoListResponse; @@ -162,6 +163,43 @@ public class VolumesClient extends AbstractClient { return queryParams; } + public Status startMigration( String volumeName, String diskFrom, String diskTo) { + Form form = new Form(); + form.add(RESTConstants.FORM_PARAM_VALUE_SOURCE, diskFrom); + form.add(RESTConstants.FORM_PARAM_VALUE_TARGET, diskTo); + form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.FORM_PARAM_VALUE_START); + + return (Status) putRequest( volumeName + "/" + RESTConstants.SUBRESOURCE_DISKS, Status.class, form); + } + + public Status stopMigration(String volumeName, String diskFrom, String diskTo) { + Form form = new Form(); + form.add(RESTConstants.FORM_PARAM_VALUE_SOURCE, diskFrom); + form.add(RESTConstants.FORM_PARAM_VALUE_TARGET, diskTo); + form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.FORM_PARAM_VALUE_STOP); + + return (Status) putRequest( volumeName + "/" + RESTConstants.SUBRESOURCE_DISKS, Status.class, form); + } + + public Status pauseMigration(String volumeName, String diskFrom, String diskTo) { + Form form = new Form(); + form.add(RESTConstants.FORM_PARAM_VALUE_SOURCE, diskFrom); + form.add(RESTConstants.FORM_PARAM_VALUE_TARGET, diskTo); + form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.FORM_PARAM_VALUE_PAUSE); + + return (Status) putRequest( volumeName + "/" + RESTConstants.SUBRESOURCE_DISKS, Status.class, form); + } + + public Status statusMigration(String volumeName, String diskFrom, String diskTo) { + Form form = new Form(); + form.add(RESTConstants.FORM_PARAM_VALUE_SOURCE, diskFrom); + form.add(RESTConstants.FORM_PARAM_VALUE_TARGET, diskTo); + form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.FORM_PARAM_VALUE_STATUS); + + return (Status) putRequest( volumeName + "/" + RESTConstants.SUBRESOURCE_DISKS, Status.class, form); + } + + public static void main(String[] args) { UsersClient usersClient = new UsersClient(); if (usersClient.authenticate("gluster", "gluster").isSuccess()) { |
