Merge "Avoid ifup run if noifupdown is turned on" into release/2019.2.0
diff --git a/linux/network/interface.sls b/linux/network/interface.sls
index 73e4c09..38b486e 100644
--- a/linux/network/interface.sls
+++ b/linux/network/interface.sls
@@ -403,31 +403,49 @@
 {%- endif %}
 
 {%- if interface.type in ('eth','ovs_port') %}
-{%- if interface.get('ipflush_onchange', False) %}
 
+  {%- if interface.get('ifdown_before_changes', False) %}
+linux_interface_down_before_change_{{ interface_name }}:
+  cmd.run:
+  - name: ifdown {{ interface_name }}
+  - prereq:
+    {%- if interface.type == 'eth' %}
+    - network: linux_interface_{{ interface_name }}
+    {%- else %}
+    - file: ovs_port_{{ interface_name }}
+    {%- endif %}
+
+linux_interface_up_after_change_{{ interface_name }}:
+  cmd.run:
+  - name: ifup {{ interface_name }}
+  - onchanges:
+    {%- if interface.type == 'eth' %}
+    - network: linux_interface_{{ interface_name }}
+    {%- else %}
+    - file: ovs_port_{{ interface_name }}
+    {%- endif %}
+  {%- endif %}
+
+  {%- if interface.get('ipflush_onchange', False) %}
 linux_interface_ipflush_onchange_{{ interface_name }}:
   cmd.run:
   - name: "/sbin/ip address flush dev {{ interface_name }}"
-{%- if interface.type == 'eth' %}
+    {%- if interface.type == 'eth' %}
   - onchanges:
     - network: linux_interface_{{ interface_name }}
-{%- elif interface.type == 'ovs_port' %}
+    {%- elif interface.type == 'ovs_port' %}
   - onchanges:
     - file: ovs_port_{{ interface_name }}
-{%- endif %}
+    {%- endif %}
 
-{%- if interface.get('restart_on_ipflush', False) %}
-
+    {%- if interface.get('restart_on_ipflush', False) %}
 linux_interface_restart_on_ipflush_{{ interface_name }}:
   cmd.run:
   - name: "ifdown {{ interface_name }}; ifup {{ interface_name }};"
   - onchanges:
     - cmd: linux_interface_ipflush_onchange_{{ interface_name }}
-
-{%- endif %}
-
-{%- endif %}
-
+    {%- endif %}
+  {%- endif %}
 {%- endif %}
 
 {%- endfor %}
diff --git a/linux/system/auth.sls b/linux/system/auth.sls
index 690ec04..5cb3798 100644
--- a/linux/system/auth.sls
+++ b/linux/system/auth.sls
@@ -170,6 +170,7 @@
     - pkg: linux_auth_ldap_packages
   - watch_in:
     - service: linux_auth_nslcd_service
+    - service: linux_auth_nscd_service
 
 linux_auth_ldap_packages:
   pkg.installed:
@@ -185,12 +186,18 @@
     - pkg: linux_auth_ldap_packages
   - watch_in:
     - service: linux_auth_nslcd_service
+    - service: linux_auth_nscd_service
 
 linux_auth_nslcd_service:
   service.running:
   - enable: true
   - name: nslcd
 
+linux_auth_nscd_service:
+  service.running:
+  - enable: true
+  - name: nscd
+
     {%- endif %}
   {%- endif %}
 {%- endif %}