def _mock_writer(): # install a fresh mocked output writer writer = mock.Mock() output.set_output_writer(writer) # reset the error status output.error_occurred = False return writer
def check(args): """ Check if the server configuration is working. This command returns success if every checks pass, or failure if any of these fails """ if args.nagios: output.set_output_writer(output.NagiosOutputWriter()) servers = get_server_list(args) for name in sorted(servers): server = servers[name] # Validate the returned server if not manage_server_command( server, name, skip_inactive=False, skip_disabled=False, disabled_is_error=False, ): continue output.init("check", name, server.config.active, server.config.disabled) with closing(server): server.check() output.close_and_exit()
def check(args): """ Check if the server configuration is working. This command returns success if every checks pass, or failure if any of these fails """ if args.nagios: output.set_output_writer(output.NagiosOutputWriter()) servers = get_server_list(args) for name in sorted(servers): server = servers[name] # Validate the returned server if not manage_server_command(server, name, skip_inactive=False, skip_disabled=False, disabled_is_error=False): continue # If the server has been manually disabled if not server.config.active: name += " (inactive)" # If server has configuration errors elif server.config.disabled: name += " (WARNING: disabled)" output.init('check', name, server.config.active) with closing(server): server.check() output.close_and_exit()
def check(args): """ Check if the server configuration is working. This command returns success if every checks pass, or failure if any of these fails """ if args.nagios: output.set_output_writer(output.NagiosOutputWriter()) servers = get_server_list(args) for name in sorted(servers): server = servers[name] # Validate the returned server if not manage_server_command( server, name, skip_inactive=False, skip_disabled=False, disabled_is_error=False): continue # If the server has been manually disabled if not server.config.active: name += " (inactive)" # If server has configuration errors elif server.config.disabled: name += " (WARNING: disabled)" output.init('check', name, server.config.active) server.check() output.close_and_exit()
def global_config(args): """ Set the configuration file """ if hasattr(args, "config"): filename = args.config else: try: filename = os.environ["BARMAN_CONFIG_FILE"] except KeyError: filename = None config = barman.config.Config(filename) barman.__config__ = config # change user if needed try: drop_privileges(config.user) except OSError: msg = "ERROR: please run barman as %r user" % config.user raise SystemExit(msg) except KeyError: msg = "ERROR: the configured user %r does not exists" % config.user raise SystemExit(msg) # configure logging if hasattr(args, "log_level"): config.log_level = args.log_level log_level = parse_log_level(config.log_level) configure_logging(config.log_file, log_level or barman.config.DEFAULT_LOG_LEVEL, config.log_format) if log_level is None: _logger.warning("unknown log_level in config file: %s", config.log_level) # Configure output if args.format != output.DEFAULT_WRITER or args.quiet or args.debug: output.set_output_writer(args.format, quiet=args.quiet, debug=args.debug) # Configure color output if args.color == "auto": # Enable colored output if both stdout and stderr are TTYs output.ansi_colors_enabled = sys.stdout.isatty() and sys.stderr.isatty( ) else: output.ansi_colors_enabled = args.color == "always" # Load additional configuration files config.load_configuration_files_directory() # We must validate the configuration here in order to have # both output and logging configured config.validate_global_config() _logger.debug( "Initialised Barman version %s (config: %s, args: %s)", barman.__version__, config.config_file, pretty_args(args), )
def __init__(self, servers): output.set_output_writer(PythonOutputWriter()) self.quiet = output._writer self.debug = output._writer self.format = output._writer self.color = 'auto' self.minimal = False self.server_name = servers
def test_set_output_writer_close(self): old_writer = mock.Mock() output.set_output_writer(old_writer) assert output._writer == old_writer args = ("1", "two") kwargs = dict(three=3, four=5) output.set_output_writer("mock", *args, **kwargs) old_writer.close.assert_called_once_with() output.AVAILABLE_WRITERS["mock"].assert_called_once_with(*args, **kwargs)
def test_set_output_writer_close(self): old_writer = mock.Mock() output.set_output_writer(old_writer) assert output._writer == old_writer args = ('1', 'two') kwargs = dict(three=3, four=5) output.set_output_writer('mock', *args, **kwargs) old_writer.close.assert_called_once_with() output.AVAILABLE_WRITERS['mock'].assert_called_once_with( *args, **kwargs)
def global_config(args): """ Set the configuration file """ if hasattr(args, 'config'): filename = args.config else: try: filename = os.environ['BARMAN_CONFIG_FILE'] except KeyError: filename = None config = barman.config.Config(filename) barman.__config__ = config # change user if needed try: drop_privileges(config.user) except OSError: msg = "ERROR: please run barman as %r user" % config.user raise SystemExit(msg) except KeyError: msg = "ERROR: the configured user %r does not exists" % config.user raise SystemExit(msg) # configure logging log_level = parse_log_level(config.log_level) configure_logging(config.log_file, log_level or barman.config.DEFAULT_LOG_LEVEL, config.log_format) if log_level is None: _logger.warn('unknown log_level in config file: %s', config.log_level) # configure output if args.format != output.DEFAULT_WRITER or args.quiet or args.debug: output.set_output_writer(args.format, quiet=args.quiet, debug=args.debug) # Load additional configuration files _logger.debug('Loading additional configuration files') config.load_configuration_files_directory() # We must validate the configuration here in order to have # both output and logging configured config.validate_global_config() _logger.debug('Initialized Barman version %s (config: %s)', barman.__version__, config.config_file) if hasattr(args, 'quiet') and args.quiet: _logger.debug("Replacing output stream") global _output_stream _output_stream.set_stream(open(os.devnull, 'w'))
def global_config(args): """ Set the configuration file """ if hasattr(args, 'config'): filename = args.config else: try: filename = os.environ['BARMAN_CONFIG_FILE'] except KeyError: filename = None config = barman.config.Config(filename) barman.__config__ = config # change user if needed try: drop_privileges(config.user) except OSError: msg = "ERROR: please run barman as %r user" % config.user raise SystemExit(msg) except KeyError: msg = "ERROR: the configured user %r does not exists" % config.user raise SystemExit(msg) # configure logging log_level = parse_log_level(config.log_level) configure_logging(config.log_file, log_level or barman.config.DEFAULT_LOG_LEVEL, config.log_format) if log_level is None: _logger.warn('unknown log_level in config file: %s', config.log_level) # configure output if args.format != output.DEFAULT_WRITER or args.quiet or args.debug: output.set_output_writer(args.format, quiet=args.quiet, debug=args.debug) # Load additional configuration files config.load_configuration_files_directory() # We must validate the configuration here in order to have # both output and logging configured config.validate_global_config() _logger.debug('Initialised Barman version %s (config: %s, args: %s)', barman.__version__, config.config_file, pretty_args(args))
def check(args): """ Check if the server configuration is working. This command returns success if every checks pass, or failure if any of these fails """ if args.nagios: output.set_output_writer(output.NagiosOutputWriter()) servers = get_server_list(args) for name in sorted(servers): server = servers[name] if server is None: output.error("Unknown server '%s'" % name) continue output.init('check', name) server.check() output.close_and_exit()
def check(args): """ Check if the server configuration is working. This command returns success if every checks pass, or failure if any of these fails """ if args.nagios: output.set_output_writer(output.NagiosOutputWriter()) servers = get_server_list(args, skip_disabled=True) for name in sorted(servers): server = servers[name] if server is None: output.error("Unknown server '%s'" % name) continue # If the server is disabled add '(disabled)' next to the name if not server.config.active: name += ' (disabled)' output.init('check', name) server.check() output.close_and_exit()
def teardown_module(module): """ Set the output API to a functional state, after testing it """ output.set_output_writer(output.DEFAULT_WRITER)