Browse Source

Pop etcd_port from local_facts file

Some variables are hanging around in openshift.facts
fact file on hosts that shouldn't be.

This causes old versions of defaults to take precedence
over new default values in openshift_facts.

This commit pops master.etcd_port from the facts being
saved to disk.  This allows the correct default port
for etcd to take effect.

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1546365
Michael Gugino 7 years ago
parent
commit
a255b3976b
1 changed files with 12 additions and 0 deletions
  1. 12 0
      roles/openshift_facts/library/openshift_facts.py

+ 12 - 0
roles/openshift_facts/library/openshift_facts.py

@@ -1066,6 +1066,17 @@ def set_container_facts_if_unset(facts):
     return facts
 
 
+def pop_obsolete_local_facts(local_facts):
+    """Remove unused keys from local_facts"""
+    keys_to_remove = {
+        'master': ('etcd_port',)
+    }
+    for role in keys_to_remove:
+        if role in local_facts:
+            for key in keys_to_remove[role]:
+                local_facts[role].pop(key, None)
+
+
 class OpenShiftFactsInternalError(Exception):
     """Origin Facts Error"""
     pass
@@ -1330,6 +1341,7 @@ class OpenShiftFacts(object):
                                       additive_facts_to_overwrite)
 
         new_local_facts = self.remove_empty_facts(new_local_facts)
+        pop_obsolete_local_facts(new_local_facts)
 
         if new_local_facts != local_facts:
             self.validate_local_facts(new_local_facts)