summaryrefslogtreecommitdiffstats
path: root/roles/openshift_logging/filter_plugins/openshift_logging.py
blob: b42d5da5f15d4dc27a1401302280a8d1e526cea4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import random, string
import shutil
import sys
import StringIO

def random_word(source_alpha,length):
    return ''.join(random.choice(source_alpha) for i in range(length))

def entry_from_named_pair(register_pairs, key):
    from ansible.utils.display import Display
    results = register_pairs.get("results")
    if results == None:
        raise RuntimeError("The dict argument does not have a 'results' entry.  Must not have been created using 'register' in a loop")
    for result in results:
        item = result.get("item")
        if item != None:
            name = item.get("name") 
            if name == key:
                return result["content"]
    raise RuntimeError("There was no entry found in the dict that had an item with a name that matched {}".format(key))

class FilterModule(object):
    ''' OpenShift Logging Filters '''

    def filters(self):
        return {
            'random_word': random_word,
            'entry_from_named_pair': entry_from_named_pair,
        }