public String getPoolUuid() { return pool.getUuid(); }
protected void createOCFS2Sr(StorageFilerTO pool) throws XmlRpcException { OvmStoragePool.Details d = new OvmStoragePool.Details(); d.path = pool.getPath(); d.type = OvmStoragePool.OCFS2; d.uuid = pool.getUuid(); OvmStoragePool.create(_conn, d); s_logger.debug(String.format("Created SR (mount point:%1$s)", d.path)); }
protected void createNfsSr(StorageFilerTO pool) throws XmlRpcException { String mountPoint = String.format("%1$s:%2$s", pool.getHost(), pool.getPath()); OvmStoragePool.Details d = new OvmStoragePool.Details(); d.path = mountPoint; d.type = OvmStoragePool.NFS; d.uuid = pool.getUuid(); OvmStoragePool.create(_conn, d); s_logger.debug(String.format("Created SR (mount point:%1$s)", mountPoint)); }
protected Answer execute(DeleteStoragePoolCommand cmd) { try { OvmStoragePool.delete(_conn, cmd.getPool().getUuid()); } catch (Exception e) { s_logger.debug("Delete storage pool on host " + _ip + " failed, however, we leave to user for cleanup and tell managment server it succeeded", e); } return new Answer(cmd); }
protected CopyVolumeAnswer execute(CopyVolumeCommand cmd) { String volumePath = cmd.getVolumePath(); String secondaryStorageURL = cmd.getSecondaryStorageURL(); int wait = cmd.getWait(); if (wait == 0) { wait = 7200; } try { URI uri = new URI(secondaryStorageURL); String secStorageMountPath = uri.getHost() + ":" + uri.getPath(); String volumeFolderOnSecStorage = "volumes/" + String.valueOf(cmd.getVolumeId()); String storagePoolUuid = cmd.getPool().getUuid(); Boolean toSec = cmd.toSecondaryStorage(); String res = OvmStoragePool.copyVolume(_conn, secStorageMountPath, volumeFolderOnSecStorage, volumePath, storagePoolUuid, toSec, wait); return new CopyVolumeAnswer(cmd, true, null, null, res); } catch (Exception e) { s_logger.debug("Copy volume failed", e); return new CopyVolumeAnswer(cmd, false, e.getMessage(), null, null); } }
protected CreateAnswer execute(CreateCommand cmd) { StorageFilerTO primaryStorage = cmd.getPool(); DiskProfile disk = cmd.getDiskCharacteristics(); try { OvmVolume.Details vol = null; if (cmd.getTemplateUrl() != null) { vol = OvmVolume.createFromTemplate(_conn, primaryStorage.getUuid(), cmd.getTemplateUrl()); } else { vol = OvmVolume.createDataDsik(_conn, primaryStorage.getUuid(), Long.toString(disk.getSize()), disk.getType() == Volume.Type.ROOT); } VolumeTO volume = new VolumeTO(cmd.getVolumeId(), disk.getType(), primaryStorage.getType(), primaryStorage.getUuid(), primaryStorage.getPath(), vol.name, vol.path, vol.size, null); return new CreateAnswer(cmd, volume); } catch (Exception e) { s_logger.debug("CreateCommand failed", e); return new CreateAnswer(cmd, e.getMessage()); } }
/** * Get a host out of a pool/cluster, this should unmount all FSs though. * * @param cmd * @return */ public Answer execute(DeleteStoragePoolCommand cmd) { try { Pool pool = new Pool(c); pool.leaveServerPool(cmd.getPool().getUuid()); /* also connect to the master and update the pool list ? */ } catch (Ovm3ResourceException e) { LOGGER.debug( "Delete storage pool on host " + config.getAgentHostname() + " failed, however, we leave to user for cleanup and tell managment server it succeeded", e); } return new Answer(cmd); }
protected Answer execute(ModifyStoragePoolCommand cmd) { StorageFilerTO pool = cmd.getPool(); try { if (pool.getType() == StoragePoolType.NetworkFilesystem) { createNfsSr(pool); } else if (pool.getType() == StoragePoolType.OCFS2) { createOCFS2Sr(pool); } else { return new Answer(cmd, false, "The pool type: " + pool.getType().name() + " is not supported."); } setupHeartBeat(pool.getUuid()); OvmStoragePool.Details d = OvmStoragePool.getDetailsByUuid(_conn, pool.getUuid()); Map<String, TemplateProp> tInfo = new HashMap<String, TemplateProp>(); ModifyStoragePoolAnswer answer = new ModifyStoragePoolAnswer(cmd, d.totalSpace, d.freeSpace, tInfo); return answer; } catch (Exception e) { s_logger.debug("ModifyStoragePoolCommand failed", e); return new Answer(cmd, false, e.getMessage()); } }
String destPoolUuid = destPoolTO.getUuid();
+ primaryStorage.getUuid() + "/" + fileName; try { StoragePlugin store = new StoragePlugin(c); store.storagePluginCreate(primaryStorage.getUuid(), primaryStorage.getHost(), dst, disk.getSize(), false); primaryStorage.getUuid(), primaryStorage.getHost(), dst); VolumeTO volume = new VolumeTO(cmd.getVolumeId(), disk.getType(), primaryStorage.getType(), primaryStorage.getUuid(), primaryStorage.getPath(), fileName, fp.getName(), fp.getSize(), null);
citrixResourceBase.getNfsSR(conn, Long.toString(pool.getId()), pool.getUuid(), pool.getHost(), pool.getPath(), pool.toString()); } else if (pool.getType() == StoragePoolType.IscsiLUN) { citrixResourceBase.getIscsiSR(conn, pool.getUuid(), pool.getHost(), pool.getPath(), null, null, false); } else if (pool.getType() == StoragePoolType.PreSetup) { } else {
@Override public Answer execute(final DeleteStoragePoolCommand command, final LibvirtComputingResource libvirtComputingResource) { try { // if getRemoveDatastore() is true, then we are dealing with managed storage and can skip the delete logic here if (!command.getRemoveDatastore()) { final StorageFilerTO pool = command.getPool(); final KVMStoragePoolManager storagePoolMgr = libvirtComputingResource.getStoragePoolMgr(); storagePoolMgr.deleteStoragePool(pool.getType(), pool.getUuid()); } return new Answer(command); } catch (final CloudRuntimeException e) { return new Answer(command, false, e.toString()); } } }
sr = citrixResourceBase.getStorageRepository(conn, poolTO.getUuid());
final StorageFilerTO storageFiler = entry.second(); final VolumeTO volume = entry.first(); vdiMap.put(xenServer610Resource.getVDIbyUuid(connection, volume.getPath()), xenServer610Resource.getStorageRepository(connection, storageFiler.getUuid()));
@Override public Answer execute(final CheckVMActivityOnStoragePoolCommand command, final LibvirtComputingResource libvirtComputingResource) { final ExecutorService executors = Executors.newSingleThreadExecutor(); final KVMHAMonitor monitor = libvirtComputingResource.getMonitor(); final StorageFilerTO pool = command.getPool(); if (Storage.StoragePoolType.NetworkFilesystem == pool.getType()){ final NfsStoragePool nfspool = monitor.getStoragePool(pool.getUuid()); final KVMHAVMActivityChecker ha = new KVMHAVMActivityChecker(nfspool, command.getHost().getPrivateNetwork().getIp(), command.getVolumeList(), libvirtComputingResource.getVmActivityCheckPath(), command.getSuspectTimeInSeconds()); final Future<Boolean> future = executors.submit(ha); try { final Boolean result = future.get(); if (result) { return new Answer(command, false, "VMHA disk activity detected ..."); } else { return new Answer(command); } } catch (InterruptedException e) { return new Answer(command, false, "CheckVMActivityOnStoragePoolCommand: can't get status of host: InterruptedException"); } catch (ExecutionException e) { return new Answer(command, false, "CheckVMActivityOnStoragePoolCommand: can't get status of host: ExecutionException"); } } return new Answer(command, false, "Unsupported Storage"); } }
if (add) { try { final String srName = command.getStoragePath() != null ? command.getStoragePath() : pool.getUuid(); final SR sr = citrixResourceBase.getStorageRepository(conn, srName); citrixResourceBase.setupHeartbeatSr(conn, sr, false); final SR sr = citrixResourceBase.getStorageRepository(conn, pool.getUuid()); final String srUuid = sr.getUuid(conn); final String result = citrixResourceBase.callHostPluginPremium(conn, "setup_heartbeat_file", "host", citrixResourceBase.getHost().getUuid(), "sr", srUuid, "add",
@Override public Answer execute(final ModifyStoragePoolCommand command, final LibvirtComputingResource libvirtComputingResource) { final KVMStoragePoolManager storagePoolMgr = libvirtComputingResource.getStoragePoolMgr(); final KVMStoragePool storagepool = storagePoolMgr.createStoragePool(command.getPool().getUuid(), command.getPool().getHost(), command.getPool().getPort(), command.getPool().getPath(), command.getPool() .getUserInfo(), command.getPool().getType()); if (storagepool == null) { return new Answer(command, false, " Failed to create storage pool"); } final Map<String, TemplateProp> tInfo = new HashMap<String, TemplateProp>(); final ModifyStoragePoolAnswer answer = new ModifyStoragePoolAnswer(command, storagepool.getCapacity(), storagepool.getAvailable(), tInfo); return answer; } }
try { final KVMStoragePoolManager storagePoolMgr = libvirtComputingResource.getStoragePoolMgr(); primaryPool = storagePoolMgr.getStoragePool(pool.getType(), pool.getUuid()); disksize = dskch.getSize(); final VolumeTO volume = new VolumeTO(command.getVolumeId(), dskch.getType(), pool.getType(), pool.getUuid(), pool.getPath(), vol.getName(), vol.getName(), disksize, null);