+++ /dev/null
----
-- 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:
- - python-dev
- - python-pip
- 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:
- - python-devel
- - python-dnf
- - python-pip
- when: >
- ansible_os_family == "RedHat" and
- ansible_distribution != "Fedora"
-
- - name: installing ansible pre-reqs (Fedora)
- dnf:
- name: "{{ item }}"
- state: present
- with_items:
- - gmp-devel
- - python-crypto
- - python-devel
- - python-dnf
- - python-pip
- when: >
- ansible_os_family == "RedHat" and
- ansible_distribution == "Fedora"
-
- - name: installing ansible
- pip:
- name: "ansible"
- state: present
-
- - 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