Make S3 register template work.

This commit is contained in:
Min Chen 2013-05-08 11:12:26 -07:00
parent f8edb55497
commit 3b45bc9c30
5 changed files with 16 additions and 3 deletions

View File

@ -421,6 +421,11 @@ public class VMTemplateVO implements VirtualMachineTemplate, StateObject<Templat
return -1;
}
public void setAccountId(long accountId) {
this.accountId = accountId;
}
@Override
public String getUuid() {
return this.uuid;

View File

@ -286,6 +286,9 @@ public class DownloadManagerImpl extends ManagerBase implements DownloadManager
td.setStatus(Status.POST_DOWNLOAD_FINISHED);
td.setDownloadError("Install completed successfully at " + new SimpleDateFormat().format(new Date()));
}
} else{
// for s3 and swift, we skip post download step and just set status to trigger callback.
td.setStatus(Status.POST_DOWNLOAD_FINISHED);
}
dj.cleanup();
break;

View File

@ -170,8 +170,8 @@ public class S3TemplateDownloader implements TemplateDownloader {
throw new IllegalArgumentException("Unsupported scheme for url");
}
int port = uri.getPort();
if (!(port == 80 || port == 443 || port == -1)) {
throw new IllegalArgumentException("Only ports 80 and 443 are allowed");
if (!(port == 80 || port == 8080 || port == 443 || port == -1)) {
throw new IllegalArgumentException("Only ports 80, 8080 and 443 are allowed");
}
if (port == -1 && uri.getScheme().equalsIgnoreCase("https")) {

View File

@ -1,5 +1,6 @@
package org.apache.cloudstack.storage.test;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
@ -30,10 +31,12 @@ import static org.testng.Assert.assertTrue;
import com.cloud.dc.DataCenterVO;
import com.cloud.dc.DataCenter.NetworkType;
import com.cloud.dc.dao.DataCenterDao;
import com.cloud.hypervisor.Hypervisor.HypervisorType;
import com.cloud.storage.DataStoreRole;
import com.cloud.storage.ScopeType;
import com.cloud.storage.Storage;
import com.cloud.storage.VMTemplateVO;
import com.cloud.storage.Storage.ImageFormat;
import com.cloud.storage.Storage.TemplateType;
import com.cloud.storage.dao.VMTemplateDao;
import com.cloud.storage.download.DownloadMonitorImpl;
@ -89,6 +92,7 @@ public class S3TemplateTest extends CloudStackTestNGBase {
sDetails.put(ApiConstants.S3_END_POINT, this.getS3EndPoint());
this.imageStoreHelper.createImageStore(sParams, sDetails);
VMTemplateVO image = new VMTemplateVO();
image.setTemplateType(TemplateType.SYSTEM);
image.setUrl(this.getTemplateUrl());
@ -106,6 +110,7 @@ public class S3TemplateTest extends CloudStackTestNGBase {
image.setPrepopulate(true);
image.setCrossZones(true);
image.setExtractable(true);
image.setAccountId(2);
image = templateDao.persist(image);
templateId = image.getId();

View File

@ -35,7 +35,7 @@
<parameter name="s3-accesskey" value="OYAZXCAFUC1DAFOXNJWI"/>
<parameter name="s3-secretkey" value="YHpRtzNDwl12DtrQmwRvdpnf2xK2AeVM30rXxQ=="/>
<parameter name="s3-endpoint" value="10.223.89.7:8080" />
<parameter name="s3-template-bucket" value="cstemplates"/>
<parameter name="s3-template-bucket" value="cloudstack"/>
<parameter name="s3-usehttps" value="false" />
<parameter name="image-install-path" value="template/tmpl/1/5/"/>