Пример #1
0
def run():
    """Entrypoint for IronicPythonAgent."""
    # NOTE(dtantsur): this must happen very early of the files from
    # /etc/ironic-python-agent.d won't be loaded
    utils.copy_config_from_vmedia()

    log.register_options(CONF)
    CONF(args=sys.argv[1:])
    # Debug option comes from oslo.log, allow overriding it via kernel cmdline
    ipa_debug = config.APARAMS.get('ipa-debug')
    if ipa_debug is not None:
        ipa_debug = strutils.bool_from_string(ipa_debug)
        CONF.set_override('debug', ipa_debug)
    log.setup(CONF, 'ironic-python-agent')
    # Used for TLS configuration
    sslutils.register_opts(CONF)

    logger = log.getLogger(__name__)
    logger.debug("Configuration:")
    CONF.log_opt_values(logger, log.DEBUG)
    utils.log_early_log_to_logger()
    agent.IronicPythonAgent(
        CONF.api_url,
        agent.Host(hostname=CONF.advertise_host, port=CONF.advertise_port),
        agent.Host(hostname=CONF.listen_host, port=CONF.listen_port),
        CONF.ip_lookup_attempts, CONF.ip_lookup_sleep, CONF.network_interface,
        CONF.lookup_timeout, CONF.lookup_interval, False, CONF.agent_token,
        CONF.hardware_initialization_delay, CONF.advertise_protocol).run()
Пример #2
0
def prepare_service(args=None):
    args = [] if args is None else args
    log.register_options(CONF)
    opts.set_config_defaults()
    opts.parse_args(args)
    log.setup(CONF, 'ironic_inspector')

    # TODO(kaifeng) Remove deprecated options at T* cycle.
    sslutils.register_opts(CONF)
    CONF.set_default('cert_file', CONF.ssl_cert_path, group='ssl')
    CONF.set_default('key_file', CONF.ssl_key_path, group='ssl')

    LOG.debug("Configuration:")
    CONF.log_opt_values(LOG, log.DEBUG)
Пример #3
0
def init(args, **kwargs):
    product_name = 'hypernet_agentless'

    logging.register_options(cfg.CONF)

    wsgi.register_opts(cfg.CONF) 
    cfg.CONF.register_opts(service.list_opts()[0][1])
    sslutils.register_opts(cfg.CONF)

    cfg.CONF(args=args, project=product_name,
             version='%%(prog)s %s' % version.version_info.release_string(),
             **kwargs)

    logging.setup(cfg.CONF, product_name)
    rpc.init(cfg.CONF)
Пример #4
0
 def setUp(self):
     super(TestAgentStandalone, self).setUp()
     sslutils.register_opts(CONF)
     self.agent = agent.IronicPythonAgent('https://fake_api.example.'
                                          'org:8081/',
                                          agent.Host(hostname='203.0.113.1',
                                                     port=9990),
                                          agent.Host(hostname='192.0.2.1',
                                                     port=9999),
                                          3,
                                          10,
                                          'eth0',
                                          300,
                                          1,
                                          'agent_ipmitool',
                                          None,
                                          True)
Пример #5
0
    def start(self, tls_cert_file=None, tls_key_file=None):
        """Start the API service in the background."""
        if tls_cert_file and tls_key_file:
            sslutils.register_opts(self._conf)
            self._conf.set_override('cert_file', tls_cert_file, group='ssl')
            self._conf.set_override('key_file', tls_key_file, group='ssl')
            use_tls = True
        else:
            use_tls = self._conf.listen_tls

        self.service = wsgi.Server(self._conf,
                                   'ironic-python-agent',
                                   app=self,
                                   host=self.agent.listen_address.hostname,
                                   port=self.agent.listen_address.port,
                                   use_ssl=use_tls)
        self.service.start()
        LOG.info('Started API service on port %s',
                 self.agent.listen_address.port)
Пример #6
0
def register_opts(conf):
    sslutils.register_opts(conf)
Пример #7
0
 def _set_config(self):
     self.cfg_fixture = self.useFixture(config_fixture.Config(CONF))
     # Register options from libraries that are explicitly used in the code
     log.register_options(CONF)
     sslutils.register_opts(CONF)