Esempio n. 1
0
def attach_volume_task(core_identity, driver, instance_id, volume_id, device_location=None,
                       mount_location=None, *args, **kwargs):
    """
    Attach (And mount, if possible) volume to instance
    device_location and mount_location assumed if empty
    """
    logger.info("Attach: %s --> %s" % (volume_id, instance_id))
    logger.info("device_location:%s, mount_location: %s"
                % (device_location, mount_location))
    try:
        attach_volume = attach_task.si(
            driver.__class__, driver.provider, driver.identity,
            instance_id, volume_id, device_location)
        if not hasattr(driver, 'deploy_to'):
            # Do not attempt to mount if we don't have sh access
            attach_volume.apply_async()
            # No mount location, return None
            return None
        mount_chain = _get_mount_chain(core_identity, driver, instance_id, volume_id,
                                       device_location, mount_location)
        attach_volume.link(mount_chain)
        attach_volume.apply_async()
    except Exception as e:
        raise VolumeMountConflict(instance_id, volume_id)
    return mount_location
def attach_volume(
    core_identity,
    driver,
    instance_id,
    volume_id,
    device_location=None,
    mount_location=None,
    *args,
    **kwargs
):
    """
    Attach (And mount, if possible) volume to instance
    device_location and mount_location assumed if empty
    """
    logger.info("Attach: %s --> %s" % (volume_id, instance_id))
    logger.info(
        "device_location:%s, mount_location: %s" %
        (device_location, mount_location)
    )
    try:
        init_task = attach_task.si(
            driver.__class__, driver.provider, driver.identity, instance_id,
            volume_id, device_location
        )
        mount_chain = _get_mount_chain(
            core_identity, driver, instance_id, volume_id, device_location,
            mount_location
        )
        init_task.link(mount_chain)
        print_task_chain(init_task)
        init_task.apply_async()
    except Exception:
        raise VolumeMountConflict(instance_id, volume_id)
    return mount_location
def attach_volume_task(driver, instance_id, volume_id, device=None,
                       mount_location=None, *args, **kwargs):
    """
    Attach (And mount, if possible) volume to instance
    Device and mount_location assumed if empty
    """
    logger.info("Attach: %s --> %s" % (volume_id, instance_id))
    logger.info("device_location:%s, mount_location: %s"
                % (device, mount_location))
    try:
        attach_volume = attach_task.si(
            driver.__class__, driver.provider, driver.identity,
            instance_id, volume_id, device)
        if not hasattr(driver, 'deploy_to'):
            # Do not attempt to mount if we don't have sh access
            attach_volume.apply_async()
            # No mount location, return None
            return None
        mount_chain = _get_mount_chain(driver, instance_id, volume_id,
                                       device, mount_location)
        attach_volume.link(mount_chain)
        attach_volume.apply_async()
    except Exception as e:
        raise VolumeMountConflict(instance_id, volume_id)
    return mount_location
Esempio n. 4
0
def attach_volume(core_identity,
                  driver,
                  instance_id,
                  volume_id,
                  device_location=None,
                  mount_location=None,
                  *args,
                  **kwargs):
    """
    Attach (And mount, if possible) volume to instance
    device_location and mount_location assumed if empty
    """
    logger.info("Attach: %s --> %s" % (volume_id, instance_id))
    logger.info("device_location:%s, mount_location: %s" %
                (device_location, mount_location))
    try:
        init_task = attach_task.si(driver.__class__, driver.provider,
                                   driver.identity, instance_id, volume_id,
                                   device_location)
        mount_chain = _get_mount_chain(core_identity, driver, instance_id,
                                       volume_id, device_location,
                                       mount_location)
        init_task.link(mount_chain)
        print_task_chain(init_task)
        init_task.apply_async()
    except Exception as e:
        raise VolumeMountConflict(instance_id, volume_id)
    return mount_location