Skip to content

Commit 8f4575e

Browse files
author
Edison Su
committed
CLOUDSTACK-3400: add swift support
1 parent 0c1ae20 commit 8f4575e

14 files changed

Lines changed: 278 additions & 392 deletions

File tree

api/src/com/cloud/agent/api/to/SwiftTO.java

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,26 +17,25 @@
1717
package com.cloud.agent.api.to;
1818

1919
import com.cloud.storage.DataStoreRole;
20+
import com.cloud.utils.SwiftUtil;
2021

21-
public class SwiftTO implements DataStoreTO {
22+
public class SwiftTO implements DataStoreTO, SwiftUtil.SwiftClientCfg {
2223
Long id;
2324
String url;
2425
String account;
2526

2627
String userName;
2728
String key;
28-
String container;
2929

3030
public SwiftTO() { }
3131

32-
public SwiftTO(Long id, String url, String account, String userName, String key,
33-
String container) {
32+
public SwiftTO(Long id, String url, String account, String userName, String key
33+
) {
3434
this.id = id;
3535
this.url = url;
3636
this.account = account;
3737
this.userName = userName;
3838
this.key = key;
39-
this.container = container;
4039
}
4140

4241
public Long getId() {
@@ -64,9 +63,8 @@ public DataStoreRole getRole() {
6463
return DataStoreRole.Image;
6564
}
6665

67-
public String getContainer() {
68-
return this.container;
66+
@Override
67+
public String getEndPoint() {
68+
return this.url;
6969
}
70-
71-
7270
}

client/tomcatconf/applicationContext.xml.in

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -316,7 +316,6 @@
316316
<bean id="storagePoolHostDaoImpl" class="com.cloud.storage.dao.StoragePoolHostDaoImpl" />
317317
<bean id="storagePoolJoinDaoImpl" class="com.cloud.api.query.dao.StoragePoolJoinDaoImpl" />
318318
<bean id="storagePoolWorkDaoImpl" class="com.cloud.storage.dao.StoragePoolWorkDaoImpl" />
319-
<bean id="swiftDaoImpl" class="com.cloud.storage.dao.SwiftDaoImpl" />
320319
<bean id="syncQueueDaoImpl" class="com.cloud.async.dao.SyncQueueDaoImpl" />
321320
<bean id="syncQueueItemDaoImpl" class="com.cloud.async.dao.SyncQueueItemDaoImpl" />
322321
<bean id="templatePrimaryDataStoreDaoImpl" class="org.apache.cloudstack.storage.volume.db.TemplatePrimaryDataStoreDaoImpl" />
@@ -356,7 +355,6 @@
356355
<bean id="vMTemplateHostDaoImpl" class="com.cloud.storage.dao.VMTemplateHostDaoImpl" />
357356
<bean id="vMTemplatePoolDaoImpl" class="com.cloud.storage.dao.VMTemplatePoolDaoImpl" />
358357
<bean id="vMTemplateS3DaoImpl" class="com.cloud.storage.dao.VMTemplateS3DaoImpl" />
359-
<bean id="vMTemplateSwiftDaoImpl" class="com.cloud.storage.dao.VMTemplateSwiftDaoImpl" />
360358
<bean id="vMTemplateZoneDaoImpl" class="com.cloud.storage.dao.VMTemplateZoneDaoImpl" />
361359
<bean id="versionDaoImpl" class="com.cloud.upgrade.dao.VersionDaoImpl" />
362360
<bean id="virtualRouterProviderDaoImpl" class="com.cloud.network.dao.VirtualRouterProviderDaoImpl" />
@@ -793,7 +791,6 @@
793791
<bean id="snapshotManagerImpl" class="com.cloud.storage.snapshot.SnapshotManagerImpl" />
794792
<bean id="snapshotSchedulerImpl" class="com.cloud.storage.snapshot.SnapshotSchedulerImpl" />
795793
<bean id="storageNetworkManagerImpl" class="com.cloud.network.StorageNetworkManagerImpl" />
796-
<bean id="swiftManagerImpl" class="com.cloud.storage.swift.SwiftManagerImpl" />
797794
<bean id="syncQueueManagerImpl" class="com.cloud.async.SyncQueueManagerImpl" />
798795
<bean id="taggedResourceManagerImpl" class="com.cloud.tags.TaggedResourceManagerImpl" />
799796
<bean id="resourceMetaDataManagerImpl" class="com.cloud.metadata.ResourceMetaDataManagerImpl" />

client/tomcatconf/commands.properties.in

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -241,10 +241,6 @@ deleteAlerts=1
241241
#### system capacity commands
242242
listCapacity=3
243243

244-
#### swift commands
245-
addSwift=1
246-
listSwifts=1
247-
248244
#### s3 commands
249245
addS3=1
250246
listS3s=1

core/src/org/apache/cloudstack/storage/command/DownloadCommand.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ public static enum ResourceType {
4545
private ResourceType resourceType = ResourceType.TEMPLATE;
4646
private String installPath;
4747
private DataStoreTO _store;
48+
private DataStoreTO cacheStore;
4849

4950
protected DownloadCommand() {
5051
}
@@ -178,7 +179,11 @@ public void setInstallPath(String installPath) {
178179
this.installPath = installPath;
179180
}
180181

182+
public void setCacheStore(DataStoreTO cacheStore) {
183+
this.cacheStore = cacheStore;
184+
}
181185

182-
183-
186+
public DataStoreTO getCacheStore() {
187+
return this.cacheStore;
188+
}
184189
}

engine/schema/src/com/cloud/storage/VMTemplateSwiftVO.java

Lines changed: 0 additions & 108 deletions
This file was deleted.

engine/schema/src/com/cloud/storage/dao/VMTemplateSwiftDao.java

Lines changed: 0 additions & 37 deletions
This file was deleted.

engine/schema/src/com/cloud/storage/dao/VMTemplateSwiftDaoImpl.java

Lines changed: 0 additions & 87 deletions
This file was deleted.

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

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@
7979
import com.cloud.storage.s3.S3Manager;
8080
import com.cloud.storage.secondary.SecondaryStorageVmManager;
8181
import com.cloud.storage.snapshot.SnapshotManager;
82-
import com.cloud.storage.swift.SwiftManager;
8382
import com.cloud.tags.dao.ResourceTagsDaoImpl;
8483
import com.cloud.template.TemplateManager;
8584
import com.cloud.user.AccountManager;
@@ -177,11 +176,6 @@ public VolumeManager volumeMgr() {
177176
return Mockito.mock(VolumeManager.class);
178177
}
179178

180-
@Bean
181-
public SwiftManager switfMgr() {
182-
return Mockito.mock(SwiftManager.class);
183-
}
184-
185179
@Bean
186180
public ManagementServer server() {
187181
return Mockito.mock(ManagementServer.class);

plugins/storage/image/swift/src/org/apache/cloudstack/storage/datastore/driver/SwiftImageStoreDriverImpl.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,15 @@ public class SwiftImageStoreDriverImpl extends BaseImageStoreDriverImpl {
5353
ImageStoreDetailsDao _imageStoreDetailsDao;
5454
@Inject
5555
EndPointSelector _epSelector;
56+
@Inject
57+
StorageCacheManager cacheManager;
5658

5759
@Override
5860
public DataStoreTO getStoreTO(DataStore store) {
5961
ImageStoreImpl imgStore = (ImageStoreImpl) store;
6062
Map<String, String> details = _imageStoreDetailsDao.getDetails(imgStore.getId());
6163
return new SwiftTO(imgStore.getId(), imgStore.getUri(), details.get(ApiConstants.ACCOUNT),
62-
details.get(ApiConstants.USERNAME), details.get(ApiConstants.KEY), details.get(ApiConstants.S3_BUCKET_NAME));
64+
details.get(ApiConstants.USERNAME), details.get(ApiConstants.KEY));
6365
}
6466

6567
@Override
@@ -71,7 +73,9 @@ public String createEntityExtractUrl(DataStore store, String installPath, ImageF
7173
public void createAsync(DataStore dataStore, DataObject data, AsyncCompletionCallback<CreateCmdResult> callback) {
7274
Long maxTemplateSizeInBytes = getMaxTemplateSizeInBytes();
7375
VirtualMachineTemplate tmpl = _templateDao.findById(data.getId());
76+
DataStore cacheStore = cacheManager.getCacheStorage(dataStore.getScope());
7477
DownloadCommand dcmd = new DownloadCommand((TemplateObjectTO)(data.getTO()), maxTemplateSizeInBytes);
78+
dcmd.setCacheStore(cacheStore.getTO());
7579
dcmd.setProxy(getHttpProxy());
7680

7781
EndPoint ep = _epSelector.select(data);

0 commit comments

Comments
 (0)