Skip to content

Commit 6de084c

Browse files
Add download link of volumes, templates and ISOs to the download event details (apache#10564)
1 parent 5300141 commit 6de084c

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
@@ -4115,7 +4115,9 @@ public String extractVolume(ExtractVolumeCmd cmd) {
41154115

41164116
Optional<String> extractUrl = setExtractVolumeSearchCriteria(sc, volume);
41174117
if (extractUrl.isPresent()) {
4118-
return extractUrl.get();
4118+
String url = extractUrl.get();
4119+
CallContext.current().setEventDetails(String.format("Download URL: %s, volume ID: %s", url, volume.getUuid()));
4120+
return url;
41194121
}
41204122

41214123
VMInstanceVO vm = null;
@@ -4132,7 +4134,9 @@ public String extractVolume(ExtractVolumeCmd cmd) {
41324134
VmWorkJobVO placeHolder = null;
41334135
placeHolder = createPlaceHolderWork(vm.getId());
41344136
try {
4135-
return orchestrateExtractVolume(volume.getId(), zoneId);
4137+
String url = orchestrateExtractVolume(volume.getId(), zoneId);
4138+
CallContext.current().setEventDetails(String.format("Download URL: %s, volume ID: %s", url, volume.getUuid()));
4139+
return url;
41364140
} finally {
41374141
_workJobDao.expunge(placeHolder.getId());
41384142
}
@@ -4161,13 +4165,17 @@ public String extractVolume(ExtractVolumeCmd cmd) {
41614165

41624166
// retrieve the entity url from job result
41634167
if (jobResult != null && jobResult instanceof String) {
4164-
return (String)jobResult;
4168+
String url = (String) jobResult;
4169+
CallContext.current().setEventDetails(String.format("Download URL: %s, volume ID: %s", url, volume.getUuid()));
4170+
return url;
41654171
}
41664172
return null;
41674173
}
41684174
}
41694175

4170-
return orchestrateExtractVolume(volume.getId(), zoneId);
4176+
String url = orchestrateExtractVolume(volume.getId(), zoneId);
4177+
CallContext.current().setEventDetails(String.format("Download URL: %s, volume ID: %s", url, volume.getUuid()));
4178+
return url;
41714179
}
41724180

41734181
@Override

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

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

491-
return extract(account, templateId, url, zoneId, mode, eventId, true);
491+
String extractUrl = extract(account, templateId, url, zoneId, mode, eventId, true);
492+
CallContext.current().setEventDetails(String.format("Download URL: %s, ISO ID: %s", extractUrl, _tmpltDao.findById(templateId).getUuid()));
493+
return extractUrl;
492494
}
493495

494496
@Override
@@ -506,7 +508,9 @@ public String extract(ExtractTemplateCmd cmd) {
506508
throw new InvalidParameterValueException("unable to find template with id " + templateId);
507509
}
508510

509-
return extract(caller, templateId, url, zoneId, mode, eventId, false);
511+
String extractUrl = extract(caller, templateId, url, zoneId, mode, eventId, false);
512+
CallContext.current().setEventDetails(String.format("Download URL: %s, template ID: %s", extractUrl, template.getUuid()));
513+
return extractUrl;
510514
}
511515

512516
@Override

0 commit comments

Comments
 (0)