Change-Id: I232e529cd0b35614c697e9c41d12b9b62955a87a
Signed-off-by: peusterm <manuel.peuster@uni-paderborn.de>
def _api_server_thread(self):
llcm.start_rest_api(self.ip, self.port, self.dcs)
def _api_server_thread(self):
llcm.start_rest_api(self.ip, self.port, self.dcs)
+
+ def stop(self):
+ llcm.stop_rest_api()
from docker import DockerClient
from flask import Flask, request
import flask_restful as fr
from docker import DockerClient
from flask import Flask, request
import flask_restful as fr
+from gevent.pywsgi import WSGIServer
from subprocess import Popen
import ipaddress
import copy
from subprocess import Popen
import ipaddress
import copy
GK = None
initialize_GK()
# setup Flask
GK = None
initialize_GK()
# setup Flask
app = Flask(__name__)
app.config['MAX_CONTENT_LENGTH'] = 512 * 1024 * 1024 # 512 MB max upload
api = fr.Api(app)
app = Flask(__name__)
app.config['MAX_CONTENT_LENGTH'] = 512 * 1024 * 1024 # 512 MB max upload
api = fr.Api(app)
def start_rest_api(host, port, datacenters=dict()):
def start_rest_api(host, port, datacenters=dict()):
GK.dcs = datacenters
GK.net = get_dc_network()
# start the Flask server (not the best performance but ok for our use case)
GK.dcs = datacenters
GK.net = get_dc_network()
# start the Flask server (not the best performance but ok for our use case)
- app.run(host=host,
- port=port,
- debug=True,
- use_reloader=False # this is needed to run Flask in a non-main thread
- )
+ # app.run(host=host,
+ # port=port,
+ # debug=True,
+ # use_reloader=False # this is needed to run Flask in a non-main thread
+ # )
+ http_server = WSGIServer((host, port), app, log=open("/dev/null", "w"))
+ http_server.serve_forever()
+
+
+def stop_rest_api():
+ if http_server:
+ http_server.close()