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