---
# Copyright 2017-present Open Networking Foundation
#
# 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.

# file: ansible-install/tasks/main.yml

- name:  Install prerequisites for using PPA repos
  apt:
    name: "{{ item }}"
    update_cache: yes
    cache_valid_time: 3600
  with_items:
    - python-pycurl
    - software-properties-common
    - python-netaddr

- name: Add Ansible PPA
  apt_repository:
    repo={{ item }}
  with_items:
    - "{{ ansible_apt_repo | default('ppa:ansible/ansible') }}"
  register: result
  until: result is success
  retries: 3
  delay: 10

- name: Make sure Ansible is newest version
  apt:
    name: "ansible"
    state: latest
    update_cache: yes
    cache_valid_time: 3600
  tags:
    - skip_ansible_lint # ansible-lint complains about latest, need this as distro provided 1.5.x version may be used if already installed.
