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})
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
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()
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()
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))
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
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()
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)
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
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)
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
def unshelve(id): nova = commons.nova_client(request.args.get('key')) nova.servers.unshelve(id) return jsonify(success=True)
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)
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)
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)
def resume(id): nova = commons.nova_client(request.args.get('key')) server = nova.servers.find(id=id) server.resume() return jsonify(success=True)