From 724e5791f2650ea6ecd71432b691911ae2122a04 Mon Sep 17 00:00:00 2001 From: Scott Hussey Date: Mon, 19 Jun 2017 16:34:35 -0500 Subject: [PATCH] Add secret tag to sensitive options Add debug logging of options values on startup --- drydock_provisioner/config.py | 2 +- drydock_provisioner/drivers/node/maasdriver/driver.py | 2 +- drydock_provisioner/drydock.py | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/drydock_provisioner/config.py b/drydock_provisioner/config.py index af670c5d..b2505b17 100644 --- a/drydock_provisioner/config.py +++ b/drydock_provisioner/config.py @@ -29,7 +29,7 @@ class DrydockConfig(object): # API Authentication options auth_options = [ - cfg.StrOpt('admin_token', default='bigboss', help='X-Auth-Token value to bypass backend authentication'), + cfg.StrOpt('admin_token', default='bigboss', help='X-Auth-Token value to bypass backend authentication', secret=True), cfg.BoolOpt('bypass_enabled', default=False, help='Can backend authentication be bypassed?'), ] diff --git a/drydock_provisioner/drivers/node/maasdriver/driver.py b/drydock_provisioner/drivers/node/maasdriver/driver.py index 7549e113..f402c0ab 100644 --- a/drydock_provisioner/drivers/node/maasdriver/driver.py +++ b/drydock_provisioner/drivers/node/maasdriver/driver.py @@ -35,7 +35,7 @@ import drydock_provisioner.drivers.node.maasdriver.models.machine as maas_machin class MaasNodeDriver(NodeDriver): maasdriver_options = [ - cfg.StrOpt('maas_api_key', help='The API key for accessing MaaS'), + cfg.StrOpt('maas_api_key', help='The API key for accessing MaaS', secret=True), cfg.StrOpt('maas_api_url', help='The URL for accessing MaaS API'), ] diff --git a/drydock_provisioner/drydock.py b/drydock_provisioner/drydock.py index 06259816..de1e1b80 100644 --- a/drydock_provisioner/drydock.py +++ b/drydock_provisioner/drydock.py @@ -54,6 +54,7 @@ def start_drydock(): ch.setFormatter(formatter) logger.addHandler(ch) + state = statemgmt.DesignState() orchestrator = orch.Orchestrator(drydock_provisioner.conf.plugins, @@ -61,6 +62,9 @@ def start_drydock(): input_ingester = ingester.Ingester() input_ingester.enable_plugins(drydock_provisioner.conf.plugins.ingester) + # Now that loggers are configured, log the effective config + drydock_provisioner.conf.log_opt_values(logging.getLogger(drydock_provisioner.conf.logging.global_logger_name), logging.DEBUG) + return api.start_api(state_manager=state, ingester=input_ingester, orchestrator=orchestrator)