Chore: Upgrade Jenkins-job-builder to 6.3.0
[releng/global-jjb.git] / shell / openstack-cleanup-orphaned-volumes.sh
1 #!/bin/bash -l
2 # SPDX-License-Identifier: EPL-1.0
3 ##############################################################################
4 # Copyright (c) 2018 The Linux Foundation and others.
5 #
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"
13
14 os_cloud="${OS_CLOUD:-vex}"
15
16 set -eux -o pipefail
17
18 # shellcheck disable=SC1090
19 source ~/lf-env.sh
20
21 lf-activate-venv --python python3 "lftools[openstack]" \
22     kubernetes \
23     niet \
24     python-heatclient \
25     python-openstackclient \
26     python-magnumclient \
27     yq
28
29 mapfile -t os_volumes < <(openstack --os-cloud "$os_cloud" volume list -f value -c ID --status Available)
30
31 if [ ${#os_volumes[@]} -eq 0 ]; then
32     echo "No orphaned volumes found."
33 else
34     for volume in "${os_volumes[@]}"; do
35         echo "Removing volume $volume"
36         lftools openstack --os-cloud "$os_cloud" volume remove --minutes 15 "$volume"
37     done
38 fi