You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ah...@apache.org on 2012/09/05 23:17:46 UTC

[3/5] git commit: more changes

more changes


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/2a4872eb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/2a4872eb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/2a4872eb

Branch: refs/heads/javelin
Commit: 2a4872eb8831a6c41ca94677dc47d92ffe9c7202
Parents: e41cb9f
Author: Alex Huang <al...@citrix.com>
Authored: Wed Sep 5 13:39:10 2012 -0700
Committer: Alex Huang <al...@citrix.com>
Committed: Wed Sep 5 13:39:33 2012 -0700

----------------------------------------------------------------------
 .../platform/cloud/entity/api/NetworkEntity.java   |    4 +-
 .../platform/cloud/entity/api/SnapshotEntity.java  |   22 ++++++++
 .../platform/cloud/entity/api/VolumeEntity.java    |   42 ++++++++++++++-
 .../service/api/JobsManagementService.java         |   35 ------------
 .../platform/service/api/OrchestrationService.java |   13 +----
 5 files changed, 67 insertions(+), 49 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2a4872eb/platform/api/src/org/apache/cloudstack/platform/cloud/entity/api/NetworkEntity.java
----------------------------------------------------------------------
diff --git a/platform/api/src/org/apache/cloudstack/platform/cloud/entity/api/NetworkEntity.java b/platform/api/src/org/apache/cloudstack/platform/cloud/entity/api/NetworkEntity.java
index 3092905..ce7be7c 100755
--- a/platform/api/src/org/apache/cloudstack/platform/cloud/entity/api/NetworkEntity.java
+++ b/platform/api/src/org/apache/cloudstack/platform/cloud/entity/api/NetworkEntity.java
@@ -20,5 +20,7 @@ package org.apache.cloudstack.platform.cloud.entity.api;
 
 import org.apache.cloudstack.platform.entity.api.CloudEntity;
 
-public interface NetworkEntity extends CloudEntity {
+import com.cloud.network.Network;
+
+public interface NetworkEntity extends CloudEntity, Network {
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2a4872eb/platform/api/src/org/apache/cloudstack/platform/cloud/entity/api/SnapshotEntity.java
----------------------------------------------------------------------
diff --git a/platform/api/src/org/apache/cloudstack/platform/cloud/entity/api/SnapshotEntity.java b/platform/api/src/org/apache/cloudstack/platform/cloud/entity/api/SnapshotEntity.java
index 13bc727..bb80f91 100755
--- a/platform/api/src/org/apache/cloudstack/platform/cloud/entity/api/SnapshotEntity.java
+++ b/platform/api/src/org/apache/cloudstack/platform/cloud/entity/api/SnapshotEntity.java
@@ -23,5 +23,27 @@ import org.apache.cloudstack.platform.entity.api.CloudEntity;
 import com.cloud.storage.Snapshot;
 
 public interface SnapshotEntity extends CloudEntity, Snapshot {
+    /**
+     * Make a reservation for backing up this snapshot
+     * @param expiration time in seconds to expire the reservation
+     * @return reservation token
+     */
+    String reserveForBackup(int expiration);
 
+    /**
+     * Perform the backup according to the reservation token
+     * @param reservationToken token returned by reserveForBackup
+     */
+    void backup(String reservationToken);
+
+    /**
+     * restore this snapshot to this vm.
+     * @param vm
+     */
+    void restore(String vm);
+
+    /**
+     * Destroy this snapshot.
+     */
+    void destroy();
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2a4872eb/platform/api/src/org/apache/cloudstack/platform/cloud/entity/api/VolumeEntity.java
----------------------------------------------------------------------
diff --git a/platform/api/src/org/apache/cloudstack/platform/cloud/entity/api/VolumeEntity.java b/platform/api/src/org/apache/cloudstack/platform/cloud/entity/api/VolumeEntity.java
index 4ba204c..99e4c82 100755
--- a/platform/api/src/org/apache/cloudstack/platform/cloud/entity/api/VolumeEntity.java
+++ b/platform/api/src/org/apache/cloudstack/platform/cloud/entity/api/VolumeEntity.java
@@ -27,8 +27,48 @@ public interface VolumeEntity extends CloudEntity, Volume {
     /**
      * Take a snapshot of the volume
      */
-    void takeSnapshotOf();
+    SnapshotEntity takeSnapshotOf(boolean full);
 
+    /**
+     * Make a reservation to do storage migration
+     * 
+     * @param expirationTime time in seconds the reservation is cancelled 
+     * @return reservation token
+     */
+    String reserveForMigration(long expirationTime);
+
+    /**
+     * Migrate using a reservation.
+     * @param reservationToken reservation token 
+     */
+    void migrate(String reservationToken);
+
+    /**
+     * Setup for a copy of this volume.
+     * @return destination to copy to
+     */
+    VolumeEntity setupForCopy();
+
+    /**
+     * Perform the copy
+     * @param dest copy to this volume
+     */
+    void copy(VolumeEntity dest);
 
+    /**
+     * Attach to the vm
+     * @param vm vm to attach to
+     * @param deviceId device id to use
+     */
+    void attachTo(String vm, long deviceId);
 
+    /**
+     * Detach from the vm
+     */
+    void detachFrom();
+
+    /**
+     * Destroy the volume
+     */
+    void destroy();
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2a4872eb/platform/api/src/org/apache/cloudstack/platform/service/api/JobsManagementService.java
----------------------------------------------------------------------
diff --git a/platform/api/src/org/apache/cloudstack/platform/service/api/JobsManagementService.java b/platform/api/src/org/apache/cloudstack/platform/service/api/JobsManagementService.java
deleted file mode 100755
index ed1c4c0..0000000
--- a/platform/api/src/org/apache/cloudstack/platform/service/api/JobsManagementService.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.cloudstack.platform.service.api;
-
-import java.util.List;
-
-import com.cloud.async.AsyncJob;
-
-public interface JobsManagementService {
-    List<AsyncJob> listJobs();
-
-    List<AsyncJob> listJobsInProgress();
-
-    List<AsyncJob> listJobsCompleted(Long from);
-
-    List<AsyncJob> listJobsInWaiting();
-
-    void cancelJob(String job);
-}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2a4872eb/platform/api/src/org/apache/cloudstack/platform/service/api/OrchestrationService.java
----------------------------------------------------------------------
diff --git a/platform/api/src/org/apache/cloudstack/platform/service/api/OrchestrationService.java b/platform/api/src/org/apache/cloudstack/platform/service/api/OrchestrationService.java
index 09edd9f..13133e2 100755
--- a/platform/api/src/org/apache/cloudstack/platform/service/api/OrchestrationService.java
+++ b/platform/api/src/org/apache/cloudstack/platform/service/api/OrchestrationService.java
@@ -24,6 +24,7 @@ import java.util.Map;
 
 import com.cloud.exception.InsufficientCapacityException;
 import com.cloud.hypervisor.Hypervisor;
+import com.cloud.utils.exception.CloudRuntimeException;
 import com.cloud.vm.VirtualMachine;
 
 public interface OrchestrationService {
@@ -102,10 +103,6 @@ public interface OrchestrationService {
 
     void joinNetwork(String network1, String network2);
 
-    void attachNetwork(String network, String vm);
-
-    void detachNetwork(String network, String vm);
-
     void attachVolume(String vm, String vol);
 
     void createNetwork();
@@ -114,13 +111,5 @@ public interface OrchestrationService {
 
     void createVolume();
 
-    void destroyVolume();
-
-    void snapshotVirtualMachine(String vm);
-
-    void snapshotVolume(String volume);
-
-    void backup(String snapshot);
-
     void registerTemplate(String name, URL path, String os, Hypervisor hypervisor);
 }