diff options
author | Martin Schwenke <martin@meltin.net> | 2019-02-06 14:53:10 +1100 |
---|---|---|
committer | Martin Schwenke <martin@meltin.net> | 2019-03-25 16:52:25 +1100 |
commit | 51ff83de30db6934e243226ce05c6394b8986a12 (patch) | |
tree | f8dbbe3ceabc398a4596c968285a7245b3c70e01 /ansible/node/roles/common/tasks/redhat | |
parent | 7003df8ad2ec9eaa119439f21976e7117b1771e5 (diff) | |
download | autocluster-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.yml | 6 | ||||
-rw-r--r-- | ansible/node/roles/common/tasks/redhat/ntp.yml | 18 | ||||
-rw-r--r-- | ansible/node/roles/common/tasks/redhat/packages.yml | 53 |
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 |