protected PrimaryStorageDownloadAnswer execute(final PrimaryStorageDownloadCommand cmd) { try { URI uri = new URI(cmd.getUrl()); String secondaryStoragePath = uri.getHost() + ":" + uri.getPath(); Pair<String, Long> res = OvmStoragePool.downloadTemplate(_conn, cmd.getPoolUuid(), secondaryStoragePath); return new PrimaryStorageDownloadAnswer(res.first(), res.second()); } catch (Exception e) { s_logger.debug("PrimaryStorageDownloadCommand failed", e); return new PrimaryStorageDownloadAnswer(e.getMessage()); } }
public PrimaryStorageDownloadCommand(final String name, final String url, final ImageFormat format, final long accountId, final StoragePool pool, final int wait) { super(name, url, format, accountId); poolId = pool.getId(); poolUuid = pool.getUuid(); primaryPool = new StorageFilerTO(pool); setWait(wait); }
@Override public Answer execute(final PrimaryStorageDownloadCommand command, final CitrixResourceBase citrixResourceBase) { final String tmplturl = command.getUrl(); final String poolName = command.getPoolUuid(); final int wait = command.getWait(); try { final URI uri = new URI(tmplturl); final VDI snapshotvdi = tmpl.snapshot(conn, new HashMap<String, String>()); final String snapshotUuid = snapshotvdi.getUuid(conn); snapshotvdi.setNameLabel(conn, "Template " + command.getName()); final String parentuuid = citrixResourceBase.getVhdParent(conn, pUuid, snapshotUuid, isISCSI); final VDI parent = citrixResourceBase.getVDIbyUuid(conn, parentuuid);
@Override public Answer execute(final PrimaryStorageDownloadCommand command, final LibvirtComputingResource libvirtComputingResource) { final String tmplturl = command.getUrl(); final int index = tmplturl.lastIndexOf("/"); final String mountpoint = tmplturl.substring(0, index); final KVMStoragePool primaryPool = storagePoolMgr.getStoragePool(command.getPool().getType(), command.getPoolUuid());
@Test public final void testPrimaryStorageDownloadCommandHTTP() { PrimaryStorageDownloadCommand cmd = samplePrimaryDownloadCommand(); cmd.setUrl("http://s3-eu-west-1.amazonaws.com/cshv3eu/SmallDisk.vhdx"); corePrimaryStorageDownloadCommandTestCycle(cmd); }
/** * Download from template url into primary storage ?.. is this relevant ? * * @param cmd * @return */ public PrimaryStorageDownloadAnswer execute( final PrimaryStorageDownloadCommand cmd) { try { Repository repo = new Repository(c); String tmplturl = cmd.getUrl(); String poolName = cmd.getPoolUuid(); String image = repo.deDash(repo.newUuid()) + ".raw"; /* url to download from, image name, and repo to copy it to */ repo.importVirtualDisk(tmplturl, image, poolName); return new PrimaryStorageDownloadAnswer(image); } catch (Exception e) { LOGGER.debug("PrimaryStorageDownloadCommand failed", e); return new PrimaryStorageDownloadAnswer(e.getMessage()); } } }