コード例 #1
0
def generate_csi_create_volume_response(new_vol):
    logger.debug("creating volume response for vol : {0}".format(new_vol))

    vol_context = {
        "volume_name":
        new_vol.volume_name,
        "array_address":
        ",".join(new_vol.array_address if isinstance(
            new_vol.array_address, list) else [new_vol.array_address]),
        "pool_name":
        new_vol.pool_name,
        "storage_type":
        new_vol.array_type
    }
    content_source = None
    if new_vol.copy_src_object_id:
        snapshot_source = csi_pb2.VolumeContentSource.SnapshotSource(
            snapshot_id=new_vol.copy_src_object_id)
        content_source = csi_pb2.VolumeContentSource(snapshot=snapshot_source)

    res = csi_pb2.CreateVolumeResponse(
        volume=csi_pb2.Volume(capacity_bytes=new_vol.capacity_bytes,
                              volume_id=get_vol_id(new_vol),
                              content_source=content_source,
                              volume_context=vol_context))

    logger.debug("finished creating volume response : {0}".format(res))
    return res
コード例 #2
0
def generate_csi_create_volume_response(new_volume, system_id=None, source_type=None):
    logger.debug("creating volume response for volume : {0}".format(new_volume))

    volume_context = {"volume_name": new_volume.name,
                      "array_address": ",".join(
                          new_volume.array_address if isinstance(new_volume.array_address, list) else [
                              new_volume.array_address]),
                      "pool_name": new_volume.pool,
                      "storage_type": new_volume.array_type
                      }
    content_source = None
    if new_volume.copy_source_id:
        if source_type == config.SNAPSHOT_TYPE_NAME:
            snapshot_source = csi_pb2.VolumeContentSource.SnapshotSource(snapshot_id=new_volume.copy_source_id)
            content_source = csi_pb2.VolumeContentSource(snapshot=snapshot_source)
        else:
            volume_source = csi_pb2.VolumeContentSource.VolumeSource(volume_id=new_volume.copy_source_id)
            content_source = csi_pb2.VolumeContentSource(volume=volume_source)

    res = csi_pb2.CreateVolumeResponse(volume=csi_pb2.Volume(
        capacity_bytes=new_volume.capacity_bytes,
        volume_id=get_volume_id(new_volume, system_id),
        content_source=content_source,
        volume_context=volume_context))

    logger.debug("finished creating volume response : {0}".format(res))
    return res
コード例 #3
0
def generate_csi_create_volume_response(new_volume,
                                        system_id=None,
                                        source_type=None):
    logger.debug(
        "creating create volume response for volume : {0}".format(new_volume))

    volume_context = _get_context_from_volume(new_volume)

    content_source = None
    if new_volume.copy_source_id:
        if source_type == config.SNAPSHOT_TYPE_NAME:
            snapshot_source = csi_pb2.VolumeContentSource.SnapshotSource(
                snapshot_id=new_volume.copy_source_id)
            content_source = csi_pb2.VolumeContentSource(
                snapshot=snapshot_source)
        else:
            volume_source = csi_pb2.VolumeContentSource.VolumeSource(
                volume_id=new_volume.copy_source_id)
            content_source = csi_pb2.VolumeContentSource(volume=volume_source)

    res = csi_pb2.CreateVolumeResponse(
        volume=csi_pb2.Volume(capacity_bytes=new_volume.capacity_bytes,
                              volume_id=get_volume_id(new_volume, system_id),
                              content_source=content_source,
                              volume_context=volume_context))

    logger.debug("finished creating volume response : {0}".format(res))
    return res
コード例 #4
0
def generate_csi_create_volume_response(new_vol):
    logger.debug("creating volume response for vol : {0}".format(new_vol))

    vol_context = {"volume_name": new_vol.volume_name,
                   "array_address": ",".join(new_vol.array_address if isinstance(new_vol.array_address, list) else [new_vol.array_address]),
                   "pool_name": new_vol.pool_name,
                   "storage_type": new_vol.array_type
                   }

    res = csi_pb2.CreateVolumeResponse(volume=csi_pb2.Volume(
        capacity_bytes=new_vol.capacity_bytes,
        volume_id=get_vol_id(new_vol),
        volume_context=vol_context))

    logger.debug("finished creating volume response : {0}".format(res))
    return res