use oslo.log instead of oslo-incubator code

oslo.log has graduated from oslo-incubator, and openstack.common.log
has been removed from oslo-incubator, so let's use the new one.

NOTE1:openstack.common.log registers its options at import time, but
oslo.log needs to call register_options() explicitly.

NOTE2: split unit test case in tests/objectstore/test_swift_middleware.py
to avoid duplicate cli option register exception, see NOTE1.

Change-Id: Ida30808dbe0c584919755c207ca4ee4b91963a17
This commit is contained in:
ZhiQiang Fan 2015-01-16 18:35:10 +08:00 committed by gordon chung
parent 348c2263b6
commit c612727ff8
95 changed files with 114 additions and 865 deletions

View File

@ -25,6 +25,7 @@ import random
from oslo_config import cfg
from oslo_context import context
from oslo_log import log
import six
from six import moves
from six.moves.urllib import parse as urlparse
@ -33,7 +34,6 @@ from stevedore import extension
from ceilometer.agent import plugin_base
from ceilometer import coordination
from ceilometer.i18n import _
from ceilometer.openstack.common import log
from ceilometer.openstack.common import service as os_service
from ceilometer import pipeline as publish_pipeline
from ceilometer import utils

View File

@ -13,10 +13,10 @@
# under the License.
from oslo_config import cfg
from oslo_log import log
from ceilometer.agent import plugin_base as plugin
from ceilometer.i18n import _LW
from ceilometer.openstack.common import log
LOG = log.getLogger(__name__)

View File

@ -13,9 +13,9 @@
# under the License.
from oslo_config import cfg
from oslo_log import log
from ceilometer.agent import plugin_base as plugin
from ceilometer.openstack.common import log
LOG = log.getLogger(__name__)

View File

@ -14,10 +14,10 @@
# under the License.
from oslo_config import cfg
from oslo_log import log
from ceilometer.agent import base
from ceilometer import keystone_client
from ceilometer.openstack.common import log
OPTS = [
cfg.StrOpt('partitioning_group_prefix',

View File

@ -21,12 +21,12 @@ import collections
from keystoneclient.v2_0 import client as ksclient
from oslo_config import cfg
from oslo_context import context
from oslo_log import log
import oslo_messaging
import six
from ceilometer.i18n import _
from ceilometer import messaging
from ceilometer.openstack.common import log
cfg.CONF.import_group('service_credentials', 'ceilometer.service')

View File

@ -22,12 +22,12 @@ import datetime
from ceilometerclient import client as ceiloclient
import croniter
from oslo_config import cfg
from oslo_log import log
from oslo_utils import timeutils
import pytz
import six
from ceilometer.i18n import _
from ceilometer.openstack.common import log
LOG = log.getLogger(__name__)

View File

@ -18,9 +18,10 @@
from six import moves
from oslo_log import log
from ceilometer.alarm import evaluator
from ceilometer.i18n import _
from ceilometer.openstack.common import log
LOG = log.getLogger(__name__)

View File

@ -17,6 +17,7 @@ import datetime
import operator
from oslo_config import cfg
from oslo_log import log
from oslo_serialization import jsonutils
from oslo_utils import timeutils
import requests
@ -25,7 +26,6 @@ import six.moves
from ceilometer.alarm import evaluator
from ceilometer.i18n import _
from ceilometer import keystone_client
from ceilometer.openstack.common import log
LOG = log.getLogger(__name__)

View File

@ -16,12 +16,12 @@
import datetime
import operator
from oslo_log import log
from oslo_utils import timeutils
from ceilometer.alarm import evaluator
from ceilometer.alarm.evaluator import utils
from ceilometer.i18n import _, _LW
from ceilometer.openstack.common import log
LOG = log.getLogger(__name__)

View File

@ -14,9 +14,10 @@
# under the License.
"""Log alarm notifier."""
from oslo_log import log
from ceilometer.alarm import notifier
from ceilometer.i18n import _
from ceilometer.openstack.common import log
LOG = log.getLogger(__name__)

View File

@ -17,13 +17,13 @@
import eventlet
from oslo_config import cfg
from oslo_context import context
from oslo_log import log
from oslo_serialization import jsonutils
import requests
import six.moves.urllib.parse as urlparse
from ceilometer.alarm import notifier
from ceilometer.i18n import _
from ceilometer.openstack.common import log
LOG = log.getLogger(__name__)

View File

@ -17,12 +17,12 @@
from oslo_config import cfg
from oslo_context import context
from oslo_log import log
import six
from ceilometer.alarm.storage import models
from ceilometer.i18n import _
from ceilometer import messaging
from ceilometer.openstack.common import log
OPTS = [
cfg.StrOpt('notifier_rpc_topic',

View File

@ -21,6 +21,7 @@ import abc
from ceilometerclient import client as ceiloclient
from oslo_config import cfg
from oslo_log import log
from oslo_utils import netutils
import six
from stevedore import extension
@ -30,7 +31,6 @@ from ceilometer.alarm import rpc as rpc_alarm
from ceilometer import coordination as coordination
from ceilometer.i18n import _
from ceilometer import messaging
from ceilometer.openstack.common import log
from ceilometer.openstack.common import service as os_service

View File

@ -18,10 +18,10 @@
from __future__ import division
from oslo_log import log
import pymongo
from ceilometer.alarm.storage import pymongo_base
from ceilometer.openstack.common import log
from ceilometer import storage
from ceilometer.storage.mongo import utils as pymongo_utils

View File

@ -14,11 +14,12 @@
import datetime
import operator
from oslo_log import log
import ceilometer
from ceilometer.alarm.storage import base
from ceilometer.alarm.storage import models
from ceilometer.i18n import _
from ceilometer.openstack.common import log
from ceilometer.storage.hbase import base as hbase_base
from ceilometer.storage.hbase import migration as hbase_migration
from ceilometer.storage.hbase import utils as hbase_utils

View File

@ -15,9 +15,10 @@
"""Simple logging storage backend.
"""
from oslo_log import log
from ceilometer.alarm.storage import base
from ceilometer.i18n import _LI
from ceilometer.openstack.common import log
LOG = log.getLogger(__name__)

View File

@ -21,10 +21,10 @@
"""MongoDB storage backend"""
from oslo_config import cfg
from oslo_log import log
import pymongo
from ceilometer.alarm.storage import pymongo_base
from ceilometer.openstack.common import log
from ceilometer import storage
from ceilometer.storage import impl_mongodb
from ceilometer.storage.mongo import utils as pymongo_utils

View File

@ -18,6 +18,7 @@ import os
from oslo_config import cfg
from oslo_db.sqlalchemy import session as db_session
from oslo_log import log
from oslo_utils import timeutils
from sqlalchemy import desc
@ -25,7 +26,6 @@ import ceilometer
from ceilometer.alarm.storage import base
from ceilometer.alarm.storage import models as alarm_api_models
from ceilometer.i18n import _LI
from ceilometer.openstack.common import log
from ceilometer.storage.sqlalchemy import models
from ceilometer.storage.sqlalchemy import utils as sql_utils
from ceilometer import utils

View File

@ -18,13 +18,12 @@
"""Common functions for MongoDB and DB2 backends
"""
from oslo_log import log
import pymongo
import ceilometer
from ceilometer.alarm.storage import base
from ceilometer.alarm.storage import models
from ceilometer.openstack.common import log
from ceilometer.storage.mongo import utils as pymongo_utils
from ceilometer import utils

View File

@ -16,8 +16,8 @@
import logging
import os
from oslo_config import cfg
from oslo_log import log
from paste import deploy
import pecan
from werkzeug import serving
@ -27,7 +27,6 @@ from ceilometer.api import hooks
from ceilometer.api import middleware
from ceilometer.i18n import _
from ceilometer.i18n import _LW
from ceilometer.openstack.common import log
from ceilometer import service
from ceilometer import storage

View File

@ -25,6 +25,7 @@ import uuid
import croniter
from oslo_config import cfg
from oslo_context import context
from oslo_log import log
from oslo_utils import netutils
from oslo_utils import timeutils
import pecan
@ -45,7 +46,6 @@ from ceilometer.api.controllers.v2 import utils as v2_utils
from ceilometer.api import rbac
from ceilometer.i18n import _
from ceilometer import messaging
from ceilometer.openstack.common import log
from ceilometer import utils
LOG = log.getLogger(__name__)

View File

@ -20,6 +20,7 @@
import datetime
from oslo_log import log
import pecan
from pecan import rest
import six
@ -31,7 +32,6 @@ from ceilometer.api.controllers.v2 import base
from ceilometer.api.controllers.v2 import utils as v2_utils
from ceilometer.event.storage import models as event_models
from ceilometer.i18n import _
from ceilometer.openstack.common import log
from ceilometer import storage
LOG = log.getLogger(__name__)

View File

@ -22,6 +22,7 @@ import base64
import datetime
from oslo_context import context
from oslo_log import log
from oslo_utils import timeutils
import pecan
from pecan import rest
@ -34,7 +35,6 @@ from ceilometer.api.controllers.v2 import base
from ceilometer.api.controllers.v2 import utils as v2_utils
from ceilometer.api import rbac
from ceilometer.i18n import _
from ceilometer.openstack.common import log
from ceilometer import sample
from ceilometer import storage
from ceilometer import utils

View File

@ -21,6 +21,7 @@
import json
import jsonschema
from oslo_log import log
from oslo_utils import timeutils
import pecan
from pecan import rest
@ -33,7 +34,6 @@ from ceilometer.api.controllers.v2 import base
from ceilometer.api.controllers.v2 import samples
from ceilometer.api import rbac
from ceilometer.i18n import _
from ceilometer.openstack.common import log
from ceilometer import storage
from ceilometer import utils

View File

@ -22,12 +22,12 @@ Based on pecan.middleware.errordocument
import json
from lxml import etree
from oslo_log import log
import webob
from ceilometer.api import hooks
from ceilometer import i18n
from ceilometer.i18n import _
from ceilometer.openstack.common import log
LOG = log.getLogger(__name__)

View File

@ -15,10 +15,10 @@
# under the License.
from oslo_config import cfg
from oslo_log import log
from ceilometer.agent import manager
from ceilometer.i18n import _LW
from ceilometer.openstack.common import log
from ceilometer.openstack.common import service as os_service
from ceilometer import service

View File

@ -17,6 +17,7 @@ import socket
import msgpack
from oslo_config import cfg
from oslo_log import log
import oslo_messaging
from oslo_utils import netutils
from oslo_utils import units
@ -24,7 +25,6 @@ from oslo_utils import units
from ceilometer import dispatcher
from ceilometer import messaging
from ceilometer.i18n import _, _LE
from ceilometer.openstack.common import log
from ceilometer.openstack.common import service as os_service
from ceilometer import utils

View File

@ -15,11 +15,12 @@
"""Converters for producing compute CPU sample messages from notification
events.
"""
from oslo_log import log
from oslo_utils import timeutils
from ceilometer.compute import notifications
from ceilometer.i18n import _
from ceilometer.openstack.common import log
from ceilometer import sample
LOG = log.getLogger(__name__)

View File

@ -13,12 +13,14 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from oslo_log import log
import ceilometer
from ceilometer.compute import pollsters
from ceilometer.compute.pollsters import util
from ceilometer.compute.virt import inspector as virt_inspector
from ceilometer.i18n import _
from ceilometer.openstack.common import log
from ceilometer import sample
LOG = log.getLogger(__name__)

View File

@ -17,6 +17,7 @@
import abc
import collections
from oslo_log import log
import six
import ceilometer
@ -24,7 +25,6 @@ from ceilometer.compute import pollsters
from ceilometer.compute.pollsters import util
from ceilometer.compute.virt import inspector as virt_inspector
from ceilometer.i18n import _, _LW
from ceilometer.openstack.common import log
from ceilometer import sample
LOG = log.getLogger(__name__)

View File

@ -12,12 +12,14 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from oslo_log import log
import ceilometer
from ceilometer.compute import pollsters
from ceilometer.compute.pollsters import util
from ceilometer.compute.virt import inspector as virt_inspector
from ceilometer.i18n import _, _LW, _LE
from ceilometer.openstack.common import log
from ceilometer import sample
LOG = log.getLogger(__name__)

View File

@ -16,6 +16,7 @@
import copy
from oslo_log import log
from oslo_utils import timeutils
import ceilometer
@ -24,7 +25,6 @@ from ceilometer.compute.pollsters import util
from ceilometer.compute import util as compute_util
from ceilometer.compute.virt import inspector as virt_inspector
from ceilometer.i18n import _, _LW
from ceilometer.openstack.common import log
from ceilometer import sample
LOG = log.getLogger(__name__)

View File

@ -14,12 +14,12 @@
"""Implementation of Inspector abstraction for Hyper-V"""
from oslo_config import cfg
from oslo_log import log
from oslo_utils import units
from ceilometer.compute.pollsters import util
from ceilometer.compute.virt.hyperv import utilsv2
from ceilometer.compute.virt import inspector as virt_inspector
from ceilometer.openstack.common import log
CONF = cfg.CONF

View File

@ -23,10 +23,10 @@ if sys.platform == 'win32':
import wmi
from oslo_config import cfg
from oslo_log import log as logging
from ceilometer.compute.virt import inspector
from ceilometer.i18n import _
from ceilometer.openstack.common import log as logging
CONF = cfg.CONF
LOG = logging.getLogger(__name__)

View File

@ -17,11 +17,11 @@
import collections
from oslo_config import cfg
from oslo_log import log
from stevedore import driver
import ceilometer
from ceilometer.i18n import _
from ceilometer.openstack.common import log
OPTS = [

View File

@ -16,13 +16,13 @@
from lxml import etree
from oslo_config import cfg
from oslo_log import log as logging
from oslo_utils import units
import six
from ceilometer.compute.pollsters import util
from ceilometer.compute.virt import inspector as virt_inspector
from ceilometer.i18n import _
from ceilometer.openstack.common import log as logging
libvirt = None

View File

@ -16,10 +16,10 @@
import uuid
from oslo_config import cfg
from oslo_log import log
import tooz.coordination
from ceilometer.i18n import _LE, _LI
from ceilometer.openstack.common import log
from ceilometer import utils
LOG = log.getLogger(__name__)

View File

@ -16,11 +16,11 @@
import abc
from oslo_config import cfg
from oslo_log import log
import six
from stevedore import named
from ceilometer.i18n import _
from ceilometer.openstack.common import log
LOG = log.getLogger(__name__)

View File

@ -12,12 +12,13 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from oslo_log import log
from oslo_utils import timeutils
from ceilometer import dispatcher
from ceilometer.event.storage import models
from ceilometer.i18n import _, _LE, _LW
from ceilometer.openstack.common import log
from ceilometer.publisher import utils as publisher_utils
from ceilometer import storage

View File

@ -15,11 +15,11 @@
import json
from oslo_config import cfg
from oslo_log import log
import requests
from ceilometer import dispatcher
from ceilometer.i18n import _, _LE
from ceilometer.openstack.common import log
from ceilometer.publisher import utils as publisher_utils
LOG = log.getLogger(__name__)

View File

@ -16,12 +16,12 @@ import datetime
from keystoneclient import exceptions
from oslo_config import cfg
from oslo_log import log
import requests
import six
from ceilometer.agent import plugin_base
from ceilometer.i18n import _
from ceilometer.openstack.common import log
from ceilometer import sample

View File

@ -18,13 +18,13 @@ import os
import jsonpath_rw
from oslo_config import cfg
from oslo_log import log
from oslo_utils import timeutils
import six
import yaml
from ceilometer.event.storage import models
from ceilometer.i18n import _
from ceilometer.openstack.common import log
OPTS = [
cfg.StrOpt('definitions_cfg_file',

View File

@ -16,6 +16,7 @@ import operator
import elasticsearch as es
from elasticsearch import helpers
from oslo_log import log
from oslo_utils import netutils
from oslo_utils import timeutils
import six
@ -23,7 +24,6 @@ import six
from ceilometer.event.storage import base
from ceilometer.event.storage import models
from ceilometer.i18n import _LE, _LI
from ceilometer.openstack.common import log
from ceilometer import storage
from ceilometer import utils

View File

@ -13,10 +13,11 @@
import operator
from oslo_log import log
from ceilometer.event.storage import base
from ceilometer.event.storage import models
from ceilometer.i18n import _, _LE
from ceilometer.openstack.common import log
from ceilometer.storage.hbase import base as hbase_base
from ceilometer.storage.hbase import utils as hbase_utils
from ceilometer import utils

View File

@ -11,9 +11,10 @@
# License for the specific language governing permissions and limitations
# under the License.
from oslo_log import log
from ceilometer.event.storage import base
from ceilometer.i18n import _LI
from ceilometer.openstack.common import log
LOG = log.getLogger(__name__)

View File

@ -13,10 +13,10 @@
"""MongoDB storage backend"""
from oslo_config import cfg
from oslo_log import log
import pymongo
from ceilometer.event.storage import pymongo_base
from ceilometer.openstack.common import log
from ceilometer import storage
from ceilometer.storage import impl_mongodb
from ceilometer.storage.mongo import utils as pymongo_utils

View File

@ -20,13 +20,13 @@ import os
from oslo_config import cfg
from oslo_db import exception as dbexc
from oslo_db.sqlalchemy import session as db_session
from oslo_log import log
from oslo_utils import timeutils
import sqlalchemy as sa
from ceilometer.event.storage import base
from ceilometer.event.storage import models as api_models
from ceilometer.i18n import _LE, _LI
from ceilometer.openstack.common import log
from ceilometer.storage.sqlalchemy import models
from ceilometer import utils

View File

@ -12,12 +12,12 @@
# under the License.
"""Common functions for MongoDB and DB2 backends
"""
from oslo_log import log
import pymongo
from ceilometer.event.storage import base
from ceilometer.event.storage import models
from ceilometer.i18n import _LE, _LI
from ceilometer.openstack.common import log
from ceilometer.storage.mongo import utils as pymongo_utils
from ceilometer import utils

View File

@ -13,11 +13,11 @@
# under the License.
from oslo_config import cfg
from oslo_log import log
from ceilometer.agent import plugin_base
from ceilometer.i18n import _
from ceilometer import nova_client
from ceilometer.openstack.common import log
LOG = log.getLogger(__name__)

View File

@ -22,13 +22,13 @@
import abc
import itertools
from oslo_log import log
from oslo_utils import netutils
import six
from ceilometer.agent import plugin_base
from ceilometer.hardware import inspector as insloader
from ceilometer.i18n import _
from ceilometer.openstack.common import log
LOG = log.getLogger(__name__)

View File

@ -17,10 +17,10 @@ notification events.
"""
from oslo_config import cfg
from oslo_log import log
import oslo_messaging as messaging
from ceilometer.agent import plugin_base
from ceilometer.openstack.common import log
from ceilometer import sample
LOG = log.getLogger(__name__)

View File

@ -15,6 +15,7 @@
import abc
from oslo_config import cfg
from oslo_log import log
from oslo_utils import timeutils
import six
@ -22,7 +23,6 @@ from ceilometer.agent import plugin_base
from ceilometer.i18n import _
from ceilometer.ipmi.platform import exception as nmexcept
from ceilometer.ipmi.platform import intel_node_manager as node_manager
from ceilometer.openstack.common import log
from ceilometer import sample
CONF = cfg.CONF

View File

@ -13,6 +13,7 @@
# under the License.
from oslo_config import cfg
from oslo_log import log
from oslo_utils import timeutils
from ceilometer.agent import plugin_base
@ -20,7 +21,6 @@ from ceilometer.i18n import _
from ceilometer.ipmi.notifications import ironic as parser
from ceilometer.ipmi.platform import exception as ipmiexcept
from ceilometer.ipmi.platform import ipmi_sensor
from ceilometer.openstack.common import log
from ceilometer import sample
CONF = cfg.CONF

View File

@ -17,12 +17,12 @@
# under the License.
from oslo_config import cfg
from oslo_log import log
from oslo_utils import timeutils
from ceilometer.agent import plugin_base
from ceilometer.i18n import _
from ceilometer import nova_client
from ceilometer.openstack.common import log
from ceilometer import sample

View File

@ -18,10 +18,10 @@
"""
from oslo_config import cfg
from oslo_log import log
import oslo_messaging
from ceilometer.agent import plugin_base
from ceilometer.openstack.common import log
from ceilometer import sample
OPTS = [

View File

@ -13,9 +13,10 @@
# License for the specific language governing permissions and limitations
# under the License.
from oslo_log import log
from ceilometer.agent import plugin_base
from ceilometer import neutron_client
from ceilometer.openstack.common import log
LOG = log.getLogger(__name__)

View File

@ -12,11 +12,12 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from oslo_log import log
from oslo_utils import timeutils
from ceilometer.i18n import _
from ceilometer.network.services import base
from ceilometer.openstack.common import log
from ceilometer import sample
LOG = log.getLogger(__name__)

View File

@ -16,12 +16,12 @@
import abc
import collections
from oslo_log import log
from oslo_utils import timeutils
import six
from ceilometer.i18n import _
from ceilometer.network.services import base
from ceilometer.openstack.common import log
from ceilometer import sample
LOG = log.getLogger(__name__)

View File

@ -12,11 +12,12 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from oslo_log import log
from oslo_utils import timeutils
from ceilometer.i18n import _
from ceilometer.network.services import base
from ceilometer.openstack.common import log
from ceilometer import sample
LOG = log.getLogger(__name__)

View File

@ -15,12 +15,12 @@
import copy
from oslo_config import cfg
from oslo_log import log
import requests
import six
from six.moves.urllib import parse as urlparse
from ceilometer.i18n import _
from ceilometer.openstack.common import log
CONF = cfg.CONF

View File

@ -16,12 +16,12 @@
import abc
from oslo_config import cfg
from oslo_log import log
import requests
from requests import auth
import six
from ceilometer.i18n import _
from ceilometer.openstack.common import log
CONF = cfg.CONF

View File

@ -12,6 +12,8 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from oslo_log import log
from oslo_utils import timeutils
import six
from six import moves
@ -20,7 +22,6 @@ from six.moves.urllib import parse as urlparse
from ceilometer.i18n import _
from ceilometer.network.statistics import driver
from ceilometer.network.statistics.opendaylight import client
from ceilometer.openstack.common import log
from ceilometer import utils

View File

@ -17,8 +17,7 @@ import functools
from neutronclient.common import exceptions
from neutronclient.v2_0 import client as clientv20
from oslo_config import cfg
from ceilometer.openstack.common import log
from oslo_log import log
SERVICE_OPTS = [

View File

@ -15,6 +15,7 @@
from oslo_config import cfg
from oslo_context import context
from oslo_log import log
import oslo_messaging
from stevedore import extension
@ -23,7 +24,6 @@ from ceilometer import coordination
from ceilometer.event import endpoint as event_endpoint
from ceilometer.i18n import _, _LW
from ceilometer import messaging
from ceilometer.openstack.common import log
from ceilometer.openstack.common import service as os_service
from ceilometer import pipeline
from ceilometer import utils

View File

@ -14,10 +14,10 @@
# under the License.
from oslo_context import context as req_context
from oslo_log import log as logging
from stevedore import extension
from ceilometer.i18n import _
from ceilometer.openstack.common import log as logging
from ceilometer import pipeline
from ceilometer import transformer

View File

@ -16,8 +16,7 @@ import functools
import novaclient
from novaclient import client as nova_client
from oslo_config import cfg
from ceilometer.openstack.common import log
from oslo_log import log
OPTS = [

View File

@ -17,13 +17,13 @@
from keystoneclient import exceptions
from oslo_config import cfg
from oslo_log import log
from oslo_utils import timeutils
import six.moves.urllib.parse as urlparse
from ceilometer.agent import plugin_base
from ceilometer.i18n import _
from ceilometer.objectstore.rgw_client import RGWAdminClient as rgwclient
from ceilometer.openstack.common import log
from ceilometer import sample
LOG = log.getLogger(__name__)

View File

@ -19,13 +19,13 @@ from __future__ import absolute_import
from keystoneclient import exceptions
from oslo_config import cfg
from oslo_log import log
from oslo_utils import timeutils
import six.moves.urllib.parse as urlparse
from swiftclient import client as swift
from ceilometer.agent import plugin_base
from ceilometer.i18n import _
from ceilometer.openstack.common import log
from ceilometer import sample

View File

@ -1,45 +0,0 @@
# Copyright 2011 OpenStack Foundation.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# 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.
"""Local storage of variables using weak references"""
import threading
import weakref
class WeakLocal(threading.local):
def __getattribute__(self, attr):
rval = super(WeakLocal, self).__getattribute__(attr)
if rval:
# NOTE(mikal): this bit is confusing. What is stored is a weak
# reference, not the value itself. We therefore need to lookup
# the weak reference and return the inner value here.
rval = rval()
return rval
def __setattr__(self, attr, value):
value = weakref.ref(value)
return super(WeakLocal, self).__setattr__(attr, value)
# NOTE(mikal): the name "store" should be deprecated in the future
store = WeakLocal()
# A "weak" store uses weak references and allows an object to fall out of scope
# when it falls out of scope in the code that uses the thread local storage. A
# "strong" store will hold a reference to the object so that it never falls out
# of scope.
weak_store = WeakLocal()
strong_store = threading.local()

View File

@ -1,718 +0,0 @@
# Copyright 2011 OpenStack Foundation.
# Copyright 2010 United States Government as represented by the
# Administrator of the National Aeronautics and Space Administration.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# 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.
"""OpenStack logging handler.
This module adds to logging functionality by adding the option to specify
a context object when calling the various log methods. If the context object
is not specified, default formatting is used. Additionally, an instance uuid
may be passed as part of the log message, which is intended to make it easier
for admins to find messages related to a specific instance.
It also allows setting of formatting information through conf.
"""
import copy
import inspect
import itertools
import logging
import logging.config
import logging.handlers
import os
import socket
import sys
import traceback
from oslo_config import cfg
from oslo_serialization import jsonutils
from oslo_utils import importutils
import six
from six import moves
_PY26 = sys.version_info[0:2] == (2, 6)
from ceilometer.openstack.common._i18n import _
from ceilometer.openstack.common import local
_DEFAULT_LOG_DATE_FORMAT = "%Y-%m-%d %H:%M:%S"
common_cli_opts = [
cfg.BoolOpt('debug',
short='d',
default=False,
help='Print debugging output (set logging level to '
'DEBUG instead of default WARNING level).'),
cfg.BoolOpt('verbose',
short='v',
default=False,
help='Print more verbose output (set logging level to '
'INFO instead of default WARNING level).'),
]
logging_cli_opts = [
cfg.StrOpt('log-config-append',
metavar='PATH',
deprecated_name='log-config',
help='The name of a logging configuration file. This file '
'is appended to any existing logging configuration '
'files. For details about logging configuration files, '
'see the Python logging module documentation.'),
cfg.StrOpt('log-format',
metavar='FORMAT',
help='DEPRECATED. '
'A logging.Formatter log message format string which may '
'use any of the available logging.LogRecord attributes. '
'This option is deprecated. Please use '
'logging_context_format_string and '
'logging_default_format_string instead.'),
cfg.StrOpt('log-date-format',
default=_DEFAULT_LOG_DATE_FORMAT,
metavar='DATE_FORMAT',
help='Format string for %%(asctime)s in log records. '
'Default: %(default)s .'),
cfg.StrOpt('log-file',
metavar='PATH',
deprecated_name='logfile',
help='(Optional) Name of log file to output to. '
'If no default is set, logging will go to stdout.'),
cfg.StrOpt('log-dir',
deprecated_name='logdir',
help='(Optional) The base directory used for relative '
'--log-file paths.'),
cfg.BoolOpt('use-syslog',
default=False,
help='Use syslog for logging. '
'Existing syslog format is DEPRECATED during I, '
'and will change in J to honor RFC5424.'),
cfg.BoolOpt('use-syslog-rfc-format',
# TODO(bogdando) remove or use True after existing
# syslog format deprecation in J
default=False,
help='(Optional) Enables or disables syslog rfc5424 format '
'for logging. If enabled, prefixes the MSG part of the '
'syslog message with APP-NAME (RFC5424). The '
'format without the APP-NAME is deprecated in I, '
'and will be removed in J.'),
cfg.StrOpt('syslog-log-facility',
default='LOG_USER',
help='Syslog facility to receive log lines.')
]
generic_log_opts = [
cfg.BoolOpt('use_stderr',
default=True,
help='Log output to standard error.')
]
DEFAULT_LOG_LEVELS = ['amqp=WARN', 'amqplib=WARN', 'boto=WARN',
'qpid=WARN', 'sqlalchemy=WARN', 'suds=INFO',
'oslo.messaging=INFO', 'iso8601=WARN',
'requests.packages.urllib3.connectionpool=WARN',
'urllib3.connectionpool=WARN', 'websocket=WARN',
"keystonemiddleware=WARN", "routes.middleware=WARN",
"stevedore=WARN"]
log_opts = [
cfg.StrOpt('logging_context_format_string',
default='%(asctime)s.%(msecs)03d %(process)d %(levelname)s '
'%(name)s [%(request_id)s %(user_identity)s] '
'%(instance)s%(message)s',
help='Format string to use for log messages with context.'),
cfg.StrOpt('logging_default_format_string',
default='%(asctime)s.%(msecs)03d %(process)d %(levelname)s '
'%(name)s [-] %(instance)s%(message)s',
help='Format string to use for log messages without context.'),
cfg.StrOpt('logging_debug_format_suffix',
default='%(funcName)s %(pathname)s:%(lineno)d',
help='Data to append to log format when level is DEBUG.'),
cfg.StrOpt('logging_exception_prefix',
default='%(asctime)s.%(msecs)03d %(process)d TRACE %(name)s '
'%(instance)s',
help='Prefix each line of exception output with this format.'),
cfg.ListOpt('default_log_levels',
default=DEFAULT_LOG_LEVELS,
help='List of logger=LEVEL pairs.'),
cfg.BoolOpt('publish_errors',
default=False,
help='Enables or disables publication of error events.'),
cfg.BoolOpt('fatal_deprecations',
default=False,
help='Enables or disables fatal status of deprecations.'),
# NOTE(mikal): there are two options here because sometimes we are handed
# a full instance (and could include more information), and other times we
# are just handed a UUID for the instance.
cfg.StrOpt('instance_format',
default='[instance: %(uuid)s] ',
help='The format for an instance that is passed with the log '
'message.'),
cfg.StrOpt('instance_uuid_format',
default='[instance: %(uuid)s] ',
help='The format for an instance UUID that is passed with the '
'log message.'),
]
CONF = cfg.CONF
CONF.register_cli_opts(common_cli_opts)
CONF.register_cli_opts(logging_cli_opts)
CONF.register_opts(generic_log_opts)
CONF.register_opts(log_opts)
def list_opts():
"""Entry point for oslo.config-generator."""
return [(None, copy.deepcopy(common_cli_opts)),
(None, copy.deepcopy(logging_cli_opts)),
(None, copy.deepcopy(generic_log_opts)),
(None, copy.deepcopy(log_opts)),
]
# our new audit level
# NOTE(jkoelker) Since we synthesized an audit level, make the logging
# module aware of it so it acts like other levels.
logging.AUDIT = logging.INFO + 1
logging.addLevelName(logging.AUDIT, 'AUDIT')
try:
NullHandler = logging.NullHandler
except AttributeError: # NOTE(jkoelker) NullHandler added in Python 2.7
class NullHandler(logging.Handler):
def handle(self, record):
pass
def emit(self, record):
pass
def createLock(self):
self.lock = None
def _dictify_context(context):
if context is None:
return None
if not isinstance(context, dict) and getattr(context, 'to_dict', None):
context = context.to_dict()
return context
def _get_binary_name():
return os.path.basename(inspect.stack()[-1][1])
def _get_log_file_path(binary=None):
logfile = CONF.log_file
logdir = CONF.log_dir
if logfile and not logdir:
return logfile
if logfile and logdir:
return os.path.join(logdir, logfile)
if logdir:
binary = binary or _get_binary_name()
return '%s.log' % (os.path.join(logdir, binary),)
return None
class BaseLoggerAdapter(logging.LoggerAdapter):
def audit(self, msg, *args, **kwargs):
self.log(logging.AUDIT, msg, *args, **kwargs)
def isEnabledFor(self, level):
if _PY26:
# This method was added in python 2.7 (and it does the exact
# same logic, so we need to do the exact same logic so that
# python 2.6 has this capability as well).
return self.logger.isEnabledFor(level)
else:
return super(BaseLoggerAdapter, self).isEnabledFor(level)
class LazyAdapter(BaseLoggerAdapter):
def __init__(self, name='unknown', version='unknown'):
self._logger = None
self.extra = {}
self.name = name
self.version = version
@property
def logger(self):
if not self._logger:
self._logger = getLogger(self.name, self.version)
if six.PY3:
# In Python 3, the code fails because the 'manager' attribute
# cannot be found when using a LoggerAdapter as the
# underlying logger. Work around this issue.
self._logger.manager = self._logger.logger.manager
return self._logger
class ContextAdapter(BaseLoggerAdapter):
warn = logging.LoggerAdapter.warning
def __init__(self, logger, project_name, version_string):
self.logger = logger
self.project = project_name
self.version = version_string
self._deprecated_messages_sent = dict()
@property
def handlers(self):
return self.logger.handlers
def deprecated(self, msg, *args, **kwargs):
"""Call this method when a deprecated feature is used.
If the system is configured for fatal deprecations then the message
is logged at the 'critical' level and :class:`DeprecatedConfig` will
be raised.
Otherwise, the message will be logged (once) at the 'warn' level.
:raises: :class:`DeprecatedConfig` if the system is configured for
fatal deprecations.
"""
stdmsg = _("Deprecated: %s") % msg
if CONF.fatal_deprecations:
self.critical(stdmsg, *args, **kwargs)
raise DeprecatedConfig(msg=stdmsg)
# Using a list because a tuple with dict can't be stored in a set.
sent_args = self._deprecated_messages_sent.setdefault(msg, list())
if args in sent_args:
# Already logged this message, so don't log it again.
return
sent_args.append(args)
self.warn(stdmsg, *args, **kwargs)
def process(self, msg, kwargs):
# NOTE(jecarey): If msg is not unicode, coerce it into unicode
# before it can get to the python logging and
# possibly cause string encoding trouble
if not isinstance(msg, six.text_type):
msg = six.text_type(msg)
if 'extra' not in kwargs:
kwargs['extra'] = {}
extra = kwargs['extra']
context = kwargs.pop('context', None)
if not context:
context = getattr(local.store, 'context', None)
if context:
extra.update(_dictify_context(context))
instance = kwargs.pop('instance', None)
instance_uuid = (extra.get('instance_uuid') or
kwargs.pop('instance_uuid', None))
instance_extra = ''
if instance:
instance_extra = CONF.instance_format % instance
elif instance_uuid:
instance_extra = (CONF.instance_uuid_format
% {'uuid': instance_uuid})
extra['instance'] = instance_extra
extra.setdefault('user_identity', kwargs.pop('user_identity', None))
extra['project'] = self.project
extra['version'] = self.version
extra['extra'] = extra.copy()
return msg, kwargs
class JSONFormatter(logging.Formatter):
def __init__(self, fmt=None, datefmt=None):
# NOTE(jkoelker) we ignore the fmt argument, but its still there
# since logging.config.fileConfig passes it.
self.datefmt = datefmt
def formatException(self, ei, strip_newlines=True):
lines = traceback.format_exception(*ei)
if strip_newlines:
lines = [moves.filter(
lambda x: x,
line.rstrip().splitlines()) for line in lines]
lines = list(itertools.chain(*lines))
return lines
def format(self, record):
message = {'message': record.getMessage(),
'asctime': self.formatTime(record, self.datefmt),
'name': record.name,
'msg': record.msg,
'args': record.args,
'levelname': record.levelname,
'levelno': record.levelno,
'pathname': record.pathname,
'filename': record.filename,
'module': record.module,
'lineno': record.lineno,
'funcname': record.funcName,
'created': record.created,
'msecs': record.msecs,
'relative_created': record.relativeCreated,
'thread': record.thread,
'thread_name': record.threadName,
'process_name': record.processName,
'process': record.process,
'traceback': None}
if hasattr(record, 'extra'):
message['extra'] = record.extra
if record.exc_info:
message['traceback'] = self.formatException(record.exc_info)
return jsonutils.dumps(message)
def _create_logging_excepthook(product_name):
def logging_excepthook(exc_type, value, tb):
extra = {'exc_info': (exc_type, value, tb)}
getLogger(product_name).critical(
"".join(traceback.format_exception_only(exc_type, value)),
**extra)
return logging_excepthook
class LogConfigError(Exception):
message = _('Error loading logging config %(log_config)s: %(err_msg)s')
def __init__(self, log_config, err_msg):
self.log_config = log_config
self.err_msg = err_msg
def __str__(self):
return self.message % dict(log_config=self.log_config,
err_msg=self.err_msg)
def _load_log_config(log_config_append):
try:
logging.config.fileConfig(log_config_append,
disable_existing_loggers=False)
except (moves.configparser.Error, KeyError) as exc:
raise LogConfigError(log_config_append, six.text_type(exc))
def setup(product_name, version='unknown'):
"""Setup logging."""
if CONF.log_config_append:
_load_log_config(CONF.log_config_append)
else:
_setup_logging_from_conf(product_name, version)
sys.excepthook = _create_logging_excepthook(product_name)
def set_defaults(logging_context_format_string=None,
default_log_levels=None):
# Just in case the caller is not setting the
# default_log_level. This is insurance because
# we introduced the default_log_level parameter
# later in a backwards in-compatible change
if default_log_levels is not None:
cfg.set_defaults(
log_opts,
default_log_levels=default_log_levels)
if logging_context_format_string is not None:
cfg.set_defaults(
log_opts,
logging_context_format_string=logging_context_format_string)
def _find_facility_from_conf():
facility_names = logging.handlers.SysLogHandler.facility_names
facility = getattr(logging.handlers.SysLogHandler,
CONF.syslog_log_facility,
None)
if facility is None and CONF.syslog_log_facility in facility_names:
facility = facility_names.get(CONF.syslog_log_facility)
if facility is None:
valid_facilities = facility_names.keys()
consts = ['LOG_AUTH', 'LOG_AUTHPRIV', 'LOG_CRON', 'LOG_DAEMON',
'LOG_FTP', 'LOG_KERN', 'LOG_LPR', 'LOG_MAIL', 'LOG_NEWS',
'LOG_AUTH', 'LOG_SYSLOG', 'LOG_USER', 'LOG_UUCP',
'LOG_LOCAL0', 'LOG_LOCAL1', 'LOG_LOCAL2', 'LOG_LOCAL3',
'LOG_LOCAL4', 'LOG_LOCAL5', 'LOG_LOCAL6', 'LOG_LOCAL7']
valid_facilities.extend(consts)
raise TypeError(_('syslog facility must be one of: %s') %
', '.join("'%s'" % fac
for fac in valid_facilities))
return facility
class RFCSysLogHandler(logging.handlers.SysLogHandler):
def __init__(self, *args, **kwargs):
self.binary_name = _get_binary_name()
# Do not use super() unless type(logging.handlers.SysLogHandler)
# is 'type' (Python 2.7).
# Use old style calls, if the type is 'classobj' (Python 2.6)
logging.handlers.SysLogHandler.__init__(self, *args, **kwargs)
def format(self, record):
# Do not use super() unless type(logging.handlers.SysLogHandler)
# is 'type' (Python 2.7).
# Use old style calls, if the type is 'classobj' (Python 2.6)
msg = logging.handlers.SysLogHandler.format(self, record)
msg = self.binary_name + ' ' + msg
return msg
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:
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(address='/dev/log',
facility=facility)
else:
syslog = logging.handlers.SysLogHandler(address='/dev/log',
facility=facility)
log_root.addHandler(syslog)
except socket.error:
log_root.error('Unable to add syslog handler. Verify that syslog '
'is running.')
_loggers = {}
def getLogger(name='unknown', version='unknown'):
if name not in _loggers:
_loggers[name] = ContextAdapter(logging.getLogger(name),
name,
version)
return _loggers[name]
def getLazyLogger(name='unknown', version='unknown'):
"""Returns lazy logger.
Creates a pass-through logger that does not create the real logger
until it is really needed and delegates all calls to the real logger
once it is created.
"""
return LazyAdapter(name, version)
class WritableLogger(object):
"""A thin wrapper that responds to `write` and logs."""
def __init__(self, logger, level=logging.INFO):
self.logger = logger
self.level = level
def write(self, msg):
self.logger.log(self.level, msg.rstrip())
class ContextFormatter(logging.Formatter):
"""A context.RequestContext aware formatter configured through flags.
The flags used to set format strings are: logging_context_format_string
and logging_default_format_string. You can also specify
logging_debug_format_suffix to append extra formatting if the log level is
debug.
For information about what variables are available for the formatter see:
http://docs.python.org/library/logging.html#formatter
If available, uses the context value stored in TLS - local.store.context
"""
def __init__(self, *args, **kwargs):
"""Initialize ContextFormatter instance
Takes additional keyword arguments which can be used in the message
format string.
:keyword project: project name
:type project: string
:keyword version: project version
:type version: string
"""
self.project = kwargs.pop('project', 'unknown')
self.version = kwargs.pop('version', 'unknown')
logging.Formatter.__init__(self, *args, **kwargs)
def format(self, record):
"""Uses contextstring if request_id is set, otherwise default."""
# NOTE(jecarey): If msg is not unicode, coerce it into unicode
# before it can get to the python logging and
# possibly cause string encoding trouble
if not isinstance(record.msg, six.text_type):
record.msg = six.text_type(record.msg)
# store project info
record.project = self.project
record.version = self.version
# store request info
context = getattr(local.store, 'context', None)
if context:
d = _dictify_context(context)
for k, v in d.items():
setattr(record, k, v)
# NOTE(sdague): default the fancier formatting params
# to an empty string so we don't throw an exception if
# they get used
for key in ('instance', 'color', 'user_identity'):
if key not in record.__dict__:
record.__dict__[key] = ''
if record.__dict__.get('request_id'):
fmt = CONF.logging_context_format_string
else:
fmt = CONF.logging_default_format_string
if (record.levelno == logging.DEBUG and
CONF.logging_debug_format_suffix):
fmt += " " + CONF.logging_debug_format_suffix
if sys.version_info < (3, 2):
self._fmt = fmt
else:
self._style = logging.PercentStyle(fmt)
self._fmt = self._style._fmt
# Cache this on the record, Logger will respect our formatted copy
if record.exc_info:
record.exc_text = self.formatException(record.exc_info, record)
return logging.Formatter.format(self, record)
def formatException(self, exc_info, record=None):
"""Format exception output with CONF.logging_exception_prefix."""
if not record:
return logging.Formatter.formatException(self, exc_info)
stringbuffer = moves.StringIO()
traceback.print_exception(exc_info[0], exc_info[1], exc_info[2],
None, stringbuffer)
lines = stringbuffer.getvalue().split('\n')
stringbuffer.close()
if CONF.logging_exception_prefix.find('%(asctime)') != -1:
record.asctime = self.formatTime(record, self.datefmt)
formatted_lines = []
for line in lines:
pl = CONF.logging_exception_prefix % record.__dict__
fl = '%s%s' % (pl, line)
formatted_lines.append(fl)
return '\n'.join(formatted_lines)
class ColorHandler(logging.StreamHandler):
LEVEL_COLORS = {
logging.DEBUG: '\033[00;32m', # GREEN
logging.INFO: '\033[00;36m', # CYAN
logging.AUDIT: '\033[01;36m', # BOLD CYAN
logging.WARN: '\033[01;33m', # BOLD YELLOW
logging.ERROR: '\033[01;31m', # BOLD RED
logging.CRITICAL: '\033[01;31m', # BOLD RED
}
def format(self, record):
record.color = self.LEVEL_COLORS[record.levelno]
return logging.StreamHandler.format(self, record)
class DeprecatedConfig(Exception):
message = _("Fatal call to deprecated config: %(msg)s")
def __init__(self, msg):
super(Exception, self).__init__(self.message % dict(msg=msg))

View File

@ -51,7 +51,6 @@ import ceilometer.nova_client
import ceilometer.objectstore.rgw
import ceilometer.objectstore.swift
import ceilometer.openstack.common.eventlet_backdoor
import ceilometer.openstack.common.log
import ceilometer.orchestration.notifications
import ceilometer.pipeline
import ceilometer.profiler.notifications
@ -86,10 +85,6 @@ def list_opts():
ceilometer.objectstore.swift.OPTS,
(ceilometer.openstack.common.eventlet_backdoor
.eventlet_backdoor_opts),
ceilometer.openstack.common.log.common_cli_opts,
ceilometer.openstack.common.log.generic_log_opts,
ceilometer.openstack.common.log.logging_cli_opts,
ceilometer.openstack.common.log.log_opts,
ceilometer.orchestration.notifications.OPTS,
ceilometer.pipeline.OPTS,
ceilometer.profiler.notifications.OPTS,

View File

@ -22,13 +22,13 @@ import fnmatch
import os
from oslo_config import cfg
from oslo_log import log
from oslo_utils import timeutils
import six
import yaml
from ceilometer.event.storage import models
from ceilometer.i18n import _
from ceilometer.openstack.common import log
from ceilometer import publisher
from ceilometer.publisher import utils as publisher_utils
from ceilometer import sample as sample_util

View File

@ -16,11 +16,11 @@
import logging
import logging.handlers
from oslo_log import log
from six.moves.urllib import parse as urlparse
import ceilometer
from ceilometer.i18n import _
from ceilometer.openstack.common import log
from ceilometer import publisher
LOG = log.getLogger(__name__)

View File

@ -17,13 +17,13 @@ import json
import kafka
from oslo_config import cfg
from oslo_log import log
from oslo_utils import netutils
from six.moves.urllib import parse as urlparse
from ceilometer.i18n import _LE
from ceilometer.i18n import _LI
from ceilometer.i18n import _LW
from ceilometer.openstack.common import log
from ceilometer import publisher
from ceilometer.publisher import utils

View File

@ -20,13 +20,13 @@ import itertools
import operator
from oslo_config import cfg
from oslo_log import log
import oslo_messaging
import six
import six.moves.urllib.parse as urlparse
from ceilometer.i18n import _
from ceilometer import messaging
from ceilometer.openstack.common import log
from ceilometer import publisher
from ceilometer.publisher import utils

View File

@ -19,11 +19,11 @@ import socket
import msgpack
from oslo_config import cfg
from oslo_log import log
from oslo_utils import netutils
import ceilometer
from ceilometer.i18n import _
from ceilometer.openstack.common import log
from ceilometer import publisher
from ceilometer.publisher import utils

View File

@ -20,10 +20,10 @@ import sys
from oslo_config import cfg
import oslo_i18n
from oslo_log import log
from ceilometer.i18n import _
from ceilometer import messaging
from ceilometer.openstack.common import log
from ceilometer import utils
@ -109,12 +109,12 @@ def get_workers(name):
def prepare_service(argv=None):
oslo_i18n.enable_lazy()
log.register_options(cfg.CONF)
log_levels = (cfg.CONF.default_log_levels +
['stevedore=INFO', 'keystoneclient=INFO'])
cfg.set_defaults(log.log_opts,
default_log_levels=log_levels)
log.set_defaults(default_log_levels=log_levels)
if argv is None:
argv = sys.argv
cfg.CONF(argv[1:], project='ceilometer', validate_default_values=True)
log.setup('ceilometer')
log.setup(cfg.CONF, 'ceilometer')
messaging.setup()

View File

@ -17,12 +17,12 @@
from oslo_config import cfg
from oslo_db import options as db_options
from oslo_log import log
import retrying
import six
import six.moves.urllib.parse as urlparse
from stevedore import driver
from ceilometer.openstack.common import log
from ceilometer import utils

View File

@ -14,11 +14,11 @@
import os
import happybase
from oslo_log import log
from oslo_utils import netutils
from six.moves.urllib import parse as urlparse
from ceilometer.i18n import _
from ceilometer.openstack.common import log
from ceilometer.storage.hbase import inmemory as hbase_inmemory
LOG = log.getLogger(__name__)

View File

@ -17,11 +17,11 @@
import copy
import re
from oslo_log import log
import six
import ceilometer
from ceilometer.i18n import _
from ceilometer.openstack.common import log
LOG = log.getLogger(__name__)

View File

@ -18,10 +18,10 @@ import json
import bson.json_util
from happybase.hbase import ttypes
from oslo_log import log
import six
from ceilometer.i18n import _
from ceilometer.openstack.common import log
from ceilometer import utils
LOG = log.getLogger(__name__)

View File

@ -25,12 +25,12 @@ import sys
import bson.code
import bson.objectid
from oslo_config import cfg
from oslo_log import log
from oslo_utils import timeutils
import pymongo
import six
import ceilometer
from ceilometer.openstack.common import log
from ceilometer import storage
from ceilometer.storage import base
from ceilometer.storage import models

View File

@ -15,11 +15,11 @@ import datetime
import operator
import time
from oslo_log import log
from oslo_utils import timeutils
import ceilometer
from ceilometer.i18n import _
from ceilometer.openstack.common import log
from ceilometer.storage import base
from ceilometer.storage.hbase import base as hbase_base
from ceilometer.storage.hbase import migration as hbase_migration

View File

@ -15,8 +15,9 @@
"""Simple logging storage backend.
"""
from oslo_log import log
from ceilometer.i18n import _
from ceilometer.openstack.common import log
from ceilometer.storage import base
LOG = log.getLogger(__name__)

View File

@ -30,13 +30,13 @@ import uuid
import bson.code
import bson.objectid
from oslo_config import cfg
from oslo_log import log
from oslo_utils import timeutils
import pymongo
import six
import ceilometer
from ceilometer.i18n import _
from ceilometer.openstack.common import log
from ceilometer import storage
from ceilometer.storage import base
from ceilometer.storage import models

View File

@ -22,6 +22,7 @@ from oslo_config import cfg
from oslo_db import api
from oslo_db import exception as dbexc
from oslo_db.sqlalchemy import session as db_session
from oslo_log import log
from oslo_serialization import jsonutils
from oslo_utils import timeutils
import six
@ -33,7 +34,6 @@ from sqlalchemy.orm import aliased
import ceilometer
from ceilometer.i18n import _
from ceilometer.openstack.common import log
from ceilometer import storage
from ceilometer.storage import base
from ceilometer.storage import models as api_models

View File

@ -22,13 +22,13 @@ import time
import weakref
from oslo_config import cfg
from oslo_log import log
from oslo_utils import netutils
import pymongo
import six
from six.moves.urllib import parse
from ceilometer.i18n import _
from ceilometer.openstack.common import log
LOG = log.getLogger(__name__)

View File

@ -17,10 +17,10 @@ import datetime
import mock
from oslo_config import cfg
from oslo_log import log
from oslotest import base
from ceilometer.data_processing import notifications
from ceilometer.openstack.common import log
from ceilometer import sample
NOW = datetime.datetime.isoformat(datetime.datetime.utcnow())
@ -37,6 +37,7 @@ PUBLISHER_ID = u'data_processing.node-n5x66lxdy67d'
CONF = cfg.CONF
log.register_options(CONF)
CONF.set_override('use_stderr', True)
LOG = log.getLogger(__name__)

View File

@ -313,7 +313,7 @@ class TestSwiftMiddleware(tests_base.BaseTestCase):
self.assertEqual(["test"], resp)
mocked_publish_sample.assert_called_once_with(mock.ANY, 0, 4)
def test_reseller_prefix(self):
def test_no_reseller_prefix(self):
# No reseller prefix set: ensure middleware uses AUTH_
app = swift_middleware.CeilometerMiddleware(FakeApp(), {})
req = FakeRequest('/1.0/AUTH_account/container/obj',
@ -322,6 +322,7 @@ class TestSwiftMiddleware(tests_base.BaseTestCase):
samples = self.pipeline_manager.pipelines[0].samples[0]
self.assertEqual("account", samples.resource_id)
def test_custom_reseller_prefix(self):
# Custom reseller prefix set
app = swift_middleware.CeilometerMiddleware(
FakeApp(), {'reseller_prefix': 'CUSTOM_'})

View File

@ -14,9 +14,9 @@ import datetime
import mock
from oslo_config import cfg
from oslo_log import log
from oslotest import base
from ceilometer.openstack.common import log
from ceilometer.orchestration import notifications
from ceilometer import sample
@ -35,6 +35,7 @@ STACK_ARN = u'arn:openstack:heat::%s:stacks/%s/%s' % (TENANT_ID,
CONF = cfg.CONF
log.register_options(CONF)
CONF.set_override('use_stderr', True)
LOG = log.getLogger(__name__)

View File

@ -18,10 +18,10 @@ import keyword
import math
import re
from oslo_log import log
import six
from ceilometer.i18n import _
from ceilometer.openstack.common import log
from ceilometer import sample
from ceilometer import transformer

View File

@ -16,11 +16,11 @@
import collections
import re
from oslo_log import log
from oslo_utils import timeutils
import six
from ceilometer.i18n import _
from ceilometer.openstack.common import log
from ceilometer import sample
from ceilometer import transformer

View File

@ -1,7 +1,6 @@
[DEFAULT]
# The list of modules to copy from oslo-incubator
module=log
module=service
module=versionutils

View File

@ -18,6 +18,7 @@ oslo.db>=1.7.0 # Apache-2.0
oslo.concurrency>=1.8.0 # Apache-2.0
oslo.config>=1.9.3 # Apache-2.0
oslo.i18n>=1.5.0 # Apache-2.0
oslo.log>=1.0.0 # Apache-2.0
oslo.policy>=0.3.1 # Apache-2.0
oslo.rootwrap>=1.6.0 # Apache-2.0
PasteDeploy>=1.5.0

View File

@ -104,6 +104,7 @@ commands =
--namespace ceilometer \
--namespace oslo.concurrency \
--namespace oslo.db \
--namespace oslo.log \
--namespace oslo.messaging \
--namespace oslo.policy \
--namespace keystonemiddleware.auth_token