from trove.guestagent.strategies.backup.base import UnknownBackupType from trove.guestagent.strategies.storage import get_storage_strategy from trove.guestagent.strategies.backup import get_backup_strategy from trove.guestagent.strategies.restore import get_restore_strategy from trove.openstack.common.gettextutils import _ # noqa LOG = logging.getLogger(__name__) CONF = cfg.CONF MANAGER = CONF.datastore_manager # If datastore manager is not mentioned in guest # configuration file, would be used mysql as datastore_manager by the default STRATEGY = CONF.get('mysql' if not MANAGER else MANAGER).backup_strategy NAMESPACE = CONF.backup_namespace RUNNER = get_backup_strategy(STRATEGY, NAMESPACE) EXTRA_OPTS = CONF.backup_runner_options.get(STRATEGY, '') # Try to get the incremental strategy or return the default 'backup_strategy' INCREMENTAL = CONF.backup_incremental_strategy.get(STRATEGY, STRATEGY) INCREMENTAL_RUNNER = get_backup_strategy(INCREMENTAL, NAMESPACE) class BackupAgent(object): def _get_restore_runner(self, backup_type): """Returns the RestoreRunner associated with this backup type.""" try: runner = get_restore_strategy(backup_type, CONF.restore_namespace)
def repl_backup_runner(self): return backup.get_backup_strategy('EdbPgBaseBackup', REPL_BACKUP_NAMESPACE)
def repl_incr_backup_runner(self): return backup.get_backup_strategy(BACKUP_INCR_STRATEGY, BACKUP_NAMESPACE)
def repl_incr_backup_runner(self): return backup.get_backup_strategy('MariaDBInnoBackupExIncremental', REPL_BACKUP_NAMESPACE)
def repl_backup_runner(self): return backup.get_backup_strategy('InnoBackupEx', REPL_BACKUP_NAMESPACE)
def repl_backup_runner(self): return backup.get_backup_strategy('InnoBackupEx', REPL_BACKUP_NAMESPACE)
from trove.guestagent.strategies.restore import get_restore_strategy import cStringIO from trove.patch.backup.models import Type from trove.common import utils from trove.patch.instance.models import InstanceType from trove.patch.conductor import api as conductor_api from trove.patch.common import utils as patch_utils import pexpect from trove.patch.group.models import DBInstanceType from trove.patch.common.alarmrpc import AlarmRpc import json import time LOG = logging.getLogger(__name__) CONF = cfg.CONF RUNNER_master = get_backup_strategy("InnoBackupEx_xbstream_master", "trove.patch.guestagent.strategies.backup.impl") RUNNER_slave = get_backup_strategy("InnoBackupEx_xbstream_slave", "trove.patch.guestagent.strategies.backup.impl") RUNNER_master_incremental = get_backup_strategy("InnoBackupEx_xbstream_master_incremental", "trove.patch.guestagent.strategies.backup.impl") RUNNER_slave_incremental = get_backup_strategy("InnoBackupEx_xbstream_slave_incremental", "trove.patch.guestagent.strategies.backup.impl") import re class KSC_BackupAgent(object): def _get_restore_runner(self, backup_type):
from trove.guestagent.strategies.backup.base import BackupError from trove.guestagent.strategies.backup.base import UnknownBackupType from trove.guestagent.strategies.backup import get_backup_strategy from trove.guestagent.strategies.restore import get_restore_strategy from trove.guestagent.strategies.storage import get_storage_strategy LOG = logging.getLogger(__name__) CONF = cfg.CONF CONFIG_MANAGER = CONF.get( 'mysql' if not CONF.datastore_manager else CONF.datastore_manager) STRATEGY = CONFIG_MANAGER.backup_strategy BACKUP_NAMESPACE = CONFIG_MANAGER.backup_namespace RESTORE_NAMESPACE = CONFIG_MANAGER.restore_namespace RUNNER = get_backup_strategy(STRATEGY, BACKUP_NAMESPACE) EXTRA_OPTS = CONF.backup_runner_options.get(STRATEGY, '') # Try to get the incremental strategy or return the default 'backup_strategy' INCREMENTAL = CONFIG_MANAGER.backup_incremental_strategy.get( STRATEGY, STRATEGY) INCREMENTAL_RUNNER = get_backup_strategy(INCREMENTAL, BACKUP_NAMESPACE) class BackupAgent(object): def _get_restore_runner(self, backup_type): """Returns the RestoreRunner associated with this backup type.""" try: runner = get_restore_strategy(backup_type, RESTORE_NAMESPACE) except ImportError:
from trove.conductor import api as conductor_api from trove.guestagent.common import timeutils from trove.guestagent.dbaas import get_filesystem_volume_stats from trove.guestagent.datastore.mysql.service import ADMIN_USER_NAME from trove.guestagent.datastore.mysql.service import get_auth_password from trove.guestagent.strategies.backup.base import BackupError from trove.guestagent.strategies.backup.base import UnknownBackupType from trove.guestagent.strategies.storage import get_storage_strategy from trove.guestagent.strategies.backup import get_backup_strategy from trove.guestagent.strategies.restore import get_restore_strategy from trove.openstack.common.gettextutils import _ # noqa LOG = logging.getLogger(__name__) CONF = cfg.CONF RUNNER = get_backup_strategy(CONF.backup_strategy, CONF.backup_namespace) EXTRA_OPTS = CONF.backup_runner_options.get(CONF.backup_strategy, '') # Try to get the incremental strategy or return the default 'backup_strategy' INCREMENTAL = CONF.backup_incremental_strategy.get(CONF.backup_strategy, CONF.backup_strategy) INCREMENTAL_RUNNER = get_backup_strategy(INCREMENTAL, CONF.backup_namespace) class BackupAgent(object): def _get_restore_runner(self, backup_type): """Returns the RestoreRunner associated with this backup type.""" try: runner = get_restore_strategy(backup_type, CONF.restore_namespace) except ImportError: raise UnknownBackupType("Unknown Backup type: %s" % backup_type)
from trove.common import cfg from trove.common import context as trove_context from trove.conductor import api as conductor_api from trove.guestagent.dbaas import get_filesystem_volume_stats from trove.guestagent.datastore.mysql.service import ADMIN_USER_NAME from trove.guestagent.datastore.mysql.service import get_auth_password from trove.guestagent.strategies.backup.base import BackupError from trove.guestagent.strategies.backup.base import UnknownBackupType from trove.guestagent.strategies.storage import get_storage_strategy from trove.guestagent.strategies.backup import get_backup_strategy from trove.guestagent.strategies.restore import get_restore_strategy LOG = logging.getLogger(__name__) CONF = cfg.CONF RUNNER = get_backup_strategy(CONF.backup_strategy, CONF.backup_namespace) EXTRA_OPTS = CONF.backup_runner_options.get(CONF.backup_strategy, '') BACKUP_CONTAINER = CONF.backup_swift_container class BackupAgent(object): def _get_restore_runner(self, backup_type): """Returns the RestoreRunner associated with this backup type.""" try: runner = get_restore_strategy(backup_type, CONF.restore_namespace) except ImportError: raise UnknownBackupType("Unknown Backup type: %s" % backup_type) return runner def execute_backup(self, context, backup_info,
def repl_incr_backup_runner(self): strategy = CONF.mariadb.backup_incremental_strategy.get( CONF.mariadb.backup_strategy, CONF.mariadb.backup_strategy) return backup.get_backup_strategy(strategy, CONF.mariadb.backup_namespace)
def repl_backup_runner(self): return backup.get_backup_strategy(CONF.mariadb.backup_strategy, CONF.mariadb.backup_namespace)
from trove.backup.models import DBBackup from trove.backup.models import BackupState from trove.common import cfg, utils from trove.guestagent.dbaas import get_filesystem_volume_stats from trove.guestagent.datastore.mysql.service import ADMIN_USER_NAME from trove.guestagent.datastore.mysql.service import get_auth_password from trove.guestagent.strategies.backup.base import BackupError from trove.guestagent.strategies.backup.base import UnknownBackupType from trove.guestagent.strategies.storage import get_storage_strategy from trove.guestagent.strategies.backup import get_backup_strategy from trove.guestagent.strategies.restore import get_restore_strategy LOG = logging.getLogger(__name__) CONF = cfg.CONF RUNNER = get_backup_strategy(CONF.backup_strategy, CONF.backup_namespace) BACKUP_CONTAINER = CONF.backup_swift_container class BackupAgent(object): def _get_restore_runner(self, backup_type): """Returns the RestoreRunner associated with this backup type.""" try: runner = get_restore_strategy(backup_type, CONF.restore_namespace) except ImportError: raise UnknownBackupType("Unknown Backup type: %s" % backup_type) return runner def execute_backup(self, context, backup_id, runner=RUNNER): LOG.debug("Searching for backup instance %s", backup_id) backup = DBBackup.find_by(id=backup_id)
def repl_incr_backup_runner(self): return backup.get_backup_strategy('EdbPgBaseBackupIncremental', REPL_BACKUP_NAMESPACE)
MANAGER = 'mysql' if not CONF.datastore_manager else CONF.datastore_manager MASTER_CONFIG = """ [mysqld] log_bin = /var/lib/mysql/mysql-bin.log """ SLAVE_CONFIG = """ [mysqld] log_bin = /var/lib/mysql/mysql-bin.log relay_log = /var/lib/mysql/mysql-relay-bin.log read_only = true """ REPL_BACKUP_NAMESPACE = 'trove.guestagent.strategies.backup.mysql_impl' REPL_BACKUP_STRATEGY = 'InnoBackupEx' REPL_BACKUP_RUNNER = backup.get_backup_strategy(REPL_BACKUP_STRATEGY, REPL_BACKUP_NAMESPACE) REPL_EXTRA_OPTS = CONF.backup_runner_options.get(REPL_BACKUP_STRATEGY, '') LOG = logging.getLogger(__name__) class MysqlBinlogReplication(base.Replication): """MySql Replication coordinated by binlog position.""" class UnableToDetermineBinlogPosition(exception.TroveError): message = _("Unable to determine binlog position " "(from file %(binlog_file)).") def get_master_ref(self, service, snapshot_info): master_ref = { 'host': operating_system.get_ip_address(),
def repl_backup_runner(self): return backup.get_backup_strategy('PgBaseBackup', REPL_BACKUP_NAMESPACE)
def repl_incr_backup_runner(self): return backup.get_backup_strategy('EdbPgBaseBackupIncremental', REPL_BACKUP_NAMESPACE)
from trove.common import cfg from trove.common.i18n import _ from trove.common import utils from trove.guestagent.backup.backupagent import BackupAgent from trove.guestagent.datastore.mysql.service import MySqlAdmin from trove.guestagent.db import models from trove.guestagent.strategies import backup from trove.guestagent.strategies.replication import base AGENT = BackupAgent() CONF = cfg.CONF REPL_BACKUP_NAMESPACE = 'trove.guestagent.strategies.backup.mysql_impl' REPL_BACKUP_STRATEGY = 'InnoBackupEx' REPL_BACKUP_INCREMENTAL_STRATEGY = 'InnoBackupExIncremental' REPL_BACKUP_RUNNER = backup.get_backup_strategy( REPL_BACKUP_STRATEGY, REPL_BACKUP_NAMESPACE) REPL_BACKUP_INCREMENTAL_RUNNER = backup.get_backup_strategy( REPL_BACKUP_INCREMENTAL_STRATEGY, REPL_BACKUP_NAMESPACE) REPL_EXTRA_OPTS = CONF.backup_runner_options.get(REPL_BACKUP_STRATEGY, '') LOG = logging.getLogger(__name__) class MysqlReplicationBase(base.Replication): """Base class for MySql Replication strategies.""" def get_master_ref(self, service, snapshot_info): master_ref = { 'host': netutils.get_my_ipv4(), 'port': service.get_port() }
MANAGER = 'mysql' if not CONF.datastore_manager else CONF.datastore_manager MASTER_CONFIG = """ [mysqld] log_bin = /var/lib/mysql/mysql-bin.log """ SLAVE_CONFIG = """ [mysqld] log_bin = /var/lib/mysql/mysql-bin.log relay_log = /var/lib/mysql/mysql-relay-bin.log read_only = true """ REPL_BACKUP_NAMESPACE = 'trove.guestagent.strategies.backup.mysql_impl' REPL_BACKUP_STRATEGY = 'InnoBackupEx' REPL_BACKUP_RUNNER = backup.get_backup_strategy(REPL_BACKUP_STRATEGY, REPL_BACKUP_NAMESPACE) REPL_EXTRA_OPTS = CONF.backup_runner_options.get(REPL_BACKUP_STRATEGY, '') LOG = logging.getLogger(__name__) class MysqlBinlogReplication(base.Replication): """MySql Replication coordinated by binlog position.""" class UnableToDetermineBinlogPosition(exception.TroveError): message = _("Unable to determine binlog position " "(from file %(binlog_file)).") def get_master_ref(self, service, snapshot_info): master_ref = { 'host': operating_system.get_ip_address(), 'port': service.get_port()
def repl_incr_backup_runner(self): return backup.get_backup_strategy('InnoBackupExIncremental', REPL_BACKUP_NAMESPACE)
def repl_incr_backup_runner(self): return backup.get_backup_strategy(BACKUP_INCR_STRATEGY, BACKUP_NAMESPACE)