Example #1
0
def post():
    cinder = commons.cinder_client(request.args.get('key'))
    volume = cinder.volumes.create(
        name=request.json['name'],
        size=int(request.json['size']),
        availability_zone=request.json['availability_zone'])
    return jsonify({'id': volume.id})
Example #2
0
def detach(id):
    cinder = commons.cinder_client(request.args.get('key'))
    volumes = cinder.volumes.list(search_opts={'id': id})
    if not volumes or not len(volumes):
        return errors.http_notfound()
    volume = volumes[0]
    cinder.volumes.detach(volume)
    return jsonify(success=True)
Example #3
0
def get_by_id(id):
    cinder = commons.cinder_client(request.args.get('key'))
    volumes = cinder.volumes.list(search_opts={'id': id})
    if volumes and len(volumes):
        print(dir(volumes[0]))
        print(volumes[0].attachments)
        return jsonify(mappers.volume_to_view(volumes[0])), 201
    else:
        return errors.http_notfound()
Example #4
0
def get():
    cinder = commons.cinder_client(request.args.get('key'))
    name = request.args.get('name')
    search_opts = {}
    if name:
        search_opts['name'] = name
    volumes = cinder.volumes.list(search_opts=search_opts)
    return jsonify(
        list(map(lambda volume: mappers.volume_to_view(volume), volumes))), 201
Example #5
0
def attach(id):
    cinder = commons.cinder_client(request.args.get('key'))
    volumes = cinder.volumes.list(search_opts={'id': id})
    if not volumes or not len(volumes):
        return errors.http_notfound()
    volume = volumes[0]
    cinder.volumes.attach(volume,
                          request.json['server'],
                          mountpoint=request.json['mountpoint'])
    return jsonify(success=True)
Example #6
0
def delete(id):
    cinder = commons.cinder_client(request.args.get('key'))
    volumes = cinder.volumes.list(search_opts={'id': id})
    cinder.volumes.delete(volumes[0])
    return jsonify(success=True)