summaryrefslogtreecommitdiffstats
path: root/ansible/node/roles/common/tasks/redhat
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2019-02-06 14:53:10 +1100
committerMartin Schwenke <martin@meltin.net>2019-03-25 16:52:25 +1100
commit51ff83de30db6934e243226ce05c6394b8986a12 (patch)
treef8dbbe3ceabc398a4596c968285a7245b3c70e01 /ansible/node/roles/common/tasks/redhat
parent7003df8ad2ec9eaa119439f21976e7117b1771e5 (diff)
downloadautocluster-51ff83de30db6934e243226ce05c6394b8986a12.tar.gz
autocluster-51ff83de30db6934e243226ce05c6394b8986a12.tar.xz
autocluster-51ff83de30db6934e243226ce05c6394b8986a12.zip
Add Ansible playbook for node configuration
This will replace all of the existing node provisioning/configuration. CentOS 7 nodes are currently supported. Signed-off-by: Martin Schwenke <martin@meltin.net>
Diffstat (limited to 'ansible/node/roles/common/tasks/redhat')
-rw-r--r--ansible/node/roles/common/tasks/redhat/firewall.yml6
-rw-r--r--ansible/node/roles/common/tasks/redhat/ntp.yml18
-rw-r--r--ansible/node/roles/common/tasks/redhat/packages.yml53
3 files changed, 77 insertions, 0 deletions
diff --git a/ansible/node/roles/common/tasks/redhat/firewall.yml b/ansible/node/roles/common/tasks/redhat/firewall.yml
new file mode 100644
index 0000000..bf5eeb4
--- /dev/null
+++ b/ansible/node/roles/common/tasks/redhat/firewall.yml
@@ -0,0 +1,6 @@
+---
+- name: disable firewall
+ service:
+ name: firewalld
+ enabled: no
+ state: stopped
diff --git a/ansible/node/roles/common/tasks/redhat/ntp.yml b/ansible/node/roles/common/tasks/redhat/ntp.yml
new file mode 100644
index 0000000..3495457
--- /dev/null
+++ b/ansible/node/roles/common/tasks/redhat/ntp.yml
@@ -0,0 +1,18 @@
+---
+- name: ensure NTP server is installed
+ package:
+ name: chrony
+ state: installed
+
+- name: ensure NTP server is configured
+ template:
+ src: chrony.conf.j2
+ dest: /etc/chrony.conf
+ notify:
+ - restart NTP server redhat
+
+- name: ensure NTP server is running and enabled
+ service:
+ name: chronyd
+ state: started
+ enabled: yes
diff --git a/ansible/node/roles/common/tasks/redhat/packages.yml b/ansible/node/roles/common/tasks/redhat/packages.yml
new file mode 100644
index 0000000..b2430e5
--- /dev/null
+++ b/ansible/node/roles/common/tasks/redhat/packages.yml
@@ -0,0 +1,53 @@
+---
+- name: disable Network Manager on next boot
+ service:
+ name: NetworkManager
+ enabled: no
+ # Note that this only works because the interfaces of interest
+ # have been marked in Vagrant as: nm_controlled: "no" - otherwise
+ # NetworkManager would stop and take the interfaces down with it!
+ state: stopped
+
+- name: disable EPEL to speed things up
+ package:
+ name: epel-release
+ state: absent
+
+- name: find non-autocluster YUM repo files
+ find:
+ paths: /etc/yum.repos.d/
+ patterns: '(?!autocluster-)^.*\.repo$'
+ use_regex: yes
+ register: find_results
+ when: repositories_delete_existing
+
+- name: Remove non-autocluster repo files
+ file:
+ path: "{{ f['path'] }}"
+ state: absent
+ with_list: "{{ find_results['files'] }}"
+ loop_control:
+ loop_var: f
+ when: repositories_delete_existing
+
+- name: Add local distro repos
+ yum_repository:
+ name: "autocluster-{{ repo.name }}"
+ description: "{{ repo.name }}"
+ baseurl: "{{ repo.baseurl | default(repository_baseurl) }}/{{ repo.path }}"
+ gpgcheck: "{{ repo.gpgcheck | default('yes') }}"
+ proxy: _none_
+ when: repo.type == "distro"
+ with_list: "{{ repositories }}"
+ loop_control:
+ loop_var: repo
+
+- name: ensure optional dependencies for Ansible template handling
+ package:
+ name: libselinux-python
+ state: present
+
+- name: ensure NFS client tools are installed
+ package:
+ name: nfs-utils
+ state: present