Exemple #1
0
def post():
    nova = commons.nova_client(request.args.get('key'))
    server = nova.servers.create(name=request.json['name'],
                                 flavor=request.json['flavor'],
                                 image=request.json['image'],
                                 network=request.json['network'])
    return jsonify({'id': server.id})
Exemple #2
0
def post():
    nova = commons.nova_client(request.args.get('key'))
    flavor = nova.flavors.create(name=request.json['name'],
                                 ram=request.json['ram'],
                                 vcpus=request.json['vcpus'],
                                 disk=request.json['disk'])
    return jsonify({'id': flavor.id}), 201
Exemple #3
0
def get_by_id(id):
    nova = commons.nova_client(request.args.get('key'))
    servers = nova.servers.list(search_opts={'id': id})
    if servers and len(servers):
        return mappers.server_to_view(servers[0]), 201
    else:
        return errors.http_notfound()
Exemple #4
0
def shelve(id):
    nova = commons.nova_client(request.args.get('key'))
    server = nova.servers.find(id=id)
    if server:
        server.shelve()
        return jsonify(success=True)
    else:
        return errors.http_notfound()
Exemple #5
0
def migrate_hosts(id):
    nova = commons.nova_client(request.args.get('key'))
    hypervisors = nova.hypervisors.list()
    hosts = list(map(lambda h: h.service['host'], hypervisors))
    server = nova.servers.find(id=id)
    server_view = mappers.server_to_view(server)
    hosts = [h for h in hosts if h != server_view['host']]
    return jsonify(list(hosts))
Exemple #6
0
def get():
    nova = commons.nova_client(request.args.get('key'))
    name = request.args.get('name')
    if name:
        flavors = nova.flavors.findall(name=name)
    else:
        flavors = nova.flavors.list()
    return jsonify(
        list(map(lambda flavor: mappers.flavor_to_view(flavor), flavors))), 201
Exemple #7
0
def get_diagnostics_by_id(id):
    nova = commons.nova_client(request.args.get('key'))
    servers = nova.servers.list(search_opts={'id': id})
    if servers and len(servers):
        server = servers[0]
        response, diagnostics = server.diagnostics()
        return jsonify(diagnostics)
    else:
        return errors.http_notfound()
Exemple #8
0
def resize_confirm(id):
    nova = commons.nova_client(request.args.get('key'))
    server = nova.servers.find(id=id)
    action = request.args.get('action')
    if action == 'revert':
        server.revert_resize()
    else:
        server.confirm_resize()
    return jsonify(success=True)
Exemple #9
0
def get():
    search_opts = {}
    name = request.args.get('name')
    if name:
        search_opts['name'] = name
    nova = commons.nova_client(request.args.get('key'))
    servers = nova.servers.list(search_opts=search_opts)
    servers_list = list(map(lambda server: mappers.server_to_view(server), servers))
    servers_list = sorted(servers_list, key=lambda server: commons.str_to_date(server['created']), reverse=True)
    return jsonify(servers_list), 201
Exemple #10
0
def delete(id):
    nova = commons.nova_client(request.args.get('key'))
    flavor = nova.flavors.find(id=id)
    nova.flavors.delete(flavor)
    return jsonify(success=True)
Exemple #11
0
def get_by_id(id):
    nova = commons.nova_client(request.args.get('key'))
    flavor = nova.flavors.find(id=id)
    if not flavor:
        return errors.http_notfound()
    return jsonify(mappers.flavor_to_view(flavor)), 201
Exemple #12
0
def unshelve(id):
    nova = commons.nova_client(request.args.get('key'))
    nova.servers.unshelve(id)
    return jsonify(success=True)
Exemple #13
0
def live_migrate(id):
    nova = commons.nova_client(request.args.get('key'))
    server = nova.servers.find(id=id)
    host = request.args.get('host')
    nova.servers.live_migrate(server=server, host=host, block_migration=False, disk_over_commit=False)
    return jsonify(success=True)
Exemple #14
0
def migrate(id):
    nova = commons.nova_client(request.args.get('key'))
    server = nova.servers.find(id=id)
    nova.servers.migrate(server)
    return jsonify(success=True)
Exemple #15
0
def resize(id):
    nova = commons.nova_client(request.args.get('key'))
    server = nova.servers.find(id=id)
    server.resize(flavor=request.json['id'])
    return jsonify(success=True)
Exemple #16
0
def resume(id):
    nova = commons.nova_client(request.args.get('key'))
    server = nova.servers.find(id=id)
    server.resume()
    return jsonify(success=True)