- # Remove the volume group\r
- sudo vgremove -f $vg\r
- }\r
-\r
- # _clean_lvm_backing_file() removes the backing file of the\r
- # volume group\r
- #\r
- # Usage: _clean_lvm_backing_file() $backing_file\r
- function _clean_lvm_backing_file {\r
- local backing_file=$1\r
-\r
- # If the backing physical device is a loop device, it was probably setup by DevStack\r
- if [[ -n "$backing_file" ]] && [[ -e "$backing_file" ]]; then\r
- local vg_dev\r
- vg_dev=$(sudo losetup -j $backing_file | awk -F':' '/'.img'/ { print $1}')\r
- if [[ -n "$vg_dev" ]]; then\r
- sudo losetup -d $vg_dev\r
- fi\r
- rm -f $backing_file\r
- fi\r
- }\r
-\r
- # clean_lvm_volume_group() cleans up the volume group and removes the\r
- # backing file\r
- #\r
- # Usage: clean_lvm_volume_group $vg\r
- function clean_lvm_volume_group {\r
- local vg=$1\r
-\r
- _clean_lvm_volume_group $vg\r
- _remove_lvm_volume_group $vg\r
- # if there is no logical volume left, it's safe to attempt a cleanup\r
- # of the backing file\r
- if [[ -z "$(sudo lvs --noheadings -o lv_name $vg 2>/dev/null)" ]]; then\r
- _clean_lvm_backing_file {{ cinder_data_dir }}/${vg}.img\r
- fi\r
- }\r
-\r
- clean_lvm_volume_group {{cinder_volume_group}}\r
-\r
- args:\r
- executable: /bin/bash\r
- become: true\r
- when: enabled_backend == "cinder"\r