summaryrefslogtreecommitdiffstats
path: root/roles/openshift_logging/filter_plugins/openshift_logging.py
diff options
context:
space:
mode:
authorJeff Cantrill <jcantril@redhat.com>2017-10-13 17:13:54 -0400
committerJeff Cantrill <jcantril@redhat.com>2017-10-17 14:53:52 -0400
commit46551d58d286fe18bb5637be2b9a21a928f05632 (patch)
treea35e997074e2901742c51b9ff211e448f62300a7 /roles/openshift_logging/filter_plugins/openshift_logging.py
parent48126155eade2d030398f69dc5ee32838ec08480 (diff)
downloadopenshift-46551d58d286fe18bb5637be2b9a21a928f05632.tar.gz
openshift-46551d58d286fe18bb5637be2b9a21a928f05632.tar.bz2
openshift-46551d58d286fe18bb5637be2b9a21a928f05632.tar.xz
openshift-46551d58d286fe18bb5637be2b9a21a928f05632.zip
bug 1489498. preserve replica and shard settings
Diffstat (limited to 'roles/openshift_logging/filter_plugins/openshift_logging.py')
-rw-r--r--roles/openshift_logging/filter_plugins/openshift_logging.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/roles/openshift_logging/filter_plugins/openshift_logging.py b/roles/openshift_logging/filter_plugins/openshift_logging.py
index 330e7e59a..959573635 100644
--- a/roles/openshift_logging/filter_plugins/openshift_logging.py
+++ b/roles/openshift_logging/filter_plugins/openshift_logging.py
@@ -17,6 +17,22 @@ def es_storage(os_logging_facts, dc_name, pvc_claim, root='elasticsearch'):
return dict(kind='emptydir')
+def walk(source, path, default, delimiter='.'):
+ '''Walk the sourch hash given the path and return the value or default if not found'''
+ if not isinstance(source, dict):
+ raise RuntimeError('The source is not a walkable dict: {} path: {}'.format(source, path))
+ keys = path.split(delimiter)
+ max_depth = len(keys)
+ cur_depth = 0
+ while cur_depth < max_depth:
+ if keys[cur_depth] in source:
+ source = source[keys[cur_depth]]
+ cur_depth = cur_depth + 1
+ else:
+ return default
+ return source
+
+
def random_word(source_alpha, length):
''' Returns a random word given the source of characters to pick from and resulting length '''
return ''.join(random.choice(source_alpha) for i in range(length))
@@ -73,5 +89,6 @@ class FilterModule(object):
'map_from_pairs': map_from_pairs,
'es_storage': es_storage,
'serviceaccount_name': serviceaccount_name,
- 'serviceaccount_namespace': serviceaccount_namespace
+ 'serviceaccount_namespace': serviceaccount_namespace,
+ 'walk': walk
}