def shrink_vpool(storage_driver): """ Remove a Storage Driver from a vPool :param storage_driver: Storage Driver to remove from the vPool :return: None """ vpool = storage_driver.vpool if GeneralHypervisor.get_hypervisor_type() == "VMWARE": root_client = SSHClient(storage_driver.storagerouter, username="******") if storage_driver.mountpoint in General.get_mountpoints(root_client): root_client.run(["umount", "storage_driver.mountpoint"]) task_result = GeneralVPool.api.execute_post_action( component="vpools", guid=vpool.guid, action="shrink_vpool", data={"storagerouter_guid": storage_driver.storagerouter.guid}, wait=True, timeout=GeneralVPool.TIMEOUT_ADD_VPOOL, ) if task_result[0] is not True: raise RuntimeError( "Storage Driver with ID {0} was not successfully removed from vPool {1}".format( storage_driver.storagedriver_id, vpool.name ), task_result, ) return GeneralVPool.get_vpool_by_name(vpool_name=vpool.name)
def unmount_vpool(vpool, root_client): """ Umount the vPool :param vpool: vPool to umount :param root_client: SSHClient object :return: None """ mountpoint = '/mnt/{0}'.format(vpool.name) if mountpoint in General.get_mountpoints(root_client): root_client.run('umount {0}'.format(mountpoint))
def mount_vpool(vpool, root_client): """ Mount the vPool locally :param vpool: vPool to mount locally :param root_client: SSHClient object :return: None """ mountpoint = '/mnt/{0}'.format(vpool.name) if mountpoint not in General.get_mountpoints(root_client): root_client.run('mount 127.0.0.1:{0} {0}'.format(mountpoint))
def mount_vpool(vpool, root_client): """ Mount the vPool locally :param vpool: vPool to mount locally :param root_client: SSHClient object :return: None """ mountpoint = "/mnt/{0}".format(vpool.name) if mountpoint not in General.get_mountpoints(root_client): root_client.run(["mount", "127.0.0.1:" + mountpoint, mountpoint])
def shrink_vpool(storage_driver): """ Remove a Storage Driver from a vPool :param storage_driver: Storage Driver to remove from the vPool :return: None """ vpool = storage_driver.vpool if storage_driver.storagerouter.pmachine.hvtype == 'VMWARE': root_client = SSHClient(storage_driver.storagerouter, username='******') if storage_driver.mountpoint in General.get_mountpoints(root_client): root_client.run('umount {0}'.format(storage_driver.mountpoint)) task_result = GeneralVPool.api.execute_post_action(component='vpools', guid=vpool.guid, action='shrink_vpool', data={'storagerouter_guid': storage_driver.storagerouter.guid}, wait=True, timeout=500) if task_result[0] is not True: raise RuntimeError('Storage Driver with ID {0} was not successfully removed from vPool {1}'.format(storage_driver.storagedriver_id, vpool.name)) return GeneralVPool.get_vpool_by_name(vpool_name=vpool.name)