Ejemplo n.º 1
0
 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)
Ejemplo n.º 2
0
 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))
Ejemplo n.º 3
0
 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))
Ejemplo n.º 4
0
 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])
Ejemplo n.º 5
0
 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)