mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
add getStoreTO into each DataStoreDriver, and add implementation for 3
data store plugins.
This commit is contained in:
parent
2ff01a79ca
commit
2dd8e2cb97
@ -16,7 +16,10 @@
|
|||||||
* specific language governing permissions and limitations
|
* specific language governing permissions and limitations
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
package org.apache.cloudstack.engine.subsystem.api.storage;
|
package com.cloud.agent.api.to;
|
||||||
|
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
|
|
||||||
|
|
||||||
public interface DataStoreTO {
|
public interface DataStoreTO {
|
||||||
public DataStoreRole getRole();
|
public DataStoreRole getRole();
|
||||||
@ -18,9 +18,10 @@ package com.cloud.agent.api.to;
|
|||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.utils.S3Utils;
|
import com.cloud.utils.S3Utils;
|
||||||
|
|
||||||
public final class S3TO implements S3Utils.ClientOptions {
|
public final class S3TO implements S3Utils.ClientOptions, DataStoreTO {
|
||||||
|
|
||||||
private Long id;
|
private Long id;
|
||||||
private String uuid;
|
private String uuid;
|
||||||
@ -249,4 +250,10 @@ public final class S3TO implements S3Utils.ClientOptions {
|
|||||||
this.created = created;
|
this.created = created;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DataStoreRole getRole() {
|
||||||
|
return DataStoreRole.Image;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,7 +16,9 @@
|
|||||||
// under the License.
|
// under the License.
|
||||||
package com.cloud.agent.api.to;
|
package com.cloud.agent.api.to;
|
||||||
|
|
||||||
public class SwiftTO {
|
import com.cloud.storage.DataStoreRole;
|
||||||
|
|
||||||
|
public class SwiftTO implements DataStoreTO {
|
||||||
Long id;
|
Long id;
|
||||||
String url;
|
String url;
|
||||||
String account;
|
String account;
|
||||||
@ -54,5 +56,11 @@ public class SwiftTO {
|
|||||||
return key;
|
return key;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DataStoreRole getRole() {
|
||||||
|
return DataStoreRole.Image;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,7 +16,7 @@
|
|||||||
* specific language governing permissions and limitations
|
* specific language governing permissions and limitations
|
||||||
* under the License.
|
* under the License.
|
||||||
*/
|
*/
|
||||||
package org.apache.cloudstack.engine.subsystem.api.storage;
|
package com.cloud.storage;
|
||||||
|
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
|
|
||||||
@ -16,6 +16,9 @@
|
|||||||
// under the License.
|
// under the License.
|
||||||
package org.apache.cloudstack.engine.subsystem.api.storage;
|
package org.apache.cloudstack.engine.subsystem.api.storage;
|
||||||
|
|
||||||
|
import com.cloud.agent.api.to.DataStoreTO;
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
|
|
||||||
public interface DataStore {
|
public interface DataStore {
|
||||||
DataStoreDriver getDriver();
|
DataStoreDriver getDriver();
|
||||||
DataStoreRole getRole();
|
DataStoreRole getRole();
|
||||||
|
|||||||
@ -22,6 +22,8 @@ import java.util.Set;
|
|||||||
|
|
||||||
import org.apache.cloudstack.framework.async.AsyncCompletionCallback;
|
import org.apache.cloudstack.framework.async.AsyncCompletionCallback;
|
||||||
|
|
||||||
|
import com.cloud.agent.api.to.DataStoreTO;
|
||||||
|
|
||||||
public interface DataStoreDriver {
|
public interface DataStoreDriver {
|
||||||
public String grantAccess(DataObject data, EndPoint ep);
|
public String grantAccess(DataObject data, EndPoint ep);
|
||||||
public boolean revokeAccess(DataObject data, EndPoint ep);
|
public boolean revokeAccess(DataObject data, EndPoint ep);
|
||||||
@ -32,4 +34,5 @@ public interface DataStoreDriver {
|
|||||||
public boolean canCopy(DataObject srcData, DataObject destData);
|
public boolean canCopy(DataObject srcData, DataObject destData);
|
||||||
public void resize(DataObject data, AsyncCompletionCallback<CreateCmdResult> callback);
|
public void resize(DataObject data, AsyncCompletionCallback<CreateCmdResult> callback);
|
||||||
public DataTO getTO(DataObject data);
|
public DataTO getTO(DataObject data);
|
||||||
|
public DataStoreTO getStoreTO(DataStore store);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,6 +21,8 @@ package org.apache.cloudstack.engine.subsystem.api.storage;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
|
|
||||||
|
|
||||||
public interface DataStoreManager {
|
public interface DataStoreManager {
|
||||||
public DataStore getDataStore(long storeId, DataStoreRole role);
|
public DataStore getDataStore(long storeId, DataStoreRole role);
|
||||||
|
|||||||
@ -18,6 +18,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.cloudstack.engine.subsystem.api.storage;
|
package org.apache.cloudstack.engine.subsystem.api.storage;
|
||||||
|
|
||||||
|
import com.cloud.agent.api.to.DataStoreTO;
|
||||||
|
|
||||||
public interface DataTO {
|
public interface DataTO {
|
||||||
public DataObjectType getObjectType();
|
public DataObjectType getObjectType();
|
||||||
public DataStoreTO getDataStore();
|
public DataStoreTO getDataStore();
|
||||||
|
|||||||
@ -28,10 +28,10 @@ import javax.persistence.Id;
|
|||||||
import javax.persistence.Table;
|
import javax.persistence.Table;
|
||||||
import javax.persistence.TableGenerator;
|
import javax.persistence.TableGenerator;
|
||||||
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.ImageStore;
|
import com.cloud.storage.ImageStore;
|
||||||
import com.cloud.storage.ScopeType;
|
import com.cloud.storage.ScopeType;
|
||||||
import com.cloud.utils.db.GenericDao;
|
import com.cloud.utils.db.GenericDao;
|
||||||
|
|||||||
@ -25,7 +25,6 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectInStore;
|
|||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ImageDataFactory;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ImageDataFactory;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.TemplateInfo;
|
import org.apache.cloudstack.engine.subsystem.api.storage.TemplateInfo;
|
||||||
import org.apache.cloudstack.storage.datastore.ObjectInDataStoreManager;
|
import org.apache.cloudstack.storage.datastore.ObjectInDataStoreManager;
|
||||||
@ -33,6 +32,7 @@ import org.apache.cloudstack.storage.image.store.TemplateObject;
|
|||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.VMTemplateStoragePoolVO;
|
import com.cloud.storage.VMTemplateStoragePoolVO;
|
||||||
import com.cloud.storage.VMTemplateVO;
|
import com.cloud.storage.VMTemplateVO;
|
||||||
import com.cloud.storage.dao.VMTemplateDao;
|
import com.cloud.storage.dao.VMTemplateDao;
|
||||||
|
|||||||
@ -28,7 +28,6 @@ import javax.inject.Inject;
|
|||||||
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProviderManager;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProviderManager;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ImageStoreProvider;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ImageStoreProvider;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.Scope;
|
import org.apache.cloudstack.engine.subsystem.api.storage.Scope;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope;
|
||||||
@ -41,6 +40,7 @@ import org.apache.cloudstack.storage.image.store.ImageStoreImpl;
|
|||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.ScopeType;
|
import com.cloud.storage.ScopeType;
|
||||||
import com.cloud.storage.dao.VMTemplateDao;
|
import com.cloud.storage.dao.VMTemplateDao;
|
||||||
import com.cloud.utils.db.SearchCriteria.Op;
|
import com.cloud.utils.db.SearchCriteria.Op;
|
||||||
|
|||||||
@ -18,14 +18,13 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.cloudstack.storage.image.store;
|
package org.apache.cloudstack.storage.image.store;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataObject;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataObject;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreDriver;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreDriver;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreTO;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ImageStoreProvider;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ImageStoreProvider;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.Scope;
|
import org.apache.cloudstack.engine.subsystem.api.storage.Scope;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.SnapshotInfo;
|
import org.apache.cloudstack.engine.subsystem.api.storage.SnapshotInfo;
|
||||||
@ -37,6 +36,8 @@ import org.apache.cloudstack.storage.datastore.db.ImageStoreVO;
|
|||||||
import org.apache.cloudstack.storage.image.ImageStoreDriver;
|
import org.apache.cloudstack.storage.image.ImageStoreDriver;
|
||||||
import org.apache.cloudstack.storage.image.datastore.ImageStoreEntity;
|
import org.apache.cloudstack.storage.image.datastore.ImageStoreEntity;
|
||||||
|
|
||||||
|
import com.cloud.agent.api.to.DataStoreTO;
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.dao.VMTemplateDao;
|
import com.cloud.storage.dao.VMTemplateDao;
|
||||||
import com.cloud.utils.component.ComponentContext;
|
import com.cloud.utils.component.ComponentContext;
|
||||||
import com.cloud.utils.storage.encoding.EncodingType;
|
import com.cloud.utils.storage.encoding.EncodingType;
|
||||||
@ -132,6 +133,11 @@ public class ImageStoreImpl implements ImageStoreEntity {
|
|||||||
return this.imageDataStoreVO.getUuid();
|
return this.imageDataStoreVO.getUuid();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Date getCreated(){
|
||||||
|
return this.imageDataStoreVO.getCreated();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataObject create(DataObject obj) {
|
public DataObject create(DataObject obj) {
|
||||||
DataObject object = objectInStoreMgr.create(obj, this);
|
DataObject object = objectInStoreMgr.create(obj, this);
|
||||||
@ -165,6 +171,8 @@ public class ImageStoreImpl implements ImageStoreEntity {
|
|||||||
return imageDataStoreVO.getProtocol();
|
return imageDataStoreVO.getProtocol();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataStoreTO getTO() {
|
public DataStoreTO getTO() {
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@ -36,7 +36,6 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
|||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreLifeCycle;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreLifeCycle;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProvider;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProvider;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProviderManager;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProviderManager;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint;
|
import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.EndPointSelector;
|
import org.apache.cloudstack.engine.subsystem.api.storage.EndPointSelector;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ImageDataFactory;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ImageDataFactory;
|
||||||
@ -73,6 +72,7 @@ import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
|||||||
import com.cloud.org.Cluster.ClusterType;
|
import com.cloud.org.Cluster.ClusterType;
|
||||||
import com.cloud.org.Managed.ManagedState;
|
import com.cloud.org.Managed.ManagedState;
|
||||||
import com.cloud.resource.ResourceState;
|
import com.cloud.resource.ResourceState;
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.ScopeType;
|
import com.cloud.storage.ScopeType;
|
||||||
import com.cloud.storage.Storage;
|
import com.cloud.storage.Storage;
|
||||||
import com.cloud.storage.Storage.StoragePoolType;
|
import com.cloud.storage.Storage.StoragePoolType;
|
||||||
|
|||||||
@ -25,7 +25,6 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectInStore;
|
|||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.SnapshotDataFactory;
|
import org.apache.cloudstack.engine.subsystem.api.storage.SnapshotDataFactory;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.SnapshotInfo;
|
import org.apache.cloudstack.engine.subsystem.api.storage.SnapshotInfo;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.VolumeDataFactory;
|
import org.apache.cloudstack.engine.subsystem.api.storage.VolumeDataFactory;
|
||||||
@ -33,6 +32,7 @@ import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo;
|
|||||||
import org.apache.cloudstack.storage.datastore.ObjectInDataStoreManager;
|
import org.apache.cloudstack.storage.datastore.ObjectInDataStoreManager;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.Snapshot;
|
import com.cloud.storage.Snapshot;
|
||||||
import com.cloud.storage.SnapshotVO;
|
import com.cloud.storage.SnapshotVO;
|
||||||
import com.cloud.storage.dao.SnapshotDao;
|
import com.cloud.storage.dao.SnapshotDao;
|
||||||
|
|||||||
@ -30,7 +30,6 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectInStore;
|
|||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine.Event;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine.Event;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreDriver;
|
import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreDriver;
|
||||||
@ -58,6 +57,7 @@ import com.cloud.exception.InvalidParameterValueException;
|
|||||||
import com.cloud.host.HostVO;
|
import com.cloud.host.HostVO;
|
||||||
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
||||||
import com.cloud.resource.ResourceManager;
|
import com.cloud.resource.ResourceManager;
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.Snapshot;
|
import com.cloud.storage.Snapshot;
|
||||||
import com.cloud.storage.SnapshotVO;
|
import com.cloud.storage.SnapshotVO;
|
||||||
import com.cloud.storage.StoragePool;
|
import com.cloud.storage.StoragePool;
|
||||||
|
|||||||
@ -25,12 +25,12 @@ import javax.inject.Inject;
|
|||||||
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.Scope;
|
import org.apache.cloudstack.engine.subsystem.api.storage.Scope;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope;
|
||||||
import org.apache.cloudstack.storage.image.datastore.ImageStoreProviderManager;
|
import org.apache.cloudstack.storage.image.datastore.ImageStoreProviderManager;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
|
|||||||
@ -20,10 +20,10 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataObject;
|
|||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectInStore;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectInStore;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine.Event;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine.Event;
|
||||||
|
|
||||||
import com.cloud.agent.api.Answer;
|
import com.cloud.agent.api.Answer;
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.utils.fsm.NoTransitionException;
|
import com.cloud.utils.fsm.NoTransitionException;
|
||||||
|
|
||||||
public interface ObjectInDataStoreManager {
|
public interface ObjectInDataStoreManager {
|
||||||
|
|||||||
@ -23,7 +23,6 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectInStore;
|
|||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ImageDataFactory;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ImageDataFactory;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine.Event;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine.Event;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine.State;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine.State;
|
||||||
@ -42,6 +41,7 @@ import org.apache.log4j.Logger;
|
|||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import com.cloud.agent.api.Answer;
|
import com.cloud.agent.api.Answer;
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.VMTemplateStoragePoolVO;
|
import com.cloud.storage.VMTemplateStoragePoolVO;
|
||||||
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
|
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
|
||||||
import com.cloud.storage.dao.VMTemplatePoolDao;
|
import com.cloud.storage.dao.VMTemplatePoolDao;
|
||||||
|
|||||||
@ -31,9 +31,9 @@ import javax.persistence.TemporalType;
|
|||||||
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectInStore;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectInStore;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine;
|
||||||
|
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.Storage;
|
import com.cloud.storage.Storage;
|
||||||
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
|
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
|
||||||
import com.cloud.utils.db.GenericDaoBase;
|
import com.cloud.utils.db.GenericDaoBase;
|
||||||
|
|||||||
@ -28,7 +28,6 @@ import javax.inject.Inject;
|
|||||||
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataObject;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataObject;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint;
|
import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.EndPointSelector;
|
import org.apache.cloudstack.engine.subsystem.api.storage.EndPointSelector;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.Scope;
|
import org.apache.cloudstack.engine.subsystem.api.storage.Scope;
|
||||||
@ -40,6 +39,7 @@ import org.springframework.stereotype.Component;
|
|||||||
import com.cloud.host.HostVO;
|
import com.cloud.host.HostVO;
|
||||||
import com.cloud.host.Status;
|
import com.cloud.host.Status;
|
||||||
import com.cloud.host.dao.HostDao;
|
import com.cloud.host.dao.HostDao;
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.ScopeType;
|
import com.cloud.storage.ScopeType;
|
||||||
import com.cloud.utils.db.DB;
|
import com.cloud.utils.db.DB;
|
||||||
import com.cloud.utils.db.SearchCriteria2;
|
import com.cloud.utils.db.SearchCriteria2;
|
||||||
|
|||||||
@ -23,13 +23,13 @@ import java.util.Map;
|
|||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.storage.datastore.db.ImageStoreDao;
|
import org.apache.cloudstack.storage.datastore.db.ImageStoreDao;
|
||||||
import org.apache.cloudstack.storage.datastore.db.ImageStoreDetailVO;
|
import org.apache.cloudstack.storage.datastore.db.ImageStoreDetailVO;
|
||||||
import org.apache.cloudstack.storage.datastore.db.ImageStoreDetailsDao;
|
import org.apache.cloudstack.storage.datastore.db.ImageStoreDetailsDao;
|
||||||
import org.apache.cloudstack.storage.datastore.db.ImageStoreVO;
|
import org.apache.cloudstack.storage.datastore.db.ImageStoreVO;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.ImageStore;
|
import com.cloud.storage.ImageStore;
|
||||||
import com.cloud.storage.ScopeType;
|
import com.cloud.storage.ScopeType;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
|
|||||||
@ -24,7 +24,6 @@ import java.util.Map;
|
|||||||
import javax.naming.ConfigurationException;
|
import javax.naming.ConfigurationException;
|
||||||
|
|
||||||
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.Scope;
|
import org.apache.cloudstack.engine.subsystem.api.storage.Scope;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope;
|
||||||
import org.apache.cloudstack.storage.datastore.db.ImageStoreDao;
|
import org.apache.cloudstack.storage.datastore.db.ImageStoreDao;
|
||||||
@ -32,6 +31,7 @@ import org.apache.cloudstack.storage.datastore.db.ImageStoreVO;
|
|||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.ScopeType;
|
import com.cloud.storage.ScopeType;
|
||||||
import com.cloud.utils.db.GenericDaoBase;
|
import com.cloud.utils.db.GenericDaoBase;
|
||||||
import com.cloud.utils.db.SearchBuilder;
|
import com.cloud.utils.db.SearchBuilder;
|
||||||
|
|||||||
@ -16,26 +16,32 @@
|
|||||||
// under the License.
|
// under the License.
|
||||||
package org.apache.cloudstack.storage.to;
|
package org.apache.cloudstack.storage.to;
|
||||||
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreTO;
|
|
||||||
import org.apache.cloudstack.storage.image.datastore.ImageStoreInfo;
|
import org.apache.cloudstack.storage.image.datastore.ImageStoreInfo;
|
||||||
|
|
||||||
|
import com.cloud.agent.api.to.DataStoreTO;
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
|
|
||||||
public class ImageStoreTO implements DataStoreTO {
|
public class ImageStoreTO implements DataStoreTO {
|
||||||
private final String type;
|
private String type;
|
||||||
private final String uri;
|
private String uri;
|
||||||
private final String providerName;
|
private String providerName;
|
||||||
private final DataStoreRole role;
|
private DataStoreRole role;
|
||||||
|
|
||||||
|
public ImageStoreTO(){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public ImageStoreTO(ImageStoreInfo dataStore) {
|
public ImageStoreTO(ImageStoreInfo dataStore) {
|
||||||
this.type = dataStore.getType();
|
this.type = dataStore.getType();
|
||||||
this.uri = dataStore.getUri();
|
this.uri = dataStore.getUri();
|
||||||
this.providerName = null;
|
this.providerName = null;
|
||||||
this.role = dataStore.getRole();
|
this.role = dataStore.getRole();
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getType() {
|
public String getType() {
|
||||||
return this.type;
|
return this.type;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getUri() {
|
public String getUri() {
|
||||||
return this.uri;
|
return this.uri;
|
||||||
}
|
}
|
||||||
@ -47,8 +53,26 @@ public class ImageStoreTO implements DataStoreTO {
|
|||||||
return providerName;
|
return providerName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void setType(String type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUri(String uri) {
|
||||||
|
this.uri = uri;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProviderName(String providerName) {
|
||||||
|
this.providerName = providerName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRole(DataStoreRole role) {
|
||||||
|
this.role = role;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataStoreRole getRole() {
|
public DataStoreRole getRole() {
|
||||||
return this.role;
|
return this.role;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,10 +16,11 @@
|
|||||||
// under the License.
|
// under the License.
|
||||||
package org.apache.cloudstack.storage.to;
|
package org.apache.cloudstack.storage.to;
|
||||||
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreTO;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreInfo;
|
import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreInfo;
|
||||||
|
|
||||||
|
import com.cloud.agent.api.to.DataStoreTO;
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
|
|
||||||
public class PrimaryDataStoreTO implements DataStoreTO {
|
public class PrimaryDataStoreTO implements DataStoreTO {
|
||||||
private final String uuid;
|
private final String uuid;
|
||||||
private final String name;
|
private final String name;
|
||||||
|
|||||||
@ -17,12 +17,13 @@
|
|||||||
package org.apache.cloudstack.storage.to;
|
package org.apache.cloudstack.storage.to;
|
||||||
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreTO;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataTO;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataTO;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.TemplateInfo;
|
import org.apache.cloudstack.engine.subsystem.api.storage.TemplateInfo;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.disktype.DiskFormat;
|
import org.apache.cloudstack.engine.subsystem.api.storage.disktype.DiskFormat;
|
||||||
import org.apache.cloudstack.storage.image.datastore.ImageStoreInfo;
|
import org.apache.cloudstack.storage.image.datastore.ImageStoreInfo;
|
||||||
|
|
||||||
|
import com.cloud.agent.api.to.DataStoreTO;
|
||||||
|
|
||||||
public class TemplateObjectTO implements DataTO {
|
public class TemplateObjectTO implements DataTO {
|
||||||
private final String path;
|
private final String path;
|
||||||
private final String uuid;
|
private final String uuid;
|
||||||
|
|||||||
@ -25,7 +25,6 @@ import javax.inject.Inject;
|
|||||||
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.HostScope;
|
import org.apache.cloudstack.engine.subsystem.api.storage.HostScope;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreParameters;
|
import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreParameters;
|
||||||
import org.apache.cloudstack.storage.command.AttachPrimaryDataStoreCmd;
|
import org.apache.cloudstack.storage.command.AttachPrimaryDataStoreCmd;
|
||||||
@ -41,6 +40,7 @@ import com.cloud.alert.AlertManager;
|
|||||||
import com.cloud.capacity.Capacity;
|
import com.cloud.capacity.Capacity;
|
||||||
import com.cloud.capacity.CapacityVO;
|
import com.cloud.capacity.CapacityVO;
|
||||||
import com.cloud.capacity.dao.CapacityDao;
|
import com.cloud.capacity.dao.CapacityDao;
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.ScopeType;
|
import com.cloud.storage.ScopeType;
|
||||||
import com.cloud.storage.StorageManager;
|
import com.cloud.storage.StorageManager;
|
||||||
import com.cloud.storage.StoragePool;
|
import com.cloud.storage.StoragePool;
|
||||||
|
|||||||
@ -28,8 +28,6 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataObject;
|
|||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreDriver;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreDriver;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProvider;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProvider;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreTO;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.HostScope;
|
import org.apache.cloudstack.engine.subsystem.api.storage.HostScope;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ImageDataFactory;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ImageDataFactory;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine;
|
||||||
@ -47,8 +45,10 @@ import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
|
|||||||
import org.apache.cloudstack.storage.volume.VolumeObject;
|
import org.apache.cloudstack.storage.volume.VolumeObject;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
import com.cloud.agent.api.to.DataStoreTO;
|
||||||
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
||||||
import com.cloud.storage.Storage.StoragePoolType;
|
import com.cloud.storage.Storage.StoragePoolType;
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.ScopeType;
|
import com.cloud.storage.ScopeType;
|
||||||
import com.cloud.storage.StoragePoolHostVO;
|
import com.cloud.storage.StoragePoolHostVO;
|
||||||
import com.cloud.storage.StoragePoolStatus;
|
import com.cloud.storage.StoragePoolStatus;
|
||||||
|
|||||||
@ -21,7 +21,6 @@ package org.apache.cloudstack.storage.datastore.provider;
|
|||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.HypervisorHostListener;
|
import org.apache.cloudstack.engine.subsystem.api.storage.HypervisorHostListener;
|
||||||
import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
|
import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
|
||||||
import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
|
import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
|
||||||
@ -32,6 +31,7 @@ import com.cloud.agent.api.Answer;
|
|||||||
import com.cloud.agent.api.ModifyStoragePoolAnswer;
|
import com.cloud.agent.api.ModifyStoragePoolAnswer;
|
||||||
import com.cloud.agent.api.ModifyStoragePoolCommand;
|
import com.cloud.agent.api.ModifyStoragePoolCommand;
|
||||||
import com.cloud.alert.AlertManager;
|
import com.cloud.alert.AlertManager;
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.StoragePool;
|
import com.cloud.storage.StoragePool;
|
||||||
import com.cloud.storage.StoragePoolHostVO;
|
import com.cloud.storage.StoragePoolHostVO;
|
||||||
import com.cloud.storage.dao.StoragePoolHostDao;
|
import com.cloud.storage.dao.StoragePoolHostDao;
|
||||||
|
|||||||
@ -24,12 +24,12 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataObject;
|
|||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.VolumeDataFactory;
|
import org.apache.cloudstack.engine.subsystem.api.storage.VolumeDataFactory;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo;
|
import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo;
|
||||||
import org.apache.cloudstack.storage.datastore.ObjectInDataStoreManager;
|
import org.apache.cloudstack.storage.datastore.ObjectInDataStoreManager;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.VolumeVO;
|
import com.cloud.storage.VolumeVO;
|
||||||
import com.cloud.storage.dao.VolumeDao;
|
import com.cloud.storage.dao.VolumeDao;
|
||||||
|
|
||||||
|
|||||||
@ -23,7 +23,6 @@ import javax.inject.Inject;
|
|||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectInStore;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectInStore;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataTO;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataTO;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ObjectInDataStoreStateMachine;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo;
|
import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo;
|
||||||
@ -34,6 +33,7 @@ import org.apache.log4j.Logger;
|
|||||||
|
|
||||||
import com.cloud.agent.api.Answer;
|
import com.cloud.agent.api.Answer;
|
||||||
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
import com.cloud.hypervisor.Hypervisor.HypervisorType;
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.Volume;
|
import com.cloud.storage.Volume;
|
||||||
import com.cloud.storage.VolumeVO;
|
import com.cloud.storage.VolumeVO;
|
||||||
import com.cloud.storage.dao.VolumeDao;
|
import com.cloud.storage.dao.VolumeDao;
|
||||||
|
|||||||
@ -31,8 +31,6 @@ import java.util.Set;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataObjectType;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreTO;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataTO;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataTO;
|
||||||
import org.apache.cloudstack.storage.command.AttachPrimaryDataStoreAnswer;
|
import org.apache.cloudstack.storage.command.AttachPrimaryDataStoreAnswer;
|
||||||
import org.apache.cloudstack.storage.command.AttachPrimaryDataStoreCmd;
|
import org.apache.cloudstack.storage.command.AttachPrimaryDataStoreCmd;
|
||||||
@ -62,7 +60,9 @@ import com.cloud.agent.api.Command;
|
|||||||
import com.cloud.agent.api.storage.DeleteVolumeCommand;
|
import com.cloud.agent.api.storage.DeleteVolumeCommand;
|
||||||
import com.cloud.agent.api.storage.PrimaryStorageDownloadAnswer;
|
import com.cloud.agent.api.storage.PrimaryStorageDownloadAnswer;
|
||||||
import com.cloud.agent.api.storage.PrimaryStorageDownloadCommand;
|
import com.cloud.agent.api.storage.PrimaryStorageDownloadCommand;
|
||||||
|
import com.cloud.agent.api.to.DataStoreTO;
|
||||||
import com.cloud.hypervisor.xen.resource.CitrixResourceBase.SRType;
|
import com.cloud.hypervisor.xen.resource.CitrixResourceBase.SRType;
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.cloud.utils.storage.encoding.DecodedDataObject;
|
import com.cloud.utils.storage.encoding.DecodedDataObject;
|
||||||
import com.cloud.utils.storage.encoding.DecodedDataStore;
|
import com.cloud.utils.storage.encoding.DecodedDataStore;
|
||||||
|
|||||||
@ -35,7 +35,9 @@ import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo;
|
|||||||
import org.apache.cloudstack.framework.async.AsyncCompletionCallback;
|
import org.apache.cloudstack.framework.async.AsyncCompletionCallback;
|
||||||
import org.apache.cloudstack.framework.async.AsyncRpcConext;
|
import org.apache.cloudstack.framework.async.AsyncRpcConext;
|
||||||
import org.apache.cloudstack.storage.image.ImageStoreDriver;
|
import org.apache.cloudstack.storage.image.ImageStoreDriver;
|
||||||
|
import org.apache.cloudstack.storage.image.store.ImageStoreImpl;
|
||||||
import org.apache.cloudstack.storage.image.store.TemplateObject;
|
import org.apache.cloudstack.storage.image.store.TemplateObject;
|
||||||
|
import org.apache.cloudstack.storage.to.ImageStoreTO;
|
||||||
import org.apache.cloudstack.storage.volume.VolumeObject;
|
import org.apache.cloudstack.storage.volume.VolumeObject;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
@ -43,10 +45,12 @@ import com.cloud.agent.AgentManager;
|
|||||||
import com.cloud.agent.api.Answer;
|
import com.cloud.agent.api.Answer;
|
||||||
import com.cloud.agent.api.DeleteSnapshotBackupCommand;
|
import com.cloud.agent.api.DeleteSnapshotBackupCommand;
|
||||||
import com.cloud.agent.api.storage.DeleteVolumeCommand;
|
import com.cloud.agent.api.storage.DeleteVolumeCommand;
|
||||||
|
import com.cloud.agent.api.to.DataStoreTO;
|
||||||
import com.cloud.agent.api.to.S3TO;
|
import com.cloud.agent.api.to.S3TO;
|
||||||
import com.cloud.agent.api.to.SwiftTO;
|
import com.cloud.agent.api.to.SwiftTO;
|
||||||
import com.cloud.host.HostVO;
|
import com.cloud.host.HostVO;
|
||||||
import com.cloud.host.dao.HostDao;
|
import com.cloud.host.dao.HostDao;
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.RegisterVolumePayload;
|
import com.cloud.storage.RegisterVolumePayload;
|
||||||
import com.cloud.storage.Storage.ImageFormat;
|
import com.cloud.storage.Storage.ImageFormat;
|
||||||
import com.cloud.storage.SnapshotVO;
|
import com.cloud.storage.SnapshotVO;
|
||||||
@ -92,12 +96,23 @@ public class CloudStackImageStoreDriverImpl implements ImageStoreDriver {
|
|||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataTO getTO(DataObject data) {
|
public DataTO getTO(DataObject data) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DataStoreTO getStoreTO(DataStore store) {
|
||||||
|
ImageStoreImpl nfsStore = (ImageStoreImpl)store;
|
||||||
|
ImageStoreTO nfsTO = new ImageStoreTO();
|
||||||
|
nfsTO.setProviderName("CloudStack");
|
||||||
|
nfsTO.setRole(DataStoreRole.Image);
|
||||||
|
nfsTO.setUri(nfsStore.getUri());
|
||||||
|
return nfsTO;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean revokeAccess(DataObject data, EndPoint ep) {
|
public boolean revokeAccess(DataObject data, EndPoint ep) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|||||||
@ -19,10 +19,12 @@
|
|||||||
package org.apache.cloudstack.storage.datastore.driver;
|
package org.apache.cloudstack.storage.datastore.driver;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import org.apache.cloudstack.api.ApiConstants;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.CommandResult;
|
import org.apache.cloudstack.engine.subsystem.api.storage.CommandResult;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.CopyCommandResult;
|
import org.apache.cloudstack.engine.subsystem.api.storage.CopyCommandResult;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.CreateCmdResult;
|
import org.apache.cloudstack.engine.subsystem.api.storage.CreateCmdResult;
|
||||||
@ -34,7 +36,9 @@ import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint;
|
|||||||
import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo;
|
import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo;
|
||||||
import org.apache.cloudstack.framework.async.AsyncCompletionCallback;
|
import org.apache.cloudstack.framework.async.AsyncCompletionCallback;
|
||||||
import org.apache.cloudstack.framework.async.AsyncRpcConext;
|
import org.apache.cloudstack.framework.async.AsyncRpcConext;
|
||||||
|
import org.apache.cloudstack.storage.datastore.db.ImageStoreDetailsDao;
|
||||||
import org.apache.cloudstack.storage.image.ImageStoreDriver;
|
import org.apache.cloudstack.storage.image.ImageStoreDriver;
|
||||||
|
import org.apache.cloudstack.storage.image.store.ImageStoreImpl;
|
||||||
import org.apache.cloudstack.storage.image.store.TemplateObject;
|
import org.apache.cloudstack.storage.image.store.TemplateObject;
|
||||||
import org.apache.cloudstack.storage.volume.VolumeObject;
|
import org.apache.cloudstack.storage.volume.VolumeObject;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
@ -43,6 +47,7 @@ import com.cloud.agent.AgentManager;
|
|||||||
import com.cloud.agent.api.Answer;
|
import com.cloud.agent.api.Answer;
|
||||||
import com.cloud.agent.api.DeleteSnapshotBackupCommand;
|
import com.cloud.agent.api.DeleteSnapshotBackupCommand;
|
||||||
import com.cloud.agent.api.storage.DeleteVolumeCommand;
|
import com.cloud.agent.api.storage.DeleteVolumeCommand;
|
||||||
|
import com.cloud.agent.api.to.DataStoreTO;
|
||||||
import com.cloud.agent.api.to.S3TO;
|
import com.cloud.agent.api.to.S3TO;
|
||||||
import com.cloud.agent.api.to.SwiftTO;
|
import com.cloud.agent.api.to.SwiftTO;
|
||||||
import com.cloud.host.HostVO;
|
import com.cloud.host.HostVO;
|
||||||
@ -77,6 +82,8 @@ public class S3ImageStoreDriverImpl implements ImageStoreDriver {
|
|||||||
@Inject DownloadMonitor _downloadMonitor;
|
@Inject DownloadMonitor _downloadMonitor;
|
||||||
@Inject
|
@Inject
|
||||||
VMTemplateHostDao _vmTemplateHostDao;
|
VMTemplateHostDao _vmTemplateHostDao;
|
||||||
|
@Inject
|
||||||
|
ImageStoreDetailsDao _imageStoreDetailsDao;
|
||||||
@Inject VolumeDao volumeDao;
|
@Inject VolumeDao volumeDao;
|
||||||
@Inject VolumeHostDao volumeHostDao;
|
@Inject VolumeHostDao volumeHostDao;
|
||||||
@Inject HostDao hostDao;
|
@Inject HostDao hostDao;
|
||||||
@ -92,12 +99,29 @@ public class S3ImageStoreDriverImpl implements ImageStoreDriver {
|
|||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataTO getTO(DataObject data) {
|
public DataTO getTO(DataObject data) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DataStoreTO getStoreTO(DataStore store) {
|
||||||
|
ImageStoreImpl imgStore = (ImageStoreImpl)store;
|
||||||
|
Map<String, String> details = _imageStoreDetailsDao.getDetails(imgStore.getId());
|
||||||
|
return new S3TO(imgStore.getId(), imgStore.getUuid(), details.get(ApiConstants.S3_ACCESS_KEY),
|
||||||
|
details.get(ApiConstants.S3_SECRET_KEY),
|
||||||
|
details.get(ApiConstants.S3_END_POINT),
|
||||||
|
details.get(ApiConstants.S3_BUCKET_NAME),
|
||||||
|
Boolean.parseBoolean(details.get(ApiConstants.S3_HTTPS_FLAG)),
|
||||||
|
Integer.valueOf(details.get(ApiConstants.S3_CONNECTION_TIMEOUT)),
|
||||||
|
Integer.valueOf(details.get(ApiConstants.S3_MAX_ERROR_RETRY)),
|
||||||
|
Integer.valueOf(details.get(ApiConstants.S3_SOCKET_TIMEOUT)),
|
||||||
|
imgStore.getCreated());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean revokeAccess(DataObject data, EndPoint ep) {
|
public boolean revokeAccess(DataObject data, EndPoint ep) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|||||||
@ -36,6 +36,7 @@ import org.apache.cloudstack.storage.command.CreateObjectAnswer;
|
|||||||
import org.apache.cloudstack.storage.command.CreateObjectCommand;
|
import org.apache.cloudstack.storage.command.CreateObjectCommand;
|
||||||
import org.apache.cloudstack.storage.image.ImageStoreDriver;
|
import org.apache.cloudstack.storage.image.ImageStoreDriver;
|
||||||
|
|
||||||
|
import com.cloud.agent.api.to.DataStoreTO;
|
||||||
import com.cloud.storage.dao.VMTemplateDao;
|
import com.cloud.storage.dao.VMTemplateDao;
|
||||||
|
|
||||||
//http-read-only based image store
|
//http-read-only based image store
|
||||||
@ -46,12 +47,19 @@ public class SampleImageStoreDriverImpl implements ImageStoreDriver {
|
|||||||
VMTemplateDao imageDataDao;
|
VMTemplateDao imageDataDao;
|
||||||
public SampleImageStoreDriverImpl() {
|
public SampleImageStoreDriverImpl() {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataTO getTO(DataObject data) {
|
public DataTO getTO(DataObject data) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DataStoreTO getStoreTO(DataStore store) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String grantAccess(DataObject data, EndPoint ep) {
|
public String grantAccess(DataObject data, EndPoint ep) {
|
||||||
return data.getUri();
|
return data.getUri();
|
||||||
@ -79,7 +87,7 @@ public class SampleImageStoreDriverImpl implements ImageStoreDriver {
|
|||||||
callback.complete(result);
|
callback.complete(result);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data.getSize() == null && data.getType() == DataObjectType.TEMPLATE) {
|
if (data.getSize() == null && data.getType() == DataObjectType.TEMPLATE) {
|
||||||
//the template size is unknown during registration, need to find out the size of template
|
//the template size is unknown during registration, need to find out the size of template
|
||||||
EndPoint ep = selector.select(data);
|
EndPoint ep = selector.select(data);
|
||||||
@ -92,14 +100,14 @@ public class SampleImageStoreDriverImpl implements ImageStoreDriver {
|
|||||||
CreateObjectAnswer answer = (CreateObjectAnswer)ep.sendMessage(createCmd);
|
CreateObjectAnswer answer = (CreateObjectAnswer)ep.sendMessage(createCmd);
|
||||||
if (answer.getResult()) {
|
if (answer.getResult()) {
|
||||||
//update imagestorevo
|
//update imagestorevo
|
||||||
|
|
||||||
result = new CreateCmdResult(answer.getPath(), answer.getSize());
|
result = new CreateCmdResult(answer.getPath(), answer.getSize());
|
||||||
} else {
|
} else {
|
||||||
result.setResult(answer.getDetails());
|
result.setResult(answer.getDetails());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
callback.complete(result);
|
callback.complete(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -120,13 +128,13 @@ public class SampleImageStoreDriverImpl implements ImageStoreDriver {
|
|||||||
public void copyAsync(DataObject srcdata, DataObject destData,
|
public void copyAsync(DataObject srcdata, DataObject destData,
|
||||||
AsyncCompletionCallback<CopyCommandResult> callback) {
|
AsyncCompletionCallback<CopyCommandResult> callback) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void resize(DataObject data,
|
public void resize(DataObject data,
|
||||||
AsyncCompletionCallback<CreateCmdResult> callback) {
|
AsyncCompletionCallback<CreateCmdResult> callback) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,10 +19,12 @@
|
|||||||
package org.apache.cloudstack.storage.datastore.driver;
|
package org.apache.cloudstack.storage.datastore.driver;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
|
import org.apache.cloudstack.api.ApiConstants;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.CommandResult;
|
import org.apache.cloudstack.engine.subsystem.api.storage.CommandResult;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.CopyCommandResult;
|
import org.apache.cloudstack.engine.subsystem.api.storage.CopyCommandResult;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.CreateCmdResult;
|
import org.apache.cloudstack.engine.subsystem.api.storage.CreateCmdResult;
|
||||||
@ -34,7 +36,9 @@ import org.apache.cloudstack.engine.subsystem.api.storage.EndPoint;
|
|||||||
import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo;
|
import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo;
|
||||||
import org.apache.cloudstack.framework.async.AsyncCompletionCallback;
|
import org.apache.cloudstack.framework.async.AsyncCompletionCallback;
|
||||||
import org.apache.cloudstack.framework.async.AsyncRpcConext;
|
import org.apache.cloudstack.framework.async.AsyncRpcConext;
|
||||||
|
import org.apache.cloudstack.storage.datastore.db.ImageStoreDetailsDao;
|
||||||
import org.apache.cloudstack.storage.image.ImageStoreDriver;
|
import org.apache.cloudstack.storage.image.ImageStoreDriver;
|
||||||
|
import org.apache.cloudstack.storage.image.store.ImageStoreImpl;
|
||||||
import org.apache.cloudstack.storage.image.store.TemplateObject;
|
import org.apache.cloudstack.storage.image.store.TemplateObject;
|
||||||
import org.apache.cloudstack.storage.volume.VolumeObject;
|
import org.apache.cloudstack.storage.volume.VolumeObject;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
@ -43,6 +47,7 @@ import com.cloud.agent.AgentManager;
|
|||||||
import com.cloud.agent.api.Answer;
|
import com.cloud.agent.api.Answer;
|
||||||
import com.cloud.agent.api.DeleteSnapshotBackupCommand;
|
import com.cloud.agent.api.DeleteSnapshotBackupCommand;
|
||||||
import com.cloud.agent.api.storage.DeleteVolumeCommand;
|
import com.cloud.agent.api.storage.DeleteVolumeCommand;
|
||||||
|
import com.cloud.agent.api.to.DataStoreTO;
|
||||||
import com.cloud.agent.api.to.S3TO;
|
import com.cloud.agent.api.to.S3TO;
|
||||||
import com.cloud.agent.api.to.SwiftTO;
|
import com.cloud.agent.api.to.SwiftTO;
|
||||||
import com.cloud.host.HostVO;
|
import com.cloud.host.HostVO;
|
||||||
@ -77,6 +82,8 @@ public class SwiftImageStoreDriverImpl implements ImageStoreDriver {
|
|||||||
@Inject DownloadMonitor _downloadMonitor;
|
@Inject DownloadMonitor _downloadMonitor;
|
||||||
@Inject
|
@Inject
|
||||||
VMTemplateHostDao _vmTemplateHostDao;
|
VMTemplateHostDao _vmTemplateHostDao;
|
||||||
|
@Inject
|
||||||
|
ImageStoreDetailsDao _imageStoreDetailsDao;
|
||||||
@Inject VolumeDao volumeDao;
|
@Inject VolumeDao volumeDao;
|
||||||
@Inject VolumeHostDao volumeHostDao;
|
@Inject VolumeHostDao volumeHostDao;
|
||||||
@Inject HostDao hostDao;
|
@Inject HostDao hostDao;
|
||||||
@ -92,12 +99,22 @@ public class SwiftImageStoreDriverImpl implements ImageStoreDriver {
|
|||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataTO getTO(DataObject data) {
|
public DataTO getTO(DataObject data) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DataStoreTO getStoreTO(DataStore store) {
|
||||||
|
ImageStoreImpl imgStore = (ImageStoreImpl)store;
|
||||||
|
Map<String, String> details = _imageStoreDetailsDao.getDetails(imgStore.getId());
|
||||||
|
return new SwiftTO(imgStore.getId(), imgStore.getUri(), details.get(ApiConstants.ACCOUNT),
|
||||||
|
details.get(ApiConstants.USERNAME),
|
||||||
|
details.get(ApiConstants.KEY));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean revokeAccess(DataObject data, EndPoint ep) {
|
public boolean revokeAccess(DataObject data, EndPoint ep) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|||||||
@ -46,6 +46,7 @@ import com.cloud.agent.api.storage.CreateCommand;
|
|||||||
import com.cloud.agent.api.storage.DestroyCommand;
|
import com.cloud.agent.api.storage.DestroyCommand;
|
||||||
import com.cloud.agent.api.storage.ResizeVolumeAnswer;
|
import com.cloud.agent.api.storage.ResizeVolumeAnswer;
|
||||||
import com.cloud.agent.api.storage.ResizeVolumeCommand;
|
import com.cloud.agent.api.storage.ResizeVolumeCommand;
|
||||||
|
import com.cloud.agent.api.to.DataStoreTO;
|
||||||
import com.cloud.agent.api.to.StorageFilerTO;
|
import com.cloud.agent.api.to.StorageFilerTO;
|
||||||
import com.cloud.exception.StorageUnavailableException;
|
import com.cloud.exception.StorageUnavailableException;
|
||||||
import com.cloud.host.HostVO;
|
import com.cloud.host.HostVO;
|
||||||
@ -91,13 +92,20 @@ public class CloudStackPrimaryDataStoreDriverImpl implements PrimaryDataStoreDri
|
|||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataTO getTO(DataObject data) {
|
public DataTO getTO(DataObject data) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
public DataStoreTO getStoreTO(DataStore store) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public boolean revokeAccess(DataObject data, EndPoint ep) {
|
public boolean revokeAccess(DataObject data, EndPoint ep) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return false;
|
return false;
|
||||||
@ -148,7 +156,7 @@ public class CloudStackPrimaryDataStoreDriverImpl implements PrimaryDataStoreDri
|
|||||||
+ template.getId() + " "
|
+ template.getId() + " "
|
||||||
+ template.getName());
|
+ template.getName());
|
||||||
throw new CloudRuntimeException("cannot find template"
|
throw new CloudRuntimeException("cannot find template"
|
||||||
+ template.getId()
|
+ template.getId()
|
||||||
+ template.getName());
|
+ template.getName());
|
||||||
}
|
}
|
||||||
HostVO secondaryStorageHost = hostDao
|
HostVO secondaryStorageHost = hostDao
|
||||||
@ -304,11 +312,11 @@ public class CloudStackPrimaryDataStoreDriverImpl implements PrimaryDataStoreDri
|
|||||||
parentSnapshotPath = preSnapshotVO.getPath();
|
parentSnapshotPath = preSnapshotVO.getPath();
|
||||||
}
|
}
|
||||||
StoragePool srcPool = (StoragePool)volume.getDataStore();
|
StoragePool srcPool = (StoragePool)volume.getDataStore();
|
||||||
|
|
||||||
ManageSnapshotCommand cmd = new ManageSnapshotCommand(snapshot.getId(), volume.getPath(), srcPool, parentSnapshotPath, snapshot.getName(), vmName);
|
ManageSnapshotCommand cmd = new ManageSnapshotCommand(snapshot.getId(), volume.getPath(), srcPool, parentSnapshotPath, snapshot.getName(), vmName);
|
||||||
|
|
||||||
ManageSnapshotAnswer answer = (ManageSnapshotAnswer) this.snapshotMgr.sendToPool(volume, cmd);
|
ManageSnapshotAnswer answer = (ManageSnapshotAnswer) this.snapshotMgr.sendToPool(volume, cmd);
|
||||||
|
|
||||||
if ((answer != null) && answer.getResult()) {
|
if ((answer != null) && answer.getResult()) {
|
||||||
result = new CreateCmdResult(answer.getSnapshotPath(), null);
|
result = new CreateCmdResult(answer.getSnapshotPath(), null);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -30,7 +30,6 @@ import javax.inject.Inject;
|
|||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ClusterScope;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ClusterScope;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.HostScope;
|
import org.apache.cloudstack.engine.subsystem.api.storage.HostScope;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreInfo;
|
import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreInfo;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreLifeCycle;
|
import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreLifeCycle;
|
||||||
@ -61,6 +60,7 @@ import com.cloud.resource.ResourceManager;
|
|||||||
import com.cloud.server.ManagementServer;
|
import com.cloud.server.ManagementServer;
|
||||||
import com.cloud.storage.OCFS2Manager;
|
import com.cloud.storage.OCFS2Manager;
|
||||||
import com.cloud.storage.Storage.StoragePoolType;
|
import com.cloud.storage.Storage.StoragePoolType;
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.ScopeType;
|
import com.cloud.storage.ScopeType;
|
||||||
import com.cloud.storage.StorageManager;
|
import com.cloud.storage.StorageManager;
|
||||||
import com.cloud.storage.StoragePool;
|
import com.cloud.storage.StoragePool;
|
||||||
|
|||||||
@ -41,6 +41,7 @@ import org.apache.cloudstack.storage.datastore.DataObjectManager;
|
|||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import com.cloud.agent.api.Answer;
|
import com.cloud.agent.api.Answer;
|
||||||
|
import com.cloud.agent.api.to.DataStoreTO;
|
||||||
import com.cloud.storage.dao.StoragePoolHostDao;
|
import com.cloud.storage.dao.StoragePoolHostDao;
|
||||||
import com.cloud.utils.exception.CloudRuntimeException;
|
import com.cloud.utils.exception.CloudRuntimeException;
|
||||||
import com.cloud.utils.storage.encoding.DecodedDataObject;
|
import com.cloud.utils.storage.encoding.DecodedDataObject;
|
||||||
@ -56,14 +57,22 @@ public class SamplePrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver
|
|||||||
@Inject
|
@Inject
|
||||||
DataObjectManager dataObjMgr;
|
DataObjectManager dataObjMgr;
|
||||||
public SamplePrimaryDataStoreDriverImpl() {
|
public SamplePrimaryDataStoreDriverImpl() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataTO getTO(DataObject data) {
|
public DataTO getTO(DataObject data) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DataStoreTO getStoreTO(DataStore store) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private class CreateVolumeContext<T> extends AsyncRpcConext<T> {
|
private class CreateVolumeContext<T> extends AsyncRpcConext<T> {
|
||||||
private final DataObject volume;
|
private final DataObject volume;
|
||||||
/**
|
/**
|
||||||
@ -73,13 +82,13 @@ public class SamplePrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver
|
|||||||
super(callback);
|
super(callback);
|
||||||
this.volume = volume;
|
this.volume = volume;
|
||||||
}
|
}
|
||||||
|
|
||||||
public DataObject getVolume() {
|
public DataObject getVolume() {
|
||||||
return this.volume;
|
return this.volume;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public Void createAsyncCallback(AsyncCallbackDispatcher<SamplePrimaryDataStoreDriverImpl, Answer> callback, CreateVolumeContext<CreateCmdResult> context) {
|
public Void createAsyncCallback(AsyncCallbackDispatcher<SamplePrimaryDataStoreDriverImpl, Answer> callback, CreateVolumeContext<CreateCmdResult> context) {
|
||||||
CreateCmdResult result = null;
|
CreateCmdResult result = null;
|
||||||
CreateObjectAnswer volAnswer = (CreateObjectAnswer) callback.getResult();
|
CreateObjectAnswer volAnswer = (CreateObjectAnswer) callback.getResult();
|
||||||
@ -89,15 +98,15 @@ public class SamplePrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver
|
|||||||
result = new CreateCmdResult("", null);
|
result = new CreateCmdResult("", null);
|
||||||
result.setResult(volAnswer.getDetails());
|
result.setResult(volAnswer.getDetails());
|
||||||
}
|
}
|
||||||
|
|
||||||
context.getParentCallback().complete(result);
|
context.getParentCallback().complete(result);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteAsync(DataObject vo, AsyncCompletionCallback<CommandResult> callback) {
|
public void deleteAsync(DataObject vo, AsyncCompletionCallback<CommandResult> callback) {
|
||||||
DeleteCommand cmd = new DeleteCommand(vo.getUri());
|
DeleteCommand cmd = new DeleteCommand(vo.getUri());
|
||||||
|
|
||||||
EndPoint ep = selector.select(vo);
|
EndPoint ep = selector.select(vo);
|
||||||
AsyncRpcConext<CommandResult> context = new AsyncRpcConext<CommandResult>(callback);
|
AsyncRpcConext<CommandResult> context = new AsyncRpcConext<CommandResult>(callback);
|
||||||
AsyncCallbackDispatcher<SamplePrimaryDataStoreDriverImpl, Answer> caller = AsyncCallbackDispatcher.create(this);
|
AsyncCallbackDispatcher<SamplePrimaryDataStoreDriverImpl, Answer> caller = AsyncCallbackDispatcher.create(this);
|
||||||
@ -105,7 +114,7 @@ public class SamplePrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver
|
|||||||
.setContext(context);
|
.setContext(context);
|
||||||
ep.sendMessageAsync(cmd, caller);
|
ep.sendMessageAsync(cmd, caller);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Void deleteCallback(AsyncCallbackDispatcher<SamplePrimaryDataStoreDriverImpl, Answer> callback, AsyncRpcConext<CommandResult> context) {
|
public Void deleteCallback(AsyncCallbackDispatcher<SamplePrimaryDataStoreDriverImpl, Answer> callback, AsyncRpcConext<CommandResult> context) {
|
||||||
CommandResult result = new CommandResult();
|
CommandResult result = new CommandResult();
|
||||||
Answer answer = callback.getResult();
|
Answer answer = callback.getResult();
|
||||||
@ -118,16 +127,16 @@ public class SamplePrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver
|
|||||||
/*
|
/*
|
||||||
private class CreateVolumeFromBaseImageContext<T> extends AsyncRpcConext<T> {
|
private class CreateVolumeFromBaseImageContext<T> extends AsyncRpcConext<T> {
|
||||||
private final VolumeObject volume;
|
private final VolumeObject volume;
|
||||||
|
|
||||||
public CreateVolumeFromBaseImageContext(AsyncCompletionCallback<T> callback, VolumeObject volume) {
|
public CreateVolumeFromBaseImageContext(AsyncCompletionCallback<T> callback, VolumeObject volume) {
|
||||||
super(callback);
|
super(callback);
|
||||||
this.volume = volume;
|
this.volume = volume;
|
||||||
}
|
}
|
||||||
|
|
||||||
public VolumeObject getVolume() {
|
public VolumeObject getVolume() {
|
||||||
return this.volume;
|
return this.volume;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -137,7 +146,7 @@ public class SamplePrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver
|
|||||||
EndPoint ep = endPoints.get(0);
|
EndPoint ep = endPoints.get(0);
|
||||||
String templateUri = template.getDataStore().grantAccess(template, ep);
|
String templateUri = template.getDataStore().grantAccess(template, ep);
|
||||||
CreateVolumeFromBaseImageCommand cmd = new CreateVolumeFromBaseImageCommand(vol, templateUri);
|
CreateVolumeFromBaseImageCommand cmd = new CreateVolumeFromBaseImageCommand(vol, templateUri);
|
||||||
|
|
||||||
CreateVolumeFromBaseImageContext<CommandResult> context = new CreateVolumeFromBaseImageContext<CommandResult>(callback, volume);
|
CreateVolumeFromBaseImageContext<CommandResult> context = new CreateVolumeFromBaseImageContext<CommandResult>(callback, volume);
|
||||||
AsyncCallbackDispatcher<DefaultPrimaryDataStoreDriverImpl, Answer> caller = AsyncCallbackDispatcher.create(this);
|
AsyncCallbackDispatcher<DefaultPrimaryDataStoreDriverImpl, Answer> caller = AsyncCallbackDispatcher.create(this);
|
||||||
caller.setContext(context)
|
caller.setContext(context)
|
||||||
@ -169,7 +178,7 @@ public class SamplePrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver
|
|||||||
AsyncCompletionCallback<CreateCmdResult> callback) {
|
AsyncCompletionCallback<CreateCmdResult> callback) {
|
||||||
EndPoint ep = selector.select(vol);
|
EndPoint ep = selector.select(vol);
|
||||||
CreateObjectCommand createCmd = new CreateObjectCommand(vol.getUri());
|
CreateObjectCommand createCmd = new CreateObjectCommand(vol.getUri());
|
||||||
|
|
||||||
CreateVolumeContext<CreateCmdResult> context = new CreateVolumeContext<CreateCmdResult>(callback, vol);
|
CreateVolumeContext<CreateCmdResult> context = new CreateVolumeContext<CreateCmdResult>(callback, vol);
|
||||||
AsyncCallbackDispatcher<SamplePrimaryDataStoreDriverImpl, Answer> caller = AsyncCallbackDispatcher.create(this);
|
AsyncCallbackDispatcher<SamplePrimaryDataStoreDriverImpl, Answer> caller = AsyncCallbackDispatcher.create(this);
|
||||||
caller.setContext(context)
|
caller.setContext(context)
|
||||||
@ -181,7 +190,7 @@ public class SamplePrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver
|
|||||||
@Override
|
@Override
|
||||||
public String grantAccess(DataObject object, EndPoint ep) {
|
public String grantAccess(DataObject object, EndPoint ep) {
|
||||||
//StoragePoolHostVO poolHost = storeHostDao.findByPoolHost(object.getDataStore().getId(), ep.getId());
|
//StoragePoolHostVO poolHost = storeHostDao.findByPoolHost(object.getDataStore().getId(), ep.getId());
|
||||||
|
|
||||||
String uri = object.getUri();
|
String uri = object.getUri();
|
||||||
try {
|
try {
|
||||||
DecodedDataObject obj = Decoder.decode(uri);
|
DecodedDataObject obj = Decoder.decode(uri);
|
||||||
@ -197,7 +206,7 @@ public class SamplePrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver
|
|||||||
throw new CloudRuntimeException("failed to create object" + answer.getDetails());
|
throw new CloudRuntimeException("failed to create object" + answer.getDetails());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return object.getUri();
|
return object.getUri();
|
||||||
} catch (URISyntaxException e) {
|
} catch (URISyntaxException e) {
|
||||||
throw new CloudRuntimeException("uri parsed error", e);
|
throw new CloudRuntimeException("uri parsed error", e);
|
||||||
@ -220,10 +229,10 @@ public class SamplePrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver
|
|||||||
public void revertSnapshot(SnapshotInfo snapshot,
|
public void revertSnapshot(SnapshotInfo snapshot,
|
||||||
AsyncCompletionCallback<CommandResult> callback) {
|
AsyncCompletionCallback<CommandResult> callback) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCopy(DataObject srcData, DataObject destData) {
|
public boolean canCopy(DataObject srcData, DataObject destData) {
|
||||||
@ -235,21 +244,21 @@ public class SamplePrimaryDataStoreDriverImpl implements PrimaryDataStoreDriver
|
|||||||
public void copyAsync(DataObject srcdata, DataObject destData,
|
public void copyAsync(DataObject srcdata, DataObject destData,
|
||||||
AsyncCompletionCallback<CopyCommandResult> callback) {
|
AsyncCompletionCallback<CopyCommandResult> callback) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void resize(DataObject data,
|
public void resize(DataObject data,
|
||||||
AsyncCompletionCallback<CreateCmdResult> callback) {
|
AsyncCompletionCallback<CreateCmdResult> callback) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void takeSnapshot(SnapshotInfo snapshot,
|
public void takeSnapshot(SnapshotInfo snapshot,
|
||||||
AsyncCompletionCallback<CreateCmdResult> callback) {
|
AsyncCompletionCallback<CreateCmdResult> callback) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,6 +29,8 @@ import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreDriver
|
|||||||
import org.apache.cloudstack.engine.subsystem.api.storage.SnapshotInfo;
|
import org.apache.cloudstack.engine.subsystem.api.storage.SnapshotInfo;
|
||||||
import org.apache.cloudstack.framework.async.AsyncCompletionCallback;
|
import org.apache.cloudstack.framework.async.AsyncCompletionCallback;
|
||||||
|
|
||||||
|
import com.cloud.agent.api.to.DataStoreTO;
|
||||||
|
|
||||||
public class SolidfirePrimaryDataStoreDriver implements PrimaryDataStoreDriver {
|
public class SolidfirePrimaryDataStoreDriver implements PrimaryDataStoreDriver {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -36,12 +38,19 @@ public class SolidfirePrimaryDataStoreDriver implements PrimaryDataStoreDriver {
|
|||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public DataTO getTO(DataObject data) {
|
public DataTO getTO(DataObject data) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DataStoreTO getStoreTO(DataStore store) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean revokeAccess(DataObject data, EndPoint ep) {
|
public boolean revokeAccess(DataObject data, EndPoint ep) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
@ -57,19 +66,19 @@ public class SolidfirePrimaryDataStoreDriver implements PrimaryDataStoreDriver {
|
|||||||
@Override
|
@Override
|
||||||
public void createAsync(DataObject data, AsyncCompletionCallback<CreateCmdResult> callback) {
|
public void createAsync(DataObject data, AsyncCompletionCallback<CreateCmdResult> callback) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteAsync(DataObject data, AsyncCompletionCallback<CommandResult> callback) {
|
public void deleteAsync(DataObject data, AsyncCompletionCallback<CommandResult> callback) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void copyAsync(DataObject srcdata, DataObject destData, AsyncCompletionCallback<CopyCommandResult> callback) {
|
public void copyAsync(DataObject srcdata, DataObject destData, AsyncCompletionCallback<CopyCommandResult> callback) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -81,21 +90,21 @@ public class SolidfirePrimaryDataStoreDriver implements PrimaryDataStoreDriver {
|
|||||||
@Override
|
@Override
|
||||||
public void revertSnapshot(SnapshotInfo snapshot, AsyncCompletionCallback<CommandResult> callback) {
|
public void revertSnapshot(SnapshotInfo snapshot, AsyncCompletionCallback<CommandResult> callback) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void resize(DataObject data,
|
public void resize(DataObject data,
|
||||||
AsyncCompletionCallback<CreateCmdResult> callback) {
|
AsyncCompletionCallback<CreateCmdResult> callback) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void takeSnapshot(SnapshotInfo snapshot,
|
public void takeSnapshot(SnapshotInfo snapshot,
|
||||||
AsyncCompletionCallback<CreateCmdResult> callback) {
|
AsyncCompletionCallback<CreateCmdResult> callback) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -51,7 +51,6 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreLifeCycle;
|
|||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProvider;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProvider;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProviderManager;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProviderManager;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.region.dao.RegionDao;
|
import org.apache.cloudstack.region.dao.RegionDao;
|
||||||
import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
|
import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
|
||||||
import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
|
import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
|
||||||
@ -114,6 +113,7 @@ import com.cloud.org.Grouping;
|
|||||||
import com.cloud.org.Grouping.AllocationState;
|
import com.cloud.org.Grouping.AllocationState;
|
||||||
import com.cloud.org.Managed;
|
import com.cloud.org.Managed;
|
||||||
import com.cloud.service.ServiceOfferingVO;
|
import com.cloud.service.ServiceOfferingVO;
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.GuestOSCategoryVO;
|
import com.cloud.storage.GuestOSCategoryVO;
|
||||||
import com.cloud.storage.ImageStore;
|
import com.cloud.storage.ImageStore;
|
||||||
import com.cloud.storage.S3;
|
import com.cloud.storage.S3;
|
||||||
|
|||||||
@ -53,7 +53,6 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreLifeCycle;
|
|||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProvider;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProvider;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProviderManager;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProviderManager;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.HostScope;
|
import org.apache.cloudstack.engine.subsystem.api.storage.HostScope;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.HypervisorHostListener;
|
import org.apache.cloudstack.engine.subsystem.api.storage.HypervisorHostListener;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ImageDataFactory;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ImageDataFactory;
|
||||||
|
|||||||
@ -27,7 +27,6 @@ import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreLifeCycle;
|
|||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProvider;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProvider;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProviderManager;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProviderManager;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
|
import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
|
||||||
import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
|
import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|||||||
@ -45,7 +45,6 @@ import org.apache.cloudstack.api.command.user.volume.UploadVolumeCmd;
|
|||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProviderManager;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreProviderManager;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ImageDataFactory;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ImageDataFactory;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreInfo;
|
import org.apache.cloudstack.engine.subsystem.api.storage.PrimaryDataStoreInfo;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.Scope;
|
import org.apache.cloudstack.engine.subsystem.api.storage.Scope;
|
||||||
|
|||||||
@ -30,7 +30,6 @@ import javax.inject.Inject;
|
|||||||
import javax.naming.ConfigurationException;
|
import javax.naming.ConfigurationException;
|
||||||
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.Scope;
|
import org.apache.cloudstack.engine.subsystem.api.storage.Scope;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
import org.springframework.context.annotation.Primary;
|
import org.springframework.context.annotation.Primary;
|
||||||
@ -98,6 +97,7 @@ import com.cloud.resource.ServerResource;
|
|||||||
import com.cloud.resource.UnableDeleteHostException;
|
import com.cloud.resource.UnableDeleteHostException;
|
||||||
import com.cloud.service.ServiceOfferingVO;
|
import com.cloud.service.ServiceOfferingVO;
|
||||||
import com.cloud.service.dao.ServiceOfferingDao;
|
import com.cloud.service.dao.ServiceOfferingDao;
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.ScopeType;
|
import com.cloud.storage.ScopeType;
|
||||||
import com.cloud.storage.SnapshotVO;
|
import com.cloud.storage.SnapshotVO;
|
||||||
import com.cloud.storage.Storage;
|
import com.cloud.storage.Storage;
|
||||||
|
|||||||
@ -34,7 +34,6 @@ import org.apache.cloudstack.api.command.user.template.RegisterTemplateCmd;
|
|||||||
import org.apache.cloudstack.engine.subsystem.api.storage.CommandResult;
|
import org.apache.cloudstack.engine.subsystem.api.storage.CommandResult;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ImageDataFactory;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ImageDataFactory;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.TemplateService;
|
import org.apache.cloudstack.engine.subsystem.api.storage.TemplateService;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope;
|
||||||
@ -54,6 +53,7 @@ import com.cloud.host.HostVO;
|
|||||||
import com.cloud.storage.ScopeType;
|
import com.cloud.storage.ScopeType;
|
||||||
import com.cloud.storage.Storage.ImageFormat;
|
import com.cloud.storage.Storage.ImageFormat;
|
||||||
import com.cloud.storage.Storage.TemplateType;
|
import com.cloud.storage.Storage.TemplateType;
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.TemplateProfile;
|
import com.cloud.storage.TemplateProfile;
|
||||||
import com.cloud.storage.VMTemplateHostVO;
|
import com.cloud.storage.VMTemplateHostVO;
|
||||||
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
|
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
|
||||||
|
|||||||
@ -28,7 +28,6 @@ import org.apache.cloudstack.api.command.user.template.DeleteTemplateCmd;
|
|||||||
import org.apache.cloudstack.api.command.user.template.RegisterTemplateCmd;
|
import org.apache.cloudstack.api.command.user.template.RegisterTemplateCmd;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import com.cloud.api.ApiDBUtils;
|
import com.cloud.api.ApiDBUtils;
|
||||||
@ -47,6 +46,7 @@ import com.cloud.org.Grouping;
|
|||||||
import com.cloud.storage.GuestOS;
|
import com.cloud.storage.GuestOS;
|
||||||
import com.cloud.storage.Storage.ImageFormat;
|
import com.cloud.storage.Storage.ImageFormat;
|
||||||
import com.cloud.storage.Storage.TemplateType;
|
import com.cloud.storage.Storage.TemplateType;
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.TemplateProfile;
|
import com.cloud.storage.TemplateProfile;
|
||||||
import com.cloud.storage.VMTemplateVO;
|
import com.cloud.storage.VMTemplateVO;
|
||||||
import com.cloud.storage.dao.VMTemplateDao;
|
import com.cloud.storage.dao.VMTemplateDao;
|
||||||
|
|||||||
@ -56,7 +56,6 @@ import org.apache.cloudstack.api.command.user.template.UpdateTemplatePermissions
|
|||||||
import org.apache.cloudstack.engine.subsystem.api.storage.CommandResult;
|
import org.apache.cloudstack.engine.subsystem.api.storage.CommandResult;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreRole;
|
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.ImageDataFactory;
|
import org.apache.cloudstack.engine.subsystem.api.storage.ImageDataFactory;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.TemplateService;
|
import org.apache.cloudstack.engine.subsystem.api.storage.TemplateService;
|
||||||
import org.apache.cloudstack.engine.subsystem.api.storage.SnapshotDataFactory;
|
import org.apache.cloudstack.engine.subsystem.api.storage.SnapshotDataFactory;
|
||||||
@ -121,6 +120,7 @@ import com.cloud.storage.Storage;
|
|||||||
|
|
||||||
import com.cloud.storage.Storage.ImageFormat;
|
import com.cloud.storage.Storage.ImageFormat;
|
||||||
import com.cloud.storage.Storage.TemplateType;
|
import com.cloud.storage.Storage.TemplateType;
|
||||||
|
import com.cloud.storage.DataStoreRole;
|
||||||
import com.cloud.storage.StorageManager;
|
import com.cloud.storage.StorageManager;
|
||||||
import com.cloud.storage.StoragePool;
|
import com.cloud.storage.StoragePool;
|
||||||
import com.cloud.storage.StoragePoolHostVO;
|
import com.cloud.storage.StoragePoolHostVO;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user