partitions=\$(pvs --noheadings --separator :| cut -d: -f1,2) vg_remove=0 remove_partitions='' echo "partitions \$partitions" >> /tmp/post_partition.log for partition in \$partitions; do partition_vg=(\${partition//:/ }) partition=\${partition_vg[0]} vg=\${partition_vg[1]} if [[ "\$vg" == "reserved" ]]; then echo "prepare remove partition \$partition" >> /tmp/post_partition.log remove_partitions="\${remove_partitions} \$partition" vg_remove=1 else echo "ignore \$vg since it is not reserved" >> /tmp/post_partition.log fi done if [[ "\${vg_remove}" != "0" ]]; then vgremove -f reserved fi for remove_partition in \${remove_partitions}; do echo "remove partition \${remove_partition}" >> /tmp/post_partition.log pvremove -ff -y \${remove_partition} set \$(echo \${remove_partition} | sed -e 's/^\(.*\)\([0-9]\+\)\$/\1 \2/g') partition_disk=\$1 partition_number=\$2 if [ -z "\${partition_disk}" -o -z "\${partition_number}" ]; then continue fi parted \${partition_disk} --script -- rm \${partition_number} done