Skip to content

Commit

Permalink
Fix Template and ISO upload events (apache#9545)
Browse files Browse the repository at this point in the history
  • Loading branch information
nvazquez authored Aug 20, 2024
1 parent 27f23f4 commit 7a9bb83
Showing 1 changed file with 12 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,14 @@
import org.apache.cloudstack.agent.directdownload.CheckUrlCommand;
import org.apache.cloudstack.annotation.AnnotationService;
import org.apache.cloudstack.annotation.dao.AnnotationDao;
import org.apache.cloudstack.api.ApiCommandResourceType;
import org.apache.cloudstack.api.command.user.iso.DeleteIsoCmd;
import org.apache.cloudstack.api.command.user.iso.GetUploadParamsForIsoCmd;
import org.apache.cloudstack.api.command.user.iso.RegisterIsoCmd;
import org.apache.cloudstack.api.command.user.template.DeleteTemplateCmd;
import org.apache.cloudstack.api.command.user.template.GetUploadParamsForTemplateCmd;
import org.apache.cloudstack.api.command.user.template.RegisterTemplateCmd;
import org.apache.cloudstack.context.CallContext;
import org.apache.cloudstack.direct.download.DirectDownloadManager;
import org.apache.cloudstack.engine.subsystem.api.storage.DataObject;
import org.apache.cloudstack.engine.subsystem.api.storage.DataStore;
Expand Down Expand Up @@ -359,6 +361,16 @@ public List<TemplateOrVolumePostUploadCommand> doInTransaction(TransactionStatus
throw new CloudRuntimeException("Unable to persist the template " + profile.getTemplate());
}

// Set Event Details for Template/ISO Upload
String eventType = template.getFormat().equals(ImageFormat.ISO) ? "Iso" : "Template";
String eventResourceId = template.getUuid();
CallContext.current().setEventDetails(String.format("%s Id: %s", eventType, eventResourceId));
CallContext.current().putContextParameter(eventType.equals("Iso") ? eventType : VirtualMachineTemplate.class, eventResourceId);
if (template.getFormat().equals(ImageFormat.ISO)) {
CallContext.current().setEventResourceType(ApiCommandResourceType.Iso);
CallContext.current().setEventResourceId(template.getId());
}

if (profile.getZoneIdList() != null && profile.getZoneIdList().size() > 1)
throw new CloudRuntimeException("Operation is not supported for more than one zone id at a time");

Expand Down

0 comments on commit 7a9bb83

Please sign in to comment.