85 lines
2.4 KiB
YAML
85 lines
2.4 KiB
YAML
# If ansible_install_version is not defined it should be "latest"
|
|
- name: Set ansible default version to latest
|
|
set_fact:
|
|
install_ansible_version: latest
|
|
when: install_ansible_version is not defined
|
|
|
|
# If a version is not explicitly set we want to make sure to
|
|
# completely omit the version argument to pip, as it will be coming
|
|
# from the long-form install_ansible_name variable. Additionally, if
|
|
# the version is the special value "latest", then we also want to omit
|
|
# any version number, but also set the package state to "latest".
|
|
- name: Set ansible version for installation
|
|
set_fact:
|
|
_install_ansible_version: '{{ install_ansible_version }}'
|
|
when: install_ansible_version not in ('', 'latest')
|
|
|
|
- name: Set ansible package state for installation
|
|
set_fact:
|
|
_install_ansible_state: latest
|
|
when: install_ansible_version == 'latest'
|
|
|
|
- name: Install ansible
|
|
pip:
|
|
name: '{{ install_ansible_name | default("ansible") }}'
|
|
version: '{{ _install_ansible_version | default(omit) }}'
|
|
state: '{{ _install_ansible_state | default(omit) }}'
|
|
|
|
- name: Install openstacksdk
|
|
pip:
|
|
state: latest
|
|
name: openstacksdk
|
|
|
|
- name: Ensure /etc/ansible and /etc/ansible/hosts
|
|
file:
|
|
state: directory
|
|
path: /etc/ansible/hosts
|
|
|
|
- name: Ensure /etc/ansible/inventory_plugins
|
|
file:
|
|
state: directory
|
|
path: /etc/ansible/inventory_plugins
|
|
|
|
- name: Ensure /var/cache/ansible
|
|
file:
|
|
state: directory
|
|
path: /var/cache/ansible
|
|
owner: root
|
|
group: root
|
|
mode: 0770
|
|
|
|
- name: Ensure ansible log dir is writable
|
|
file:
|
|
path: /var/log/ansible
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
mode: 0775
|
|
|
|
- name: Copy ansible.cfg in to place
|
|
copy:
|
|
src: ansible.cfg
|
|
dest: /etc/ansible/ansible.cfg
|
|
|
|
# NOTE(mordred) The copy of the openstack inventory plugin from 2.6 is busted.
|
|
# It doesn't proerly deal with caching. A fix has been submitted upstream, but
|
|
# for now this is a fixed copy.
|
|
- name: Copy fixed openstack inventory in place
|
|
copy:
|
|
src: inventory_plugins/openstack.py
|
|
dest: /etc/ansible/inventory_plugins/openstack.py
|
|
|
|
- name: Copy yamlgroup inventory in place
|
|
copy:
|
|
src: inventory_plugins/yamlgroup.py
|
|
dest: /etc/ansible/inventory_plugins/yamlgroup.py
|
|
|
|
- name: Setup log rotation
|
|
include_role:
|
|
name: logrotate
|
|
vars:
|
|
logrotate_file_name: /var/log/ansible/ansible.log
|
|
|
|
- name: Verify ansible install
|
|
command: ansible --version
|