aboutsummaryrefslogtreecommitdiffhomepage
path: root/bootstrap.yml
diff options
context:
space:
mode:
authorLarry Smith Jr <mrlesmithjr@gmail.coml>2016-03-03 15:28:30 -0500
committerLarry Smith Jr <mrlesmithjr@gmail.coml>2016-03-03 15:28:30 -0500
commit203ffcbfc31abb06c306d3adbde7e44dce9afca2 (patch)
tree752378316844898114f23c499bad0a2ae6f28cfc /bootstrap.yml
parent93a297c59940c7cfe88afe0f9110af5b4be521e3 (diff)
downloadansible-rabbitmq-203ffcbfc31abb06c306d3adbde7e44dce9afca2.tar.gz
ansible-rabbitmq-203ffcbfc31abb06c306d3adbde7e44dce9afca2.tar.zst
ansible-rabbitmq-203ffcbfc31abb06c306d3adbde7e44dce9afca2.zip
Added support for CentOS and Vagrant
Signed-off-by: Larry Smith Jr <mrlesmithjr@gmail.coml>
Diffstat (limited to 'bootstrap.yml')
-rw-r--r--bootstrap.yml152
1 files changed, 152 insertions, 0 deletions
diff --git a/bootstrap.yml b/bootstrap.yml
new file mode 100644
index 0000000..702b540
--- /dev/null
+++ b/bootstrap.yml
@@ -0,0 +1,152 @@
1---
2- hosts: all
3 remote_user: vagrant
4 become: true
5 vars:
6 - host_vars_directory: './host_vars'
7 - host_vars_file: '{{ host_vars_directory }}/{{ inventory_hostname }}.yml'
8 - pri_domain_name: 'vagrant.local'
9 - ssh_key_path: '.vagrant/machines/{{ inventory_hostname }}/virtualbox/private_key'
10 - update_host_vars: true
11 roles:
12 tasks:
13 - name: updating apt cache (Debian)
14 apt:
15 update_cache: yes
16 cache_valid_time: 3600
17 when: ansible_os_family == "Debian"
18
19 - name: installing ansible pre-reqs (Debian)
20 apt:
21 name: "{{ item }}"
22 state: present
23 with_items:
24 - python-dev
25 - python-pip
26 when: ansible_os_family == "Debian"
27
28 - name: installing epel repo (RedHat)
29 yum:
30 name: "epel-release"
31 state: present
32 when: >
33 ansible_os_family == "RedHat" and
34 ansible_distribution != "Fedora"
35
36 - name: installing ansible pre-reqs (RedHat)
37 yum:
38 name: "{{ item }}"
39 state: present
40 with_items:
41 - python-devel
42 - python-dnf
43 - python-pip
44 when: >
45 ansible_os_family == "RedHat" and
46 ansible_distribution != "Fedora"
47
48 - name: installing ansible pre-reqs (Fedora)
49 dnf:
50 name: "{{ item }}"
51 state: present
52 with_items:
53 - gmp-devel
54 - python-crypto
55 - python-devel
56 - python-dnf
57 - python-pip
58 when: >
59 ansible_os_family == "RedHat" and
60 ansible_distribution == "Fedora"
61
62 - name: installing ansible
63 pip:
64 name: "ansible"
65 state: present
66
67 - name: ensuring host_vars directory exists
68 file:
69 path: "./host_vars"
70 state: directory
71 delegate_to: localhost
72 run_once: true
73 become: false
74 when: update_host_vars is defined and update_host_vars
75
76 - name: ensuring host file exists in host_vars
77 stat:
78 path: "{{ host_vars_file }}"
79 delegate_to: localhost
80 register: host_var
81 become: false
82 when: >
83 update_host_vars is defined and
84 update_host_vars
85
86 - name: creating missing host_vars
87 file:
88 path: "{{ host_vars_file }}"
89 state: touch
90 delegate_to: localhost
91 become: false
92 when: not host_var.stat.exists
93
94 - name: updating ansible_ssh_port
95 lineinfile:
96 dest: "{{ host_vars_file }}"
97 regexp: "^ansible_ssh_port{{ ':' }}"
98 line: "ansible_ssh_port{{ ':' }} 22"
99 delegate_to: localhost
100 become: false
101 when: >
102 (update_host_vars is defined and
103 update_host_vars) and
104 (ansible_eth1 is defined or
105 ansible_enp0s8 is defined)
106
107 - name: updating ansible_ssh_host
108 lineinfile:
109 dest: "{{ host_vars_file }}"
110 regexp: "^ansible_ssh_host{{ ':' }}"
111 line: "ansible_ssh_host{{ ':' }} {{ ansible_eth1.ipv4.address }}"
112 delegate_to: localhost
113 become: false
114 when: >
115 (update_host_vars is defined and
116 update_host_vars) and
117 ansible_eth1 is defined
118
119 - name: updating ansible_ssh_host
120 lineinfile:
121 dest: "{{ host_vars_file }}"
122 regexp: "^ansible_ssh_host{{ ':' }}"
123 line: "ansible_ssh_host{{ ':' }} {{ ansible_enp0s8.ipv4.address }}"
124 delegate_to: localhost
125 become: false
126 when: >
127 (update_host_vars is defined and
128 update_host_vars) and
129 ansible_enp0s8 is defined
130
131 - name: updating ansible_ssh_key
132 lineinfile:
133 dest: "{{ host_vars_file }}"
134 regexp: "^ansible_ssh_private_key_file{{ ':' }}"
135 line: "ansible_ssh_private_key_file{{ ':' }} {{ ssh_key_path }}"
136 delegate_to: localhost
137 become: false
138 when: >
139 update_host_vars is defined and
140 update_host_vars
141
142 - name: ensuring host_vars is yaml formatted
143 lineinfile:
144 dest: "{{ host_vars_file }}"
145 regexp: "---"
146 line: "---"
147 insertbefore: BOF
148 delegate_to: localhost
149 become: false
150 when: >
151 update_host_vars is defined and
152 update_host_vars