Merge "restart interface after ip flush / remove cloud init interface file / kill dhclient"
diff --git a/linux/network/dhclient.sls b/linux/network/dhclient.sls
index 6de2cfd..c0b007b 100644
--- a/linux/network/dhclient.sls
+++ b/linux/network/dhclient.sls
@@ -8,4 +8,11 @@
- source: salt://linux/files/dhclient.conf
- template: jinja
+{%- elif network.dhclient.enabled is defined and network.dhclient.enabled == False %}
+
+kill_dhcp_client:
+ cmd.run:
+ - name: "pkill dhclient"
+ - onlyif: "pgrep dhclient"
+
{%- endif %}
diff --git a/linux/network/interface.sls b/linux/network/interface.sls
index ac84db4..921ceac 100644
--- a/linux/network/interface.sls
+++ b/linux/network/interface.sls
@@ -45,6 +45,13 @@
{%- endfor %}
+{%- if network.interface is defined %}
+
+remove_cloud_init_file:
+ file.absent:
+ - name: /etc/network/interfaces.d/50-cloud-init.cfg
+
+{%- endif %}
{%- for interface_name, interface in network.interface.iteritems() %}
@@ -218,7 +225,7 @@
linux_interface_ipflush_onchange_{{ interface_name }}:
cmd.run:
- - name: "/sbin/ip address flush dev {{ interface_name }}"
+ - name: "/sbin/ip address flush dev {{ interface_name }}; ifdown {{ interface_name }} ;ifup {{ interface_name }};"
- onchanges:
- network: linux_interface_{{ interface_name }}