4b3b0c2fe5e1b59077c9d1a9e6bb7679db873871
[stor4nfv.git] / ci / ansible / roles / cleaner / tasks / main.yml
1 ---\r
2 - name: kill osdslet daemon service\r
3   shell: killall osdslet\r
4   ignore_errors: yes\r
5   when: container_enabled == false\r
6 \r
7 - name: kill osdslet containerized service\r
8   docker:\r
9     image: opensdsio/opensds-controller:latest\r
10     state: stopped\r
11   when: container_enabled == true\r
12 \r
13 - name: kill osdsdock daemon service\r
14   shell: killall osdsdock\r
15   ignore_errors: yes\r
16   when: container_enabled == false\r
17 \r
18 - name: kill osdsdock containerized service\r
19   docker:\r
20     image: opensdsio/opensds-dock:latest\r
21     state: stopped\r
22   when: container_enabled == true\r
23 \r
24 - name: kill etcd daemon service\r
25   shell: killall etcd\r
26   ignore_errors: yes\r
27   when: db_driver == "etcd" and container_enabled == false\r
28 \r
29 - name: kill etcd containerized service\r
30   docker:\r
31     image: quay.io/coreos/etcd:latest\r
32     state: stopped\r
33   when: db_driver == "etcd" and container_enabled == true\r
34 \r
35 - name: remove etcd service data\r
36   file:\r
37     path: "{{ etcd_dir }}"\r
38     state: absent\r
39     force: yes\r
40   ignore_errors: yes\r
41   when: db_driver == "etcd"\r
42 \r
43 - name: remove etcd tarball\r
44   file:\r
45     path: "/opt/{{ etcd_tarball }}"\r
46     state: absent\r
47     force: yes\r
48   ignore_errors: yes\r
49   when: db_driver == "etcd"\r
50 \r
51 - name: clean opensds release files\r
52   file:\r
53     path: "{{ opensds_dir }}"\r
54     state: absent\r
55     force: yes\r
56   ignore_errors: yes\r
57 \r
58 - name: clean opensds release tarball file\r
59   file:\r
60     path: "{{ opensds_tarball_url }}"\r
61     state: absent\r
62     force: yes\r
63   ignore_errors: yes\r
64 \r
65 - name: clean opensds flexvolume plugins binary file\r
66   file:\r
67     path: "{{ flexvolume_plugin_dir }}"\r
68     state: absent\r
69     force: yes\r
70   ignore_errors: yes\r
71   when: nbp_plugin_type == "flexvolume"\r
72 \r
73 - name: clean nbp release files\r
74   file:\r
75     path: "{{ nbp_dir }}"\r
76     state: absent\r
77     force: yes\r
78   ignore_errors: yes\r
79 \r
80 - name: clean nbp release tarball file\r
81   file:\r
82     path: "{{ nbp_tarball_url }}"\r
83     state: absent\r
84     force: yes\r
85   ignore_errors: yes\r
86 \r
87 - name: clean all opensds configuration files\r
88   file:\r
89     path: "{{ opensds_config_dir }}"\r
90     state: absent\r
91     force: yes\r
92   ignore_errors: yes\r
93 \r
94 - name: clean all opensds log files\r
95   file:\r
96     path: "{{ opensds_log_dir }}"\r
97     state: absent\r
98     force: yes\r
99   ignore_errors: yes\r
100 \r
101 - name: check if it existed before cleaning a volume group\r
102   shell: vgdisplay {{ vg_name }}\r
103   ignore_errors: yes\r
104   register: vg_existed\r
105   when: enabled_backend == "lvm"\r
106 \r
107 - name: remove a volume group if lvm backend specified\r
108   lvg:\r
109     vg: "{{ vg_name }}"\r
110     state: absent\r
111   when: enabled_backend == "lvm" and vg_existed.rc == 0\r
112 \r
113 - name: remove physical volumes if lvm backend specified\r
114   shell: pvremove {{ item }}\r
115   with_items: "{{ pv_devices }}"\r
116   when: enabled_backend == "lvm"\r
117 \r
118 - name: stop cinder-standalone service\r
119   shell: docker-compose down\r
120   become: true\r
121   args:\r
122     chdir: "{{ cinder_data_dir }}/cinder/contrib/block-box"\r
123   when: enabled_backend == "cinder"\r
124 \r
125 - name: clean the volume group of cinder\r
126   shell:\r
127     _raw_params: |\r
128 \r
129       # _clean_lvm_volume_group removes all default LVM volumes\r
130       #\r
131       # Usage: _clean_lvm_volume_group $vg\r
132       function _clean_lvm_volume_group {\r
133           local vg=$1\r
134 \r
135           # Clean out existing volumes\r
136           sudo lvremove -f $vg\r
137       }\r
138 \r
139       # _remove_lvm_volume_group removes the volume group\r
140       #\r
141       # Usage: _remove_lvm_volume_group $vg\r
142       function _remove_lvm_volume_group {\r
143           local vg=$1\r
144 \r
145           # Remove the volume group\r
146           sudo vgremove -f $vg\r
147       }\r
148 \r
149       # _clean_lvm_backing_file() removes the backing file of the\r
150       # volume group\r
151       #\r
152       # Usage: _clean_lvm_backing_file() $backing_file\r
153       function _clean_lvm_backing_file {\r
154           local backing_file=$1\r
155 \r
156           # If the backing physical device is a loop device, it was probably setup by DevStack\r
157           if [[ -n "$backing_file" ]] && [[ -e "$backing_file" ]]; then\r
158               local vg_dev\r
159               vg_dev=$(sudo losetup -j $backing_file | awk -F':' '/'.img'/ { print $1}')\r
160               if [[ -n "$vg_dev" ]]; then\r
161                   sudo losetup -d $vg_dev\r
162               fi\r
163               rm -f $backing_file\r
164           fi\r
165       }\r
166 \r
167       # clean_lvm_volume_group() cleans up the volume group and removes the\r
168       # backing file\r
169       #\r
170       # Usage: clean_lvm_volume_group $vg\r
171       function clean_lvm_volume_group {\r
172           local vg=$1\r
173 \r
174           _clean_lvm_volume_group $vg\r
175           _remove_lvm_volume_group $vg\r
176           # if there is no logical volume left, it's safe to attempt a cleanup\r
177           # of the backing file\r
178           if [[ -z "$(sudo lvs --noheadings -o lv_name $vg 2>/dev/null)" ]]; then\r
179               _clean_lvm_backing_file {{ cinder_data_dir }}/${vg}.img\r
180           fi\r
181       }\r
182 \r
183       clean_lvm_volume_group {{cinder_volume_group}}\r
184 \r
185   args:\r
186     executable: /bin/bash\r
187   become: true\r
188   when: enabled_backend == "cinder"\r