def __init__(self, dns_driver=None, dns_instance_entry_factory=None, *args, **kwargs): if not dns_driver: dns_driver = CONF.dns_driver dns_driver = utils.import_class(dns_driver) self.driver = dns_driver() if not dns_instance_entry_factory: dns_instance_entry_factory = CONF.dns_instance_entry_factory entry_factory = utils.import_class(dns_instance_entry_factory) self.entry_factory = entry_factory()
def test_restore_decrypted_db2backup_command(self): restoreBase.RestoreRunner.is_zipped = True restoreBase.RestoreRunner.is_encrypted = False RunnerClass = utils.import_class(RESTORE_DB2_CLS) restr = RunnerClass(None, restore_location="/tmp", location="filename", checksum="md5") self.assertEqual(restr.restore_cmd, UNZIP + PIPE + DB2BACKUP_RESTORE)
def test_restore_encrypted_redisbackup_command(self, *mocks): restoreBase.RestoreRunner.decrypt_key = CRYPTO_KEY RunnerClass = utils.import_class(RESTORE_REDIS_CLS) restr = RunnerClass(None, restore_location="/tmp", location="filename", checksum="md5") self.assertEqual(restr.restore_cmd, DECRYPT + PIPE + UNZIP + PIPE + REDISBACKUP_RESTORE)
def test_restore_encrypted_mongodump_command(self, _): restoreBase.RestoreRunner.decrypt_key = CRYPTO_KEY RunnerClass = utils.import_class(RESTORE_MONGODUMP_CLS) restr = RunnerClass(None, restore_location="/tmp", location="filename", checksum="md5") self.assertEqual(restr.restore_cmd, DECRYPT + PIPE + UNZIP + PIPE + MONGODUMP_RESTORE)
def test_restore_encrypted_mysqldump_command(self): restoreBase.RestoreRunner.decrypt_key = CRYPTO_KEY RunnerClass = utils.import_class(RESTORE_SQLDUMP_CLS) restr = RunnerClass(None, restore_location="/var/lib/mysql/data", location="filename", checksum="md5") self.assertEqual(DECRYPT + PIPE + UNZIP + PIPE + SQLDUMP_RESTORE, restr.restore_cmd)
def test_restore_decrypted_xtrabackup_command(self): restoreBase.RestoreRunner.is_encrypted = False RunnerClass = utils.import_class(RESTORE_XTRA_CLS) restr = RunnerClass(None, restore_location="/var/lib/mysql/data", location="filename", checksum="md5") self.assertEqual(UNZIP + PIPE + XTRA_RESTORE, restr.restore_cmd) self.assertEqual(PREPARE, restr.prepare_cmd)
def test_backup_decrypted_xtrabackup_command(self): backupBase.BackupRunner.is_zipped = True backupBase.BackupRunner.is_encrypted = False RunnerClass = utils.import_class(BACKUP_XTRA_CLS) bkup = RunnerClass(12345, extra_opts="") self.assertEqual(XTRA_BACKUP + PIPE + ZIP, bkup.command) self.assertEqual("12345.xbstream.gz", bkup.manifest)
def test_restore_decrypted_mysqldump_command(self): restoreBase.RestoreRunner.is_zipped = True restoreBase.RestoreRunner.is_encrypted = False RunnerClass = utils.import_class(RESTORE_SQLDUMP_CLS) restr = RunnerClass(None, restore_location="/var/lib/mysql", location="filename", checksum="md5") self.assertEqual(restr.restore_cmd, UNZIP + PIPE + SQLDUMP_RESTORE)
def test_restore_encrypted_couchdbbackup_command(self): restoreBase.RestoreRunner.decrypt_key = CRYPTO_KEY RunnerClass = utils.import_class(RESTORE_COUCHDB_BACKUP_CLS) restr = RunnerClass(None, restore_location="/var/lib/couchdb", location="filename", checksum="md5") self.assertEqual(DECRYPT + PIPE + UNZIP + PIPE + COUCHDB_RESTORE_CMD, restr.restore_cmd)
def test_restore_decrypted_xtrabackup_command(self): restoreBase.RestoreRunner.is_zipped = True restoreBase.RestoreRunner.is_encrypted = False RunnerClass = utils.import_class(RESTORE_XTRA_CLS) restr = RunnerClass(None, restore_location="/var/lib/mysql") self.assertEqual(restr.restore_cmd, UNZIP + PIPE + XTRA_RESTORE) self.assertEqual(restr.prepare_cmd, PREPARE)
def test_restore_encrypted_mysqldump_command(self): restoreBase.RestoreRunner.is_zipped = True restoreBase.RestoreRunner.is_encrypted = True restoreBase.RestoreRunner.decrypt_key = CRYPTO_KEY RunnerClass = utils.import_class(RESTORE_SQLDUMP_CLS) restr = RunnerClass(None, restore_location="/var/lib/mysql", user="******", password="******") self.assertEqual(restr.restore_cmd, DECRYPT + PIPE + UNZIP + PIPE + SQLDUMP_RESTORE)
def test_backup_decrypted_xtrabackup_command(self): backupBase.BackupRunner.is_zipped = True backupBase.BackupRunner.is_encrypted = False RunnerClass = utils.import_class(BACKUP_XTRA_CLS) bkup = RunnerClass(12345, extra_opts="") self.assertEqual(bkup.command, XTRA_BACKUP + PIPE + ZIP) self.assertEqual(bkup.manifest, "12345.xbstream.gz")
def test_backup_encrypted_xtrabackup_command(self): backupBase.BackupRunner.encrypt_key = CRYPTO_KEY RunnerClass = utils.import_class(BACKUP_XTRA_CLS) bkup = RunnerClass(12345, extra_opts="") self.assertEqual(XTRA_BACKUP + PIPE + ZIP + PIPE + ENCRYPT, bkup.command) self.assertEqual("12345.xbstream.gz.enc", bkup.manifest)
def setUp(self, _): super(MongodbRestoreTests, self).setUp() self.restore_runner = utils.import_class( RESTORE_MONGODUMP_CLS)('swift', location='http://some.where', checksum='True_checksum', restore_location='/var/lib/somewhere')
def test_backup_decrypted_mysqldump_with_extra_opts_command(self): backupBase.BackupRunner.is_zipped = True backupBase.BackupRunner.is_encrypted = False RunnerClass = utils.import_class(BACKUP_SQLDUMP_CLS) bkup = RunnerClass(12345, extra_opts="--events --routines --triggers") self.assertEqual(bkup.command, SQLDUMP_BACKUP_EXTRA_OPTS + PIPE + ZIP) self.assertEqual(bkup.manifest, "12345.gz")
def test_restore_decrypted_cbbackup_command(self): restoreBase.RestoreRunner.is_zipped = True restoreBase.RestoreRunner.is_encrypted = False RunnerClass = utils.import_class(RESTORE_CBBACKUP_CLS) restr = RunnerClass(None, restore_location="/tmp", location="filename", checksum="md5") self.assertEqual(UNZIP + PIPE + CBBACKUP_RESTORE, restr.restore_cmd)
def test_backup_decrypted_mysqldump_command(self): backupBase.BackupRunner.is_zipped = True backupBase.BackupRunner.is_encrypted = False RunnerClass = utils.import_class(BACKUP_SQLDUMP_CLS) bkup = RunnerClass(12345, extra_opts="") self.assertEqual(SQLDUMP_BACKUP + PIPE + ZIP, bkup.command) self.assertEqual("12345.gz", bkup.manifest)
def test_restore_decrypted_mongodump_command(self): restoreBase.RestoreRunner.is_zipped = True restoreBase.RestoreRunner.is_encrypted = False RunnerClass = utils.import_class(RESTORE_MONGODUMP_CLS) restr = RunnerClass(None, restore_location="/tmp", location="filename", checksum="md5") self.assertEqual(restr.restore_cmd, UNZIP + PIPE + MONGODUMP_RESTORE)
def setUp(self): super(CouchDBBackupTests, self).setUp() self.backup_runner = utils.import_class(BACKUP_COUCHDB_BACKUP_CLS) self.backup_runner_patch = patch.multiple(self.backup_runner, _run=DEFAULT, _run_pre_backup=DEFAULT, _run_post_backup=DEFAULT)
def setUp(self): super(RedisRestoreTests, self).setUp() self.conf_man_patch = patch.object( configuration.ConfigurationManager, 'parse_configuration', mock.Mock(return_value={'dir': '/var/lib/redis', 'dbfilename': 'dump.rdb'})) self.conf_man_patch.start() self.addCleanup(self.conf_man_patch.stop) self.os_patch = patch.multiple(operating_system, chown=DEFAULT, create_directory=DEFAULT) self.os_patch.start() self.addCleanup(self.os_patch.stop) self.restore_runner = utils.import_class( RESTORE_REDIS_CLS)('swift', location='http://some.where', checksum='True_checksum', restore_location='/var/lib/somewhere') self.restore_runner_patch = patch.multiple( self.restore_runner, _run_restore=DEFAULT, pre_restore=DEFAULT, post_restore=DEFAULT) self.restore_runner_mocks = self.restore_runner_patch.start() self.expected_content_length = 123 self.restore_runner._run_restore = mock.Mock( return_value=self.expected_content_length) self.addCleanup(self.restore_runner_patch.stop)
def test_backup_decrypted_mysqldump_command(self): backupBase.BackupRunner.is_zipped = True backupBase.BackupRunner.is_encrypted = False RunnerClass = utils.import_class(BACKUP_SQLDUMP_CLS) bkup = RunnerClass(12345, user="******", password="******") self.assertEqual(bkup.command, SQLDUMP_BACKUP + PIPE + ZIP) self.assertEqual(bkup.manifest, "12345.gz")
def setUp(self): super(RedisRestoreTests, self).setUp() self.conf_man_patch = patch.object( configuration.ConfigurationManager, 'parse_configuration', mock.Mock(return_value={ 'dir': '/var/lib/redis', 'dbfilename': 'dump.rdb' })) self.conf_man_patch.start() self.addCleanup(self.conf_man_patch.stop) self.os_patch = patch.multiple(operating_system, chown=DEFAULT, create_directory=DEFAULT) self.os_patch.start() self.addCleanup(self.os_patch.stop) self.restore_runner = utils.import_class(RESTORE_REDIS_CLS)( 'swift', location='http://some.where', checksum='True_checksum', restore_location='/var/lib/somewhere') self.restore_runner_patch = patch.multiple(self.restore_runner, _run_restore=DEFAULT, pre_restore=DEFAULT, post_restore=DEFAULT) self.restore_runner_mocks = self.restore_runner_patch.start() self.expected_content_length = 123 self.restore_runner._run_restore = mock.Mock( return_value=self.expected_content_length) self.addCleanup(self.restore_runner_patch.stop)
def test_restore_decrypted_mysqldump_command(self): restoreBase.RestoreRunner.is_zipped = True restoreBase.RestoreRunner.is_encrypted = False RunnerClass = utils.import_class(RESTORE_SQLDUMP_CLS) restr = RunnerClass(None, restore_location="/var/lib/mysql/data", location="filename", checksum="md5") self.assertEqual(UNZIP + PIPE + SQLDUMP_RESTORE, restr.restore_cmd)
def test_backup_decrypted_xtrabackup_with_extra_opts_command(self): backupBase.BackupRunner.is_zipped = True backupBase.BackupRunner.is_encrypted = False RunnerClass = utils.import_class(BACKUP_XTRA_CLS) bkup = RunnerClass(12345, extra_opts="--no-lock") self.assertEqual(XTRA_BACKUP_EXTRA_OPTS + PIPE + ZIP, bkup.command) self.assertEqual("12345.xbstream.gz", bkup.manifest)
def setUp(self): super(DB2RestoreTests, self).setUp() self.restore_runner = utils.import_class( RESTORE_DB2_CLS)('swift', location='http://some.where', checksum='True_checksum', restore_location='/var/lib/somewhere')
def test_backup_decrypted_xtrabackup_with_extra_opts_command(self): backupBase.BackupRunner.is_zipped = True backupBase.BackupRunner.is_encrypted = False RunnerClass = utils.import_class(BACKUP_XTRA_CLS) bkup = RunnerClass(12345, extra_opts="--no-lock") self.assertEqual(bkup.command, XTRA_BACKUP_EXTRA_OPTS + PIPE + ZIP) self.assertEqual(bkup.manifest, "12345.xbstream.gz")
def test_backup_encrypted_mysqldump_command(self): backupBase.BackupRunner.encrypt_key = CRYPTO_KEY RunnerClass = utils.import_class(BACKUP_SQLDUMP_CLS) bkup = RunnerClass(12345, user="******", password="******", extra_opts="") self.assertEqual(SQLDUMP_BACKUP + PIPE + ZIP + PIPE + ENCRYPT, bkup.command) self.assertEqual("12345.gz.enc", bkup.manifest)
def test_backup_xtrabackup_incremental_with_extra_opts_command(self): backupBase.BackupRunner.is_encrypted = False RunnerClass = utils.import_class(BACKUP_XTRA_INCR_CLS) opts = {'lsn': '54321', 'extra_opts': '--no-lock'} expected = (XTRA_BACKUP_INCR % opts) + PIPE + ZIP bkup = RunnerClass(12345, extra_opts="--no-lock", lsn="54321") self.assertEqual(expected, bkup.command) self.assertEqual("12345.xbstream.gz", bkup.manifest)
def test_backup_not_encrypted_couchdbbackup_command(self): backupBase.BackupRunner.is_encrypted = False backupBase.BackupRunner.encrypt_key = CRYPTO_KEY RunnerClass = utils.import_class(BACKUP_COUCHDB_BACKUP_CLS) bkp = RunnerClass(12345) self.assertIsNotNone(bkp) self.assertEqual(COUCHDB_BACKUP_CMD + PIPE + ZIP, bkp.command) self.assertIn("gz", bkp.manifest)
def test_backup_encrypted_xtrabackup_command(self): backupBase.BackupRunner.is_zipped = True backupBase.BackupRunner.is_encrypted = True backupBase.BackupRunner.encrypt_key = CRYPTO_KEY RunnerClass = utils.import_class(BACKUP_XTRA_CLS) bkup = RunnerClass(12345, user="******", password="******", extra_opts="") self.assertEqual(bkup.command, XTRA_BACKUP + PIPE + ZIP + PIPE + ENCRYPT) self.assertEqual(bkup.manifest, "12345.xbstream.gz.enc")
def setUp(self): super(CouchbaseRestoreTests, self).setUp() self.restore_runner = utils.import_class(RESTORE_CBBACKUP_CLS)( 'swift', location='http://some.where', checksum='True_checksum', restore_location='/tmp/somewhere')
def test_backup_xtrabackup_incremental_encrypted(self): backupBase.BackupRunner.encrypt_key = CRYPTO_KEY RunnerClass = utils.import_class(BACKUP_XTRA_INCR_CLS) opts = {'lsn': '54321', 'extra_opts': ''} expected = (XTRA_BACKUP_INCR % opts) + PIPE + ZIP + PIPE + ENCRYPT bkup = RunnerClass(12345, extra_opts="", lsn="54321") self.assertEqual(expected, bkup.command) self.assertEqual("12345.xbstream.gz.enc", bkup.manifest)
def test_backup_not_encrypted_db2backup_command(self, *mock, **kwargs): backupBase.BackupRunner.is_encrypted = False backupBase.BackupRunner.encrypt_key = CRYPTO_KEY RunnerClass = utils.import_class(BACKUP_DB2_CLS) bkp = RunnerClass(12345) self.assertIsNotNone(bkp) self.assertEqual(DB2BACKUP_CMD + PIPE + ZIP, bkp.command) self.assertIn("gz", bkp.manifest)
def test_backup_encrypted_redisbackup_command(self, *mocks): backupBase.BackupRunner.encrypt_key = CRYPTO_KEY RunnerClass = utils.import_class(BACKUP_REDIS_CLS) bkp = RunnerClass(12345) self.assertIsNotNone(bkp) self.assertEqual(REDISBACKUP_CMD + PIPE + ZIP + PIPE + ENCRYPT, bkp.command) self.assertIn("gz.enc", bkp.manifest)
def setUp(self): super(CouchbaseBackupTests, self).setUp() self.exec_timeout_patch = patch.object(utils, 'execute_with_timeout') self.exec_timeout_patch.start() self.backup_runner = utils.import_class(BACKUP_CBBACKUP_CLS) self.backup_runner_patch = patch.multiple( self.backup_runner, _run=DEFAULT, _run_pre_backup=DEFAULT, _run_post_backup=DEFAULT)
def load_taskmanager_strategy(manager): try: clazz = CONF.get(manager).get('taskmanager_strategy') LOG.debug("Loading class %s" % clazz) taskmanager_strategy = import_class(clazz) return taskmanager_strategy() except NoSuchOptError: return None
def load_guestagent_strategy(manager): try: clazz = CONF.get(manager).get('guestagent_strategy') LOG.debug("Loading class %s" % clazz) guestagent_strategy = import_class(clazz) return guestagent_strategy() except NoSuchOptError: return None
def setUp(self): super(CouchbaseRestoreTests, self).setUp() self.restore_runner = utils.import_class( RESTORE_CBBACKUP_CLS)( 'swift', location='http://some.where', checksum='True_checksum', restore_location='/tmp/somewhere')
def test_backup_encrypted_redisbackup_command(self, *mocks): backupBase.BackupRunner.encrypt_key = CRYPTO_KEY RunnerClass = utils.import_class(BACKUP_REDIS_CLS) bkp = RunnerClass(12345) self.assertIsNotNone(bkp) self.assertEqual( REDISBACKUP_CMD + PIPE + ZIP + PIPE + ENCRYPT, bkp.command) self.assertIn("gz.enc", bkp.manifest)
def test_restore_decrypted_mysqldump_command(self): restoreBase.RestoreRunner.is_zipped = True restoreBase.RestoreRunner.is_encrypted = False RunnerClass = utils.import_class(RESTORE_SQLDUMP_CLS) restr = RunnerClass(None, restore_location="/var/lib/mysql", user="******", password="******") self.assertEqual(restr.restore_cmd, UNZIP + PIPE + SQLDUMP_RESTORE) self.assertIsNone(restr.prepare_cmd)
def setUp(self): super(MongodbBackupTests, self).setUp() self.exec_timeout_patch = patch.object(utils, "execute_with_timeout") self.exec_timeout_patch.start() self.backup_runner = utils.import_class(BACKUP_MONGODUMP_CLS) self.backup_runner_patch = patch.multiple( self.backup_runner, _run=DEFAULT, _run_pre_backup=DEFAULT, _run_post_backup=DEFAULT )
def setUp(self): super(DB2BackupTests, self).setUp() self.exec_timeout_patch = patch.object(utils, 'execute_with_timeout') self.exec_timeout_patch.start() self.backup_runner = utils.import_class(BACKUP_DB2_CLS) self.backup_runner_patch = patch.multiple( self.backup_runner, _run=DEFAULT, _run_pre_backup=DEFAULT, _run_post_backup=DEFAULT)
def test_backup_encrypted_xtrabackup_command(self): backupBase.BackupRunner.is_zipped = True backupBase.BackupRunner.is_encrypted = True backupBase.BackupRunner.encrypt_key = CRYPTO_KEY RunnerClass = utils.import_class(BACKUP_XTRA_CLS) bkup = RunnerClass(12345, user="******", password="******") self.assertEqual(bkup.command, XTRA_BACKUP + PIPE + ZIP + PIPE + ENCRYPT) self.assertEqual(bkup.manifest, "12345.xbstream.gz.enc")
def test_backup_not_encrypted_cbbackup_command(self): backupBase.BackupRunner.is_encrypted = False backupBase.BackupRunner.encrypt_key = CRYPTO_KEY RunnerClass = utils.import_class(BACKUP_CBBACKUP_CLS) utils.execute_with_timeout = mock.Mock(return_value=None) bkp = RunnerClass(12345) self.assertIsNotNone(bkp) self.assertEqual(CBBACKUP_CMD + PIPE + ZIP, bkp.command) self.assertIn("gz", bkp.manifest)