def main():
    """The main program sets up the commands then delegates to one of them."""

    disable_ssl_verification()

    all_command_handlers, parser = prepare_commands()
    opts = parser.parse_args()
    options = vars(opts)
    init_logging(options)
    options = util.merge_options_and_yaml_from_path(options, opts.config)

    # TODO(ewiseblatt): decouple this so we dont need to know about this here.
    # Take the union of stores enabled on the command line or in the config file.
    if options.get('monitor') is None:
        options['monitor'] = {}
    stores = options['monitor'].get('metric_store', [])
    if not isinstance(stores, list):
        stores = [stores]
    stores.extend([
        store for store in ['datadog', 'prometheus', 'stackdriver']
        if options.get('monitor_' + store)
    ])
    options['monitor']['metric_store'] = set(stores)

    command_processor.set_global_options(options)
    command_processor.process_command(options['command'], options,
                                      all_command_handlers)
Beispiel #2
0
  def process_commandline_request(self, options):
    """Implements CommandHandler.

    This starts the server and will run forever.
    """
    command_processor.set_global_options(options)

    logging.info('Starting HTTP server on port %d', options['port'])
    url_path_to_handler = {handler.url_path: handler.process_web_request
                           for handler in self.__handler_list}
    httpd = http_server.HttpServer(options['port'], url_path_to_handler)
    httpd.serve_forever()
Beispiel #3
0
    def process_commandline_request(self, options):
        """Implements CommandHandler.

    This starts the server and will run forever.
    """
        command_processor.set_global_options(options)

        logging.info('Starting HTTP server on port %d', options['port'])
        url_path_to_handler = {
            handler.url_path: handler.process_web_request
            for handler in self.__handler_list
        }
        httpd = http_server.HttpServer(options['port'], url_path_to_handler)
        httpd.serve_forever()
  def setUp(self):
    self.options = {'prototype_path': None,
                    'host': 'spectator_hostname',
                    'services': ['clouddriver', 'gate']}
    command_processor.set_global_options(self.options)

    self.spectator = spectator_client.SpectatorClient(self.options)

    self.mock_clouddriver_response = (
      StringIO(sample_data.CLOUDDRIVER_RESPONSE_TEXT))
    self.mock_gate_response = StringIO(sample_data.GATE_RESPONSE_TEXT)

    self.mock_request = Mock()
    self.mock_request.respond = Mock()
Beispiel #5
0
    def setUp(self):
        self.options = args_to_options([
            '--host=spectator_hostname', '--service_hosts=',
            '--clouddriver=spectator_hostname', '--gate=spectator_hostname'
        ])
        command_processor.set_global_options(self.options)

        self.spectator = spectator_client.SpectatorClient(self.options)

        self.mock_clouddriver_response = (StringIO(
            sample_data.CLOUDDRIVER_RESPONSE_TEXT))
        self.mock_gate_response = StringIO(sample_data.GATE_RESPONSE_TEXT)

        self.mock_request = Mock()
        self.mock_request.respond = Mock()