Skip to content

Commit 170755f

Browse files
bernardodemarcodhslove
authored andcommitted
Add download link of volumes, templates and ISOs to the download event details (apache#10564)
1 parent 5ad423a commit 170755f

File tree

5 files changed

+43
-10
lines changed

5 files changed

+43
-10
lines changed

api/src/main/java/org/apache/cloudstack/api/command/user/iso/ExtractIsoCmd.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.apache.cloudstack.api.command.user.iso;
1818

1919

20+
import com.cloud.dc.DataCenter;
2021
import org.apache.cloudstack.api.APICommand;
2122
import org.apache.cloudstack.api.ApiCommandResourceType;
2223
import org.apache.cloudstack.api.ApiConstants;
@@ -101,7 +102,15 @@ public long getEntityOwnerId() {
101102

102103
@Override
103104
public String getEventDescription() {
104-
return "extracting ISO: " + getId() + " from zone: " + getZoneId();
105+
String isoId = this._uuidMgr.getUuid(VirtualMachineTemplate.class, getId());
106+
String baseDescription = String.format("Extracting ISO: %s", isoId);
107+
108+
Long zoneId = getZoneId();
109+
if (zoneId == null) {
110+
return baseDescription;
111+
}
112+
113+
return String.format("%s from zone: %s", baseDescription, this._uuidMgr.getUuid(DataCenter.class, zoneId));
105114
}
106115

107116
@Override

api/src/main/java/org/apache/cloudstack/api/command/user/template/ExtractTemplateCmd.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,15 @@ public String getEventType() {
101101

102102
@Override
103103
public String getEventDescription() {
104-
return "extracting template: " + this._uuidMgr.getUuid(VirtualMachineTemplate.class, getId()) + ((getZoneId() != null) ? " from zone: " + this._uuidMgr.getUuid(DataCenter.class, getZoneId()) : "");
104+
String templateId = this._uuidMgr.getUuid(VirtualMachineTemplate.class, getId());
105+
String baseDescription = String.format("Extracting template: %s", templateId);
106+
107+
Long zoneId = getZoneId();
108+
if (zoneId == null) {
109+
return baseDescription;
110+
}
111+
112+
return String.format("%s from zone: %s", baseDescription, this._uuidMgr.getUuid(DataCenter.class, zoneId));
105113
}
106114

107115
@Override

api/src/main/java/org/apache/cloudstack/api/command/user/volume/ExtractVolumeCmd.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.apache.cloudstack.api.command.user.volume;
1818

1919

20+
import com.cloud.dc.DataCenter;
2021
import org.apache.cloudstack.acl.SecurityChecker.AccessType;
2122
import org.apache.cloudstack.api.ACL;
2223
import org.apache.cloudstack.api.APICommand;
@@ -114,12 +115,15 @@ public String getEventType() {
114115

115116
@Override
116117
public String getEventDescription() {
117-
return "Extraction job";
118+
String volumeId = this._uuidMgr.getUuid(Volume.class, getId());
119+
String zoneId = this._uuidMgr.getUuid(DataCenter.class, getZoneId());
120+
121+
return String.format("Extracting volume: %s from zone: %s", volumeId, zoneId);
118122
}
119123

120124
@Override
121125
public void execute() {
122-
CallContext.current().setEventDetails("Volume Id: " + this._uuidMgr.getUuid(Volume.class, getId()));
126+
CallContext.current().setEventDetails(getEventDescription());
123127
String uploadUrl = _volumeService.extractVolume(this);
124128
if (uploadUrl != null) {
125129
ExtractResponse response = _responseGenerator.createVolumeExtractResponse(id, zoneId, getEntityOwnerId(), mode, uploadUrl);

server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4348,7 +4348,9 @@ public String extractVolume(ExtractVolumeCmd cmd) {
43484348

43494349
Optional<String> extractUrl = setExtractVolumeSearchCriteria(sc, volume);
43504350
if (extractUrl.isPresent()) {
4351-
return extractUrl.get();
4351+
String url = extractUrl.get();
4352+
CallContext.current().setEventDetails(String.format("Download URL: %s, volume ID: %s", url, volume.getUuid()));
4353+
return url;
43524354
}
43534355

43544356
VMInstanceVO vm = null;
@@ -4365,7 +4367,9 @@ public String extractVolume(ExtractVolumeCmd cmd) {
43654367
VmWorkJobVO placeHolder = null;
43664368
placeHolder = createPlaceHolderWork(vm.getId());
43674369
try {
4368-
return orchestrateExtractVolume(volume.getId(), zoneId);
4370+
String url = orchestrateExtractVolume(volume.getId(), zoneId);
4371+
CallContext.current().setEventDetails(String.format("Download URL: %s, volume ID: %s", url, volume.getUuid()));
4372+
return url;
43694373
} finally {
43704374
_workJobDao.expunge(placeHolder.getId());
43714375
}
@@ -4394,13 +4398,17 @@ public String extractVolume(ExtractVolumeCmd cmd) {
43944398

43954399
// retrieve the entity url from job result
43964400
if (jobResult != null && jobResult instanceof String) {
4397-
return (String)jobResult;
4401+
String url = (String) jobResult;
4402+
CallContext.current().setEventDetails(String.format("Download URL: %s, volume ID: %s", url, volume.getUuid()));
4403+
return url;
43984404
}
43994405
return null;
44004406
}
44014407
}
44024408

4403-
return orchestrateExtractVolume(volume.getId(), zoneId);
4409+
String url = orchestrateExtractVolume(volume.getId(), zoneId);
4410+
CallContext.current().setEventDetails(String.format("Download URL: %s, volume ID: %s", url, volume.getUuid()));
4411+
return url;
44044412
}
44054413

44064414
@Override

server/src/main/java/com/cloud/template/TemplateManagerImpl.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -491,7 +491,9 @@ public String extract(ExtractIsoCmd cmd) {
491491
String mode = cmd.getMode();
492492
Long eventId = cmd.getStartEventId();
493493

494-
return extract(account, templateId, url, zoneId, mode, eventId, true);
494+
String extractUrl = extract(account, templateId, url, zoneId, mode, eventId, true);
495+
CallContext.current().setEventDetails(String.format("Download URL: %s, ISO ID: %s", extractUrl, _tmpltDao.findById(templateId).getUuid()));
496+
return extractUrl;
495497
}
496498

497499
@Override
@@ -509,7 +511,9 @@ public String extract(ExtractTemplateCmd cmd) {
509511
throw new InvalidParameterValueException("unable to find template with id " + templateId);
510512
}
511513

512-
return extract(caller, templateId, url, zoneId, mode, eventId, false);
514+
String extractUrl = extract(caller, templateId, url, zoneId, mode, eventId, false);
515+
CallContext.current().setEventDetails(String.format("Download URL: %s, template ID: %s", extractUrl, template.getUuid()));
516+
return extractUrl;
513517
}
514518

515519
@Override

0 commit comments

Comments
 (0)