summaryrefslogtreecommitdiff
path: root/trove/guestagent/datastore/mysql_common/service.py
diff options
context:
space:
mode:
authorLingxian Kong <anlin.kong@gmail.com>2020-07-12 21:26:44 +1200
committerLingxian Kong <anlin.kong@gmail.com>2020-07-17 11:35:53 +1200
commit828e873846495df6d6911f9c196ae1fb478492f5 (patch)
tree40594616246e68fe54bef919cdc02d7dc310b682 /trove/guestagent/datastore/mysql_common/service.py
parentf8ca333b4302ef5681f7f63731cce141e4ad7cf3 (diff)
downloadtrove-828e873846495df6d6911f9c196ae1fb478492f5.tar.gz
Support backup strategy API
Change-Id: I0ddd7214dae6e29ddfaf045fdb282f4980a8afff
Diffstat (limited to 'trove/guestagent/datastore/mysql_common/service.py')
-rw-r--r--trove/guestagent/datastore/mysql_common/service.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/trove/guestagent/datastore/mysql_common/service.py b/trove/guestagent/datastore/mysql_common/service.py
index 77b10d81..87abb82d 100644
--- a/trove/guestagent/datastore/mysql_common/service.py
+++ b/trove/guestagent/datastore/mysql_common/service.py
@@ -741,8 +741,19 @@ class BaseMySqlApp(object):
user_token = context.auth_token
auth_url = CONF.service_credentials.auth_url
user_tenant = context.project_id
- metadata = f'datastore:{backup_info["datastore"]},' \
- f'datastore_version:{backup_info["datastore_version"]}'
+
+ swift_metadata = (
+ f'datastore:{backup_info["datastore"]},'
+ f'datastore_version:{backup_info["datastore_version"]}'
+ )
+ swift_params = f'--swift-extra-metadata={swift_metadata}'
+ swift_container = backup_info.get('swift_container',
+ CONF.backup_swift_container)
+ if backup_info.get('swift_container'):
+ swift_params = (
+ f'{swift_params} '
+ f'--swift-container {swift_container}'
+ )
command = (
f'/usr/bin/python3 main.py --backup --backup-id={backup_id} '
@@ -751,7 +762,7 @@ class BaseMySqlApp(object):
f'--db-host=127.0.0.1 '
f'--os-token={user_token} --os-auth-url={auth_url} '
f'--os-tenant-id={user_tenant} '
- f'--swift-extra-metadata={metadata} '
+ f'{swift_params} '
f'{incremental}'
)
@@ -792,6 +803,7 @@ class BaseMySqlApp(object):
'state': BackupState.COMPLETED,
})
else:
+ LOG.error(f'Cannot parse backup output: {result}')
backup_state.update({
'success': False,
'state': BackupState.FAILED,