diff --git a/monasca_agent/common/util.py b/monasca_agent/common/util.py index 7b397d90..c2350eb1 100644 --- a/monasca_agent/common/util.py +++ b/monasca_agent/common/util.py @@ -26,15 +26,6 @@ from numbers import Number log = logging.getLogger(__name__) -# Tornado -try: - from tornado import ioloop - from tornado import version_info as tornado_version -except ImportError: - # We are likely running the agent without the forwarder and tornado is not installed - # Generate a warning - log.warn('Tornado web server is not installed. Metrics will not be forwarded to the Monasca API!') - VALID_HOSTNAME_RFC_1123_PATTERN = re.compile( r"^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$") MAX_HOSTNAME_LEN = 255 @@ -279,13 +270,6 @@ def plural(count): return "s" -def get_tornado_ioloop(): - if tornado_version[0] == 3: - return ioloop.IOLoop.current() - else: - return ioloop.IOLoop.instance() - - def get_uuid(): # Generate a unique name that will stay constant between # invocations, such as platform.node() + uuid.getnode() diff --git a/monasca_agent/forwarder/daemon.py b/monasca_agent/forwarder/daemon.py index 325d00d7..e8cc27ba 100644 --- a/monasca_agent/forwarder/daemon.py +++ b/monasca_agent/forwarder/daemon.py @@ -14,7 +14,6 @@ import sys # set up logging before importing any other components import monasca_agent.common.util as util - util.initialize_logging('forwarder') import os @@ -30,7 +29,6 @@ import tornado.web # agent import import monasca_agent.common.config as cfg -import monasca_agent.common.util as util import monasca_agent.forwarder.api.monasca_api as mon log = logging.getLogger('forwarder') @@ -69,7 +67,7 @@ class Forwarder(tornado.web.Application): self._unflushed_iterations = 0 self._endpoint = mon.MonascaAPI(agent_config) - self._ioloop = None + self._ioloop = tornado.ioloop.IOLoop.instance() self._port = int(port) self._flush_interval = FLUSH_INTERVAL * 1000 @@ -163,21 +161,16 @@ class Forwarder(tornado.web.Application): http_server = tornado.httpserver.HTTPServer(self) self._bind_http_server(http_server) - self._ioloop = util.get_tornado_ioloop() - callback = tornado.ioloop.PeriodicCallback(self.flush, - self._flush_interval, - io_loop=self._ioloop) + self._flush_interval) callback.start() self._ioloop.start() - log.info("Stopped") - def stop(self): - if self._ioloop: - self._ioloop.stop() + self._ioloop.stop() + log.info("Stopped") def init_forwarder(skip_ssl_validation=False, use_simple_http_client=False): diff --git a/requirements.txt b/requirements.txt index 13c5abea..2dafb97a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -21,7 +21,7 @@ redis>=2.10.0 # MIT six>=1.9.0 # MIT supervisor>=3.1.3,<3.4 # BSD-derived stevedore>=1.20.0 # Apache-2.0 -tornado>=4.3 # Apache-2.0 +tornado>=4.5.3 # Apache-2.0 futures>=3.0.0;python_version=='2.7' or python_version=='2.6' # BSD # NOTE(sdague): before allowing in >= 0.21 please be sure # https://github.com/eventlet/eventlet/issues/401 is resolved