openstack-ansible-os_neutron/tasks/neutron_install-apt.yml
Jesse Pretorius 1240dd0cf0 Move UCA repo URL var to role defaults
In order to expose the var in role documentation and to allow the use
of dynamically set facts to override the value in CI environments the
variables are moved from the role vars to the role defaults.

The test preparation implements an override of the URL for OpenStack-CI
to make use of the local mirrors.

The variable to enable/disable the use of UCA has been standardised
to the same as the os_nova role.

Change-Id: I442f6dca8345f78848536f2fc923b72be8a6d092
2016-07-16 22:00:41 +01:00

115 lines
3.2 KiB
YAML

---
# Copyright 2014, 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.
- name: Add Ubuntu Cloud Archive keyring
apt:
pkg: ubuntu-cloud-keyring
state: latest
register: add_uca_keys
when: neutron_uca_enable | bool
- name: Add Ubuntu Cloud Archive Repository
apt_repository:
repo: "{{ uca_repo }}"
state: present
register: add_uca_repo
when: neutron_uca_enable | bool
#TODO(evrardjp): Replace the next 2 tasks by a standard apt with cache
#when https://github.com/ansible/ansible-modules-core/pull/1517 is merged
#in 1.9.x or we move to 2.0 (if tested working)
- name: Check apt last update file
stat:
path: /var/cache/apt
register: apt_cache_stat
- name: Update apt if needed
apt:
update_cache: yes
when: ("ansible_date_time.epoch|float - apt_cache_stat.stat.mtime > {{cache_timeout}}" or
add_uca_keys | changed or add_uca_repo | changed)
- name: Install neutron apt dependencies
apt:
pkg: "{{ item }}"
state: latest
register: install_packages
until: install_packages|success
retries: 5
delay: 2
with_items: "{{ neutron_apt_packages }}"
- name: Install apt packages for lxb
apt:
pkg: "{{ item }}"
state: latest
register: install_packages
until: install_packages|success
retries: 5
delay: 2
with_items: "{{ neutron_lxb_apt_packages }}"
when:
- neutron_services['neutron-linuxbridge-agent']['group'] in group_names
- neutron_services['neutron-linuxbridge-agent'].service_en | bool
- name: Install apt packages for ovs
apt:
pkg: "{{ item }}"
state: latest
register: install_packages
until: install_packages|success
retries: 5
delay: 2
with_items: "{{ ovs_apt_packages }}"
when:
- neutron_services['neutron-openvswitch-agent']['group'] in group_names
- neutron_services['neutron-openvswitch-agent'].service_en | bool
- name: Install apt packages for LBaaS
apt:
pkg: "{{ item }}"
state: latest
register: install_packages
until: install_packages|success
retries: 5
delay: 2
with_items: "{{ neutron_lbaas_apt_packages }}"
when:
- neutron_services['neutron-lbaas-agent']['group'] in group_names
- neutron_lbaas | bool or neutron_lbaasv2 | bool
- name: Install apt packages for VPNaaS
apt:
pkg: "{{ item }}"
state: latest
register: install_packages
until: install_packages|success
retries: 5
delay: 2
with_items: "{{ neutron_vpnaas_apt_packages }}"
when:
- neutron_services['neutron-vpnaas-agent']['group'] in group_names
- neutron_vpnaas | bool
- name: remove specific apt packages
apt:
pkg: "{{ item }}"
state: absent
register: remove_packages
until: remove_packages|success
retries: 5
delay: 2
with_items: "{{ neutron_apt_remove_packages }}"