diff options
author | Lingxian Kong <anlin.kong@gmail.com> | 2020-07-12 21:26:44 +1200 |
---|---|---|
committer | Lingxian Kong <anlin.kong@gmail.com> | 2020-07-17 11:35:53 +1200 |
commit | 828e873846495df6d6911f9c196ae1fb478492f5 (patch) | |
tree | 40594616246e68fe54bef919cdc02d7dc310b682 /trove/guestagent/datastore/mysql_common/service.py | |
parent | f8ca333b4302ef5681f7f63731cce141e4ad7cf3 (diff) | |
download | trove-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.py | 18 |
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, |