blob: fbd17cb1165667af0975234565f31d536e550e25 (
plain) (
tree)
|
|
---
- hosts: all
remote_user: vagrant
become: true
vars:
- host_vars_directory: './host_vars'
- host_vars_file: '{{ host_vars_directory }}/{{ inventory_hostname }}.yml'
- pri_domain_name: 'vagrant.local'
- ssh_key_path: '.vagrant/machines/{{ inventory_hostname }}/virtualbox/private_key'
- update_host_vars: true
roles:
tasks:
- name: updating apt cache (Debian)
apt:
update_cache: yes
cache_valid_time: 3600
when: ansible_os_family == "Debian"
- name: installing ansible pre-reqs (Debian)
apt:
name: "{{ item }}"
state: present
with_items:
- libffi-dev
- libssl-dev
- python-dev
- python-setuptools
when: >
ansible_os_family == "Debian"
- name: installing epel repo (RedHat)
yum:
name: "epel-release"
state: present
when: >
ansible_os_family == "RedHat" and
ansible_distribution != "Fedora"
- name: installing ansible pre-reqs (RedHat)
yum:
name: "{{ item }}"
state: present
with_items:
- libffi-devel
- openssl-devel
- python-crypto
- python-devel
- python-setuptools
when: >
ansible_os_family == "RedHat" and
ansible_distribution != "Fedora"
- name: installing ansible pre-reqs (Fedora)
dnf:
name: "{{ item }}"
state: present
with_items:
- gmp-devel
- libffi-devel
- openssl-devel
- python-crypto
- python-devel
- python-dnf
- python-setuptools
- redhat-rpm-config
when: >
ansible_os_family == "RedHat" and
ansible_distribution == "Fedora"
- name: installing ansible pre-reqs (openSUSE)
zypper:
name: "{{ item }}"
state: present
with_items:
- gmp-devel
- libffi-devel
- openssl-devel
- python-crypto
- python-devel
- python-setuptools
when: >
ansible_os_family == "openSUSE Leap"
- name: installing python pip
easy_install:
name: "pip"
state: present
- name: installing ansible
pip:
name: "ansible"
state: present
version: 1.9.6
- name: ensuring host_vars directory exists
file:
path: "./host_vars"
state: directory
delegate_to: localhost
run_once: true
become: false
when: update_host_vars is defined and update_host_vars
- name: ensuring host file exists in host_vars
stat:
path: "{{ host_vars_file }}"
delegate_to: localhost
register: host_var
become: false
when: >
update_host_vars is defined and
update_host_vars
- name: creating missing host_vars
file:
path: "{{ host_vars_file }}"
state: touch
delegate_to: localhost
become: false
when: not host_var.stat.exists
- name: updating ansible_ssh_port
lineinfile:
dest: "{{ host_vars_file }}"
regexp: "^ansible_ssh_port{{ ':' }}"
line: "ansible_ssh_port{{ ':' }} 22"
delegate_to: localhost
become: false
when: >
(update_host_vars is defined and
update_host_vars) and
(ansible_eth1 is defined or
ansible_enp0s8 is defined)
- name: updating ansible_ssh_host
lineinfile:
dest: "{{ host_vars_file }}"
regexp: "^ansible_ssh_host{{ ':' }}"
line: "ansible_ssh_host{{ ':' }} {{ ansible_eth1.ipv4.address }}"
delegate_to: localhost
become: false
when: >
(update_host_vars is defined and
update_host_vars) and
ansible_eth1 is defined
- name: updating ansible_ssh_host
lineinfile:
dest: "{{ host_vars_file }}"
regexp: "^ansible_ssh_host{{ ':' }}"
line: "ansible_ssh_host{{ ':' }} {{ ansible_enp0s8.ipv4.address }}"
delegate_to: localhost
become: false
when: >
(update_host_vars is defined and
update_host_vars) and
ansible_enp0s8 is defined
- name: updating ansible_ssh_key
lineinfile:
dest: "{{ host_vars_file }}"
regexp: "^ansible_ssh_private_key_file{{ ':' }}"
line: "ansible_ssh_private_key_file{{ ':' }} {{ ssh_key_path }}"
delegate_to: localhost
become: false
when: >
update_host_vars is defined and
update_host_vars
- name: ensuring host_vars is yaml formatted
lineinfile:
dest: "{{ host_vars_file }}"
regexp: "---"
line: "---"
insertbefore: BOF
delegate_to: localhost
become: false
when: >
update_host_vars is defined and
update_host_vars
|