Push zealand version of opensds ansible as base-code of Stor4NFV
[stor4nfv.git] / ci / ansible / roles / cleaner / tasks / main.yml
1 ---\r
2 - name: kill etcd daemon service\r
3   shell: killall etcd\r
4   ignore_errors: yes\r
5   when: db_driver == "etcd"\r
6 \r
7 - name: remove etcd service data\r
8   file:\r
9     path: "{{ etcd_dir }}"\r
10     state: absent\r
11     force: yes\r
12   ignore_errors: yes\r
13   when: db_driver == "etcd"\r
14 \r
15 - name: remove etcd tarball\r
16   file:\r
17     path: "/tmp/{{ etcd_tarball }}"\r
18     state: absent\r
19     force: yes\r
20   ignore_errors: yes\r
21   when: db_driver == "etcd"\r
22 \r
23 - name: kill osdslet daemon service\r
24   shell: killall osdslet\r
25   ignore_errors: yes\r
26 \r
27 - name: kill osdsdock daemon service\r
28   shell: killall osdsdock\r
29   ignore_errors: yes\r
30 \r
31 - name: clean all opensds build files\r
32   file:\r
33     path: "{{ opensds_build_dir }}"\r
34     state: absent\r
35     force: yes\r
36   ignore_errors: yes\r
37 \r
38 - name: clean all opensds configuration files\r
39   file:\r
40     path: "{{ opensds_config_dir }}"\r
41     state: absent\r
42     force: yes\r
43   ignore_errors: yes\r
44 \r
45 - name: clean all opensds log files\r
46   file:\r
47     path: "{{ opensds_log_dir }}"\r
48     state: absent\r
49     force: yes\r
50   ignore_errors: yes\r
51 \r
52 - name: check if it existed before cleaning a volume group\r
53   shell: vgdisplay {{ vg_name }}\r
54   ignore_errors: yes\r
55   register: vg_existed\r
56   when: enabled_backend == "lvm"\r
57 \r
58 - name: remove a volume group if lvm backend specified\r
59   shell: vgremove {{ vg_name }}\r
60   when: enabled_backend == "lvm" and vg_existed.rc == 0\r
61 \r
62 - name: check if it existed before cleaning a physical volume\r
63   shell: pvdisplay {{ pv_device }}\r
64   ignore_errors: yes\r
65   register: pv_existed\r
66   when: enabled_backend == "lvm"\r
67 \r
68 - name: remove a physical volume if lvm backend specified\r
69   shell: pvremove {{ pv_device }}\r
70   when: enabled_backend == "lvm" and pv_existed.rc == 0\r
71 \r
72 - name: stop cinder-standalone service\r
73   shell: docker-compose down\r
74   become: true\r
75   args:\r
76     chdir: "{{ cinder_data_dir }}/cinder/contrib/block-box"\r
77   when: enabled_backend == "cinder"\r
78 \r
79 - name: clean the volume group of cinder\r
80   shell:\r
81     _raw_params: |\r
82 \r
83       # _clean_lvm_volume_group removes all default LVM volumes\r
84       #\r
85       # Usage: _clean_lvm_volume_group $vg\r
86       function _clean_lvm_volume_group {\r
87           local vg=$1\r
88 \r
89           # Clean out existing volumes\r
90           sudo lvremove -f $vg\r
91       }\r
92 \r
93       # _remove_lvm_volume_group removes the volume group\r
94       #\r
95       # Usage: _remove_lvm_volume_group $vg\r
96       function _remove_lvm_volume_group {\r
97           local vg=$1\r
98 \r
99           # Remove the volume group\r
100           sudo vgremove -f $vg\r
101       }\r
102 \r
103       # _clean_lvm_backing_file() removes the backing file of the\r
104       # volume group\r
105       #\r
106       # Usage: _clean_lvm_backing_file() $backing_file\r
107       function _clean_lvm_backing_file {\r
108           local backing_file=$1\r
109 \r
110           # If the backing physical device is a loop device, it was probably setup by DevStack\r
111           if [[ -n "$backing_file" ]] && [[ -e "$backing_file" ]]; then\r
112               local vg_dev\r
113               vg_dev=$(sudo losetup -j $backing_file | awk -F':' '/'.img'/ { print $1}')\r
114               if [[ -n "$vg_dev" ]]; then\r
115                   sudo losetup -d $vg_dev\r
116               fi\r
117               rm -f $backing_file\r
118           fi\r
119       }\r
120 \r
121       # clean_lvm_volume_group() cleans up the volume group and removes the\r
122       # backing file\r
123       #\r
124       # Usage: clean_lvm_volume_group $vg\r
125       function clean_lvm_volume_group {\r
126           local vg=$1\r
127 \r
128           _clean_lvm_volume_group $vg\r
129           _remove_lvm_volume_group $vg\r
130           # if there is no logical volume left, it's safe to attempt a cleanup\r
131           # of the backing file\r
132           if [[ -z "$(sudo lvs --noheadings -o lv_name $vg 2>/dev/null)" ]]; then\r
133               _clean_lvm_backing_file {{ cinder_data_dir }}/${vg}.img\r
134           fi\r
135       }\r
136 \r
137       clean_lvm_volume_group {{cinder_volume_group}}\r
138 \r
139   args:\r
140     executable: /bin/bash\r
141   become: true\r
142   when: enabled_backend == "cinder"\r