def __init__(self, config): ''' The Constructor. :param config: the server configuration ''' self.config = config self.conn = None self.server_txt_version = None self.server_version = None self.ssh_options = config.ssh_command.split() self.ssh_command = self.ssh_options.pop(0) self.ssh_options.extend( "-o BatchMode=yes -o StrictHostKeyChecking=no".split()) self.backup_manager = BackupManager(self) self.configuration_files = None
def build_backup_manager(server=None, name=None, config=None, global_conf=None, main_conf=None): """ Instantiate a BackupManager object using mocked parameters The compression_manager member is mocked :param barman.server.Server|None server: Optionsl Server object :rtype: barman.backup.BackupManager """ if server is None: server = build_mocked_server(name, config, global_conf, main_conf) with mock.patch("barman.backup.CompressionManager"): manager = BackupManager(server=server) server.backup_manager = manager return manager
def build_backup_manager( server=None, name=None, config=None, global_conf=None, main_conf=None ): """ Instantiate a BackupManager object using mocked parameters The compression_manager member is mocked :param barman.server.Server|None server: Optional Server object :rtype: barman.backup.BackupManager """ if server is None: server = build_mocked_server(name, config, global_conf, main_conf) with mock.patch("barman.backup.CompressionManager"): manager = BackupManager(server=server) manager.compression_manager.unidentified_compression = None manager.compression_manager.get_wal_file_info.side_effect = ( lambda filename: WalFileInfo.from_file(filename, manager.compression_manager) ) server.backup_manager = manager return manager
def __init__(self, config): ''' The Constructor. :param config: the server configuration ''' self.config = config self.conn = None self.server_txt_version = None self.server_version = None self.ssh_options = config.ssh_command.split() self.ssh_command = self.ssh_options.pop(0) self.ssh_options.extend( "-o BatchMode=yes -o StrictHostKeyChecking=no".split()) self.backup_manager = BackupManager(self) self.configuration_files = None self.enforce_retention_policies = False # Set bandwidth_limit if self.config.bandwidth_limit: try: self.config.bandwidth_limit = int(self.config.bandwidth_limit) except: _logger.warning( 'Invalid bandwidth_limit "%s" for server "%s" (fallback to "0")' % (self.config.bandwidth_limit, self.config.name)) self.config.bandwidth_limit = None # set tablespace_bandwidth_limit if self.config.tablespace_bandwidth_limit: rules = {} for rule in self.config.tablespace_bandwidth_limit.split(): try: key, value = rule.split(':', 1) value = int(value) if value != self.config.bandwidth_limit: rules[key] = value except: _logger.warning( "Invalid tablespace_bandwidth_limit rule '%s'" % (rule, )) if len(rules) > 0: self.config.tablespace_bandwidth_limit = rules else: self.config.tablespace_bandwidth_limit = None # Set minimum redundancy (default 0) if self.config.minimum_redundancy.isdigit(): self.config.minimum_redundancy = int( self.config.minimum_redundancy) if self.config.minimum_redundancy < 0: _logger.warning( 'Negative value of minimum_redundancy "%s" for server "%s" (fallback to "0")' % (self.config.minimum_redundancy, self.config.name)) self.config.minimum_redundancy = 0 else: _logger.warning( 'Invalid minimum_redundancy "%s" for server "%s" (fallback to "0")' % (self.config.minimum_redundancy, self.config.name)) self.config.minimum_redundancy = 0 # Initialise retention policies self._init_retention_policies()