diff --git a/service/files/backup.sh.j2 b/service/files/backup.sh.j2 new file mode 100644 index 0000000..41213e3 --- /dev/null +++ b/service/files/backup.sh.j2 @@ -0,0 +1,6 @@ +#!/bin/bash -ex +set -o pipefail +BACKUP_FILE="/var/ccp/backup/neutron/backup-$(date "+%Y%m%d%H%M%S").sql" +mysqldump -h {{ address(service.database) }} \ + -u {{ neutron.db.username }} -p{{ neutron.db.password }} \ + --single-transaction {{ neutron.db.name }} > "${BACKUP_FILE}" diff --git a/service/upgrade/default.yaml b/service/upgrade/default.yaml index f45f2b8..dd9d0fd 100644 --- a/service/upgrade/default.yaml +++ b/service/upgrade/default.yaml @@ -1,7 +1,17 @@ upgrade: name: upgrade-neutron - image: neutron-server + image: neutron-base steps: + - name: backup + command: /opt/ccp/bin/backup.sh + files: + - backup-sh + volumes: + - name: backup-dir + path: /var/ccp/backup/neutron + type: host + readOnly: false + topology_key: backup - name: expand command: neutron-db-manage upgrade --expand files: @@ -30,3 +40,7 @@ files: path: /etc/neutron/neutron.conf content: neutron.conf.j2 perm: "0600" + backup-sh: + path: /opt/ccp/bin/backup.sh + content: backup.sh.j2 + perm: "500"