From 035b498f37cdb5947d3d7c9254c23a20ca77eddd Mon Sep 17 00:00:00 2001
From: Kenny Woodson <kwoodson@redhat.com>
Date: Wed, 1 Apr 2015 12:42:03 -0400
Subject: Adding the zabbix module along with a generic playbook to fetch
 current problem triggers. Also added oo_flatten to filters for arrays of
 arrays.

---
 playbooks/adhoc/noc/filter_plugins          |  1 +
 playbooks/adhoc/noc/get_zabbix_problems.yml | 39 +++++++++++++++++++++++++++++
 playbooks/adhoc/noc/library                 |  1 +
 3 files changed, 41 insertions(+)
 create mode 120000 playbooks/adhoc/noc/filter_plugins
 create mode 100644 playbooks/adhoc/noc/get_zabbix_problems.yml
 create mode 120000 playbooks/adhoc/noc/library

(limited to 'playbooks/adhoc/noc')

diff --git a/playbooks/adhoc/noc/filter_plugins b/playbooks/adhoc/noc/filter_plugins
new file mode 120000
index 000000000..99a95e4ca
--- /dev/null
+++ b/playbooks/adhoc/noc/filter_plugins
@@ -0,0 +1 @@
+../../../filter_plugins
\ No newline at end of file
diff --git a/playbooks/adhoc/noc/get_zabbix_problems.yml b/playbooks/adhoc/noc/get_zabbix_problems.yml
new file mode 100644
index 000000000..6ac5cdcf7
--- /dev/null
+++ b/playbooks/adhoc/noc/get_zabbix_problems.yml
@@ -0,0 +1,39 @@
+---
+- name: 'Get current hosts who have triggers that are alerting by trigger description'
+  hosts: localhost
+  gather_facts: no
+  tasks:
+    - assert:
+        that: oo_desc is defined
+
+    - zbxapi:
+        server: https://noc2.ops.rhcloud.com/zabbix/api_jsonrpc.php
+        zbx_class: Trigger
+        action: get
+        params:
+          only_true: true
+          output: extend
+          selectHosts: extend
+          searchWildCardsEnabled: 1
+          search:
+            description: "{{ oo_desc }}"
+      register: problems
+
+    - debug: var=problems
+
+    - set_fact:
+        problem_hosts: "{{ problems.results | oo_collect(attribute='hosts') | oo_flatten | oo_collect(attribute='host') | difference(['aggregates']) }}"
+
+    - debug: var=problem_hosts
+
+    - add_host:
+        name: "{{ item }}"
+        groups: problem_hosts_group
+      with_items: problem_hosts
+
+- name: "Run on problem hosts"
+  hosts: problem_hosts_group
+  gather_facts: no
+  tasks:
+    - command: "{{ oo_cmd }}"
+      when: oo_cmd is defined
diff --git a/playbooks/adhoc/noc/library b/playbooks/adhoc/noc/library
new file mode 120000
index 000000000..ba40d2f56
--- /dev/null
+++ b/playbooks/adhoc/noc/library
@@ -0,0 +1 @@
+../../../library
\ No newline at end of file
-- 
cgit v1.2.3