From 9cbee8d6cf2aedd1a792af0034932cc77b5c49c0 Mon Sep 17 00:00:00 2001 From: Trevor Bramwell Date: Tue, 5 Dec 2017 16:36:27 -0800 Subject: [PATCH] Backup Pharos Dashboard Data Use an alpine container to mount the pharos_data volume and create a backup in the home directory on the system. Change-Id: If6700a8c4cd19a6c4b854efc54225d8f6b973aaa Signed-off-by: Trevor Bramwell --- jjb/global/slave-params.yml | 16 ++++++++++++++++ jjb/pharos/pharos.yml | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/jjb/global/slave-params.yml b/jjb/global/slave-params.yml index c645de60e..ae0ae1ed1 100644 --- a/jjb/global/slave-params.yml +++ b/jjb/global/slave-params.yml @@ -440,6 +440,22 @@ default: $WORKSPACE/build_output description: "Directory where the build artifact will be located upon the completion of the build." +- parameter: + name: 'pharos-dashboard-defaults' + parameters: + - label: + name: SLAVE_LABEL + default: 'pharos-dashboard' + description: 'Slave label on Jenkins' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + - string: + name: BUILD_DIRECTORY + default: $WORKSPACE/build_output + description: "Directory where the build artifact will be located upon the completion of the build." + - parameter: name: 'opnfv-build-defaults' parameters: diff --git a/jjb/pharos/pharos.yml b/jjb/pharos/pharos.yml index 7af4f0fa6..d7067c497 100644 --- a/jjb/pharos/pharos.yml +++ b/jjb/pharos/pharos.yml @@ -12,6 +12,7 @@ jobs: - '{project}-verify-{stream}' + - 'backup-pharos-dashboard' stream: - master: @@ -64,3 +65,35 @@ builders: - shell: | echo "Nothing to verify!" + +- job-template: + name: 'backup-pharos-dashboard' + + disabled: '{obj:disabled}' + + parameters: + - project-parameter: + project: 'pharos-tools' + branch: 'master' + - 'pharos-dashboard-defaults' + + scm: + - git-scm-gerrit + + triggers: + - timed: '@daily' + + builders: + - shell: | + mkdir -p /home/backups/ + DATE=$(date +%Y%m%d) + echo "-- $DATE --" + echo "Backing up Pharos Dashboard data..." + sudo docker run -it --rm \ + -v pharos_data:/pharos_data:ro \ + -v /tmp:/backup \ + alpine \ + tar -czf /backup/pharos-dashboard-db-$(date +%Y%m%d).tar.gz -C /pharos_data ./ + sudo mv /tmp/pharos-dashboard-db-$(date +%Y%m%d).tar.gz /home/backups/ + sudo chown $USER:$USER $WORKSPACE/backups/pharos-dashboard-db-$(date +%Y%m%d).tar.gz + echo "...complete" -- 2.16.6