Skip to content

Commit a318ee3

Browse files
committed
template: pass empty checksum for template copy
Since checksum value stored for source template while copying is for the downloaded file and not the installed template, an empty value is passed to download service to prevent checsum mismatch. Signed-off-by: Abhishek Kumar <abhishek.kumar@shapeblue.com>
1 parent 3e4c55c commit a318ee3

2 files changed

Lines changed: 22 additions & 20 deletions

File tree

engine/storage/image/src/main/java/org/apache/cloudstack/storage/image/TemplateServiceImpl.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1038,6 +1038,8 @@ public AsyncCallFuture<TemplateApiResult> copyTemplate(TemplateInfo srcTemplate,
10381038
}
10391039
tmplForCopy.setUrl(url);
10401040

1041+
tmplForCopy.getImage().setChecksum("");
1042+
10411043
if (s_logger.isDebugEnabled()) {
10421044
s_logger.debug("Mark template_store_ref entry as Creating");
10431045
}

services/secondary-storage/server/src/main/java/org/apache/cloudstack/storage/template/DownloadManagerImpl.java

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -38,33 +38,17 @@
3838

3939
import javax.naming.ConfigurationException;
4040

41-
import com.cloud.storage.template.Processor;
42-
import com.cloud.storage.template.S3TemplateDownloader;
43-
import com.cloud.storage.template.TemplateDownloader;
44-
import com.cloud.storage.template.TemplateLocation;
45-
import com.cloud.storage.template.MetalinkTemplateDownloader;
46-
import com.cloud.storage.template.HttpTemplateDownloader;
47-
import com.cloud.storage.template.LocalTemplateDownloader;
48-
import com.cloud.storage.template.ScpTemplateDownloader;
49-
import com.cloud.storage.template.TemplateProp;
50-
import com.cloud.storage.template.OVAProcessor;
51-
import com.cloud.storage.template.IsoProcessor;
52-
import com.cloud.storage.template.QCOW2Processor;
53-
import com.cloud.storage.template.VmdkProcessor;
54-
import com.cloud.storage.template.RawImageProcessor;
55-
import com.cloud.storage.template.TARProcessor;
56-
import com.cloud.storage.template.VhdProcessor;
57-
import com.cloud.storage.template.TemplateConstants;
5841
import org.apache.cloudstack.storage.command.DownloadCommand;
5942
import org.apache.cloudstack.storage.command.DownloadCommand.ResourceType;
6043
import org.apache.cloudstack.storage.command.DownloadProgressCommand;
6144
import org.apache.cloudstack.storage.command.DownloadProgressCommand.RequestType;
6245
import org.apache.cloudstack.storage.resource.NfsSecondaryStorageResource;
6346
import org.apache.cloudstack.storage.resource.SecondaryStorageResource;
47+
import org.apache.cloudstack.utils.security.ChecksumValue;
48+
import org.apache.cloudstack.utils.security.DigestHelper;
6449
import org.apache.log4j.Logger;
6550

6651
import com.cloud.agent.api.storage.DownloadAnswer;
67-
import com.cloud.utils.net.Proxy;
6852
import com.cloud.agent.api.to.DataStoreTO;
6953
import com.cloud.agent.api.to.NfsTO;
7054
import com.cloud.agent.api.to.S3TO;
@@ -73,18 +57,34 @@
7357
import com.cloud.storage.StorageLayer;
7458
import com.cloud.storage.VMTemplateHostVO;
7559
import com.cloud.storage.VMTemplateStorageResourceAssoc;
60+
import com.cloud.storage.template.HttpTemplateDownloader;
61+
import com.cloud.storage.template.IsoProcessor;
62+
import com.cloud.storage.template.LocalTemplateDownloader;
63+
import com.cloud.storage.template.MetalinkTemplateDownloader;
64+
import com.cloud.storage.template.OVAProcessor;
65+
import com.cloud.storage.template.Processor;
7666
import com.cloud.storage.template.Processor.FormatInfo;
67+
import com.cloud.storage.template.QCOW2Processor;
68+
import com.cloud.storage.template.RawImageProcessor;
69+
import com.cloud.storage.template.S3TemplateDownloader;
70+
import com.cloud.storage.template.ScpTemplateDownloader;
71+
import com.cloud.storage.template.TARProcessor;
72+
import com.cloud.storage.template.TemplateConstants;
73+
import com.cloud.storage.template.TemplateDownloader;
7774
import com.cloud.storage.template.TemplateDownloader.DownloadCompleteCallback;
7875
import com.cloud.storage.template.TemplateDownloader.Status;
76+
import com.cloud.storage.template.TemplateLocation;
77+
import com.cloud.storage.template.TemplateProp;
78+
import com.cloud.storage.template.VhdProcessor;
79+
import com.cloud.storage.template.VmdkProcessor;
7980
import com.cloud.utils.NumbersUtil;
8081
import com.cloud.utils.StringUtils;
8182
import com.cloud.utils.component.ManagerBase;
8283
import com.cloud.utils.exception.CloudRuntimeException;
84+
import com.cloud.utils.net.Proxy;
8385
import com.cloud.utils.script.OutputInterpreter;
8486
import com.cloud.utils.script.Script;
8587
import com.cloud.utils.storage.QCOW2Utils;
86-
import org.apache.cloudstack.utils.security.ChecksumValue;
87-
import org.apache.cloudstack.utils.security.DigestHelper;
8888

8989
public class DownloadManagerImpl extends ManagerBase implements DownloadManager {
9090
private String _name;

0 commit comments

Comments
 (0)