blob: 614b2537aae7427f2f153d4b0655417ebdd305a7 (
plain)
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
97
98
99
100
101
102
103
104
|
#!/usr/bin/ansible-playbook
---
# This playbook coverts docker to go from loopback to direct-lvm (the Red Hat recommended way to run docker).
#
# It requires the block device to be already provisioned and attached to the host. This is a generic playbook,
# meant to be used for manual conversion. For AWS specific conversions, use the other playbook in this directory.
#
# To run:
# ./ops-docker-loopback-to-direct-lvm.yml -e cli_host=<host to run on> -e cli_docker_device=<path to device>
#
# Example:
# ./ops-docker-loopback-to-direct-lvm.yml -e cli_host=twiesttest-master-fd32 -e cli_docker_device=/dev/sdb
#
# Notes:
# * This will remove /var/lib/docker!
# * You may need to re-deploy docker images after this is run (like monitoring)
- name: Fix docker to have a provisioned iops drive
hosts: "{{ cli_name }}"
user: root
connection: ssh
gather_facts: no
pre_tasks:
- fail:
msg: "This playbook requires {{item}} to be set."
when: "{{ item }} is not defined or {{ item }} == ''"
with_items:
- cli_docker_device
- name: start docker
service:
name: docker
state: started
- name: Determine if loopback
shell: docker info | grep 'Data file:.*loop'
register: loop_device_check
ignore_errors: yes
- debug:
var: loop_device_check
- name: fail if we don't detect loopback
fail:
msg: loopback not detected! Please investigate manually.
when: loop_device_check.rc == 1
- name: stop zagg client monitoring container
service:
name: oso-rhel7-zagg-client
state: stopped
ignore_errors: yes
- name: stop pcp client monitoring container
service:
name: oso-f22-host-monitoring
state: stopped
ignore_errors: yes
- name: "check to see if {{ cli_docker_device }} exists"
command: "test -e {{ cli_docker_device }}"
register: docker_dev_check
ignore_errors: yes
- debug: var=docker_dev_check
- name: "fail if {{ cli_docker_device }} doesn't exist"
fail:
msg: "{{ cli_docker_device }} doesn't exist. Please investigate"
when: docker_dev_check.rc != 0
- name: stop docker
service:
name: docker
state: stopped
- name: delete /var/lib/docker
command: rm -rf /var/lib/docker
- name: remove /var/lib/docker
command: rm -rf /var/lib/docker
- name: copy the docker-storage-setup config file
copy:
content: >
DEVS={{ cli_docker_device }}
VG=docker_vg
dest: /etc/sysconfig/docker-storage-setup
owner: root
group: root
mode: 0664
- name: docker storage setup
command: docker-storage-setup
register: setup_output
- debug: var=setup_output
- name: start docker
command: systemctl start docker.service
register: dockerstart
- debug: var=dockerstart
|