From 35f2dcf8f7a2ef9c42dfa462ea9aeb6a673c2a42 Mon Sep 17 00:00:00 2001 From: Till Maas Date: Thu, 12 Jul 2018 12:19:48 +0200 Subject: [PATCH] Install bridge-utils if necessary for initscripts Fixes #68 --- defaults/main.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/defaults/main.yml b/defaults/main.yml index d09c7b0..e7a3aff 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -11,7 +11,15 @@ network_service_name_default_nm: NetworkManager network_packages_default_nm: [ ethtool, NetworkManager, "python{{ ansible_python['version']['major'] | replace('2', '') }}-gobject-base"] network_service_name_default_initscripts: network -network_packages_default_initscripts: [ ethtool ] + +# initscripts requires bridge-utils to manage bridges, install it when the +# 'bridge' type is used in network_connections +_network_packages_default_initscripts_bridge: ["{% if ['bridge'] in network_connections|json_query('[*][type]') %}bridge-utils{% endif %}"] +# convert _network_packages_default_initscripts_bridge to an empty list if it +# contains only the empty string and add it to the default package list +# |select() filters the list to include only values that evalueate to true (the empty string is false) +# |list() converts the generator that |select() creates to a list +network_packages_default_initscripts: "{{ ['ethtool'] + _network_packages_default_initscripts_bridge|select()|list() }}" # The user can explicitly set host variables "network_provider",