Forráskód Böngészése

Fix openshift_generate_no_proxy_hosts boolean

Fixing this also made it obvious that we weren't adding even the current host's
name to the no_proxy list. This is absolutely necessary or the master won't be
able to reach etcd. So even if they request not to have the list of all hosts
and cluster dns zone added we should add the current host's hostname to the
no_proxy list.
Scott Dodson 9 éve
szülő
commit
83f9edc249
1 módosított fájl, 11 hozzáadás és 10 törlés
  1. 11 10
      roles/openshift_facts/library/openshift_facts.py

+ 11 - 10
roles/openshift_facts/library/openshift_facts.py

@@ -499,12 +499,12 @@ def set_dnsmasq_facts_if_unset(facts):
     """
 
     if 'common' in facts:
-        if 'use_dnsmasq' not in facts['common'] and facts['common']['version_gte_3_2_or_1_2']:
+        if 'use_dnsmasq' not in facts['common'] and safe_get_bool(facts['common']['version_gte_3_2_or_1_2']):
             facts['common']['use_dnsmasq'] = True
         else:
             facts['common']['use_dnsmasq'] = False
         if 'master' in facts and 'dns_port' not in facts['master']:
-            if facts['common']['use_dnsmasq']:
+            if safe_get_bool(facts['common']['use_dnsmasq']):
                 facts['master']['dns_port'] = 8053
             else:
                 facts['master']['dns_port'] = 53
@@ -1369,18 +1369,19 @@ def set_proxy_facts(facts):
     if 'common' in facts:
         common = facts['common']
         if 'http_proxy' in common or 'https_proxy' in common:
+            if 'no_proxy' in common and \
+                isinstance(common['no_proxy'], basestring):
+                common['no_proxy'] = common['no_proxy'].split(",")
+            elif 'no_proxy' not in common:
+                common['no_proxy'] = []
             if 'generate_no_proxy_hosts' in common and \
-                    common['generate_no_proxy_hosts']:
-                if 'no_proxy' in common and \
-                    isinstance(common['no_proxy'], basestring):
-                    common['no_proxy'] = common['no_proxy'].split(",")
-                else:
-                    common['no_proxy'] = []
+                safe_get_bool(common['generate_no_proxy_hosts']):
                 if 'no_proxy_internal_hostnames' in common:
                     common['no_proxy'].extend(common['no_proxy_internal_hostnames'].split(','))
                 common['no_proxy'].append('.' + common['dns_domain'])
-                common['no_proxy'].append(common['hostname'])
-                common['no_proxy'] = sort_unique(common['no_proxy'])
+            # We always add ourselves no matter what
+            common['no_proxy'].append(common['hostname'])
+            common['no_proxy'] = sort_unique(common['no_proxy'])
         facts['common'] = common
 
     if 'builddefaults' in facts: