javelin is revived

This commit is contained in:
Edison Su 2012-10-15 15:42:59 -07:00
parent 112143def6
commit 0a7d03c90b
26 changed files with 384 additions and 84 deletions

37
framework/pom.xml Normal file
View File

@ -0,0 +1,37 @@
<!--
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.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>cloudstack-framework</artifactId>
<name>Apache CloudStack framework POM</name>
<packaging>pom</packaging>
<parent>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloudstack</artifactId>
<version>4.1.0-SNAPSHOT</version>
</parent>
<build>
<defaultGoal>install</defaultGoal>
<sourceDirectory>src</sourceDirectory>
<testSourceDirectory>test</testSourceDirectory>
</build>
<modules>
<module>ipc</module>
</modules>
</project>

View File

@ -1,24 +1,24 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>cloud-platform-api</artifactId>
<name>Apache CloudStack platform API</name>
<parent>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloudstack</artifactId>
<version>4.0.0-SNAPSHOT</version>
<relativePath>../../parent/pom.xml</relativePath>
</parent>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloudstack</artifactId>
<version>4.1.0-SNAPSHOT</version>
<relativePath>../../parent/pom.xml</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-api</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<build>
<defaultGoal>install</defaultGoal>
<sourceDirectory>src</sourceDirectory>
<!-- <testSourceDirectory>test</testSourceDirectory> -->
</build>
<defaultGoal>install</defaultGoal>
<sourceDirectory>src</sourceDirectory>
<!-- <testSourceDirectory>test</testSourceDirectory> -->
</build>
</project>

View File

@ -21,7 +21,6 @@ package org.apache.cloudstack.platform.subsystem.api.storage;
import com.cloud.agent.api.to.StorageFilerTO;
import com.cloud.storage.Snapshot;
import com.cloud.storage.Storage.StoragePoolType;
import com.cloud.storage.TemplateProfile;
import com.cloud.storage.Volume;
import com.cloud.template.VirtualMachineTemplate;

View File

@ -20,18 +20,16 @@ package org.apache.cloudstack.platform.subsystem.api.storage;
import com.cloud.agent.api.Answer;
import com.cloud.agent.api.Command;
import com.cloud.storage.TemplateProfile;
import com.cloud.vm.DiskProfile;
public interface DataStoreDriver {
String getDriverType();
TemplateProfile install(TemplateProfile tp, DataStoreEndPoint ep);
TemplateProfile register(TemplateProfile tp, DataStoreEndPoint ep);
DiskProfile createVolumeFromTemplate(DiskProfile volProfile, TemplateProfile tp, DataStoreEndPoint ep);
DataObject create(DataObject obj);
DataObject copy(DataObject src, DataStore dest);
DataObject copy(DataObject src, DataObject dest);
DataObject move(DataObject src, DataObject dest);
VolumeProfile createVolumeFromTemplate(VolumeProfile vol, TemplateProfile tp, DataStoreEndPoint dp);
Answer sendMessage(DataStoreEndPoint dsep, Command cmd);
boolean delete(DataObject obj);
}

View File

@ -14,13 +14,13 @@
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.template;
package org.apache.cloudstack.platform.subsystem.api.storage;
import java.util.Map;
import com.cloud.hypervisor.Hypervisor.HypervisorType;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.VMTemplateVO;
import com.cloud.template.VirtualMachineTemplate;
public class TemplateProfile {
Long userId;
@ -44,7 +44,7 @@ public class TemplateProfile {
String chksum;
Boolean bootable;
Long templateId;
VMTemplateVO template;
VirtualMachineTemplate template;
String templateTag;
Map details;
@ -75,7 +75,7 @@ public class TemplateProfile {
this.sshKeyEnbaled = sshKeyEnabled;
}
public TemplateProfile(Long userId, VMTemplateVO template, Long zoneId) {
public TemplateProfile(Long userId, VirtualMachineTemplate template, Long zoneId) {
this.userId = userId;
this.template = template;
this.zoneId = zoneId;
@ -222,10 +222,10 @@ public class TemplateProfile {
this.bootable = bootable;
}
public VMTemplateVO getTemplate() {
public VirtualMachineTemplate getTemplate() {
return template;
}
public void setTemplate(VMTemplateVO template) {
public void setTemplate(VirtualMachineTemplate template) {
this.template = template;
}
@ -252,4 +252,36 @@ public class TemplateProfile {
public Boolean getSshKeyEnabled() {
return this.sshKeyEnbaled;
}
public String getImageStorageUri() {
return null;
}
public void setLocalPath(String path) {
}
public String getLocalPath() {
return null;
}
public String getJobId() {
return null;
}
public void setTemplatePoolRefId(long id) {
}
public long getId() {
return 0;
}
public long getTemplatePoolRefId() {
return 0;
}
public long getSize() {
return 0;
}
}

View File

@ -1,7 +1,6 @@
package org.apache.cloudstack.platform.subsystem.api.storage;
import com.cloud.agent.api.storage.DownloadCommand.Proxy;
import com.cloud.storage.TemplateProfile;
public interface TemplateStrategy {
TemplateProfile install(TemplateProfile tp);

40
platform/pom.xml Normal file
View File

@ -0,0 +1,40 @@
<!--
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.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>cloudstack-platform</artifactId>
<name>Apache CloudStack platform POM</name>
<packaging>pom</packaging>
<parent>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloudstack</artifactId>
<version>4.1.0-SNAPSHOT</version>
</parent>
<build>
<defaultGoal>install</defaultGoal>
<sourceDirectory>src</sourceDirectory>
<testSourceDirectory>test</testSourceDirectory>
</build>
<modules>
<module>api</module>
<module>compute</module>
<module>orchestration</module>
<module>storage</module>
</modules>
</project>

View File

@ -1,38 +1,38 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>cloud-platform-storage</artifactId>
<name>Apache CloudStack Platform Storage</name>
<parent>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloudstack</artifactId>
<version>4.0.0-SNAPSHOT</version>
<relativePath>../../parent/pom.xml</relativePath>
</parent>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloudstack</artifactId>
<version>4.1.0-SNAPSHOT</version>
<relativePath>../../parent/pom.xml</relativePath>
</parent>
<dependencies>
<dependency>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-server</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-platform-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-server</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-platform-api</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<build>
<defaultGoal>install</defaultGoal>
<sourceDirectory>src</sourceDirectory>
<!-- <testSourceDirectory>test</testSourceDirectory> -->
</build>
<defaultGoal>install</defaultGoal>
<sourceDirectory>src</sourceDirectory>
</build>
</project>

View File

@ -4,6 +4,7 @@ import java.util.Map;
import javax.naming.ConfigurationException;
import org.apache.cloudstack.platform.subsystem.api.storage.DataStore;
import org.apache.cloudstack.platform.subsystem.api.storage.StorageProvider;
import com.cloud.utils.component.Manager;
@ -36,4 +37,19 @@ public class StorageProviderManagerImpl implements StorageProviderManager, Manag
return null;
}
public StorageProvider getProvider(long poolId) {
// TODO Auto-generated method stub
return null;
}
public StorageProvider getBackupStorageProvider(long zoneId) {
// TODO Auto-generated method stub
return null;
}
public DataStore getDataStore(long poolId) {
// TODO Auto-generated method stub
return null;
}
}

View File

@ -6,10 +6,19 @@ import org.apache.cloudstack.platform.subsystem.api.storage.DataStoreDriver;
import org.apache.cloudstack.platform.subsystem.api.storage.DataStoreEndPointSelector;
import org.apache.cloudstack.platform.subsystem.api.storage.DataStoreLifeCycle;
import org.apache.cloudstack.platform.subsystem.api.storage.FileSystem;
import org.apache.cloudstack.platform.subsystem.api.storage.SnapshotProfile;
import org.apache.cloudstack.platform.subsystem.api.storage.SnapshotStrategy;
import org.apache.cloudstack.platform.subsystem.api.storage.StorageProvider;
import org.apache.cloudstack.platform.subsystem.api.storage.TemplateProfile;
import org.apache.cloudstack.platform.subsystem.api.storage.TemplateStrategy;
import org.apache.cloudstack.platform.subsystem.api.storage.VolumeProfile;
import org.apache.cloudstack.platform.subsystem.api.storage.VolumeStrategy;
import com.cloud.agent.api.to.StorageFilerTO;
import com.cloud.storage.Snapshot;
import com.cloud.storage.Storage.StoragePoolType;
import com.cloud.storage.Volume;
public class DefaultDataStore implements DataStore {
protected VolumeStrategy _volumeStrategy;
protected SnapshotStrategy _snapshotStrategy;
@ -137,4 +146,84 @@ public class DefaultDataStore implements DataStore {
public void setLifeCycle(DataStoreLifeCycle lf) {
this._dslf = lf;
}
public long getCluterId() {
// TODO Auto-generated method stub
return 0;
}
public long getPodId() {
// TODO Auto-generated method stub
return 0;
}
public long getZoneId() {
// TODO Auto-generated method stub
return 0;
}
public String getPath() {
// TODO Auto-generated method stub
return null;
}
public StoragePoolType getPoolType() {
// TODO Auto-generated method stub
return null;
}
public boolean isSharedStorage() {
// TODO Auto-generated method stub
return false;
}
public StorageProvider getProvider() {
// TODO Auto-generated method stub
return null;
}
public DataStoreEndPointSelector getEndPointSelector() {
// TODO Auto-generated method stub
return null;
}
public VolumeProfile prepareVolume(Volume volume, DataStore destStore) {
// TODO Auto-generated method stub
return null;
}
public SnapshotProfile prepareSnapshot(Snapshot snapshot, DataStore destStore) {
// TODO Auto-generated method stub
return null;
}
public TemplateProfile prepareTemplate(long templateId, DataStore destStore) {
// TODO Auto-generated method stub
return null;
}
public boolean contains(Volume volume) {
// TODO Auto-generated method stub
return false;
}
public boolean contains(Snapshot snapshot) {
// TODO Auto-generated method stub
return false;
}
public boolean contains(TemplateProfile template) {
// TODO Auto-generated method stub
return false;
}
public TemplateProfile get(TemplateProfile template) {
// TODO Auto-generated method stub
return null;
}
public StorageFilerTO getTO() {
// TODO Auto-generated method stub
return null;
}
}

View File

@ -5,10 +5,8 @@ import java.util.Map;
import org.apache.cloudstack.platform.subsystem.api.storage.DataStore;
import org.apache.cloudstack.platform.subsystem.api.storage.DataStore.StoreType;
import org.apache.cloudstack.storage.datastore.DefaultDataStore;
import org.apache.cloudstack.storage.datastore.XenDataStoreDriver;
import org.apache.cloudstack.storage.driver.XenServerStorageDriver;
import org.apache.cloudstack.storage.epselector.DefaultPrimaryEndpointSelector;
import org.apache.cloudstack.storage.filesystem.DefaultFileSystem;
import org.apache.cloudstack.storage.lifecycle.DefaultPrimaryDataStoreLifeCycle;
import org.apache.cloudstack.storage.strategy.XenBackupStrategy;
import org.apache.cloudstack.storage.strategy.XenSnapshotStrategy;

View File

@ -21,22 +21,14 @@ package org.apache.cloudstack.storage.driver;
import org.apache.cloudstack.platform.subsystem.api.storage.DataStore;
import org.apache.cloudstack.platform.subsystem.api.storage.DataStoreDriver;
import org.apache.cloudstack.platform.subsystem.api.storage.DataStoreEndPoint;
import org.apache.cloudstack.platform.subsystem.api.storage.VolumeProfile;
import org.apache.cloudstack.platform.subsystem.api.storage.TemplateProfile;
import org.apache.cloudstack.platform.subsystem.api.storage.TemplateStrategy;
import com.cloud.agent.api.storage.DownloadProgressCommand;
import com.cloud.agent.api.storage.DownloadProgressCommand.RequestType;
import com.cloud.agent.api.Answer;
import com.cloud.agent.api.storage.CreateAnswer;
import com.cloud.agent.api.storage.CreateCommand;
import com.cloud.agent.api.storage.DownloadCommand;
import com.cloud.agent.api.storage.PrimaryStorageDownloadAnswer;
import com.cloud.agent.api.storage.PrimaryStorageDownloadCommand;
import com.cloud.agent.api.to.VolumeTO;
import com.cloud.storage.TemplateProfile;
import com.cloud.vm.DiskProfile;
public abstract class AbstractStorageDriver implements DataStoreDriver {
protected DataStore _ds;
@ -70,14 +62,15 @@ public abstract class AbstractStorageDriver implements DataStoreDriver {
ep.sendCommand(dcmd);
return tp;
}
public DiskProfile createVolumeFromTemplate(DiskProfile volProfile, TemplateProfile tp, DataStoreEndPoint ep) {
/*
public VolumeProfile createVolumeFromTemplate(VolumeProfile volProfile, TemplateProfile tp, DataStoreEndPoint ep) {
CreateCommand cmd = new CreateCommand(volProfile, tp.getLocalPath(), _ds.getTO());
CreateAnswer ans = (CreateAnswer)ep.sendCommand(cmd);
VolumeTO created = ans.getVolume();
DiskProfile diskProfile = new DiskProfile(volProfile);
DiskProfile diskProfile = new VolumeProfile(volProfile);
diskProfile.setPath(created.getPath());
diskProfile.setSize(created.getSize());
return diskProfile;
}
return null;
}*/
}

View File

@ -21,6 +21,7 @@ package org.apache.cloudstack.storage.driver;
import org.apache.cloudstack.platform.subsystem.api.storage.DataObject;
import org.apache.cloudstack.platform.subsystem.api.storage.DataStore;
import org.apache.cloudstack.platform.subsystem.api.storage.DataStoreEndPoint;
import org.apache.cloudstack.platform.subsystem.api.storage.VolumeProfile;
import com.cloud.agent.api.Answer;
import com.cloud.agent.api.Command;
@ -76,4 +77,14 @@ public class DefaultNfsSecondaryDriver extends AbstractStorageDriver {
return false;
}
public org.apache.cloudstack.platform.subsystem.api.storage.TemplateProfile register(org.apache.cloudstack.platform.subsystem.api.storage.TemplateProfile tp, DataStoreEndPoint ep) {
// TODO Auto-generated method stub
return null;
}
public VolumeProfile createVolumeFromTemplate(VolumeProfile vol, org.apache.cloudstack.platform.subsystem.api.storage.TemplateProfile tp, DataStoreEndPoint dp) {
// TODO Auto-generated method stub
return null;
}
}

View File

@ -21,13 +21,16 @@ package org.apache.cloudstack.storage.driver;
import org.apache.cloudstack.platform.subsystem.api.storage.DataObject;
import org.apache.cloudstack.platform.subsystem.api.storage.DataStore;
import org.apache.cloudstack.platform.subsystem.api.storage.DataStoreEndPoint;
import org.apache.cloudstack.platform.subsystem.api.storage.VolumeProfile;
import com.cloud.agent.api.Answer;
import com.cloud.agent.api.Command;
public class XenServerStorageDriver extends AbstractStorageDriver {
protected DataStore _ds;
public XenServerStorageDriver(DataStore ds) {
super(ds);
_ds = ds;
}
@ -66,4 +69,13 @@ public class XenServerStorageDriver extends AbstractStorageDriver {
return false;
}
public org.apache.cloudstack.platform.subsystem.api.storage.TemplateProfile register(org.apache.cloudstack.platform.subsystem.api.storage.TemplateProfile tp, DataStoreEndPoint ep) {
// TODO Auto-generated method stub
return null;
}
public VolumeProfile createVolumeFromTemplate(VolumeProfile vol, org.apache.cloudstack.platform.subsystem.api.storage.TemplateProfile tp, DataStoreEndPoint dp) {
// TODO Auto-generated method stub
return null;
}
}

View File

@ -6,6 +6,7 @@ import java.util.List;
import org.apache.cloudstack.platform.subsystem.api.storage.DataStore;
import org.apache.cloudstack.platform.subsystem.api.storage.DataStoreEndPoint;
import org.apache.cloudstack.platform.subsystem.api.storage.DataStoreEndPointSelector;
import org.apache.cloudstack.platform.subsystem.api.storage.StorageEvent;
import com.cloud.host.Host;
import com.cloud.host.HostVO;
@ -31,4 +32,9 @@ public class DefaultPrimaryEndpointSelector implements
}
return dseps;
}
public List<DataStoreEndPoint> getEndPoints(StorageEvent event) {
// TODO Auto-generated method stub
return null;
}
}

View File

@ -19,14 +19,14 @@
package org.apache.cloudstack.storage.image;
import org.apache.cloudstack.platform.subsystem.api.storage.DataStore;
import org.apache.cloudstack.platform.subsystem.api.storage.TemplateProfile;
import com.cloud.api.commands.RegisterTemplateCmd;
import com.cloud.storage.TemplateProfile;
public interface ImageManager {
TemplateProfile AssociateTemplateStoragePool(TemplateProfile tp, DataStore ds);
TemplateProfile getProfile(long templateId);
com.cloud.storage.TemplateProfile allocateTemplateInDB(RegisterTemplateCmd cmd);
TemplateProfile allocateTemplateInDB(RegisterTemplateCmd cmd);
}

View File

@ -21,6 +21,7 @@ package org.apache.cloudstack.storage.image;
import java.util.List;
import org.apache.cloudstack.platform.subsystem.api.storage.DataStore;
import org.apache.cloudstack.platform.subsystem.api.storage.TemplateProfile;
import org.apache.log4j.Logger;
import com.cloud.api.commands.RegisterTemplateCmd;
@ -28,7 +29,6 @@ import com.cloud.dc.DataCenterVO;
import com.cloud.dc.dao.DataCenterDao;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.Storage.TemplateType;
import com.cloud.storage.TemplateProfile;
import com.cloud.storage.VMTemplateHostVO;
import com.cloud.storage.VMTemplateStoragePoolVO;
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
@ -161,7 +161,7 @@ public class ImageManagerImpl implements ImageManager {
public TemplateProfile allocateTemplateInDB(RegisterTemplateCmd cmd) {
parameterCheck(cmd);
TemplateProfile tp = new TemplateProfile(cmd);
return persistTemplate(tp);
//TemplateProfile tp = new TemplateProfile(cmd);
return persistTemplate(null);
}
}

View File

@ -79,7 +79,7 @@ public class DefaultPrimaryDataStoreLifeCycle implements DataStoreLifeCycle {
public void add() {
DataStoreEndPointSelector dseps = _ds.getEndPointSelector();
List<DataStoreEndPoint> dsep = dseps.getEndPoints();
List<DataStoreEndPoint> dsep = dseps.getEndPoints(null);
boolean success = false;
StoragePoolVO spool = _storagePoolDao.findById(_ds.getId());
for (DataStoreEndPoint ep : dsep) {

View File

@ -18,6 +18,49 @@
*/
package org.apache.cloudstack.storage.manager;
import org.apache.cloudstack.platform.subsystem.api.storage.DataObjectBackupStorageOperationState.Event;
import org.apache.cloudstack.platform.subsystem.api.storage.DataStore;
import com.cloud.storage.Snapshot;
import com.cloud.storage.Volume;
import com.cloud.template.VirtualMachineTemplate;
import com.cloud.utils.fsm.NoTransitionException;
public class BackupStorageManagerImpl implements BackupStorageManager {
public boolean contains(Volume vol) {
// TODO Auto-generated method stub
return false;
}
public boolean contains(Snapshot snapshot) {
// TODO Auto-generated method stub
return false;
}
public boolean contains(VirtualMachineTemplate template) {
// TODO Auto-generated method stub
return false;
}
public DataStore getBackupDataStore(Volume vol) {
// TODO Auto-generated method stub
return null;
}
public DataStore getBackupDataStore(Snapshot snapshot) {
// TODO Auto-generated method stub
return null;
}
public DataStore getBackupDataStore(VirtualMachineTemplate template) {
// TODO Auto-generated method stub
return null;
}
public boolean updateOperationState(Volume vol, Event event) throws NoTransitionException {
// TODO Auto-generated method stub
return false;
}
}

View File

@ -48,4 +48,9 @@ public class SecondaryStorageManagerImpl implements SecondaryStorageManager {
return null;
}
public List<DataStore> getImageStores(long zoneId) {
// TODO Auto-generated method stub
return null;
}
}

View File

@ -136,4 +136,9 @@ public class DefaultPrimaryStorageProvider implements StorageProvider {
return ds;
}
public List<StoreType> supportedStoreTypes() {
// TODO Auto-generated method stub
return null;
}
}

View File

@ -28,6 +28,7 @@ import org.apache.cloudstack.platform.subsystem.api.storage.DataStoreEndPoint;
import org.apache.cloudstack.platform.subsystem.api.storage.DataStoreEndPointSelector;
import org.apache.cloudstack.platform.subsystem.api.storage.StorageEvent;
import org.apache.cloudstack.platform.subsystem.api.storage.StorageProvider;
import org.apache.cloudstack.platform.subsystem.api.storage.TemplateProfile;
import org.apache.cloudstack.platform.subsystem.api.storage.TemplateStrategy;
import org.apache.cloudstack.storage.image.ImageManager;
import org.apache.log4j.Logger;
@ -36,7 +37,6 @@ import com.cloud.agent.api.storage.DownloadCommand.Proxy;
import com.cloud.exception.InvalidParameterValueException;
import com.cloud.hypervisor.Hypervisor.HypervisorType;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.TemplateProfile;
import com.cloud.storage.VMTemplateHostVO;
import com.cloud.storage.VMTemplateStoragePoolVO;
import com.cloud.storage.VMTemplateStorageResourceAssoc;

View File

@ -18,6 +18,8 @@
*/
package org.apache.cloudstack.storage.volume;
import org.apache.cloudstack.platform.subsystem.api.storage.VolumeProfile;
import com.cloud.storage.VolumeVO;
import com.cloud.storage.Volume;
import com.cloud.storage.dao.VolumeDao;
@ -47,4 +49,22 @@ public class VolumeManagerImpl implements VolumeManager {
_volStateMachine.transitTo(vol, event, null, _volumeDao);
return _volumeDao.findById(vol.getId());
}
public VolumeProfile getProfile(long volumeId) {
// TODO Auto-generated method stub
return null;
}
public VolumeVO getVolume(long volumeId) {
// TODO Auto-generated method stub
return null;
}
public VolumeVO updateVolume(VolumeVO volume) {
// TODO Auto-generated method stub
return null;
}
}

View File

@ -18,9 +18,9 @@
*/
package org.apache.cloudstack.storage.volume;
import org.apache.cloudstack.platform.subsystem.api.storage.Volume;
import com.cloud.api.commands.CreateVolumeCmd;
import com.cloud.storage.Volume;
public interface VolumeService {
/**

View File

@ -158,6 +158,8 @@
<module>patches</module>
<module>client</module>
<module>test</module>
<module>platform</module>
<module>framework</module>
</modules>
<dependencies>

View File

@ -26,11 +26,6 @@
<version>4.1.0-SNAPSHOT</version>
</parent>
<dependencies>
<dependency>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-platform-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cloudstack</groupId>
<artifactId>cloud-core</artifactId>