126 lines
3.4 KiB
YAML
126 lines
3.4 KiB
YAML
---
|
|
# This playbook contains plays that will run on all nodes
|
|
|
|
- name: Get docker key
|
|
shell: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
|
|
|
|
- name: Add docker repo
|
|
apt_repository:
|
|
repo: deb [arch=amd64] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable
|
|
state: present
|
|
|
|
- name: Update apt
|
|
apt: update_cache=yes
|
|
|
|
- name: Upgrade APT to the lastest packages
|
|
apt: upgrade=dist
|
|
|
|
- name: Install standard programes
|
|
apt: name={{ item }} state=present force=yes
|
|
with_items:
|
|
- htop
|
|
- curl
|
|
- openssh-server
|
|
- git
|
|
- rsync
|
|
- zip
|
|
- unzip
|
|
- fail2ban
|
|
- ntp
|
|
- mysql-client
|
|
- wget
|
|
- nfs-common
|
|
- docker-ce={{docker_ce_version_to_install}}
|
|
- sshpass
|
|
|
|
- name: Set git username
|
|
become: yes
|
|
become_user: cody
|
|
shell: git config --global user.name "Jacob Cody Wimer"
|
|
|
|
- name: Set git email
|
|
become: yes
|
|
become_user: cody
|
|
shell: git config --global user.email "jacob.wimer@gmail.com"
|
|
|
|
- name: Docker compose version
|
|
shell: docker-compose --version
|
|
register: docker_compose_version
|
|
failed_when: "docker_compose_version.rc ==2 or docker_compose_version.rc == 3"
|
|
|
|
- name: Get docker compose
|
|
shell: curl -L https://github.com/docker/compose/releases/download/{{docker_compose_version_to_install}}/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
|
|
when: >-
|
|
docker_compose_version.stdout != "docker-compose version: {{docker_compose_version_to_install}}"
|
|
|
|
- name: Link docker compose
|
|
shell: chmod +x /usr/local/bin/docker-compose
|
|
when: >-
|
|
docker_compose_version.stdout != "docker-compose version: {{docker_compose_version_to_install}}"
|
|
|
|
- name: Set timezone to NewYork
|
|
shell: timedatectl set-timezone America/New_York
|
|
|
|
- name: Replace sudoers file
|
|
template: src=../roles/common/templates/sudoers.j2 dest=/etc/sudoers
|
|
|
|
- name: Creates directory
|
|
file: path=/data state=directory
|
|
|
|
- name: Mount data directory
|
|
shell: mount 10.0.0.150:/volumeUSB1/usbshare/raw-files/fileserver/shares/lab-data/{{ ansible_hostname }} /data
|
|
ignore_errors: yes
|
|
|
|
- name: test for swap partition
|
|
shell: swapon -s | grep -E "^/"
|
|
register: swapfile
|
|
ignore_errors: yes
|
|
|
|
- name: create swapfile
|
|
when: swapfile|failed
|
|
shell: fallocate -l 4G /swapfile
|
|
|
|
- name: set swapfile permissions
|
|
when: swapfile|failed
|
|
file: path=/swapfile
|
|
owner=root
|
|
group=root
|
|
mode=0600
|
|
|
|
- name: prepare swapfile
|
|
when: swapfile|failed
|
|
shell: mkswap /swapfile
|
|
|
|
- name: enable swap
|
|
when: swapfile|failed
|
|
shell: swapon /swapfile
|
|
|
|
- name: add swapfile
|
|
when: swapfile|failed
|
|
lineinfile: dest=/etc/fstab
|
|
regexp="^/swapfile"
|
|
state=present
|
|
line="/swapfile none swap sw 0 0"
|
|
|
|
- name: set swappiness (temporarily)
|
|
when: swapfile|failed
|
|
shell: echo 10 | tee /proc/sys/vm/swappiness
|
|
|
|
- name: set swappiness (permanent)
|
|
when: swapfile|failed
|
|
lineinfile: dest=/etc/sysctl.conf
|
|
regexp="^vm.swappiness"
|
|
state=present
|
|
line="vm.swappiness = 10"
|
|
|
|
- name: set cache pressure (temporarily)
|
|
when: swapfile|failed
|
|
shell: echo 50 | tee /proc/sys/vm/vfs_cache_pressure
|
|
|
|
- name: set cache pressure (permanent)
|
|
when: swapfile|failed
|
|
lineinfile: dest=/etc/sysctl.conf
|
|
regexp="^vm.vfs_cache_pressure"
|
|
state=present
|
|
line="vm.swappiness = 50"
|