Ejemplo n.º 1
0
 def setUp(self):
     super(LogLevelTestCase, self).setUp()
     self.CONF = self.useFixture(config.Config()).conf
     levels = self.CONF.default_log_levels
     levels.append("nova-test=AUDIT")
     levels.append("nova-not-debug=WARN")
     self.config = self.useFixture(config.Config()).config
     self.config(default_log_levels=levels,
                 verbose=True)
     log.setup('testing')
     self.log = log.getLogger('nova-test')
     self.log_no_debug = log.getLogger('nova-not-debug')
Ejemplo n.º 2
0
 def _run(self, application, socket):
     """Start a WSGI server in a new green thread."""
     logger = logging.getLogger('eventlet.wsgi.server')
     eventlet.wsgi.server(socket,
                          application,
                          custom_pool=self.pool,
                          log=logging.WritableLogger(logger))
Ejemplo n.º 3
0
 def setUp(self):
     super(LogLevelTestCase, self).setUp()
     levels = CONF.default_log_levels
     levels.append("nova-test=AUDIT")
     self.config(default_log_levels=levels, verbose=True)
     log.setup("testing")
     self.log = log.getLogger("nova-test")
Ejemplo n.º 4
0
    def setUp(self):
        super(MultiNotifierTestCase, self).setUp()
        self.config = self.useFixture(config.Config()).config
        self.stubs = self.useFixture(moxstubout.MoxStubout()).stubs

        # Mock log to add one to exception_count when log.exception is called

        def mock_exception(cls, *args):
            self.exception_count += 1

        self.exception_count = 0

        notifier_log = log.getLogger('openstack.common.notifier.api')
        self.stubs.Set(notifier_log, "exception", mock_exception)

        # Mock no_op notifier to add one to notify_count when called.
        def mock_notify(cls, *args):
            self.notify_count += 1

        self.notify_count = 0
        self.stubs.Set(no_op_notifier, 'notify', mock_notify)

        # Mock log_notifier to raise RuntimeError when called.

        def mock_notify2(cls, *args):
            raise RuntimeError("Bad notifier.")

        self.stubs.Set(log_notifier, 'notify', mock_notify2)
        self.addCleanup(notifier_api._reset_drivers)
Ejemplo n.º 5
0
 def _run(self, application, socket):
     """Start a WSGI server in a new green thread."""
     logger = logging.getLogger('eventlet.wsgi')
     eventlet.wsgi.server(socket,
                          application,
                          custom_pool=self.tg.pool,
                          log=logging.WritableLogger(logger))
Ejemplo n.º 6
0
    def setUp(self):
        super(MultiNotifierTestCase, self).setUp()
        # Mock log to add one to exception_count when log.exception is called

        def mock_exception(cls, *args):
            self.exception_count += 1

        self.exception_count = 0

        notifier_log = log.getLogger("openstack.common.notifier.api")
        self.stubs.Set(notifier_log, "exception", mock_exception)

        # Mock no_op notifier to add one to notify_count when called.
        def mock_notify(cls, *args):
            self.notify_count += 1

        self.notify_count = 0
        self.stubs.Set(no_op_notifier, "notify", mock_notify)
        # Mock log_notifier to raise RuntimeError when called.

        def mock_notify2(cls, *args):
            raise RuntimeError("Bad notifier.")

        self.stubs.Set(log_notifier, "notify", mock_notify2)
        self.addCleanup(notifier_api._reset_drivers)
Ejemplo n.º 7
0
    def setUp(self):
        super(MultiNotifierTestCase, self).setUp()

        # Mock log to add one to exception_count when log.exception is called

        def mock_exception(cls, *args):
            self.exception_count += 1

        self.exception_count = 0

        notifier_log = log.getLogger('openstack.common.notifier.api')
        self.stubs.Set(notifier_log, "exception", mock_exception)

        # Mock no_op notifier to add one to notify_count when called.
        def mock_notify(cls, *args):
            self.notify_count += 1

        self.notify_count = 0
        self.stubs.Set(no_op_notifier, 'notify', mock_notify)

        # Mock log_notifier to raise RuntimeError when called.

        def mock_notify2(cls, *args):
            raise RuntimeError("Bad notifier.")

        self.stubs.Set(log_notifier, 'notify', mock_notify2)
        notifier_api._reset_drivers()
Ejemplo n.º 8
0
    def setUp(self):
        super(NotifierListTestCase, self).setUp()
        list_notifier._reset_drivers()
        # Mock log to add one to exception_count when log.exception is called

        def mock_exception(cls, *args):
            self.exception_count += 1

        self.exception_count = 0
        list_notifier_log = logging.getLogger(
            'openstack.common.notifier.list_notifier')
        self.stubs.Set(list_notifier_log, "exception", mock_exception)
        # Mock no_op notifier to add one to notify_count when called.

        def mock_notify(cls, *args):
            self.notify_count += 1

        self.notify_count = 0
        self.stubs.Set(no_op_notifier, 'notify', mock_notify)
        # Mock log_notifier to raise RuntimeError when called.

        def mock_notify2(cls, *args):
            raise RuntimeError("Bad notifier.")

        self.stubs.Set(log_notifier, 'notify', mock_notify2)
Ejemplo n.º 9
0
 def setUp(self):
     super(DomainTestCase, self).setUp()
     self.config = self.useFixture(config.Config()).config
     self.config(logging_context_format_string="[%(request_id)s]: " "%(user_identity)s " "%(message)s")
     self.mylog = log.getLogger()
     self._add_handler_with_cleanup(self.mylog)
     self._set_log_level_with_cleanup(self.mylog, logging.DEBUG)
Ejemplo n.º 10
0
    def setUp(self):
        super(MultiNotifierTestCase, self).setUp()
        self.config = self.useFixture(config.Config()).config
        self.stubs = self.useFixture(moxstubout.MoxStubout()).stubs
        # Mock log to add one to exception_count when log.exception is called

        def mock_exception(cls, *args):
            self.exception_count += 1

        self.exception_count = 0

        notifier_log = log.getLogger(
            'openstack.common.notifier.api')
        self.stubs.Set(notifier_log, "exception", mock_exception)

        # Mock no_op notifier to add one to notify_count when called.
        def mock_notify(cls, *args):
            self.notify_count += 1

        self.notify_count = 0
        self.stubs.Set(no_op_notifier, 'notify', mock_notify)
        # Mock log_notifier to raise RuntimeError when called.

        def mock_notify2(cls, *args):
            raise RuntimeError("Bad notifier.")

        self.stubs.Set(log_notifier, 'notify', mock_notify2)
        self.addCleanup(notifier_api._reset_drivers)
Ejemplo n.º 11
0
 def setUp(self):
     super(LogLevelTestCase, self).setUp()
     levels = CONF.default_log_levels
     levels.append("nova-test=AUDIT")
     self.config(default_log_levels=levels,
                 verbose=True)
     log.setup('testing')
     self.log = log.getLogger('nova-test')
Ejemplo n.º 12
0
 def setUp(self):
     super(SetSQLModeTestCase, self).setUp()
     self.dbapi_mock = mock.Mock()
     self.cursor = mock.Mock()
     self.dbapi_mock.cursor.return_value = self.cursor
     # Add fake logger so we can verify log messages
     self.logger = log.getLogger('openstack.common.db.sqlalchemy.session')
     self._add_handler_with_cleanup(self.logger)
Ejemplo n.º 13
0
 def setUp(self):
     super(JSONFormatterTestCase, self).setUp()
     self.log = log.getLogger('test-json')
     self.stream = cStringIO.StringIO()
     handler = logging.StreamHandler(self.stream)
     handler.setFormatter(log.JSONFormatter())
     self.log.logger.addHandler(handler)
     self.log.logger.setLevel(logging.DEBUG)
Ejemplo n.º 14
0
 def setUp(self):
     super(JSONFormatterTestCase, self).setUp()
     self.log = log.getLogger('test-json')
     self.stream = cStringIO.StringIO()
     handler = logging.StreamHandler(self.stream)
     handler.setFormatter(log.JSONFormatter())
     self.log.logger.addHandler(handler)
     self.log.logger.setLevel(logging.DEBUG)
Ejemplo n.º 15
0
    def _call_set_callback(self, listen_mock, sql_mode=None, realmode=None):
        engine = self.FakeEngine(realmode=realmode)

        logger = log.getLogger('openstack.common.db.sqlalchemy.session')
        self._set_log_level_with_cleanup(logger, logging.DEBUG)
        self._add_handler_with_cleanup(logger)

        session._mysql_set_mode_callback(engine, sql_mode=sql_mode)
        return engine
Ejemplo n.º 16
0
 def setUp(self):
     super(LogLevelTestCase, self).setUp()
     self.CONF = self.useFixture(config.Config()).conf
     levels = self.CONF.default_log_levels
     levels.append("nova-test=AUDIT")
     self.config = self.useFixture(config.Config()).config
     self.config(default_log_levels=levels, verbose=True)
     log.setup('testing')
     self.log = log.getLogger('nova-test')
Ejemplo n.º 17
0
def notify(_context, message):
    """Notifies the recipient of the desired event given the model.
    Log notifications using openstack's default logging system"""

    priority = message.get('priority', CONF.default_notification_level)
    priority = priority.lower()
    logger = logging.getLogger('openstack.common.notification.%s' %
                               message['event_type'])
    getattr(logger, priority)(jsonutils.dumps(message))
Ejemplo n.º 18
0
    def setUp(self):
        super(LoggerTestCase, self).setUp()

        # common context has different fields to the defaults in log.py
        self.config(logging_context_format_string='%(asctime)s %(levelname)s '
                                                  '%(name)s [%(request_id)s '
                                                  '%(user)s %(tenant)s] '
                                                  '%(message)s')

        self.log = log.getLogger()
Ejemplo n.º 19
0
    def setUp(self):
        super(LoggerTestCase, self).setUp()

        # common context has different fields to the defaults in log.py
        self.config(logging_context_format_string='%(asctime)s %(levelname)s '
                                                  '%(name)s [%(request_id)s '
                                                  '%(user)s %(tenant)s] '
                                                  '%(message)s')

        self.log = log.getLogger()
Ejemplo n.º 20
0
def notify(_context, message):
    """Notifies the recipient of the desired event given the model.
    Log notifications using openstack's default logging system"""

    priority = message.get('priority',
                           CONF.default_notification_level)
    priority = priority.lower()
    logger = logging.getLogger(
            'openstack.common.notification.%s' % message['event_type'])
    getattr(logger, priority)(json.dumps(message))
Ejemplo n.º 21
0
 def _fetch_metadata(self, fetch_url):
     try:
         r = self.session.get(fetch_url)
         r.raise_for_status()
     except self._requests_impl.exceptions.RequestException as e:
         log.getLogger(__name__).warn(e)
         raise exc.Ec2MetadataNotAvailable
     content = r.text
     if fetch_url[-1] == '/':
         new_content = {}
         for subkey in content.split("\n"):
             if '=' in subkey:
                 subkey = subkey[:subkey.index('=')] + '/'
             sub_fetch_url = fetch_url + subkey
             if subkey[-1] == '/':
                 subkey = subkey[:-1]
             new_content[subkey] = self._fetch_metadata(sub_fetch_url)
         content = new_content
     return content
Ejemplo n.º 22
0
 def setUp(self):
     super(ContextFormatterTestCase, self).setUp()
     self.config = self.useFixture(config.Config()).config
     self.config(logging_context_format_string="HAS CONTEXT "
                                               "[%(request_id)s]: "
                                               "%(message)s",
                 logging_default_format_string="NOCTXT: %(message)s",
                 logging_debug_format_suffix="--DBG")
     self.log = log.getLogger('')  # obtain root logger instead of 'unknown'
     self._add_handler_with_cleanup(self.log)
     self._set_log_level_with_cleanup(self.log, logging.DEBUG)
Ejemplo n.º 23
0
 def setUp(self):
     super(DomainTestCase, self).setUp()
     self.config = self.useFixture(config.Config()).config
     self.config(logging_context_format_string="[%(request_id)s]: "
                                               "%(user_identity)s "
                                               "%(message)s")
     self.mylog = log.getLogger()
     self.stream = six.StringIO()
     handler = logging.StreamHandler(self.stream)
     handler.setFormatter(log.ContextFormatter())
     self.mylog.logger.addHandler(handler)
     self.mylog.logger.setLevel(logging.DEBUG)
Ejemplo n.º 24
0
 def setUp(self):
     super(FancyRecordTestCase, self).setUp()
     self.config = self.useFixture(config.Config()).config
     # NOTE(sdague): use the different formatters to demonstrate format
     # string with valid fancy keys and without. Slightly hacky, but given
     # the way log objects layer up seemed to be most concise approach
     self.config(
         logging_context_format_string="%(color)s " "[%(request_id)s]: " "%(instance)s" "%(message)s",
         logging_default_format_string="%(missing)s: %(message)s",
     )
     self.colorlog = log.getLogger()
     self._add_handler_with_cleanup(self.colorlog, log.ColorHandler)
     self._set_log_level_with_cleanup(self.colorlog, logging.DEBUG)
Ejemplo n.º 25
0
    def test_excepthook_logs_exception(self):
        product_name = "somename"
        exc_log = log.getLogger(product_name)

        self._add_handler_with_cleanup(exc_log)
        excepthook = log._create_logging_excepthook(product_name)

        try:
            raise Exception("Some error happened")
        except Exception:
            excepthook(*sys.exc_info())

        expected_string = "CRITICAL somename [-] " "Exception: Some error happened"
        self.assertTrue(expected_string in self.stream.getvalue(), msg="Exception is not logged")
Ejemplo n.º 26
0
 def setUp(self):
     super(LegacyFormatterTestCase, self).setUp()
     self.config(logging_context_format_string="HAS CONTEXT "
                                               "[%(request_id)s]: "
                                               "%(message)s",
                 logging_default_format_string="NOCTXT: %(message)s",
                 logging_debug_format_suffix="--DBG")
     self.log = log.getLogger()
     self.stream = cStringIO.StringIO()
     self.handler = logging.StreamHandler(self.stream)
     self.handler.setFormatter(log.LegacyFormatter())
     self.log.logger.addHandler(self.handler)
     self.level = self.log.logger.getEffectiveLevel()
     self.log.logger.setLevel(logging.DEBUG)
Ejemplo n.º 27
0
 def setUp(self):
     super(LegacyFormatterTestCase, self).setUp()
     self.config(logging_context_format_string="HAS CONTEXT "
                                               "[%(request_id)s]: "
                                               "%(message)s",
                 logging_default_format_string="NOCTXT: %(message)s",
                 logging_debug_format_suffix="--DBG")
     self.log = log.getLogger()
     self.stream = cStringIO.StringIO()
     self.handler = logging.StreamHandler(self.stream)
     self.handler.setFormatter(log.LegacyFormatter())
     self.log.logger.addHandler(self.handler)
     self.level = self.log.logger.getEffectiveLevel()
     self.log.logger.setLevel(logging.DEBUG)
Ejemplo n.º 28
0
 def setUp(self):
     super(ContextFormatterTestCase, self).setUp()
     self.config = self.useFixture(config.Config()).config
     self.config(logging_context_format_string="HAS CONTEXT "
                 "[%(request_id)s]: "
                 "%(message)s",
                 logging_default_format_string="NOCTXT: %(message)s",
                 logging_debug_format_suffix="--DBG")
     self.log = log.getLogger()
     self.stream = six.StringIO()
     self.handler = logging.StreamHandler(self.stream)
     self.handler.setFormatter(log.ContextFormatter())
     self.log.logger.addHandler(self.handler)
     self.addCleanup(self.log.logger.removeHandler, self.handler)
     self.level = self.log.logger.getEffectiveLevel()
     self.log.logger.setLevel(logging.DEBUG)
     self.addCleanup(self.log.logger.setLevel, self.level)
Ejemplo n.º 29
0
    def test_error_notification(self):
        self.stubs.Set(cfg.CONF, "notification_driver", ["openstack.common.notifier.rabbit_notifier"])
        self.stubs.Set(cfg.CONF, "publish_errors", True)
        LOG = log.getLogger("common")
        log.setup(None)
        msgs = []

        def mock_notify(context, topic, data):
            msgs.append(data)

        self.stubs.Set(rpc, "notify", mock_notify)
        LOG.error("foo")
        self.assertEqual(1, len(msgs))
        msg = msgs[0]
        self.assertEqual(msg["event_type"], "error_notification")
        self.assertEqual(msg["priority"], "ERROR")
        self.assertEqual(msg["payload"]["error"], "foo")
Ejemplo n.º 30
0
 def setUp(self):
     super(ContextFormatterTestCase, self).setUp()
     self.config = self.useFixture(config.Config()).config
     self.config(logging_context_format_string="HAS CONTEXT "
                                               "[%(request_id)s]: "
                                               "%(message)s",
                 logging_default_format_string="NOCTXT: %(message)s",
                 logging_debug_format_suffix="--DBG")
     self.log = log.getLogger()
     self.stream = six.StringIO()
     self.handler = logging.StreamHandler(self.stream)
     self.handler.setFormatter(log.ContextFormatter())
     self.log.logger.addHandler(self.handler)
     self.addCleanup(self.log.logger.removeHandler, self.handler)
     self.level = self.log.logger.getEffectiveLevel()
     self.log.logger.setLevel(logging.DEBUG)
     self.addCleanup(self.log.logger.setLevel, self.level)
Ejemplo n.º 31
0
    def __init__(self, name, app, host='0.0.0.0', port=0, pool_size=None,
                       protocol=eventlet.wsgi.HttpProtocol, backlog=128,
                       use_ssl=False, max_url_len=None):
        """Initialize, but do not start, a WSGI server.

        :param name: Pretty name for logging.
        :param app: The WSGI application to serve.
        :param host: IP address to serve the application.
        :param port: Port number to server the application.
        :param pool_size: Maximum number of eventlets to spawn concurrently.
        :param backlog: Maximum number of queued connections.
        :param max_url_len: Maximum length of permitted URLs.
        :returns: None
        :raises: nova.exception.InvalidInput
        """
        self.name = name
        self.app = app
        self._server = None
        self._protocol = protocol
        self._pool = eventlet.GreenPool(pool_size or self.default_pool_size)
        self._logger = logging.getLogger("%s.wsgi.server" % self.name)
        self._wsgi_logger = logging.WritableLogger(self._logger)
        self._use_ssl = use_ssl
        self._max_url_len = max_url_len

        if backlog < 1:
            raise exception.InvalidInput(
                    reason='The backlog must be more than 1')

        bind_addr = (host, port)
        # TODO(dims): eventlet's green dns/socket module does not actually
        # support IPv6 in getaddrinfo(). We need to get around this in the
        # future or monitor upstream for a fix
        try:
            info = socket.getaddrinfo(bind_addr[0],
                                      bind_addr[1],
                                      socket.AF_UNSPEC,
                                      socket.SOCK_STREAM)[0]
            family = info[0]
            bind_addr = info[-1]
        except Exception:
            family = socket.AF_INET

        self._socket = eventlet.listen(bind_addr, family, backlog=backlog)
        (self.host, self.port) = self._socket.getsockname()[0:2]
        LOG.info(_("%(name)s listening on %(host)s:%(port)s") % self.__dict__)
Ejemplo n.º 32
0
    def test_error_notification(self):
        self.stubs.Set(cfg.CONF, 'notification_driver',
                       ['openstack.common.notifier.rabbit_notifier'])
        self.stubs.Set(cfg.CONF, 'publish_errors', True)
        LOG = log.getLogger('common')
        log.setup(None)
        msgs = []

        def mock_notify(context, topic, data):
            msgs.append(data)

        self.stubs.Set(rpc, 'notify', mock_notify)
        LOG.error('foo')
        self.assertEqual(1, len(msgs))
        msg = msgs[0]
        self.assertEqual(msg['event_type'], 'error_notification')
        self.assertEqual(msg['priority'], 'ERROR')
        self.assertEqual(msg['payload']['error'], 'foo')
Ejemplo n.º 33
0
    def test_error_notification(self):
        self.stubs.Set(cfg.CONF, 'notification_driver',
                       ['openstack.common.notifier.rabbit_notifier'])
        self.stubs.Set(cfg.CONF, 'publish_errors', True)
        LOG = log.getLogger('common')
        log.setup(None)
        msgs = []

        def mock_notify(context, topic, data):
            msgs.append(data)

        self.stubs.Set(rpc, 'notify', mock_notify)
        LOG.error('foo')
        self.assertEqual(1, len(msgs))
        msg = msgs[0]
        self.assertEqual(msg['event_type'], 'error_notification')
        self.assertEqual(msg['priority'], 'ERROR')
        self.assertEqual(msg['payload']['error'], 'foo')
Ejemplo n.º 34
0
    def test_error_notification(self):
        self.config(publish_errors=True, use_stderr=False)

        def mock_notify(context, message):
            msgs.append(message)

        msgs = []
        self.stubs.Set(no_op_notifier, 'notify', mock_notify)

        LOG = log.getLogger('test_error_notification.common')
        log.setup('test_error_notification')

        LOG.error('foo')
        self.assertEqual(1, len(msgs))
        msg = msgs[0]
        self.assertEqual(msg['event_type'], 'error_notification')
        self.assertEqual(msg['priority'], 'ERROR')
        self.assertEqual(msg['payload']['error'], 'foo')
Ejemplo n.º 35
0
    def test_excepthook_logs_exception(self):
        product_name = "somename"
        exc_log = log.getLogger(product_name)

        stream = cStringIO.StringIO()
        handler = logging.StreamHandler(stream)
        handler.setFormatter(log.ContextFormatter())
        exc_log.logger.addHandler(handler)
        self.addCleanup(exc_log.logger.removeHandler, handler)
        excepthook = log._create_logging_excepthook(product_name)

        try:
            raise Exception("Some error happened")
        except Exception:
            excepthook(*sys.exc_info())

        expected_string = "CRITICAL somename [-] Some error happened"
        self.assertTrue(expected_string in stream.getvalue(), msg="Exception is not logged")
Ejemplo n.º 36
0
    def test_error_notification(self):
        self.config(publish_errors=True, use_stderr=False)

        def mock_notify(context, message):
            msgs.append(message)

        msgs = []
        self.stubs.Set(no_op_notifier, "notify", mock_notify)

        LOG = log.getLogger("test_error_notification.common")
        log.setup("test_error_notification")

        LOG.error("foo")
        self.assertEqual(1, len(msgs))
        msg = msgs[0]
        self.assertEqual(msg["event_type"], "error_notification")
        self.assertEqual(msg["priority"], "ERROR")
        self.assertEqual(msg["payload"]["error"], "foo")
Ejemplo n.º 37
0
    def setUp(self):
        super(FancyRecordTestCase, self).setUp()
        # NOTE(sdague): use the different formatters to demonstrate format
        # string with valid fancy keys and without. Slightly hacky, but given
        # the way log objects layer up seemed to be most concise approach
        self.config(logging_context_format_string="%(color)s "
                                                  "[%(request_id)s]: "
                                                  "%(message)s",
                    logging_default_format_string="%(missing)s: %(message)s")
        self.stream = cStringIO.StringIO()

        self.colorhandler = log.ColorHandler(self.stream)
        self.colorhandler.setFormatter(log.LegacyFormatter())

        self.colorlog = log.getLogger()
        self.colorlog.logger.addHandler(self.colorhandler)
        self.level = self.colorlog.logger.getEffectiveLevel()
        self.colorlog.logger.setLevel(logging.DEBUG)
Ejemplo n.º 38
0
    def setUp(self):
        super(FancyRecordTestCase, self).setUp()
        # NOTE(sdague): use the different formatters to demonstrate format
        # string with valid fancy keys and without. Slightly hacky, but given
        # the way log objects layer up seemed to be most concise approach
        self.config(logging_context_format_string="%(color)s "
                                                  "[%(request_id)s]: "
                                                  "%(message)s",
                    logging_default_format_string="%(missing)s: %(message)s")
        self.stream = cStringIO.StringIO()

        self.colorhandler = log.ColorHandler(self.stream)
        self.colorhandler.setFormatter(log.ContextFormatter())

        self.colorlog = log.getLogger()
        self.colorlog.logger.addHandler(self.colorhandler)
        self.level = self.colorlog.logger.getEffectiveLevel()
        self.colorlog.logger.setLevel(logging.DEBUG)
Ejemplo n.º 39
0
    def test_error_notification(self):
        self.config(publish_errors=True,
                    use_stderr=False)

        def mock_notify(context, message):
            msgs.append(message)

        msgs = []
        self.stubs.Set(no_op_notifier, 'notify', mock_notify)

        LOG = log.getLogger('test_error_notification.common')
        log.setup('test_error_notification')

        LOG.error('foo')
        self.assertEqual(1, len(msgs))
        msg = msgs[0]
        self.assertEqual(msg['event_type'], 'error_notification')
        self.assertEqual(msg['priority'], 'ERROR')
        self.assertEqual(msg['payload']['error'], 'foo')
Ejemplo n.º 40
0
    def test_excepthook_logs_exception(self):
        product_name = 'somename'
        exc_log = log.getLogger(product_name)

        stream = cStringIO.StringIO()
        handler = logging.StreamHandler(stream)
        handler.setFormatter(log.ContextFormatter())
        exc_log.logger.addHandler(handler)
        self.addCleanup(exc_log.logger.removeHandler, handler)
        excepthook = log._create_logging_excepthook(product_name)

        try:
            raise Exception('Some error happened')
        except Exception:
            excepthook(*sys.exc_info())

        expected_string = "CRITICAL somename [-] Some error happened"
        self.assertTrue(expected_string in stream.getvalue(),
                        msg="Exception is not logged")
Ejemplo n.º 41
0
# -*- coding: utf-8 -*-
''' Interface for database access '''

from oslo.config import cfg
from openstack.common.db import api as db_api
from openstack.common import log as logging

# from forest import utils

CONF = cfg.CONF

_BACKEND_MAPPING = {'sqlalchemy': 'forest.db.sqlalchemy.api'}

IMPL = db_api.DBAPI(backend_mapping=_BACKEND_MAPPING)
LOG = logging.getLogger(__name__)


def get_session(context=None):
    ''' Get session from context '''
    return IMPL.get_session(context)


def job_flow_get(context, job_flow_id):
    return IMPL.job_flow_get(context, job_flow_id)


def job_flow_get_all(context, tenant_only=True):
    return IMPL.job_flow_get_all(context, tenant_only)


def job_flow_get_all_by_tenant(context):
Ejemplo n.º 42
0
 def test_child_log_has_level_of_parent_flag(self):
     l = log.getLogger('nova-test.foo')
     self.assertEqual(logging.AUDIT, l.logger.getEffectiveLevel())
Ejemplo n.º 43
0
 def setUp(self):
     super(JSONFormatterTestCase, self).setUp()
     self.log = log.getLogger('test-json')
     self._add_handler_with_cleanup(self.log, formatter=log.JSONFormatter)
     self._set_log_level_with_cleanup(self.log, logging.DEBUG)
Ejemplo n.º 44
0
from os_collect_config import ec2
from os_collect_config import exc
from os_collect_config import heat_local
from oslo.config import cfg

opts = [
    cfg.StrOpt('command',
               short='c',
               help='Command to run on metadata changes.'),
    cfg.StrOpt('cachedir',
               default='/var/run/os-collect-config',
               help='Directory in which to store local cache of metadata'),
]

CONF = cfg.CONF
logger = log.getLogger('os-collect-config')

COLLECTORS = (ec2, cfn, heat_local)


def setup_conf():
    ec2_group = cfg.OptGroup(name='ec2',
                             title='EC2 Metadata options')

    cfn_group = cfg.OptGroup(name='cfn',
                             title='CloudFormation API Metadata options')

    heat_local_group = cfg.OptGroup(name='heat_local',
                                    title='Heat Local Metadata options')

    CONF.register_group(ec2_group)
Ejemplo n.º 45
0
 def test_child_log_has_level_of_parent_flag(self):
     l = log.getLogger('nova-test.foo')
     self.assertEqual(logging.AUDIT, l.logger.getEffectiveLevel())
Ejemplo n.º 46
0
#         http://www.apache.org/licenses/LICENSE-2.0
#
#    Unless required by applicable law or agreed to in writing, software
#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
#    License for the specific language governing permissions and limitations
#    under the License.

import mock

from openstack.common.db.sqlalchemy import test_migrations as migrate
from openstack.common import log as logging
from openstack.common import test


LOG = logging.getLogger(__name__)


class TestWalkVersions(test.BaseTestCase, migrate.WalkVersionsMixin):
    def setUp(self):
        super(TestWalkVersions, self).setUp()
        self.migration_api = mock.MagicMock()
        self.engine = mock.MagicMock()
        self.REPOSITORY = mock.MagicMock()
        self.INIT_VERSION = 4

    def test_migrate_up(self):
        self.migration_api.db_version.return_value = 141

        self._migrate_up(self.engine, 141)
Ejemplo n.º 47
0
 def setUp(self):
     super(LoggerTestCase, self).setUp()
     self.log = log.getLogger()