Skip to content

Commit e8259e3

Browse files
author
Edison Su
committed
integration test is passed again
1 parent fdb523d commit e8259e3

9 files changed

Lines changed: 45 additions & 6 deletions

File tree

engine/pom.xml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,22 @@
4040
<module>storage/datamotion</module>
4141
<module>storage/cache</module>
4242
<module>storage/snapshot</module>
43-
<module>storage/integration-test</module>
4443
<module>components-api</module>
4544
<module>schema</module>
4645
<module>network</module>
4746
<module>service</module>
4847
</modules>
48+
<profiles>
49+
<profile>
50+
<id>integration-test</id>
51+
<activation>
52+
<property>
53+
<name>nonoss</name>
54+
</property>
55+
</activation>
56+
<modules>
57+
<module>storage/integration-test</module>
58+
</modules>
59+
</profile>
60+
</profiles>
4961
</project>

engine/storage/integration-test/test/org/apache/cloudstack/storage/test/ChildTestConfiguration.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
import com.cloud.host.dao.HostDaoImpl;
6060
import com.cloud.host.dao.HostDetailsDaoImpl;
6161
import com.cloud.host.dao.HostTagsDaoImpl;
62+
import com.cloud.hypervisor.HypervisorGuruManager;
6263
import com.cloud.resource.ResourceManager;
6364
import com.cloud.server.ManagementServer;
6465
import com.cloud.server.auth.UserAuthenticator;
@@ -251,6 +252,11 @@ public StorageManager storageMgr() {
251252
public AlertManager alertMgr() {
252253
return Mockito.mock(AlertManager.class);
253254
}
255+
256+
@Bean
257+
public HypervisorGuruManager hypervisorGuruMgr() {
258+
return Mockito.mock(HypervisorGuruManager.class);
259+
}
254260

255261
public static class Library implements TypeFilter {
256262

engine/storage/integration-test/test/org/apache/cloudstack/storage/test/SnapshotTest.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
import org.testng.annotations.Test;
6565

6666
import com.cloud.agent.AgentManager;
67+
import com.cloud.agent.api.Command;
6768
import com.cloud.dc.ClusterVO;
6869
import com.cloud.dc.DataCenterVO;
6970
import com.cloud.dc.HostPodVO;
@@ -75,6 +76,7 @@
7576
import com.cloud.host.HostVO;
7677
import com.cloud.host.Host.Type;
7778
import com.cloud.host.dao.HostDao;
79+
import com.cloud.hypervisor.HypervisorGuruManager;
7880
import com.cloud.hypervisor.Hypervisor.HypervisorType;
7981
import com.cloud.org.Cluster.ClusterType;
8082
import com.cloud.org.Managed.ManagedState;
@@ -87,6 +89,7 @@
8789
import com.cloud.storage.Storage;
8890
import com.cloud.storage.StoragePoolStatus;
8991
import com.cloud.storage.VMTemplateVO;
92+
import com.cloud.storage.Storage.ImageFormat;
9093
import com.cloud.storage.Storage.StoragePoolType;
9194
import com.cloud.storage.Storage.TemplateType;
9295
import com.cloud.storage.dao.SnapshotDao;
@@ -133,6 +136,8 @@ public class SnapshotTest extends CloudStackTestNGBase {
133136
@Inject
134137
AgentManager agentMgr;
135138
@Inject
139+
HypervisorGuruManager hyGuruMgr;
140+
@Inject
136141
DataStoreManager dataStoreMgr;
137142
@Inject
138143
ResourceManager resourceMgr;
@@ -244,6 +249,7 @@ public void setUp() {
244249
DataObject templateOnStore = store.create(template);
245250
TemplateObjectTO to = new TemplateObjectTO();
246251
to.setPath(this.getImageInstallPath());
252+
to.setFormat(ImageFormat.VHD);
247253
CopyCmdAnswer answer = new CopyCmdAnswer(to);
248254
templateOnStore.processEvent(Event.CreateOnlyRequested);
249255
templateOnStore.processEvent(Event.OperationSuccessed, answer);
@@ -261,6 +267,8 @@ protected void injectMockito() {
261267
Mockito.when(epSelector.select(Mockito.any(DataObject.class), Mockito.any(DataObject.class))).thenReturn(ep);
262268
Mockito.when(epSelector.select(Mockito.any(DataObject.class))).thenReturn(ep);
263269
Mockito.when(epSelector.select(Mockito.any(DataStore.class))).thenReturn(ep);
270+
Mockito.when(hyGuruMgr.getGuruProcessedCommandTargetHost(Mockito.anyLong(), Mockito.any(Command.class))).thenReturn(this.host.getId());
271+
264272
}
265273

266274
public DataStore createPrimaryDataStore() {

engine/storage/integration-test/test/org/apache/cloudstack/storage/test/VolumeTest.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@
6565
import org.testng.annotations.Test;
6666

6767
import com.cloud.agent.AgentManager;
68+
import com.cloud.agent.api.Command;
6869
import com.cloud.dc.ClusterVO;
6970
import com.cloud.dc.DataCenterVO;
7071
import com.cloud.dc.HostPodVO;
@@ -78,13 +79,15 @@
7879
import com.cloud.host.HostVO;
7980
import com.cloud.host.dao.HostDao;
8081
import com.cloud.hypervisor.Hypervisor.HypervisorType;
82+
import com.cloud.hypervisor.HypervisorGuruManager;
8183
import com.cloud.org.Cluster.ClusterType;
8284
import com.cloud.org.Managed.ManagedState;
8385
import com.cloud.resource.ResourceManager;
8486
import com.cloud.resource.ResourceState;
8587
import com.cloud.storage.DataStoreRole;
8688
import com.cloud.storage.ScopeType;
8789
import com.cloud.storage.Storage;
90+
import com.cloud.storage.Storage.ImageFormat;
8891
import com.cloud.storage.StoragePoolStatus;
8992
import com.cloud.storage.VMTemplateStorageResourceAssoc.Status;
9093
import com.cloud.storage.VMTemplateVO;
@@ -140,6 +143,8 @@ public class VolumeTest extends CloudStackTestNGBase {
140143
VolumeDataFactory volFactory;
141144
@Inject
142145
EndPointSelector epSelector;
146+
@Inject
147+
HypervisorGuruManager hyGuruMgr;
143148
long primaryStoreId;
144149
VMTemplateVO image;
145150
String imageStoreName = "testImageStore";
@@ -192,7 +197,7 @@ public void setUp() {
192197
imageStore = new ImageStoreVO();
193198
imageStore.setName(imageStoreName);
194199
imageStore.setDataCenterId(dcId);
195-
imageStore.setProviderName("CloudStack ImageStore Provider");
200+
imageStore.setProviderName(DataStoreProvider.NFS_IMAGE);
196201
imageStore.setRole(DataStoreRole.Image);
197202
imageStore.setUrl(this.getSecondaryStorage());
198203
imageStore.setUuid(UUID.randomUUID().toString());
@@ -236,6 +241,7 @@ public void setUp() {
236241
DataObject templateOnStore = store.create(template);
237242
TemplateObjectTO to = new TemplateObjectTO();
238243
to.setPath(this.getImageInstallPath());
244+
to.setFormat(ImageFormat.VHD);
239245
CopyCmdAnswer answer = new CopyCmdAnswer(to);
240246
templateOnStore.processEvent(Event.CreateOnlyRequested);
241247
templateOnStore.processEvent(Event.OperationSuccessed, answer);
@@ -253,6 +259,7 @@ protected void injectMockito() {
253259
Mockito.when(epSelector.select(Mockito.any(DataObject.class), Mockito.any(DataObject.class))).thenReturn(ep);
254260
Mockito.when(epSelector.select(Mockito.any(DataObject.class))).thenReturn(ep);
255261
Mockito.when(epSelector.select(Mockito.any(DataStore.class))).thenReturn(ep);
262+
Mockito.when(hyGuruMgr.getGuruProcessedCommandTargetHost(Mockito.anyLong(), Mockito.any(Command.class))).thenReturn(this.host.getId());
256263
}
257264

258265
public DataStore createPrimaryDataStore() {
@@ -297,7 +304,7 @@ public DataStore createPrimaryDataStore() {
297304
pool.setPoolType(StoragePoolType.NetworkFilesystem);
298305
pool.setPodId(podId);
299306
pool.setScope(ScopeType.CLUSTER);
300-
pool.setStorageProviderName("cloudstack primary data store provider");
307+
pool.setStorageProviderName(DataStoreProvider.DEFAULT_PRIMARY);
301308
pool = this.primaryStoreDao.persist(pool);
302309
DataStore store = this.dataStoreMgr.getPrimaryDataStore(pool.getId());
303310
return store;

engine/storage/integration-test/test/resource/storageContext.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@
6161
<bean id="dataStoreManagerImpl" class="org.apache.cloudstack.storage.datastore.DataStoreManagerImpl" />
6262
<bean id="primaryDataStoreProviderManagerImpl" class="org.apache.cloudstack.storage.datastore.manager.PrimaryDataStoreProviderManagerImpl" />
6363
<bean id="imageStoreProviderManagerImpl" class="org.apache.cloudstack.storage.image.manager.ImageStoreProviderManagerImpl" />
64-
<bean id="hypervsiorHostEndPointRpcServer" class="org.apache.cloudstack.storage.HypervsiorHostEndPointRpcServer" />
6564
<bean id="iSCSI" class="org.apache.cloudstack.storage.datastore.type.ISCSI" />
6665
<bean id="ISO" class="org.apache.cloudstack.storage.image.format.ISO" />
6766
<bean id="templateDataFactoryImpl" class="org.apache.cloudstack.storage.image.TemplateDataFactoryImpl" />
@@ -88,4 +87,5 @@
8887
<bean id="swiftImageStoreProviderImpl" class="org.apache.cloudstack.storage.datastore.provider.SwiftImageStoreProviderImpl" />
8988
<bean id="BAREMETAL" class="org.apache.cloudstack.storage.image.format.BAREMETAL" />
9089
<bean id="storagePoolAutomationImpl" class="com.cloud.storage.StoragePoolAutomationImpl" />
90+
<bean id="AccountGuestVlanMapDaoImpl" class="com.cloud.network.dao.AccountGuestVlanMapDaoImpl" />
9191
</beans>

engine/storage/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@
4545
<artifactId>cloud-framework-ipc</artifactId>
4646
<version>${project.version}</version>
4747
</dependency>
48+
<dependency>
49+
<groupId>org.apache.cloudstack</groupId>
50+
<artifactId>cloud-secondary-storage</artifactId>
51+
<version>${project.version}</version>
52+
</dependency>
4853
<dependency>
4954
<groupId>org.apache.cloudstack</groupId>
5055
<artifactId>cloud-engine-api</artifactId>

engine/storage/src/org/apache/cloudstack/storage/LocalHostEndpoint.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.apache.cloudstack.framework.async.AsyncCompletionCallback;
2525
import org.apache.cloudstack.storage.command.CopyCommand;
2626
import org.apache.cloudstack.storage.command.DownloadCommand;
27+
import org.apache.cloudstack.storage.resource.LocalNfsSecondaryStorageResource;
2728

2829
import com.cloud.agent.Listener;
2930
import com.cloud.agent.api.Answer;
@@ -37,7 +38,7 @@ public class LocalHostEndpoint implements EndPoint {
3738
private ScheduledExecutorService executor;
3839
ServerResource resource;
3940
public LocalHostEndpoint() {
40-
//FIXME resource = new LocalNfsSecondaryStorageResource();
41+
resource = new LocalNfsSecondaryStorageResource();
4142
executor = Executors.newScheduledThreadPool(10);
4243
}
4344
@Override

plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/XenServerStorageProcessor.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -853,6 +853,7 @@ public Answer copyTemplateToPrimaryStorage(CopyCommand cmd) {
853853
TemplateObjectTO newVol = new TemplateObjectTO();
854854
newVol.setUuid(snapshotvdi.getUuid(conn));
855855
newVol.setPath(newVol.getUuid());
856+
newVol.setFormat(ImageFormat.VHD);
856857
return new CopyCmdAnswer(newVol);
857858
}
858859
}catch (Exception e) {

setup/db/db/schema-410to420.sql

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,6 @@ CREATE TABLE `cloud`.`snapshot_store_ref` (
179179
`update_count` bigint unsigned,
180180
`updated` datetime,
181181
PRIMARY KEY (`id`),
182-
CONSTRAINT `fk_snapshot_store_ref__store_id` FOREIGN KEY `fk_snapshot_store_ref__store_id` (`store_id`) REFERENCES `image_store` (`id`) ON DELETE CASCADE,
183182
INDEX `i_snapshot_store_ref__store_id`(`store_id`),
184183
CONSTRAINT `fk_snapshot_store_ref__snapshot_id` FOREIGN KEY `fk_snapshot_store_ref__snapshot_id` (`snapshot_id`) REFERENCES `snapshots` (`id`),
185184
INDEX `i_snapshot_store_ref__snapshot_id`(`snapshot_id`)

0 commit comments

Comments
 (0)