Browse Source

Icinga2: Remove Host objects of nodes deleted from pillar.

Signed-off-by: Maximilian Wilhelm <max@rfc2324.org>
Maximilian Wilhelm 6 years ago
parent
commit
a808b80499
1 changed files with 10 additions and 2 deletions
  1. 10 2
      icinga2/init.sls

+ 10 - 2
icinga2/init.sls

@@ -169,12 +169,18 @@ sudo:
 
 
 # Create client node/zone objects
-/etc/icinga2/ffho-conf.d/hosts/generated/:
+Create /etc/icinga2/ffho-conf.d/hosts/generated/:
   file.directory:
+    - name: /etc/icinga2/ffho-conf.d/hosts/generated/
     - makedirs: true
     - require:
       - pkg: icinga2
 
+Cleanup /etc/icinga2/ffho-conf.d/hosts/generated/:
+  file.directory:
+    - name: /etc/icinga2/ffho-conf.d/hosts/generated/
+    - clean: true
+
   # Generate config file for every client known to pillar
   {% for node_id, node_config in salt['pillar.get']('nodes', {}).items () %}
     {% if node_config.get ('icinga2', "") != 'ignore' %}
@@ -186,7 +192,9 @@ sudo:
       node_id: {{ node_id }}
       node_config: {{ node_config }}
     - require:
-      - file: /etc/icinga2/ffho-conf.d/hosts/generated/
+      - file: Create /etc/icinga2/ffho-conf.d/hosts/generated/
+    - require_in:
+      - file: Cleanup /etc/icinga2/ffho-conf.d/hosts/generated/
     - watch_in:
       - service: icinga2
     {% endif %}