Add upgrade definition

Change-Id: I2406ea68d94d851a38400bbd71b87bba2ce1d9a1
This commit is contained in:
Mikhail 2017-03-02 16:55:53 +04:00
parent 6d351b3fc2
commit c0e356e704
3 changed files with 73 additions and 0 deletions

View File

@ -0,0 +1,7 @@
FROM {{ image_spec("designate-base") }}
MAINTAINER {{ maintainer }}
RUN apt-get install -y --no-install-recommends \
mysql-client \
&& apt-get clean

View File

@ -0,0 +1,10 @@
#!/bin/bash -ex
set -o pipefail
BACKUP_FILE_API="/var/ccp/backup/designate/backup-$(date "+%Y%m%d%H%M%S")-api.sql"
mysqldump {% if db.tls.enabled %} --ssl-mode REQUIRED {% endif %} -h {{ address(service.database) }} \
-u {{ designate.db.username }} -p{{ designate.db.password }} \
--single-transaction {{ designate.db.name.main_database }} > "${BACKUP_FILE_API}"
BACKUP_FILE_POOL="/var/ccp/backup/designate/backup-$(date "+%Y%m%d%H%M%S")-pool.sql"
mysqldump {% if db.tls.enabled %} --ssl-mode REQUIRED {% endif %} -h {{ address(service.database) }} \
-u {{ designate.db.username }} -p{{ designate.db.password }} \
--single-transaction {{ designate.db.name.pool_manager }} > "${BACKUP_FILE_POOL}"

View File

@ -0,0 +1,56 @@
upgrade:
name: upgrade-designate
image: designate-upgrade
steps:
- name: backup
command: /opt/ccp/bin/backup.sh
files:
- backup-sh
volumes:
- name: backup-dir
path: /var/ccp/backup/designate
type: host
readOnly: false
topology_key: backup
- name: kill-services
type: kill-services
- name: designate-api-syncdb
files:
- designate-conf
type: single
command: designate-manage --config-file /etc/designate/designate.conf database sync
- name: start-designate-central
type: rolling-upgrade
services:
- designate-api
- designate-central
- name: designate-pool-update
files:
- pools
- designate-conf
type: single
command: designate-manage pool update --file /etc/designate/pools.yaml
- name: designate-pool-sync
dependencies:
- designate-pool-manager-db-create
files:
- designate-conf
type: single
command: designate-manage --config-file /etc/designate/designate.conf pool-manager-cache sync
- name: start-other-services
type: rolling-upgrade
services:
- designate-pool-manager
- designate-mdns
- designate-zone-manager
files:
designate-conf:
path: /etc/designate/designate.conf
content: designate.conf.j2
pools:
path: /etc/designate/pools.yaml
content: pools.yaml.j2
backup-sh:
path: /opt/ccp/bin/backup.sh
content: backup.sh.j2
perm: "500"