/
main.yml
96 lines (81 loc) · 1.98 KB
/
main.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
---
- name: "Check all hosts accessible"
assert:
that:
- ansible_play_hosts == ansible_play_hosts_all
- name: "Install packages"
apt:
state: latest
pkg:
- parted
- rsync
register: install
- name: "Stat /var/lib/docker"
stat:
path: /var/lib/docker
register: docker
- name: "Will integrate NVMe SSD to provide /var/lib/docker as it is not a symlink already ..."
when: docker.stat.isdir is defined and docker.stat.isdir
block:
- name: "Unmount"
mount:
path: /mnt/ssd
src: "/dev/nvme0n1p1"
fstype: ext4
state: absent
opts: nofail
ignore_errors: true
- name: "Reboot given unmount"
reboot:
reboot_timeout: 300
- name: "Wipe signature and partitions"
command: >
wipefs --all --force /dev/nvme0n1
- name: "Partition and flag as boot"
parted:
device: "/dev/nvme0n1"
number: 1
state: present
label: gpt
flags: [ boot ]
- name: "Create ext4 filesystem"
filesystem:
fstype: ext4
force: yes
dev: "/dev/nvme0n1p1"
- name: "Mount"
mount:
path: /mnt/ssd
src: "/dev/nvme0n1p1"
fstype: ext4
state: mounted
opts: nofail
- name: "Stop docker before synchronization"
service:
name: docker
state: stopped
- name: "Create /mnt/ssd/var/lib/docker"
file:
path: /mnt/ssd/var/lib/docker
state: directory
- name: "Synchronize /var/lib/docker -> /mnt/ssd/var/lib/docker"
synchronize:
src: /var/lib/docker/
dest: /mnt/ssd/var/lib/docker/
delete: yes
compress: no
delegate_to: "{{ inventory_hostname }}"
- name: "Remove /var/lib/docker"
file:
path: /var/lib/docker
state: absent
- name: "Symlink /var/lib/docker -> /mnt/ssd/var/lib/docker"
file:
path: /var/lib/docker
src: /mnt/ssd/var/lib/docker
state: link
force: yes
- name: "Start docker after synchronization"
service:
name: docker
state: started