Optimize 'noservices' condition
diff --git a/mongodb/server.sls b/mongodb/server.sls
index 73ea09f..7068c3b 100644
--- a/mongodb/server.sls
+++ b/mongodb/server.sls
@@ -21,10 +21,8 @@
   - user: mongodb
   - require:
     - pkg: mongodb_packages
-  {%- if not grains.get('noservices', False) %}
   - watch_in:
     - service: mongodb_service
-  {%- endif %}
 
 {%- endif %}
 
@@ -32,20 +30,19 @@
   file.directory:
     - makedirs: true
 
-{%- if not grains.get('noservices', False) %}
-
 mongodb_service:
   service.running:
   - name: {{ server.service }}
   - enable: true
+  {%- if grains.get('noservices') %}
+  - onlyif: /bin/false
+  {%- endif %}
   - require:
     - file: {{ server.lock_dir }}
     - pkg: mongodb_packages
   - watch:
     - file: /etc/mongodb.conf
 
-{%- endif %}
-
 {%- if server.members is not defined  or server.master == pillar.linux.system.name %}
 {# We are not a cluster or we are master #}
 
@@ -56,18 +53,17 @@
   - mode: 600
   - user: root
 
-{%- if not grains.get('noservices', False) %}
-
 mongodb_change_root_password:
   cmd.run:
   - name: 'mongo localhost:27017/admin /var/tmp/mongodb_user.js && touch {{ server.lock_dir }}/mongodb_password_changed'
+  {%- if grains.get('noservices') %}
+  - onlyif: /bin/false
+  {%- endif %}
   - require:
     - file: /var/tmp/mongodb_user.js
     - service: mongodb_service
   - creates: {{ server.lock_dir }}/mongodb_password_changed
 
-{%- endif %}
-
 {%- for database_name, database in server.get('database', {}).iteritems() %}
 
 /var/tmp/mongodb_user_{{ database_name }}.js:
@@ -79,24 +75,21 @@
   - defaults:
       database_name: {{ database_name }}
 
-{%- if not grains.get('noservices', False) %}
-
 mongodb_{{ database_name }}_fix_role:
   cmd.run:
   - name: 'mongo localhost:27017/admin -u admin -p {{ server.admin.password }} /var/tmp/mongodb_user_{{ database_name }}.js && touch {{ server.lock_dir }}/mongodb_user_{{ database_name }}_created'
+  {%- if grains.get('noservices') %}
+  - onlyif: /bin/false
+  {%- endif %}
   - require:
     - file: /var/tmp/mongodb_user_{{ database_name }}.js
-    {%- if not grains.get('noservices', False) %}
     - service: mongodb_service
-    {%- endif%}
   - creates: {{ server.lock_dir }}/mongodb_user_{{ database_name }}_created
   {%- if server.members is defined %}
   require:
     - cmd: mongodb_setup_cluster
   {%- endif %}
 
-{%- endif %}
-
 {%- endfor %}
 
 {%- if server.members is defined %}
@@ -113,9 +106,7 @@
   - name: 'mongo localhost:27017/admin /var/tmp/mongodb_cluster.js && mongo localhost:27017/admin --quiet --eval "rs.conf()" | grep object -q'
   - unless: 'mongo localhost:27017/admin -u admin -p {{ server.admin.password }} --quiet --eval "rs.conf()" | grep object -q'
   - require:
-    {%- if not grains.get('noservices', False) %}
     - service: mongodb_service
-    {%- endif %}
     - file: /var/tmp/mongodb_cluster.js
   - require_in:
     - cmd: mongodb_change_root_password