From ac988bd44a8b1bc9feb815392aaaac1210f515e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florent=20Thi=C3=A9ry?= <florent.thiery@ubicast.eu> Date: Wed, 15 Mar 2017 15:58:44 +0100 Subject: [PATCH] check mediaworker ip is in nginx whitelist, fixes #20809 --- tests/test_mediaworker.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tests/test_mediaworker.py b/tests/test_mediaworker.py index 320d1ef9..72ebde0c 100755 --- a/tests/test_mediaworker.py +++ b/tests/test_mediaworker.py @@ -74,6 +74,18 @@ def check_celerity_connectivity(ip): print('%sFailed to reach tasks server from MediaWorker "%s".%s' % (RED, ip, DEF)) return False +def check_mediaworker_in_whitelist(ip): + nginx_vhosts_path = '/etc/nginx/sites-enabled' + vhosts = os.listdir(nginx_vhosts_path) + for v in vhosts: + if v.endswith('.conf'): + with f as open(os.path.join(nginx_vhosts_path, v), 'r'): + d = f.read() + if 'msuser_whitelist' in d: + if not ip in d: + print('MediaWorker ip is not in %s whitelist' % v) + return False + return True all_ok = True tested = False @@ -90,6 +102,8 @@ for worker_ip in worker_ips.split(','): all_ok = False #if not run_tests(worker_ip): # all_ok = False + if not check_mediaworker_in_whitelist(worker_ip): + all_ok = False if not tested: print('Celerity IP not set or running locally, skipping test.') sys.exit(2) -- GitLab