use of org.ovirt.engine.core.common.businessentities.HttpLocationInfo in project ovirt-engine by oVirt.
the class LocationInfoHelper method prepareLocationInfoForVdsCommand.
public static Map<String, Object> prepareLocationInfoForVdsCommand(LocationInfo locationInfo) {
if (locationInfo instanceof ExternalLocationInfo) {
ExternalLocationInfo info = (ExternalLocationInfo) locationInfo;
if (ConnectionMethod.HTTP.equals(info.getConnectionMethod())) {
HttpLocationInfo httpInfo = (HttpLocationInfo) info;
Map<String, Object> infoMap = new HashMap<>();
infoMap.put("method", "http");
infoMap.put("url", httpInfo.getUrl());
infoMap.put("headers", httpInfo.getHeaders());
return infoMap;
}
}
if (locationInfo instanceof VdsmImageLocationInfo) {
VdsmImageLocationInfo info = (VdsmImageLocationInfo) locationInfo;
Map<String, Object> infoMap = new HashMap<>();
infoMap.put("endpoint_type", "div");
infoMap.put("sd_id", info.getStorageDomainId().toString());
infoMap.put("img_id", info.getImageGroupId().toString());
infoMap.put("vol_id", info.getImageId().toString());
if (info.getGeneration() != null) {
infoMap.put("generation", info.getGeneration());
}
return infoMap;
}
throw new RuntimeException("Unsupported location info");
}
use of org.ovirt.engine.core.common.businessentities.HttpLocationInfo in project ovirt-engine by oVirt.
the class ExportRepoImageCommand method executeCommand.
@Override
protected void executeCommand() {
DiskImage diskImage = getDiskImage();
OpenStackImageProviderProxy proxy = getProviderProxy();
acquireImageDbLock();
String newImageId = proxy.createImageFromDiskImage(diskImage);
getParameters().setParentCommand(ActionType.ExportRepoImage);
Guid taskId = persistAsyncTaskPlaceHolder(getParameters().getParentCommand());
getParameters().setEntityInfo(new EntityInfo(VdcObjectType.Disk, getParameters().getImageGroupID()));
VDSReturnValue vdsReturnValue = runVdsCommand(VDSCommandType.UploadImage, new UploadImageVDSCommandParameters(getStorageDomain().getStoragePoolId(), getStorageDomain().getId(), diskImage.getId(), diskImage.getImageId(), new HttpLocationInfo(getProviderProxy().getImageUrl(newImageId), getProviderProxy().getUploadHeaders())));
if (vdsReturnValue.getSucceeded()) {
getReturnValue().getVdsmTaskIdList().add(createTask(taskId, vdsReturnValue.getCreationInfo(), getParameters().getParentCommand(), VdcObjectType.Disk, getParameters().getImageGroupID(), getParameters().getDestinationDomainId()));
}
getReturnValue().setActionReturnValue(newImageId);
setSucceeded(true);
}
Aggregations