From e47c2b40e71a545ede1c7c4d05387a15ad00fc72 Mon Sep 17 00:00:00 2001 From: Kerim Gokarslan Date: Thu, 31 Aug 2017 15:03:42 -0700 Subject: [PATCH] NFVBENCH-15 REST server stays busy after invalid run request without body Change-Id: Ic0a69aaf8ed013b2e43e1fbd9dceb8f66d56f7ff Signed-off-by: Kerim Gokarslan --- nfvbench/nfvbenchd.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/nfvbench/nfvbenchd.py b/nfvbench/nfvbenchd.py index 4bbd69d..3534950 100644 --- a/nfvbench/nfvbenchd.py +++ b/nfvbench/nfvbenchd.py @@ -135,6 +135,7 @@ def setup_flask(root_path): app.root_path = root_path socketio = SocketIO(app, async_mode='threading') busy_json = result_json(STATUS_ERROR, 'there is already an NFVbench request running') + config_is_null_json = result_json(STATUS_ERROR, 'configuration is missing') not_busy_json = result_json(STATUS_ERROR, 'no pending NFVbench run') not_found_msg = 'results not found' pending_msg = 'NFVbench run still pending' @@ -166,12 +167,15 @@ def setup_flask(root_path): @app.route('/start_run', methods=['POST']) def start_run(): config = load_json(request.json) - if Ctx.is_busy(): - return jsonify(busy_json) + if config: + if Ctx.is_busy(): + return jsonify(busy_json) + else: + request_id = get_uuid() + Ctx.enqueue(config, request_id) + return jsonify(result_json(STATUS_PENDING, pending_msg, request_id)) else: - request_id = get_uuid() - Ctx.enqueue(config, request_id) - return jsonify(result_json(STATUS_PENDING, pending_msg, request_id)) + return jsonify(config_is_null_json) @app.route('/status', defaults={'request_id': None}, methods=['GET']) @app.route('/status/', methods=['GET']) -- 2.16.6