From 825826932a2339563f2305e635ded229e3497fcf Mon Sep 17 00:00:00 2001 From: Thanh Ha Date: Tue, 17 Apr 2018 13:34:26 -0400 Subject: [PATCH] Add script to remove stale volumes 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 --- jjb/odl-openstack-cleanup-stale-volumes.sh | 29 ++++++++++++++++++++++ jjb/releng-jobs.yaml | 2 ++ jjb/releng-macros.yaml | 5 ++++ 3 files changed, 36 insertions(+) create mode 100644 jjb/odl-openstack-cleanup-stale-volumes.sh diff --git a/jjb/odl-openstack-cleanup-stale-volumes.sh b/jjb/odl-openstack-cleanup-stale-volumes.sh new file mode 100644 index 0000000000..09f7a5257f --- /dev/null +++ b/jjb/odl-openstack-cleanup-stale-volumes.sh @@ -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 diff --git a/jjb/releng-jobs.yaml b/jjb/releng-jobs.yaml index 0dd4d44aaf..ff01e7e39f 100644 --- a/jjb/releng-jobs.yaml +++ b/jjb/releng-jobs.yaml @@ -214,6 +214,8 @@ - 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 diff --git a/jjb/releng-macros.yaml b/jjb/releng-macros.yaml index 1a38abbcd4..2316b19ca3 100644 --- a/jjb/releng-macros.yaml +++ b/jjb/releng-macros.yaml @@ -314,6 +314,11 @@ 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 -- 2.36.6