summaryrefslogtreecommitdiff
path: root/ironic_python_agent/agent.py
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-08-09 16:15:29 +0000
committerGerrit Code Review <review@openstack.org>2016-08-09 16:15:29 +0000
commitdfaf92b611d7c4abb98345fbcf21ef3ed4bb9d3b (patch)
tree70f8578727ab5a33ef6149fad9d17fc55e0b0746 /ironic_python_agent/agent.py
parentc1b1d7e6700b6b960d743479660f0f43203aa78e (diff)
parentfd874652e3558cc2f9a3512f0c7b4e2f4170ec22 (diff)
downloadironic-python-agent-dfaf92b611d7c4abb98345fbcf21ef3ed4bb9d3b.tar.gz
Merge "Add metrics support to IPA"
Diffstat (limited to 'ironic_python_agent/agent.py')
-rw-r--r--ironic_python_agent/agent.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/ironic_python_agent/agent.py b/ironic_python_agent/agent.py
index 0ff3aa67..569b2d41 100644
--- a/ironic_python_agent/agent.py
+++ b/ironic_python_agent/agent.py
@@ -20,6 +20,7 @@ import threading
import time
from oslo_concurrency import processutils
+from oslo_config import cfg
from oslo_log import log
import pkg_resources
from six.moves.urllib import parse as urlparse
@@ -35,7 +36,6 @@ from ironic_python_agent import inspector
from ironic_python_agent import ironic_api_client
from ironic_python_agent import utils
-
LOG = log.getLogger(__name__)
# Time(in seconds) to wait for any of the interfaces to be up
@@ -45,6 +45,9 @@ NETWORK_WAIT_TIMEOUT = 60
# Time(in seconds) to wait before reattempt
NETWORK_WAIT_RETRY = 5
+cfg.CONF.import_group('metrics', 'ironic_lib.metrics_utils')
+cfg.CONF.import_group('metrics_statsd', 'ironic_lib.metrics_statsd')
+
def _time():
"""Wraps time.time() for simpler testing."""
@@ -342,6 +345,15 @@ class IronicPythonAgent(base.ExecuteCommandMixin):
hardware.cache_node(self.node)
self.heartbeat_timeout = content['config']['heartbeat_timeout']
+ # Update config with values from Ironic
+ config = content.get('config', {})
+ if config.get('metrics'):
+ for opt, val in config.items():
+ setattr(cfg.CONF.metrics, opt, val)
+ if config.get('metrics_statsd'):
+ for opt, val in config.items():
+ setattr(cfg.CONF.metrics_statsd, opt, val)
+
wsgi = simple_server.make_server(
self.listen_address[0],
self.listen_address[1],