From 4871399bfdf95203f665f1ef072c08c99811536a Mon Sep 17 00:00:00 2001 From: Major Hayden Date: Mon, 20 Feb 2017 16:49:07 -0500 Subject: [PATCH] Install packages in one step This patch causes neutron's packages to be installed in one step. This should save time during the CI jobs and it allows us to remove some tasks. Change-Id: I8372cb79c202ce7c84386e8b04608aa48f565a5f --- tasks/main.yml | 5 +++ tasks/neutron_install.yml | 65 +++------------------------------------ vars/common.yml | 26 ++++++++++++++++ 3 files changed, 35 insertions(+), 61 deletions(-) create mode 100644 vars/common.yml diff --git a/tasks/main.yml b/tasks/main.yml index 7dc83198..7c9bf2ee 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -24,6 +24,11 @@ tags: - always +- name: Gather variables that apply to all operating systems + include_vars: common.yml + tags: + - always + - name: Get CPU info content and store as var command: cat /proc/cpuinfo register: cpuinfo_contents diff --git a/tasks/neutron_install.yml b/tasks/neutron_install.yml index 86810f19..7e812e0a 100644 --- a/tasks/neutron_install.yml +++ b/tasks/neutron_install.yml @@ -20,71 +20,14 @@ when: - ansible_pkg_mgr == 'apt' -- name: Install neutron distro packages +- name: Install neutron role packages package: name: "{{ item }}" state: "{{ neutron_package_state }}" - register: install_packages - until: install_packages|success - retries: 5 - delay: 2 - with_items: "{{ neutron_distro_packages }}" - -- name: Install distro packages for LXB - package: - name: "{{ item }}" - state: "{{ neutron_package_state }}" - register: install_packages - until: install_packages|success - retries: 5 - delay: 2 - with_items: "{{ neutron_lxb_distro_packages }}" + with_items: + - "{{ neutron_packages_list | selectattr('enabled') | sum(attribute='packages', start=[]) }}" when: - - neutron_services['neutron-linuxbridge-agent']['group'] in group_names - - neutron_services['neutron-linuxbridge-agent'].service_en | bool - -- name: Install distro packages for OVS - package: - name: "{{ item }}" - state: "{{ neutron_package_state }}" - register: install_packages - until: install_packages|success - retries: 5 - delay: 2 - with_items: "{{ neutron_ovs_distro_packages }}" - when: - - (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) - -- name: Install distro packages for LBaaS - package: - name: "{{ item }}" - state: "{{ neutron_package_state }}" - register: install_packages - until: install_packages|success - retries: 5 - delay: 2 - with_items: "{{ neutron_lbaas_distro_packages }}" - when: - - neutron_services['neutron-lbaasv2-agent']['group'] in group_names - - neutron_lbaasv2 | bool - -- name: Install distro packages for VPNaaS - package: - name: "{{ item }}" - state: "{{ neutron_package_state }}" - register: install_packages - until: install_packages|success - retries: 5 - delay: 2 - with_items: "{{ neutron_vpnaas_distro_packages }}" - when: - - neutron_services['neutron-vpnaas-agent']['group'] in group_names - - neutron_vpnaas | bool + - item != '' - name: Remove known problem packages package: diff --git a/vars/common.yml b/vars/common.yml new file mode 100644 index 00000000..73afe9a6 --- /dev/null +++ b/vars/common.yml @@ -0,0 +1,26 @@ +--- +# Copyright 2017, Rackspace US, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +neutron_packages_list: + - packages: "{{ neutron_distro_packages }}" + enabled: yes + - packages: "{{ neutron_ovs_distro_packages }}" + enabled: "{{ (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) }}" + - packages: "{{ neutron_lxb_distro_packages }}" + enabled: "{{ neutron_services['neutron-linuxbridge-agent']['group'] in group_names and neutron_services['neutron-linuxbridge-agent'].service_en | bool }}" + - packages: "{{ neutron_lbaas_distro_packages }}" + enabled: "{{ neutron_services['neutron-lbaasv2-agent']['group'] in group_names and neutron_lbaasv2 | bool }}" + - packages: "{{ neutron_vpnaas_distro_packages }}" + enabled: "{{ neutron_services['neutron-vpnaas-agent']['group'] in group_names and neutron_vpnaas | bool }}"