diff --git a/tasks/neutron_install.yml b/tasks/neutron_install.yml index 357fec09..4a529295 100644 --- a/tasks/neutron_install.yml +++ b/tasks/neutron_install.yml @@ -15,7 +15,7 @@ - name: Install neutron role packages package: - name: "{{ neutron_packages_list }}" + name: "{{ neutron_package_list }}" state: "{{ neutron_package_state }}" update_cache: "{{ (ansible_pkg_mgr == 'apt') | ternary('yes', omit) }}" cache_valid_time: "{{ (ansible_pkg_mgr == 'apt') | ternary(cache_timeout, omit) }}" diff --git a/vars/main.yml b/vars/main.yml index f1e3d2a3..50d120ed 100644 --- a/vars/main.yml +++ b/vars/main.yml @@ -17,23 +17,28 @@ ### Packages ### -neutron_packages_list: > - {% set packages = neutron_distro_packages -%} +# +# Compile a list of the distro packages to install based on +# whether the host is in the host group and the service is +# enabled. +# +neutron_package_list: |- + {% set packages = neutron_distro_packages %} {% if (neutron_services['neutron-openvswitch-agent']['group'] in group_names and neutron_services['neutron-openvswitch-agent'].service_en | bool) or (neutron_services['dragonflow-controller-agent']['group'] in group_names and neutron_services['dragonflow-controller-agent'].service_en | bool) - or (neutron_services['dragonflow-l3-agent']['group'] in group_names and neutron_services['dragonflow-l3-agent'].service_en | bool) -%} - {% set _ = packages.extend(neutron_ovs_distro_packages) -%} - {% endif -%} - {% if neutron_services['neutron-linuxbridge-agent']['group'] in group_names and neutron_services['neutron-linuxbridge-agent'].service_en | bool -%} - {% set _ = packages.extend(neutron_lxb_distro_packages) -%} - {% endif -%} - {% if neutron_services['neutron-lbaasv2-agent']['group'] in group_names and neutron_lbaasv2 | bool -%} - {% set _ = packages.extend(neutron_lbaas_distro_packages) -%} - {% endif -%} - {% if neutron_services['neutron-vpnaas-agent']['group'] in group_names and neutron_vpnaas | bool -%} - {% set _ = packages.extend(neutron_vpnaas_distro_packages) -%} - {% endif -%} - {{ packages -}} + or (neutron_services['dragonflow-l3-agent']['group'] in group_names and neutron_services['dragonflow-l3-agent'].service_en | bool) %} + {% set _ = packages.extend(neutron_ovs_distro_packages) %} + {% endif %} + {% if neutron_services['neutron-linuxbridge-agent']['group'] in group_names and neutron_services['neutron-linuxbridge-agent'].service_en | bool %} + {% set _ = packages.extend(neutron_lxb_distro_packages) %} + {% endif %} + {% if neutron_services['neutron-lbaasv2-agent']['group'] in group_names and neutron_lbaasv2 | bool %} + {% set _ = packages.extend(neutron_lbaas_distro_packages) %} + {% endif %} + {% if neutron_services['neutron-vpnaas-agent']['group'] in group_names and neutron_vpnaas | bool %} + {% set _ = packages.extend(neutron_vpnaas_distro_packages) %} + {% endif %} + {{ packages }} ### ### Python code details