From cc33a9c8c02fec664676bf1413da285caa0c6217 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Diemer?= <stephane.diemer@ubicast.eu>
Date: Thu, 23 Feb 2017 08:55:32 +0100
Subject: [PATCH] Changed DNS test.

---
 tests/test_dns_records.py | 65 +++++++++++++++++++++------------------
 1 file changed, 35 insertions(+), 30 deletions(-)

diff --git a/tests/test_dns_records.py b/tests/test_dns_records.py
index cae918dd..5cdf89c3 100755
--- a/tests/test_dns_records.py
+++ b/tests/test_dns_records.py
@@ -53,39 +53,44 @@ def check_dns(hostname, expected_ip):
 
 
 os.chdir(os.path.dirname(__file__))
-if os.path.isfile('../utils.py'):
-    all_ok = True
-    es_utils = imp.load_source('es_utils', '../utils.py')
-    conf = es_utils.load_conf()
-
-    ip = conf.get('NETWORK_IP_NAT')
-    if not ip or ip == '0':
-        ip = conf.get('NETWORK_IP')
-
-    conf_resolvers_keys = (
-        'NETWORK_DNS1',
-        'NETWORK_DNS2',
-    )
-    for conf_resolver_key in conf_resolvers_keys:
-        conf_resolver = conf.get(conf_resolver_key)
-        if conf_resolver and conf_resolver != '0' and conf_resolver not in resolvers:
-            print('Resolver %s not configured on the system' % conf_resolver)
-            all_ok = False
-     
-    conf_servers = (
-        'MS_SERVER_NAME',
-        'MONITOR_SERVER_NAME',
-        'CM_SERVER_NAME',
-    )
-    for s in conf_servers:
-        hostname = conf.get(s)
-        ok = check_dns(hostname, ip)
-        if not ok:
-            all_ok = False
-else:
+if not os.path.isfile('../utils.py'):
     print('conf.sh not found')
     sys.exit(1)
 
+es_utils = imp.load_source('es_utils', '../utils.py')
+conf = es_utils.load_conf()
+
+all_ok = True
+conf_resolvers_keys = (
+    'NETWORK_DNS1',
+    'NETWORK_DNS2',
+)
+for conf_resolver_key in conf_resolvers_keys:
+    conf_resolver = conf.get(conf_resolver_key)
+    if conf_resolver and conf_resolver != '0' and conf_resolver not in resolvers:
+        print('Resolver %s not configured on the system' % conf_resolver)
+        all_ok = False
+
+ip = conf.get('NETWORK_IP_NAT')
+if not ip or ip == '0':
+    ip = conf.get('NETWORK_IP')
+if not ip or ip == '0':
+    if not all_ok:
+        sys.exit(1)
+    # cannot test resolution IP
+    sys.exit(2)
+
+conf_servers = (
+    'MS_SERVER_NAME',
+    'MONITOR_SERVER_NAME',
+    'CM_SERVER_NAME',
+)
+for s in conf_servers:
+    hostname = conf.get(s)
+    ok = check_dns(hostname, ip)
+    if not ok:
+        all_ok = False
+
 if not all_ok:
     sys.exit(1)
 else:
-- 
GitLab