2 - name: kill etcd daemon service
\r
5 when: db_driver == "etcd"
\r
7 - name: remove etcd service data
\r
9 path: "{{ etcd_dir }}"
\r
13 when: db_driver == "etcd"
\r
15 - name: remove etcd tarball
\r
17 path: "/tmp/{{ etcd_tarball }}"
\r
21 when: db_driver == "etcd"
\r
23 - name: kill osdslet daemon service
\r
24 shell: killall osdslet
\r
27 - name: kill osdsdock daemon service
\r
28 shell: killall osdsdock
\r
31 - name: clean all opensds build files
\r
33 path: "{{ opensds_build_dir }}"
\r
38 - name: clean all opensds configuration files
\r
40 path: "{{ opensds_config_dir }}"
\r
45 - name: clean all opensds log files
\r
47 path: "{{ opensds_log_dir }}"
\r
52 - name: check if it existed before cleaning a volume group
\r
53 shell: vgdisplay {{ vg_name }}
\r
55 register: vg_existed
\r
56 when: enabled_backend == "lvm"
\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
62 - name: check if it existed before cleaning a physical volume
\r
63 shell: pvdisplay {{ pv_device }}
\r
65 register: pv_existed
\r
66 when: enabled_backend == "lvm"
\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
72 - name: stop cinder-standalone service
\r
73 shell: docker-compose down
\r
76 chdir: "{{ cinder_data_dir }}/cinder/contrib/block-box"
\r
77 when: enabled_backend == "cinder"
\r
79 - name: clean the volume group of cinder
\r
83 # _clean_lvm_volume_group removes all default LVM volumes
\r
85 # Usage: _clean_lvm_volume_group $vg
\r
86 function _clean_lvm_volume_group {
\r
89 # Clean out existing volumes
\r
90 sudo lvremove -f $vg
\r
93 # _remove_lvm_volume_group removes the volume group
\r
95 # Usage: _remove_lvm_volume_group $vg
\r
96 function _remove_lvm_volume_group {
\r
99 # Remove the volume group
\r
100 sudo vgremove -f $vg
\r
103 # _clean_lvm_backing_file() removes the backing file of the
\r
106 # Usage: _clean_lvm_backing_file() $backing_file
\r
107 function _clean_lvm_backing_file {
\r
108 local backing_file=$1
\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
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
117 rm -f $backing_file
\r
121 # clean_lvm_volume_group() cleans up the volume group and removes the
\r
124 # Usage: clean_lvm_volume_group $vg
\r
125 function clean_lvm_volume_group {
\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
137 clean_lvm_volume_group {{cinder_volume_group}}
\r
140 executable: /bin/bash
\r
142 when: enabled_backend == "cinder"
\r