Merge "Add require ifenslave before start configuring bonding interfaces."
diff --git a/linux/network/interface.sls b/linux/network/interface.sls
index 6086957..65e7bb8 100644
--- a/linux/network/interface.sls
+++ b/linux/network/interface.sls
@@ -1,6 +1,9 @@
{%- from "linux/map.jinja" import network with context %}
{%- from "linux/map.jinja" import system with context %}
{%- if network.enabled %}
+linux_network_packages:
+ pkg.installed:
+ - pkgs: {{ network.pkgs }}
{%- set dpdk_enabled = network.get('dpdk', {}).get('enabled', False) %}
{%- if dpdk_enabled %}
@@ -305,6 +308,8 @@
{%- endfor %}
{%- endif %}
{%- if interface.type == 'bond' %}
+ - require:
+ - pkg: linux_network_packages
- slaves: {{ interface.slaves }}
- mode: {{ interface.mode }}
{%- endif %}
@@ -318,6 +323,7 @@
cmd.run:
- name: ifenslave {{ interface_name }} {{ interface.slaves }}
- require:
+ - pkg: linux_network_packages
- network: linux_interface_{{ interface_name }}
- onchanges:
- network: linux_interface_{{ interface_name }}
@@ -367,10 +373,6 @@
{%- if grains.os_family == 'Arch' %}
-linux_network_packages:
- pkg.installed:
- - pkgs: {{ network.pkgs }}
-
/etc/netctl/network_{{ interface.wireless.essid }}:
file.managed:
- source: salt://linux/files/wireless