예제 #1
0
 def _driver(self):
     if self.__driver:
         return self.__driver
     if not self._driver_cls:
         self._driver_cls = CONF.quota_driver
     if isinstance(self._driver_cls, six.string_types):
         self._driver_cls = importutils.import_object(self._driver_cls, self.db)
     self.__driver = self._driver_cls
     return self.__driver
예제 #2
0
def _setup_logging_from_conf():
    log_root = getLogger(None).logger
    for handler in log_root.handlers:
        log_root.removeHandler(handler)

    if CONF.use_syslog:
        facility = _find_facility_from_conf()
        syslog = logging.handlers.SysLogHandler(address='/dev/log',
                                                facility=facility)
        log_root.addHandler(syslog)

    logpath = _get_log_file_path()
    if logpath:
        filelog = logging.handlers.WatchedFileHandler(logpath)
        log_root.addHandler(filelog)

    if CONF.use_stderr:
        streamlog = ColorHandler()
        log_root.addHandler(streamlog)

    elif not CONF.log_file:
        # pass sys.stdout as a positional argument
        # python2.6 calls the argument strm, in 2.7 it's stream
        streamlog = logging.StreamHandler(sys.stdout)
        log_root.addHandler(streamlog)

    if CONF.publish_errors:
        handler = importutils.import_object(
            "openstack.common.log_handler.PublishErrorsHandler",
            logging.ERROR)
        log_root.addHandler(handler)

    datefmt = CONF.log_date_format
    for handler in log_root.handlers:
        # NOTE(alaski): CONF.log_format overrides everything currently.  This
        # should be deprecated in favor of context aware formatting.
        if CONF.log_format:
            handler.setFormatter(logging.Formatter(fmt=CONF.log_format,
                                                   datefmt=datefmt))
            log_root.info('Deprecated: log_format is now deprecated and will '
                          'be removed in the next release')
        else:
            handler.setFormatter(ContextFormatter(datefmt=datefmt))

    if CONF.debug:
        log_root.setLevel(logging.DEBUG)
    elif CONF.verbose:
        log_root.setLevel(logging.INFO)
    else:
        log_root.setLevel(logging.WARNING)

    for pair in CONF.default_log_levels:
        mod, _sep, level_name = pair.partition('=')
        level = logging.getLevelName(level_name)
        logger = logging.getLogger(mod)
        logger.setLevel(level)
예제 #3
0
 def _driver(self):
     if self.__driver:
         return self.__driver
     if not self._driver_cls:
         self._driver_cls = CONF.quota_driver
     if isinstance(self._driver_cls, basestring):
         self._driver_cls = importutils.import_object(self._driver_cls,
                                                      self.db)
     self.__driver = self._driver_cls
     return self.__driver
예제 #4
0
def _get_matchmaker(*args, **kwargs):
    global matchmaker
    if not matchmaker:
        mm = CONF.rpc_zmq_matchmaker
        if mm.endswith('matchmaker.MatchMakerRing'):
            mm.replace('matchmaker', 'matchmaker_ring')
            LOG.warn(_('rpc_zmq_matchmaker = %(orig)s is deprecated; use'
                       ' %(new)s instead') % dict(
                     orig=CONF.rpc_zmq_matchmaker, new=mm))
        matchmaker = importutils.import_object(mm, *args, **kwargs)
    return matchmaker
예제 #5
0
def _get_matchmaker(*args, **kwargs):
    global matchmaker
    if not matchmaker:
        mm = CONF.rpc_zmq_matchmaker
        if mm.endswith('matchmaker.MatchMakerRing'):
            mm.replace('matchmaker', 'matchmaker_ring')
            LOG.warn(_('rpc_zmq_matchmaker = %(orig)s is deprecated; use'
                       ' %(new)s instead') % dict(
                     orig=CONF.rpc_zmq_matchmaker, new=mm))
        matchmaker = importutils.import_object(mm, *args, **kwargs)
    return matchmaker
예제 #6
0
 def test_import_object_optional_arg_not_present(self):
     obj = importutils.import_object('tests.unit.fake.FakeDriver')
     self.assertTrue(obj.__class__.__name__, 'FakeDriver')
예제 #7
0
 def test_import_object_with_args(self):
     dt = importutils.import_object('datetime.datetime', 2012, 4, 5)
     self.assertTrue(isinstance(dt, sys.modules['datetime'].datetime))
     self.assertEqual(dt, datetime.datetime(2012, 4, 5))
예제 #8
0
 def test_import_object(self):
     dt = importutils.import_object('datetime.time')
     self.assertTrue(isinstance(dt, sys.modules['datetime'].time))
예제 #9
0
 def test_import_object_required_arg_present(self):
     obj = importutils.import_object('tests.unit.fake.FakeDriver2',
                                     first_arg=False)
     self.assertTrue(obj.__class__.__name__, 'FakeDriver2')
예제 #10
0
 def test_import_object_optional_arg_not_present(self):
     obj = importutils.import_object('tests.unit.fake.FakeDriver')
     self.assertTrue(obj.__class__.__name__, 'FakeDriver')
예제 #11
0
def _setup_logging_from_conf(project, version):
    log_root = getLogger(None).logger
    for handler in log_root.handlers:
        log_root.removeHandler(handler)

    logpath = _get_log_file_path()
    if logpath:
        filelog = logging.handlers.WatchedFileHandler(logpath)
        log_root.addHandler(filelog)

    if CONF.use_stderr:
        streamlog = ColorHandler()
        log_root.addHandler(streamlog)

    elif not logpath:
        # pass sys.stdout as a positional argument
        # python2.6 calls the argument strm, in 2.7 it's stream
        streamlog = logging.StreamHandler(sys.stdout)
        log_root.addHandler(streamlog)

    if CONF.publish_errors:
        try:
            handler = importutils.import_object(
                "monasca.openstack.common.log_handler.PublishErrorsHandler",
                logging.ERROR)
        except ImportError:
            handler = importutils.import_object(
                "oslo.messaging.notify.log_handler.PublishErrorsHandler",
                logging.ERROR)
        log_root.addHandler(handler)

    datefmt = CONF.log_date_format
    for handler in log_root.handlers:
        # NOTE(alaski): CONF.log_format overrides everything currently.  This
        # should be deprecated in favor of context aware formatting.
        if CONF.log_format:
            handler.setFormatter(logging.Formatter(fmt=CONF.log_format,
                                                   datefmt=datefmt))
            log_root.info('Deprecated: log_format is now deprecated and will '
                          'be removed in the next release')
        else:
            handler.setFormatter(ContextFormatter(project=project,
                                                  version=version,
                                                  datefmt=datefmt))

    if CONF.debug:
        log_root.setLevel(logging.DEBUG)
    elif CONF.verbose:
        log_root.setLevel(logging.INFO)
    else:
        log_root.setLevel(logging.WARNING)

    for pair in CONF.default_log_levels:
        mod, _sep, level_name = pair.partition('=')
        logger = logging.getLogger(mod)
        # NOTE(AAzza) in python2.6 Logger.setLevel doesn't convert string name
        # to integer code.
        if sys.version_info < (2, 7):
            level = logging.getLevelName(level_name)
            logger.setLevel(level)
        else:
            logger.setLevel(level_name)

    if CONF.use_syslog:
        try:
            facility = _find_facility_from_conf()
            # TODO(bogdando) use the format provided by RFCSysLogHandler
            #   after existing syslog format deprecation in J
            if CONF.use_syslog_rfc_format:
                syslog = RFCSysLogHandler(facility=facility)
            else:
                syslog = logging.handlers.SysLogHandler(facility=facility)
            log_root.addHandler(syslog)
        except socket.error:
            log_root.error('Unable to add syslog handler. Verify that syslog'
                           'is running.')
예제 #12
0
def _get_matchmaker():
    global matchmaker
    if not matchmaker:
        matchmaker = importutils.import_object(CONF.rpc_zmq_matchmaker)
    return matchmaker
 def test_import_object_optional_arg_present(self):
     obj = importutils.import_object('tests.unit.fake.FakeDriver',
                                     first_arg=False)
     self.assertEqual(obj.__class__.__name__, 'FakeDriver')
예제 #14
0
 def test_import_object_optional_arg_present(self):
     obj = importutils.import_object('tests.unit.fake.FakeDriver',
                                     first_arg=False)
     self.assertEqual(obj.__class__.__name__, 'FakeDriver')
예제 #15
0
 def test_import_object_required_arg_present(self):
     obj = importutils.import_object('tests.unit.fake.FakeDriver2',
                                     first_arg=False)
     self.assertTrue(obj.__class__.__name__, 'FakeDriver2')
예제 #16
0
 def test_import_object(self):
     dt = importutils.import_object('datetime.time')
     self.assertTrue(isinstance(dt, sys.modules['datetime'].time))
예제 #17
0
 def test_import_object_with_args(self):
     dt = importutils.import_object('datetime.datetime', 2012, 4, 5)
     self.assertTrue(isinstance(dt, sys.modules['datetime'].datetime))
     self.assertEqual(dt, datetime.datetime(2012, 4, 5))
예제 #18
0
def _get_matchmaker(*args, **kwargs):
    global matchmaker
    if not matchmaker:
        matchmaker = importutils.import_object(
            CONF.rpc_zmq_matchmaker, *args, **kwargs)
    return matchmaker
예제 #19
0
def _get_matchmaker(*args, **kwargs):
    global matchmaker
    if not matchmaker:
        matchmaker = importutils.import_object(CONF.rpc_zmq_matchmaker, *args,
                                               **kwargs)
    return matchmaker