From a6789ba105da0ff9c802fb51403a3ffddaeb3f93 Mon Sep 17 00:00:00 2001 From: Aric Gardner Date: Wed, 6 Jul 2016 14:15:26 -0400 Subject: Initial commit of retention script Includes job to kick off retention script Retention script will just list files, nothing is done at this time does not yet dive into the brahmaputra directories. Change-Id: I2e608262130326944880b9694fbb8d6a12c09be0 Signed-off-by: Aric Gardner --- jjb/opnfv/artifact-cleanup.yml | 42 ++++++++++++++++++++++++++++++++++++++++++ utils/retention_script.sh | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 jjb/opnfv/artifact-cleanup.yml create mode 100644 utils/retention_script.sh diff --git a/jjb/opnfv/artifact-cleanup.yml b/jjb/opnfv/artifact-cleanup.yml new file mode 100644 index 000000000..b0f819145 --- /dev/null +++ b/jjb/opnfv/artifact-cleanup.yml @@ -0,0 +1,42 @@ +- project: + name: artifact-cleanup + + project: 'releng' + + jobs: + - 'artifact-cleanup-daily-{stream}' + + stream: + - master: + branch: '{stream}' + gs-pathname: '' + + +- job-template: + name: 'artifact-cleanup-daily-{stream}' + + # Job template for daily builders + # + # Required Variables: + # stream: branch with - in place of / (eg. stable) + # branch: branch (eg. stable) + node: master + + disabled: false + + parameters: + - project-parameter: + project: '{project}' + + scm: + - git-scm: + credentials-id: '{ssh-credentials}' + refspec: '' + branch: '{branch}' + + triggers: + - timed: 'H H * * *' + + builders: + - shell: | + $WORKSPACE/utils/retention_script.sh diff --git a/utils/retention_script.sh b/utils/retention_script.sh new file mode 100644 index 000000000..9a8986ca5 --- /dev/null +++ b/utils/retention_script.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2016 The Linux Foundation and others +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +############################################################################## + +#These are the only projects that generate artifacts +for x in armband ovsnfv fuel apex compass4nfv +do + + echo "Looking at artifacts for project $x" + + while IFS= read -r artifact; do + + artifact_date="$(gsutil ls -L $artifact | grep "Creation time:" | awk '{print $4,$5,$6}')" + age=$(($(date +%s)-$(date -d"$artifact_date" +%s))) + daysold=$(($age/86400)) + + if [[ "$daysold" -gt "10" ]]; then + echo "$daysold Days old Deleting: $(basename $artifact)" + else + echo "$daysold Days old Retaining: $(basename $artifact)" + fi + + done < <(gsutil ls gs://artifacts.opnfv.org/"$x" |grep -v "/$") +done -- cgit 1.2.3-korg