Initial commit of retention script 73/16473/4
authorAric Gardner <agardner@linuxfoundation.org>
Wed, 6 Jul 2016 18:15:26 +0000 (14:15 -0400)
committerAric Gardner <agardner@linuxfoundation.org>
Wed, 6 Jul 2016 19:20:06 +0000 (15:20 -0400)
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 <agardner@linuxfoundation.org>
jjb/opnfv/artifact-cleanup.yml [new file with mode: 0644]
utils/retention_script.sh [new file with mode: 0644]

diff --git a/jjb/opnfv/artifact-cleanup.yml b/jjb/opnfv/artifact-cleanup.yml
new file mode 100644 (file)
index 0000000..b0f8191
--- /dev/null
@@ -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 (file)
index 0000000..9a8986c
--- /dev/null
@@ -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