Merge pull request #5 from tcpcloud/minion_fix

Salt-minion fix
diff --git a/salt/minion/grains.sls b/salt/minion/grains.sls
index 972577c..86e9987 100644
--- a/salt/minion/grains.sls
+++ b/salt/minion/grains.sls
@@ -13,25 +13,32 @@
   - require:
     - {{ minion.install_state }}
 
-salt_minion_grains_placeholder:
-  file.touch:
-  - name: /etc/salt/grains.d/placeholder
+salt_minion_grains_files:
+  file.managed:
+  - names:
+    - /etc/salt/grains
+    - /etc/salt/grains.d/placeholder
+  - replace: False
   - require:
     - file: salt_minion_grains_dir
 
+{%- set new_grains = salt['cmd.run']('cat /etc/salt/grains.d/*') %}
+{%- set old_grains = salt['cmd.run']('cat /etc/salt/grains') %}
+
+{%- if new_grains != old_grains %}
+
 salt_minion_grains_file:
   cmd.run:
   - name: cat /etc/salt/grains.d/* > /etc/salt/grains
   - require:
-    - file: salt_minion_grains_placeholder
-  - watch_in:
-    - service: salt_minion_service
+    - file: salt_minion_grains_files
 
 salt_minion_grains_publish:
   module.run:
-  - name: mine.send
-  - name: grains.items
+  - name: mine.update
   - require:
     - cmd: salt_minion_grains_file
 
 {%- endif %}
+
+{%- endif %}