summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2018-02-08 23:48:15 -0800
committerGitHub <noreply@github.com>2018-02-08 23:48:15 -0800
commit15827bd85421fc8fe09487d06efc013292664147 (patch)
tree88d4f4af1fe31ece32efa26aabc36bddfbc9a39b
parent6254ea23dd7167fa4b548cebd87809a47dc5f778 (diff)
parent74730c426025286766971113dd40cc6bf3719267 (diff)
downloadopenshift-15827bd85421fc8fe09487d06efc013292664147.tar.gz
openshift-15827bd85421fc8fe09487d06efc013292664147.tar.bz2
openshift-15827bd85421fc8fe09487d06efc013292664147.tar.xz
openshift-15827bd85421fc8fe09487d06efc013292664147.zip
Merge pull request #7077 from ewolinetz/logging_facts_sane_yaml_parse
Automatic merge from submit-queue. Only try to yaml.load a file if it ends in .yml or .yaml in logging facts Addresses error seen in https://bugzilla.redhat.com/show_bug.cgi?id=1543625 Also prevents us from seeing this when rerunning a deployment for es5.x branch. When we are trying to load a configmap file to parse it for facts based on the values, we should only parse if it is a yaml or yml file. Note: if someone created a configmap entry with key that matched that, but wasn't a yaml file, it would still fail... not sure if that can be helped.
-rw-r--r--roles/openshift_logging/library/openshift_logging_facts.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/roles/openshift_logging/library/openshift_logging_facts.py b/roles/openshift_logging/library/openshift_logging_facts.py
index 37ffb0204..a7f9fdc8e 100644
--- a/roles/openshift_logging/library/openshift_logging_facts.py
+++ b/roles/openshift_logging/library/openshift_logging_facts.py
@@ -208,9 +208,10 @@ class OpenshiftLoggingFacts(OCBaseCommand):
def facts_from_configmap(self, comp, kind, name, config_key, yaml_file=None):
'''Extracts facts in logging namespace from configmap'''
if yaml_file is not None:
- config_facts = yaml.load(yaml_file)
- self.facts[comp][kind][name][config_key] = config_facts
- self.facts[comp][kind][name]["raw"] = yaml_file
+ if config_key.endswith(".yml") or config_key.endswith(".yaml"):
+ config_facts = yaml.load(yaml_file)
+ self.facts[comp][kind][name][config_key] = config_facts
+ self.facts[comp][kind][name][config_key]["raw"] = yaml_file
def facts_for_configmaps(self, namespace):
''' Gathers facts for configmaps in logging namespace '''