57 lines
1.8 KiB
YAML
57 lines
1.8 KiB
YAML
---
|
|
|
|
- hosts: localhost
|
|
connection: local
|
|
vars:
|
|
force_purge: true
|
|
roles_installation_dir: roles/public
|
|
collection_installation_dir: collections
|
|
installation_prefix: ./
|
|
pre_tasks:
|
|
# example prepare ansible box for execution
|
|
# - name: install required pip modules on the host running ansible
|
|
# pip:
|
|
# name:
|
|
# - jmespath
|
|
# - netaddr
|
|
# - python-consul
|
|
# - pyvmomi
|
|
# - python-ldap
|
|
# - twine
|
|
|
|
- name: Remove existing public roles
|
|
ansible.builtin.file:
|
|
path: "{{ installation_prefix }}{{ roles_installation_dir }}"
|
|
state: absent
|
|
when: force_purge | bool
|
|
|
|
- name: Install all public roles
|
|
command: >
|
|
ansible-galaxy role install
|
|
{{ ( force_purge | bool ) | ternary('--force','') }}
|
|
--role-file {{ installation_prefix }}roles/requirements.yml
|
|
--roles-path {{ installation_prefix }}{{ roles_installation_dir }}
|
|
register: galaxy_install_role
|
|
changed_when: '"Installing " in galaxy_install_role.stdout'
|
|
|
|
- name: Install needed collections
|
|
command: >
|
|
ansible-galaxy collection install
|
|
{{ ( force_purge | bool ) | ternary('--force-with-deps','') }}
|
|
-r {{ installation_prefix }}collections/requirements.yml
|
|
-p {{ installation_prefix }}{{ collection_installation_dir }}
|
|
register: galaxy_install_collection
|
|
changed_when: '"Installing " in galaxy_install_collection.stdout'
|
|
|
|
- name: cleanup old ssh known_hosts - remove
|
|
ansible.builtin.file:
|
|
path: "../tmp/known_hosts"
|
|
state: absent
|
|
mode: "0644"
|
|
|
|
- name: cleanup old ssh known_hosts - blank
|
|
ansible.builtin.file:
|
|
path: "../tmp/known_hosts"
|
|
state: touch
|
|
mode: "0644"
|
|
...
|