Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add download link of volumes, templates and ISOs to the download event details #10564

Open
wants to merge 1 commit into
base: 4.20
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
package org.apache.cloudstack.api.command.user.iso;


import com.cloud.dc.DataCenter;
import org.apache.cloudstack.api.APICommand;
import org.apache.cloudstack.api.ApiCommandResourceType;
import org.apache.cloudstack.api.ApiConstants;
Expand Down Expand Up @@ -101,7 +102,15 @@

@Override
public String getEventDescription() {
return "extracting ISO: " + getId() + " from zone: " + getZoneId();
String isoId = this._uuidMgr.getUuid(VirtualMachineTemplate.class, getId());
String baseDescription = String.format("Extracting ISO: %s", isoId);

Check warning on line 106 in api/src/main/java/org/apache/cloudstack/api/command/user/iso/ExtractIsoCmd.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/command/user/iso/ExtractIsoCmd.java#L105-L106

Added lines #L105 - L106 were not covered by tests

Long zoneId = getZoneId();

Check warning on line 108 in api/src/main/java/org/apache/cloudstack/api/command/user/iso/ExtractIsoCmd.java

View check run for this annotation

Codecov / codecov/patch

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

Added line #L108 was not covered by tests
if (zoneId == null) {
return baseDescription;

Check warning on line 110 in api/src/main/java/org/apache/cloudstack/api/command/user/iso/ExtractIsoCmd.java

View check run for this annotation

Codecov / codecov/patch

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

Added line #L110 was not covered by tests
}

return String.format("%s from zone: %s", baseDescription, this._uuidMgr.getUuid(DataCenter.class, zoneId));

Check warning on line 113 in api/src/main/java/org/apache/cloudstack/api/command/user/iso/ExtractIsoCmd.java

View check run for this annotation

Codecov / codecov/patch

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

Added line #L113 was not covered by tests
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,15 @@

@Override
public String getEventDescription() {
return "extracting template: " + this._uuidMgr.getUuid(VirtualMachineTemplate.class, getId()) + ((getZoneId() != null) ? " from zone: " + this._uuidMgr.getUuid(DataCenter.class, getZoneId()) : "");
String templateId = this._uuidMgr.getUuid(VirtualMachineTemplate.class, getId());
String baseDescription = String.format("Extracting template: %s", templateId);

Check warning on line 105 in api/src/main/java/org/apache/cloudstack/api/command/user/template/ExtractTemplateCmd.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/command/user/template/ExtractTemplateCmd.java#L104-L105

Added lines #L104 - L105 were not covered by tests

Long zoneId = getZoneId();

Check warning on line 107 in api/src/main/java/org/apache/cloudstack/api/command/user/template/ExtractTemplateCmd.java

View check run for this annotation

Codecov / codecov/patch

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

Added line #L107 was not covered by tests
if (zoneId == null) {
return baseDescription;

Check warning on line 109 in api/src/main/java/org/apache/cloudstack/api/command/user/template/ExtractTemplateCmd.java

View check run for this annotation

Codecov / codecov/patch

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

Added line #L109 was not covered by tests
}

return String.format("%s from zone: %s", baseDescription, this._uuidMgr.getUuid(DataCenter.class, zoneId));

Check warning on line 112 in api/src/main/java/org/apache/cloudstack/api/command/user/template/ExtractTemplateCmd.java

View check run for this annotation

Codecov / codecov/patch

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

Added line #L112 was not covered by tests
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
package org.apache.cloudstack.api.command.user.volume;


import com.cloud.dc.DataCenter;
import org.apache.cloudstack.acl.SecurityChecker.AccessType;
import org.apache.cloudstack.api.ACL;
import org.apache.cloudstack.api.APICommand;
Expand Down Expand Up @@ -114,12 +115,15 @@

@Override
public String getEventDescription() {
return "Extraction job";
String volumeId = this._uuidMgr.getUuid(Volume.class, getId());
String zoneId = this._uuidMgr.getUuid(DataCenter.class, getZoneId());

Check warning on line 119 in api/src/main/java/org/apache/cloudstack/api/command/user/volume/ExtractVolumeCmd.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/command/user/volume/ExtractVolumeCmd.java#L118-L119

Added lines #L118 - L119 were not covered by tests

return String.format("Extracting volume: %s from zone: %s", volumeId, zoneId);

Check warning on line 121 in api/src/main/java/org/apache/cloudstack/api/command/user/volume/ExtractVolumeCmd.java

View check run for this annotation

Codecov / codecov/patch

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

Added line #L121 was not covered by tests
}

@Override
public void execute() {
CallContext.current().setEventDetails("Volume Id: " + this._uuidMgr.getUuid(Volume.class, getId()));
CallContext.current().setEventDetails(getEventDescription());

Check warning on line 126 in api/src/main/java/org/apache/cloudstack/api/command/user/volume/ExtractVolumeCmd.java

View check run for this annotation

Codecov / codecov/patch

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

Added line #L126 was not covered by tests
String uploadUrl = _volumeService.extractVolume(this);
if (uploadUrl != null) {
ExtractResponse response = _responseGenerator.createVolumeExtractResponse(id, zoneId, getEntityOwnerId(), mode, uploadUrl);
Expand Down
16 changes: 12 additions & 4 deletions server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java
Original file line number Diff line number Diff line change
Expand Up @@ -4115,7 +4115,9 @@

Optional<String> extractUrl = setExtractVolumeSearchCriteria(sc, volume);
if (extractUrl.isPresent()) {
return extractUrl.get();
String url = extractUrl.get();
CallContext.current().setEventDetails(String.format("Download URL: %s, volume ID: %s", url, volume.getUuid()));
return url;

Check warning on line 4120 in server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java

View check run for this annotation

Codecov / codecov/patch

server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java#L4118-L4120

Added lines #L4118 - L4120 were not covered by tests
}

VMInstanceVO vm = null;
Expand All @@ -4132,7 +4134,9 @@
VmWorkJobVO placeHolder = null;
placeHolder = createPlaceHolderWork(vm.getId());
try {
return orchestrateExtractVolume(volume.getId(), zoneId);
String url = orchestrateExtractVolume(volume.getId(), zoneId);
CallContext.current().setEventDetails(String.format("Download URL: %s, volume ID: %s", url, volume.getUuid()));
return url;

Check warning on line 4139 in server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java

View check run for this annotation

Codecov / codecov/patch

server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java#L4137-L4139

Added lines #L4137 - L4139 were not covered by tests
} finally {
_workJobDao.expunge(placeHolder.getId());
}
Expand Down Expand Up @@ -4161,13 +4165,17 @@

// retrieve the entity url from job result
if (jobResult != null && jobResult instanceof String) {
return (String)jobResult;
String url = (String) jobResult;
CallContext.current().setEventDetails(String.format("Download URL: %s, volume ID: %s", url, volume.getUuid()));
return url;

Check warning on line 4170 in server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java

View check run for this annotation

Codecov / codecov/patch

server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java#L4168-L4170

Added lines #L4168 - L4170 were not covered by tests
}
return null;
}
}

return orchestrateExtractVolume(volume.getId(), zoneId);
String url = orchestrateExtractVolume(volume.getId(), zoneId);
CallContext.current().setEventDetails(String.format("Download URL: %s, volume ID: %s", url, volume.getUuid()));
return url;

Check warning on line 4178 in server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java

View check run for this annotation

Codecov / codecov/patch

server/src/main/java/com/cloud/storage/VolumeApiServiceImpl.java#L4176-L4178

Added lines #L4176 - L4178 were not covered by tests
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -488,7 +488,9 @@
String mode = cmd.getMode();
Long eventId = cmd.getStartEventId();

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

Check warning on line 493 in server/src/main/java/com/cloud/template/TemplateManagerImpl.java

View check run for this annotation

Codecov / codecov/patch

server/src/main/java/com/cloud/template/TemplateManagerImpl.java#L491-L493

Added lines #L491 - L493 were not covered by tests
}

@Override
Expand All @@ -506,7 +508,9 @@
throw new InvalidParameterValueException("unable to find template with id " + templateId);
}

return extract(caller, templateId, url, zoneId, mode, eventId, false);
String extractUrl = extract(caller, templateId, url, zoneId, mode, eventId, false);
CallContext.current().setEventDetails(String.format("Download URL: %s, template ID: %s", extractUrl, template.getUuid()));
return extractUrl;

Check warning on line 513 in server/src/main/java/com/cloud/template/TemplateManagerImpl.java

View check run for this annotation

Codecov / codecov/patch

server/src/main/java/com/cloud/template/TemplateManagerImpl.java#L511-L513

Added lines #L511 - L513 were not covered by tests
}

@Override
Expand Down