2 # SPDX-License-Identifier: EPL-1.0
3 ##############################################################################
4 # Copyright (c) 2018 The Linux Foundation and others.
6 # All rights reserved. This program and the accompanying materials
7 # are made available under the terms of the Eclipse Public License v1.0
8 # which accompanies this distribution, and is available at
9 # http://www.eclipse.org/legal/epl-v10.html
10 ##############################################################################
11 # Scans OpenStack for orphaned volumes
12 echo "---> Orphaned volumes"
14 os_cloud="${OS_CLOUD:-vex}"
18 # shellcheck disable=SC1090
20 # Check if openstack venv was previously created
21 if [ -f "/tmp/.os_lf_venv" ]; then
22 os_lf_venv=$(cat "/tmp/.os_lf_venv")
25 if [ -d "${os_lf_venv}" ] && [ -f "${os_lf_venv}/bin/openstack" ]; then
26 echo "Re-use existing venv: ${os_lf_venv}"
27 PATH=$os_lf_venv/bin:$PATH
29 lf-activate-venv --python python3 "cryptography<3.4" \
30 "lftools[openstack]" \
34 python-openstackclient \
40 mapfile -t os_volumes < <(openstack --os-cloud "$os_cloud" volume list -f value -c ID --status Available)
42 if [ ${#os_volumes[@]} -eq 0 ]; then
43 echo "No orphaned volumes found."
45 for volume in "${os_volumes[@]}"; do
46 echo "Removing volume $volume"
47 lftools openstack --os-cloud "$os_cloud" volume remove --minutes 15 "$volume"