summaryrefslogtreecommitdiffstats
path: root/filter_plugins
diff options
context:
space:
mode:
authorKenny Woodson <kwoodson@redhat.com>2015-11-12 10:37:49 -0500
committerKenny Woodson <kwoodson@redhat.com>2015-11-12 10:37:49 -0500
commit597ba24415d6b7faa7ca02d200c8aed3c08b925a (patch)
treec58b76b1a9b42ee4adba2a07d5917e519fef9691 /filter_plugins
parent4c09c5be50e6361cf472d0703a2cde7924a030ed (diff)
parentd1d0bb94e2d2b12b857c51076b6b429d02f411c5 (diff)
downloadopenshift-597ba24415d6b7faa7ca02d200c8aed3c08b925a.tar.gz
openshift-597ba24415d6b7faa7ca02d200c8aed3c08b925a.tar.bz2
openshift-597ba24415d6b7faa7ca02d200c8aed3c08b925a.tar.xz
openshift-597ba24415d6b7faa7ca02d200c8aed3c08b925a.zip
Merge pull request #875 from kwoodson/itservice
Adding support for zabbix slas.
Diffstat (limited to 'filter_plugins')
-rw-r--r--filter_plugins/oo_zabbix_filters.py51
1 files changed, 51 insertions, 0 deletions
diff --git a/filter_plugins/oo_zabbix_filters.py b/filter_plugins/oo_zabbix_filters.py
index c44b874e8..fcfe43777 100644
--- a/filter_plugins/oo_zabbix_filters.py
+++ b/filter_plugins/oo_zabbix_filters.py
@@ -95,6 +95,54 @@ class FilterModule(object):
return data
+ @staticmethod
+ def itservice_results_builder(data, clusters, keys):
+ '''Take a list of dict results,
+ loop through each results and create a hash
+ of:
+ [{clusterid: cluster1, key: 111 }]
+ '''
+ r_list = []
+ for cluster in clusters:
+ for results in data:
+ if cluster == results['item'][0]:
+ results = results['results']
+ if results and len(results) > 0 and all([results[0].has_key(_key) for _key in keys]):
+ tmp = {}
+ tmp['clusterid'] = cluster
+ for key in keys:
+ tmp[key] = results[0][key]
+ r_list.append(tmp)
+
+ return r_list
+
+ @staticmethod
+ def itservice_dependency_builder(data, cluster):
+ '''Take a list of dict results,
+ loop through each results and create a hash
+ of:
+ [{clusterid: cluster1, key: 111 }]
+ '''
+ r_list = []
+ for dep in data:
+ if cluster == dep['clusterid']:
+ r_list.append({'name': '%s - %s' % (dep['clusterid'], dep['description']), 'dep_type': 'hard'})
+
+ return r_list
+
+ @staticmethod
+ def itservice_dep_builder_list(data):
+ '''Take a list of dict results,
+ loop through each results and create a hash
+ of:
+ [{clusterid: cluster1, key: 111 }]
+ '''
+ r_list = []
+ for dep in data:
+ r_list.append({'name': '%s' % dep, 'dep_type': 'hard'})
+
+ return r_list
+
def filters(self):
''' returns a mapping of filters to methods '''
return {
@@ -105,4 +153,7 @@ class FilterModule(object):
"create_data": self.create_data,
"oo_build_zabbix_collect": self.oo_build_zabbix_collect,
"oo_remove_attr_from_list_dict": self.oo_remove_attr_from_list_dict,
+ "itservice_results_builder": self.itservice_results_builder,
+ "itservice_dependency_builder": self.itservice_dependency_builder,
+ "itservice_dep_builder_list": self.itservice_dep_builder_list,
}