Add script to remove stale volumes 51/71051/2
authorThanh Ha <thanh.ha@linuxfoundation.org>
Tue, 17 Apr 2018 17:34:26 +0000 (13:34 -0400)
committerThanh Ha <thanh.ha@linuxfoundation.org>
Tue, 17 Apr 2018 19:21:25 +0000 (15:21 -0400)
Stale volumes are volumes that are in "Available" state and
have been around for longer than 15 minutes long.

Change-Id: Ic3d9546609d6037afbce26d822b81ed8e8b46ec3
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
jjb/odl-openstack-cleanup-stale-volumes.sh [new file with mode: 0644]
jjb/releng-jobs.yaml
jjb/releng-macros.yaml

diff --git a/jjb/odl-openstack-cleanup-stale-volumes.sh b/jjb/odl-openstack-cleanup-stale-volumes.sh
new file mode 100644 (file)
index 0000000..09f7a52
--- /dev/null
@@ -0,0 +1,29 @@
+#!/bin/bash
+# SPDX-License-Identifier: EPL-1.0
+##############################################################################
+# Copyright (c) 2018 The Linux Foundation and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+##############################################################################
+# Scans OpenStack for orphaned volumes
+
+# shellcheck source=/tmp/v/openstack/bin/activate disable=SC1091
+source "/tmp/v/openstack/bin/activate"
+mapfile -t os_volumes < <(openstack volume list -f value -c ID --status Available)
+deactivate
+
+# shellcheck source=/tmp/v/lftools/bin/activate disable=SC1091
+source "/tmp/v/lftools/bin/activate"
+echo "---> Orphaned volumes"
+if [ ${#os_volumes[@]} -eq 0 ]; then
+    echo "No orphaned volumes found."
+else
+    for volume in "${os_volumes[@]}"; do
+        echo "Removing volume $volume"
+        lftools openstack --os-cloud vex volume remove --minutes 15 "$volume"
+    done
+fi
+deactivate
index 0dd4d44aaf6a948c43f954617ae8a301e23dc3aa..ff01e7e39f56db116901a094b6ed8a3d782a69c5 100644 (file)
       - odl-openstack-cleanup-stale-stacks
       - odl-openstack-cleanup-stale-nodes
       - odl-openstack-cleanup-orphaned-nodes
+      # Volumes
+      - odl-openstack-cleanup-stale-volumes
       # Images
       - odl-openstack-check-image-protection
       - odl-openstack-cleanup-old-images
index 1a38abbcd43d8005d2176eeef43a14e78c951a27..2316b19ca3cc6c16b5b9d94365861edc4d298441 100644 (file)
     builders:
       - shell: !include-raw: odl-openstack-cleanup-stale-stacks.sh
 
+- builder:
+    name: odl-openstack-cleanup-stale-volumes
+    builders:
+      - shell: !include-raw: odl-openstack-cleanup-stale-volumes.sh
+
 - builder:
     # Deploys a maven site to Nexus using lftools nexus-zip command
     name: opendaylight-infra-deploy-maven-site