From af00d5a8b0b19841f68da710e68d3e0b79d35319 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Diemer?= <stephane.diemer@ubicast.eu> Date: Wed, 25 Jul 2018 16:26:13 +0200 Subject: [PATCH] Do not test DNS of non installed services (refs #24569). --- tests/test_dns_records.py | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/tests/test_dns_records.py b/tests/test_dns_records.py index b55cc119..c24ec9da 100755 --- a/tests/test_dns_records.py +++ b/tests/test_dns_records.py @@ -85,24 +85,24 @@ if not ip or ip == '0': print('No IP set in configuration file, unable to test DNS.') sys.exit(2) -conf_servers = ( - 'MS_SERVER_NAME', - 'MONITOR_SERVER_NAME', - 'CM_SERVER_NAME', +services_info = ( + ('MS_SERVER_NAME', 'mediaserver', 'python3-mediaserver'), + ('MONITOR_SERVER_NAME', 'monitor', 'python3-mediaserver-monitor'), + ('CM_SERVER_NAME', 'campusmanager', 'campus-manager'), ) -conf_server_defaults = ( - 'mediaserver', - 'monitor', - 'campusmanager', -) - -for s in conf_servers: - hostname = conf.get(s) - if hostname not in conf_server_defaults: - ok = check_dns(hostname, ip) - if not ok: - all_ok = False +for conf_name, default_domain, package in services_info: + domain = conf.get(conf_name) + if domain and domain != default_domain: + # check that the service is installed on this system + status, output = subprocess.getstatusoutput('dpkg -s %s' % package) + if status == 0: + print('Checking IP of "%s".' % domain) + ok = check_dns(domain, ip) + if not ok: + all_ok = False + else: + print('Package %s is not installed, IP of "%s" will not be checked.' % (package, domain)) if not all_ok: sys.exit(1) -- GitLab