diff options
143 files changed, 228 insertions, 868 deletions
diff --git a/openstack-common.conf b/openstack-common.conf index e8cb8189..b3165317 100644 --- a/openstack-common.conf +++ b/openstack-common.conf @@ -2,7 +2,6 @@ # The list of modules to copy from oslo-incubator module=local -module=log module=notifier module=pastedeploy module=rpc diff --git a/requirements.txt b/requirements.txt index 47fcd9e4..8374295a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -41,3 +41,4 @@ six>=1.9.0 stevedore>=1.5.0 # Apache-2.0 oslo.messaging>=1.16.0 # Apache-2.0 osprofiler>=0.3.0 # Apache-2.0 +oslo.log>=1.6.0 # Apache-2.0 diff --git a/run_tests.py b/run_tests.py index 7b89a8e1..a5cb80d0 100644 --- a/run_tests.py +++ b/run_tests.py @@ -24,6 +24,7 @@ import traceback import urllib import eventlet +from oslo_log import log as logging import proboscis import wsgi_intercept from wsgi_intercept.httplib2_intercept import install as wsgi_install @@ -32,7 +33,6 @@ from trove.common import cfg from trove.common.rpc import service as rpc_service from trove.common.rpc import version as rpc_version from trove.common import utils -from trove.openstack.common import log as logging from trove import rpc from trove.tests.config import CONFIG @@ -64,7 +64,7 @@ def initialize_trove(config_file): cfg.CONF(args=[], project='trove', default_config_files=[config_file]) - logging.setup(None) + logging.setup(CONF, None) topic = CONF.taskmanager_queue rpc.init(CONF) diff --git a/trove/backup/models.py b/trove/backup/models.py index d2d0b151..3a248bfb 100644 --- a/trove/backup/models.py +++ b/trove/backup/models.py @@ -14,6 +14,7 @@ """Model classes that form the core of snapshots functionality.""" +from oslo_log import log as logging from sqlalchemy import desc from swiftclient.client import ClientException @@ -25,7 +26,6 @@ from trove.common.remote import create_swift_client from trove.common import utils from trove.datastore import models as datastore_models from trove.db.models import DatabaseModelBase -from trove.openstack.common import log as logging from trove.quota.quota import run_with_quotas from trove.taskmanager import api diff --git a/trove/backup/service.py b/trove/backup/service.py index 0116ec38..cdba5d80 100644 --- a/trove/backup/service.py +++ b/trove/backup/service.py @@ -13,6 +13,8 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging + from trove.backup.models import Backup from trove.backup import views from trove.common import apischema @@ -20,7 +22,6 @@ from trove.common import cfg from trove.common.i18n import _ from trove.common import pagination from trove.common import wsgi -from trove.openstack.common import log as logging CONF = cfg.CONF LOG = logging.getLogger(__name__) diff --git a/trove/cluster/models.py b/trove/cluster/models.py index 0c4cabe3..bcf411a2 100644 --- a/trove/cluster/models.py +++ b/trove/cluster/models.py @@ -13,6 +13,8 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging + from trove.cluster.tasks import ClusterTask from trove.cluster.tasks import ClusterTasks from trove.common import cfg @@ -22,7 +24,6 @@ from trove.common.strategies.cluster import strategy from trove.datastore import models as datastore_models from trove.db import models as dbmodels from trove.instance import models as inst_models -from trove.openstack.common import log as logging from trove.taskmanager import api as task_api diff --git a/trove/cluster/service.py b/trove/cluster/service.py index c9c5b6d0..8b43b32b 100644 --- a/trove/cluster/service.py +++ b/trove/cluster/service.py @@ -14,6 +14,7 @@ # under the License. from oslo_config.cfg import NoSuchOptError +from oslo_log import log as logging from trove.cluster import models from trove.cluster import views @@ -26,7 +27,6 @@ from trove.common.strategies.cluster import strategy from trove.common import utils from trove.common import wsgi from trove.datastore import models as datastore_models -from trove.openstack.common import log as logging CONF = cfg.CONF diff --git a/trove/cluster/views.py b/trove/cluster/views.py index 92230570..5eff6b0f 100644 --- a/trove/cluster/views.py +++ b/trove/cluster/views.py @@ -13,11 +13,12 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging + from trove.common import cfg from trove.common.strategies.cluster import strategy from trove.common.views import create_links from trove.instance.views import InstanceDetailView -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) CONF = cfg.CONF diff --git a/trove/cmd/common.py b/trove/cmd/common.py index 862880bd..f0453b45 100644 --- a/trove/cmd/common.py +++ b/trove/cmd/common.py @@ -28,9 +28,11 @@ def initialize(extra_opts=None, pre_logging=None): # Import only the modules necessary to initialize logging and determine if # debug_utils are enabled. import sys + + from oslo_log import log as logging + from trove.common import cfg from trove.common import debug_utils - from trove.openstack.common import log as logging conf = cfg.CONF if extra_opts: @@ -40,7 +42,7 @@ def initialize(extra_opts=None, pre_logging=None): if pre_logging: pre_logging(conf) - logging.setup(None) + logging.setup(conf, None) debug_utils.setup() # Patch 'thread' module if debug is disabled. diff --git a/trove/cmd/guest.py b/trove/cmd/guest.py index b401daf6..9a79910c 100755 --- a/trove/cmd/guest.py +++ b/trove/cmd/guest.py @@ -25,11 +25,11 @@ gettext.install('trove', unicode=1) import sys from oslo_config import cfg as openstack_cfg +from oslo_log import log as logging from oslo_service import service as openstack_service from trove.common import cfg from trove.common import debug_utils -from trove.openstack.common import log as logging CONF = cfg.CONF # The guest_id opt definition must match the one in common/cfg.py @@ -39,7 +39,7 @@ CONF.register_opts([openstack_cfg.StrOpt('guest_id', default=None, def main(): cfg.parse_args(sys.argv) - logging.setup(None) + logging.setup(CONF, None) debug_utils.setup() diff --git a/trove/cmd/manage.py b/trove/cmd/manage.py index 0355388e..87a34797 100755 --- a/trove/cmd/manage.py +++ b/trove/cmd/manage.py @@ -21,6 +21,8 @@ import sys gettext.install('trove', unicode=1) +from oslo_log import log as logging + from trove.common import cfg from trove.common import exception from trove.common.i18n import _ @@ -28,7 +30,6 @@ from trove.common import utils from trove.configuration import models as config_models from trove.datastore import models as datastore_models from trove.db import get_db_api -from trove.openstack.common import log as logging CONF = cfg.CONF @@ -173,7 +174,7 @@ def main(): cfg.parse_args(sys.argv) try: - logging.setup(None) + logging.setup(CONF, None) Commands().execute() sys.exit(0) diff --git a/trove/common/auth.py b/trove/common/auth.py index ffa345b6..2bec77b9 100644 --- a/trove/common/auth.py +++ b/trove/common/auth.py @@ -15,13 +15,13 @@ import re +from oslo_log import log as logging from oslo_utils import strutils import webob.exc import wsgi from trove.common import exception from trove.common.i18n import _ -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/common/base_wsgi.py b/trove/common/base_wsgi.py index b5852e66..bbcf849a 100644 --- a/trove/common/base_wsgi.py +++ b/trove/common/base_wsgi.py @@ -22,12 +22,14 @@ eventlet.patcher.monkey_patch(all=False, socket=True) import datetime import errno +import logging as system_logging import socket import sys import time import eventlet.wsgi from oslo_config import cfg +from oslo_log import log as logging from oslo_serialization import jsonutils from oslo_service import service from oslo_service import sslutils @@ -41,7 +43,6 @@ from xml.parsers import expat from trove.common import xmlutils from trove.openstack.common import exception from trove.openstack.common.gettextutils import _ -from trove.openstack.common import log as logging socket_opts = [ cfg.IntOpt('backlog', @@ -65,6 +66,17 @@ def run_server(application, port, **kwargs): eventlet.wsgi.server(sock, application, **kwargs) +class WritableLogger(object): + """A thin wrapper that responds to `write` and logs.""" + + def __init__(self, logger, level=system_logging.INFO): + self.logger = logger + self.level = level + + def write(self, msg): + self.logger.log(self.level, msg.rstrip()) + + class Service(service.Service): """ Provides a Service API for wsgi servers. @@ -158,7 +170,7 @@ class Service(service.Service): eventlet.wsgi.server(socket, application, custom_pool=self.tg.pool, - log=logging.WritableLogger(logger)) + log=WritableLogger(logger)) class Middleware(object): diff --git a/trove/common/cfg.py b/trove/common/cfg.py index 67a12d18..ed9fe9b6 100644 --- a/trove/common/cfg.py +++ b/trove/common/cfg.py @@ -18,6 +18,8 @@ import os.path from oslo_config import cfg +from oslo_log import log as logging + import trove @@ -977,6 +979,8 @@ CONF.register_opts(db2_opts, db2_group) CONF.register_opts(rpcapi_cap_opts, upgrade_levels) +logging.register_options(CONF) + def custom_parser(parsername, parser): CONF.register_cli_opt(cfg.SubCommandOpt(parsername, handler=parser)) diff --git a/trove/common/debug_utils.py b/trove/common/debug_utils.py index 044ce15c..cabd4ddf 100644 --- a/trove/common/debug_utils.py +++ b/trove/common/debug_utils.py @@ -19,11 +19,10 @@ import sys from oslo_config import cfg +from oslo_log import log as logging -from trove.openstack.common import log - -LOG = log.getLogger(__name__) +LOG = logging.getLogger(__name__) CONF = cfg.CONF __debug_state = None diff --git a/trove/common/exception.py b/trove/common/exception.py index ff1b5379..133fa08b 100644 --- a/trove/common/exception.py +++ b/trove/common/exception.py @@ -18,10 +18,10 @@ import re from oslo_concurrency import processutils +from oslo_log import log as logging from trove.common import base_exception as openstack_exception from trove.common.i18n import _ -from trove.openstack.common import log as logging ClientConnectionError = openstack_exception.ClientConnectionError diff --git a/trove/common/extensions.py b/trove/common/extensions.py index 0c53c0a9..bda93fee 100644 --- a/trove/common/extensions.py +++ b/trove/common/extensions.py @@ -16,6 +16,7 @@ import abc from lxml import etree +from oslo_log import log as logging import routes import six import stevedore @@ -27,7 +28,6 @@ from trove.common import base_wsgi from trove.common import cfg from trove.common.i18n import _ from trove.common import wsgi -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) CONF = cfg.CONF diff --git a/trove/common/profile.py b/trove/common/profile.py index 7c89e9ce..975340a6 100644 --- a/trove/common/profile.py +++ b/trove/common/profile.py @@ -14,13 +14,13 @@ # under the License. from oslo_context import context +from oslo_log import log as logging import oslo_messaging as messaging from osprofiler import notifier from osprofiler import web from trove.common import cfg from trove.common import i18n -from trove.openstack.common import log as logging from trove import rpc diff --git a/trove/common/rpc/service.py b/trove/common/rpc/service.py index fbf9809b..08559813 100644 --- a/trove/common/rpc/service.py +++ b/trove/common/rpc/service.py @@ -19,6 +19,7 @@ import inspect import os +from oslo_log import log as logging import oslo_messaging as messaging from oslo_service import loopingcall from oslo_service import service @@ -28,7 +29,6 @@ from osprofiler import profiler from trove.common import cfg from trove.common import profile from trove.openstack.common.gettextutils import _ -from trove.openstack.common import log as logging from trove import rpc diff --git a/trove/common/strategies/cluster/experimental/mongodb/api.py b/trove/common/strategies/cluster/experimental/mongodb/api.py index 0b1a3323..a960055c 100644 --- a/trove/common/strategies/cluster/experimental/mongodb/api.py +++ b/trove/common/strategies/cluster/experimental/mongodb/api.py @@ -14,6 +14,7 @@ # under the License. from novaclient import exceptions as nova_exceptions +from oslo_log import log as logging from trove.cluster import models from trove.cluster.tasks import ClusterTasks @@ -28,7 +29,6 @@ from trove.common import wsgi from trove.datastore import models as datastore_models from trove.extensions.mgmt.clusters.views import MgmtClusterView from trove.instance import models as inst_models -from trove.openstack.common import log as logging from trove.quota.quota import check_quotas from trove.taskmanager import api as task_api diff --git a/trove/common/strategies/cluster/experimental/mongodb/guestagent.py b/trove/common/strategies/cluster/experimental/mongodb/guestagent.py index 058c260c..40b9d1f9 100644 --- a/trove/common/strategies/cluster/experimental/mongodb/guestagent.py +++ b/trove/common/strategies/cluster/experimental/mongodb/guestagent.py @@ -13,10 +13,11 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging + from trove.common import cfg from trove.common.strategies.cluster import base from trove.guestagent import api as guest_api -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/common/strategies/cluster/experimental/mongodb/taskmanager.py b/trove/common/strategies/cluster/experimental/mongodb/taskmanager.py index f625ab11..0d4181f9 100644 --- a/trove/common/strategies/cluster/experimental/mongodb/taskmanager.py +++ b/trove/common/strategies/cluster/experimental/mongodb/taskmanager.py @@ -14,6 +14,7 @@ # under the License. from eventlet.timeout import Timeout +from oslo_log import log as logging from trove.common import cfg from trove.common.i18n import _ @@ -21,7 +22,6 @@ from trove.common.strategies.cluster import base from trove.common import utils from trove.instance.models import DBInstance from trove.instance.models import Instance -from trove.openstack.common import log as logging from trove.taskmanager import api as task_api import trove.taskmanager.models as task_models diff --git a/trove/common/strategies/cluster/experimental/vertica/api.py b/trove/common/strategies/cluster/experimental/vertica/api.py index d5eadf3b..66522d99 100644 --- a/trove/common/strategies/cluster/experimental/vertica/api.py +++ b/trove/common/strategies/cluster/experimental/vertica/api.py @@ -12,6 +12,7 @@ # limitations under the License. from novaclient import exceptions as nova_exceptions +from oslo_log import log as logging from trove.cluster import models from trove.cluster.tasks import ClusterTasks @@ -22,7 +23,6 @@ from trove.common import remote from trove.common.strategies.cluster import base from trove.extensions.mgmt.clusters.views import MgmtClusterView from trove.instance import models as inst_models -from trove.openstack.common import log as logging from trove.quota.quota import check_quotas from trove.taskmanager import api as task_api diff --git a/trove/common/strategies/cluster/experimental/vertica/guestagent.py b/trove/common/strategies/cluster/experimental/vertica/guestagent.py index f5047b5f..a0d4770f 100644 --- a/trove/common/strategies/cluster/experimental/vertica/guestagent.py +++ b/trove/common/strategies/cluster/experimental/vertica/guestagent.py @@ -11,10 +11,11 @@ # See the License for the specific language governing permissions and # limitations under the License. +from oslo_log import log as logging + from trove.common import cfg from trove.common.strategies.cluster import base from trove.guestagent import api as guest_api -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/common/strategies/cluster/experimental/vertica/taskmanager.py b/trove/common/strategies/cluster/experimental/vertica/taskmanager.py index e1db2cb4..526ddcb6 100644 --- a/trove/common/strategies/cluster/experimental/vertica/taskmanager.py +++ b/trove/common/strategies/cluster/experimental/vertica/taskmanager.py @@ -12,13 +12,13 @@ # limitations under the License. from eventlet.timeout import Timeout +from oslo_log import log as logging from trove.common import cfg from trove.common.i18n import _ from trove.common.strategies.cluster import base from trove.instance.models import DBInstance from trove.instance.models import Instance -from trove.openstack.common import log as logging from trove.taskmanager import api as task_api import trove.taskmanager.models as task_models diff --git a/trove/common/strategies/cluster/strategy.py b/trove/common/strategies/cluster/strategy.py index 0991591f..10805d59 100644 --- a/trove/common/strategies/cluster/strategy.py +++ b/trove/common/strategies/cluster/strategy.py @@ -14,10 +14,10 @@ # under the License. from oslo_config.cfg import NoSuchOptError +from oslo_log import log as logging from trove.common import cfg from trove.common.utils import import_class -from trove.openstack.common import log as logging CONF = cfg.CONF diff --git a/trove/common/template.py b/trove/common/template.py index 838d8ba1..0a0ce868 100644 --- a/trove/common/template.py +++ b/trove/common/template.py @@ -16,13 +16,13 @@ import jinja2 from oslo_config import cfg as oslo_config +from oslo_log import log as logging from trove.common import cfg from trove.common import configurations from trove.common import exception from trove.common.i18n import _ from trove.common import utils -from trove.openstack.common import log as logging CONF = cfg.CONF LOG = logging.getLogger(__name__) diff --git a/trove/common/utils.py b/trove/common/utils.py index 285f4447..0c9f9aec 100644 --- a/trove/common/utils.py +++ b/trove/common/utils.py @@ -26,6 +26,7 @@ import uuid from eventlet.timeout import Timeout import jinja2 from oslo_concurrency import processutils +from oslo_log import log as logging from oslo_service import loopingcall from oslo_utils import importutils from oslo_utils import strutils @@ -36,7 +37,6 @@ import six.moves.urllib.parse as urlparse from trove.common import cfg from trove.common import exception from trove.common.i18n import _ -from trove.openstack.common import log as logging CONF = cfg.CONF @@ -48,7 +48,6 @@ bool_from_string = strutils.bool_from_string execute = processutils.execute isotime = timeutils.isotime -CONF = cfg.CONF ENV = jinja2.Environment(loader=jinja2.ChoiceLoader([ jinja2.FileSystemLoader(CONF.template_path), jinja2.PackageLoader("trove", "templates") diff --git a/trove/common/wsgi.py b/trove/common/wsgi.py index c97ff082..c924fc97 100644 --- a/trove/common/wsgi.py +++ b/trove/common/wsgi.py @@ -22,6 +22,7 @@ import uuid import eventlet.wsgi import jsonschema +from oslo_log import log as logging from oslo_serialization import jsonutils from oslo_service import service import paste.urlmap @@ -35,7 +36,6 @@ from trove.common import context as rd_context from trove.common import exception from trove.common.i18n import _ from trove.common import utils -from trove.openstack.common import log as logging from trove.openstack.common import pastedeploy CONTEXT_KEY = 'trove.context' diff --git a/trove/conductor/api.py b/trove/conductor/api.py index d89691c7..c8db2667 100644 --- a/trove/conductor/api.py +++ b/trove/conductor/api.py @@ -12,11 +12,11 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging import oslo_messaging as messaging from trove.common import cfg from trove.common.rpc import version as rpc_version -from trove.openstack.common import log as logging from trove import rpc diff --git a/trove/conductor/manager.py b/trove/conductor/manager.py index 01e5367b..2d069dc4 100644 --- a/trove/conductor/manager.py +++ b/trove/conductor/manager.py @@ -12,6 +12,7 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging import oslo_messaging as messaging from oslo_service import periodic_task @@ -24,7 +25,6 @@ from trove.common.rpc import version as rpc_version from trove.conductor.models import LastSeen from trove.extensions.mysql import models as mysql_models from trove.instance import models as t_models -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) CONF = cfg.CONF diff --git a/trove/conductor/models.py b/trove/conductor/models.py index c7df8c2b..3dcfd2f1 100644 --- a/trove/conductor/models.py +++ b/trove/conductor/models.py @@ -12,8 +12,9 @@ # See the License for the specific language governing permissions and # limitations under the License. +from oslo_log import log as logging + from trove.db import get_db_api -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/configuration/models.py b/trove/configuration/models.py index 30a95bb7..57a31986 100644 --- a/trove/configuration/models.py +++ b/trove/configuration/models.py @@ -16,6 +16,8 @@ from datetime import datetime import json +from oslo_log import log as logging + from trove.common import cfg from trove.common import exception from trove.common.exception import ModelNotFoundError @@ -24,7 +26,6 @@ from trove.common import utils from trove.datastore import models as dstore_models from trove.db import get_db_api from trove.db import models as dbmodels -from trove.openstack.common import log as logging from trove.taskmanager import api as task_api diff --git a/trove/configuration/service.py b/trove/configuration/service.py index 0b904a55..6c80c6b5 100644 --- a/trove/configuration/service.py +++ b/trove/configuration/service.py @@ -15,6 +15,8 @@ from datetime import datetime +from oslo_log import log as logging + import trove.common.apischema as apischema from trove.common import cfg from trove.common import exception @@ -26,7 +28,6 @@ from trove.configuration.models import DBConfigurationParameter from trove.configuration import views from trove.datastore import models as ds_models from trove.instance import models as instances_models -from trove.openstack.common import log as logging CONF = cfg.CONF diff --git a/trove/configuration/views.py b/trove/configuration/views.py index c2995ee7..6bbf9231 100644 --- a/trove/configuration/views.py +++ b/trove/configuration/views.py @@ -13,7 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. -from trove.openstack.common import log as logging +from oslo_log import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/datastore/models.py b/trove/datastore/models.py index 1d06b96a..81d8ee10 100644 --- a/trove/datastore/models.py +++ b/trove/datastore/models.py @@ -16,12 +16,13 @@ # under the License. # +from oslo_log import log as logging + from trove.common import cfg from trove.common import exception from trove.common import utils from trove.db import get_db_api from trove.db import models as dbmodels -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/db/models.py b/trove/db/models.py index b419c1d3..5a94fc15 100644 --- a/trove/db/models.py +++ b/trove/db/models.py @@ -12,6 +12,8 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging + from trove.common import exception from trove.common.i18n import _ from trove.common import models @@ -19,7 +21,6 @@ from trove.common import pagination from trove.common import utils from trove.db import db_query from trove.db import get_db_api -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/db/sqlalchemy/migrate_repo/schema.py b/trove/db/sqlalchemy/migrate_repo/schema.py index 48d4a30b..cc7b3cee 100644 --- a/trove/db/sqlalchemy/migrate_repo/schema.py +++ b/trove/db/sqlalchemy/migrate_repo/schema.py @@ -15,10 +15,9 @@ """Various conveniences used for migration scripts.""" +from oslo_log import log as logging import sqlalchemy.types -from trove.openstack.common import log as logging - logger = logging.getLogger('trove.db.sqlalchemy.migrate_repo.schema') diff --git a/trove/db/sqlalchemy/migrate_repo/versions/020_configurations.py b/trove/db/sqlalchemy/migrate_repo/versions/020_configurations.py index 4a433c48..e5c91cce 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/020_configurations.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/020_configurations.py @@ -13,6 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging from sqlalchemy import ForeignKey from sqlalchemy.schema import Column from sqlalchemy.schema import MetaData @@ -24,7 +25,6 @@ from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table from trove.db.sqlalchemy import utils as db_utils -from trove.openstack.common import log as logging logger = logging.getLogger('trove.db.sqlalchemy.migrate_repo.schema') diff --git a/trove/db/sqlalchemy/migrate_repo/versions/023_add_instance_indexes.py b/trove/db/sqlalchemy/migrate_repo/versions/023_add_instance_indexes.py index b3547131..d1195e01 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/023_add_instance_indexes.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/023_add_instance_indexes.py @@ -12,12 +12,12 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging from sqlalchemy.exc import OperationalError from sqlalchemy.schema import Index from sqlalchemy.schema import MetaData from trove.db.sqlalchemy.migrate_repo.schema import Table -from trove.openstack.common import log as logging logger = logging.getLogger('trove.db.sqlalchemy.migrate_repo.schema') diff --git a/trove/db/sqlalchemy/migrate_repo/versions/024_add_backup_indexes.py b/trove/db/sqlalchemy/migrate_repo/versions/024_add_backup_indexes.py index 75df8383..22be0a79 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/024_add_backup_indexes.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/024_add_backup_indexes.py @@ -12,12 +12,12 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging from sqlalchemy.exc import OperationalError from sqlalchemy.schema import Index from sqlalchemy.schema import MetaData from trove.db.sqlalchemy.migrate_repo.schema import Table -from trove.openstack.common import log as logging logger = logging.getLogger('trove.db.sqlalchemy.migrate_repo.schema') diff --git a/trove/db/sqlalchemy/migrate_repo/versions/025_add_service_statuses_indexes.py b/trove/db/sqlalchemy/migrate_repo/versions/025_add_service_statuses_indexes.py index dcc226b2..62eefe8a 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/025_add_service_statuses_indexes.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/025_add_service_statuses_indexes.py @@ -12,12 +12,12 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging from sqlalchemy.exc import OperationalError from sqlalchemy.schema import Index from sqlalchemy.schema import MetaData from trove.db.sqlalchemy.migrate_repo.schema import Table -from trove.openstack.common import log as logging logger = logging.getLogger('trove.db.sqlalchemy.migrate_repo.schema') diff --git a/trove/db/sqlalchemy/migrate_repo/versions/026_datastore_versions_unique_fix.py b/trove/db/sqlalchemy/migrate_repo/versions/026_datastore_versions_unique_fix.py index 3a04f13c..daa9ea88 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/026_datastore_versions_unique_fix.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/026_datastore_versions_unique_fix.py @@ -13,11 +13,11 @@ # under the License. from migrate.changeset import UniqueConstraint +from oslo_log import log as logging from sqlalchemy.exc import OperationalError from sqlalchemy.schema import MetaData from trove.db.sqlalchemy.migrate_repo.schema import Table -from trove.openstack.common import log as logging logger = logging.getLogger('trove.db.sqlalchemy.migrate_repo.schema') diff --git a/trove/db/sqlalchemy/migrate_repo/versions/028_recreate_agent_heartbeat.py b/trove/db/sqlalchemy/migrate_repo/versions/028_recreate_agent_heartbeat.py index 1e2acf92..d869ee36 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/028_recreate_agent_heartbeat.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/028_recreate_agent_heartbeat.py @@ -12,16 +12,17 @@ # See the License for the specific language governing permissions and # limitations under the License. +from oslo_log import log as logging from sqlalchemy.exc import OperationalError from sqlalchemy.schema import Column from sqlalchemy.schema import MetaData + from trove.db.sqlalchemy.migrate_repo.schema import Boolean from trove.db.sqlalchemy.migrate_repo.schema import create_tables from trove.db.sqlalchemy.migrate_repo.schema import DateTime from trove.db.sqlalchemy.migrate_repo.schema import drop_tables from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table -from trove.openstack.common import log as logging logger = logging.getLogger('trove.db.sqlalchemy.migrate_repo.schema') diff --git a/trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py b/trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py index 590077d4..ca7a9e76 100644 --- a/trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py +++ b/trove/db/sqlalchemy/migrate_repo/versions/032_clusters.py @@ -13,6 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging from sqlalchemy import ForeignKey from sqlalchemy.schema import Column from sqlalchemy.schema import Index @@ -26,7 +27,6 @@ from trove.db.sqlalchemy.migrate_repo.schema import Integer from trove.db.sqlalchemy.migrate_repo.schema import String from trove.db.sqlalchemy.migrate_repo.schema import Table from trove.db.sqlalchemy import utils as db_utils -from trove.openstack.common import log as logging logger = logging.getLogger('trove.db.sqlalchemy.migrate_repo.schema') diff --git a/trove/db/sqlalchemy/migration.py b/trove/db/sqlalchemy/migration.py index c1798da9..134226a8 100644 --- a/trove/db/sqlalchemy/migration.py +++ b/trove/db/sqlalchemy/migration.py @@ -22,9 +22,9 @@ try: from migrate.versioning import exceptions as versioning_exceptions except ImportError: from migrate import exceptions as versioning_exceptions +from oslo_log import log as logging from trove.common import exception -from trove.openstack.common import log as logging logger = logging.getLogger('trove.db.sqlalchemy.migration') diff --git a/trove/db/sqlalchemy/session.py b/trove/db/sqlalchemy/session.py index 3bb4db0e..4737f6b9 100644 --- a/trove/db/sqlalchemy/session.py +++ b/trove/db/sqlalchemy/session.py @@ -15,6 +15,7 @@ import contextlib +from oslo_log import log as logging import osprofiler.sqlalchemy import sqlalchemy from sqlalchemy import create_engine @@ -24,7 +25,6 @@ from sqlalchemy.orm import sessionmaker from trove.common import cfg from trove.common.i18n import _ from trove.db.sqlalchemy import mappers -from trove.openstack.common import log as logging _ENGINE = None _MAKER = None diff --git a/trove/dns/designate/driver.py b/trove/dns/designate/driver.py index e35cb737..72652eb2 100644 --- a/trove/dns/designate/driver.py +++ b/trove/dns/designate/driver.py @@ -22,11 +22,11 @@ import hashlib from designateclient.v1 import Client from designateclient.v1.records import Record +from oslo_log import log as logging from trove.common import cfg from trove.common import exception from trove.dns import driver -from trove.openstack.common import log as logging CONF = cfg.CONF diff --git a/trove/dns/manager.py b/trove/dns/manager.py index c7dab51d..c4f35e9f 100644 --- a/trove/dns/manager.py +++ b/trove/dns/manager.py @@ -17,9 +17,10 @@ Dns manager. """ +from oslo_log import log as logging + from trove.common import cfg from trove.common import utils -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/dns/models.py b/trove/dns/models.py index eb64b5ca..6c77c1bb 100644 --- a/trove/dns/models.py +++ b/trove/dns/models.py @@ -18,11 +18,12 @@ Model classes that map instance Ip to dns record. """ +from oslo_log import log as logging + from trove.common import exception from trove.common.i18n import _ from trove.common.models import ModelBase from trove.db import get_db_api -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/extensions/account/models.py b/trove/extensions/account/models.py index 25858812..55eb614e 100644 --- a/trove/extensions/account/models.py +++ b/trove/extensions/account/models.py @@ -13,8 +13,9 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging + from trove.instance.models import DBInstance -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/extensions/account/service.py b/trove/extensions/account/service.py index 92d3dcfc..0d538ea7 100644 --- a/trove/extensions/account/service.py +++ b/trove/extensions/account/service.py @@ -13,13 +13,14 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging + import trove.common.apischema as apischema from trove.common.auth import admin_context from trove.common.i18n import _ from trove.common import wsgi from trove.extensions.account import models from trove.extensions.account import views -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/extensions/mgmt/clusters/service.py b/trove/extensions/mgmt/clusters/service.py index b9d9e3f9..f5bbfde7 100644 --- a/trove/extensions/mgmt/clusters/service.py +++ b/trove/extensions/mgmt/clusters/service.py @@ -14,6 +14,8 @@ # under the License. +from oslo_log import log as logging + from trove.cluster.service import ClusterController import trove.common.apischema as apischema from trove.common.auth import admin_context @@ -22,7 +24,6 @@ from trove.common.i18n import _ from trove.common import wsgi from trove.extensions.mgmt.clusters import models from trove.extensions.mgmt.clusters import views -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/extensions/mgmt/configuration/service.py b/trove/extensions/mgmt/configuration/service.py index 88a8b598..f5e555a6 100644 --- a/trove/extensions/mgmt/configuration/service.py +++ b/trove/extensions/mgmt/configuration/service.py @@ -14,6 +14,8 @@ # under the License. +from oslo_log import log as logging + import trove.common.apischema as apischema from trove.common.auth import admin_context from trove.common import exception @@ -22,7 +24,6 @@ from trove.common import wsgi from trove.configuration import models as config_models from trove.datastore import models as ds_models from trove.extensions.mgmt.configuration import views -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/extensions/mgmt/configuration/views.py b/trove/extensions/mgmt/configuration/views.py index 08b51563..c55616fb 100644 --- a/trove/extensions/mgmt/configuration/views.py +++ b/trove/extensions/mgmt/configuration/views.py @@ -13,7 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. # -from trove.openstack.common import log as logging +from oslo_log import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/extensions/mgmt/host/instance/service.py b/trove/extensions/mgmt/host/instance/service.py index 9945d58b..25b6a9dd 100644 --- a/trove/extensions/mgmt/host/instance/service.py +++ b/trove/extensions/mgmt/host/instance/service.py @@ -14,11 +14,12 @@ # under the License. +from oslo_log import log as logging + from trove.common import exception from trove.common.i18n import _ from trove.common import wsgi from trove.extensions.mgmt.host import models -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/extensions/mgmt/host/models.py b/trove/extensions/mgmt/host/models.py index 86e6b0c5..c4c2861d 100644 --- a/trove/extensions/mgmt/host/models.py +++ b/trove/extensions/mgmt/host/models.py @@ -18,6 +18,7 @@ Model classes that extend the instances functionality for MySQL instances. """ from novaclient import exceptions as nova_exceptions +from oslo_log import log as logging from trove.common import exception from trove.common.i18n import _ @@ -26,7 +27,6 @@ from trove.common.remote import create_nova_client from trove.instance.models import DBInstance from trove.instance.models import InstanceServiceStatus from trove.instance.models import SimpleInstance -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/extensions/mgmt/host/service.py b/trove/extensions/mgmt/host/service.py index 71fab781..aa29212e 100644 --- a/trove/extensions/mgmt/host/service.py +++ b/trove/extensions/mgmt/host/service.py @@ -13,6 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging from trove.common.auth import admin_context from trove.common.i18n import _ @@ -20,7 +21,6 @@ from trove.common import wsgi from trove.extensions.mgmt.host import models from trove.extensions.mgmt.host import views from trove.instance.service import InstanceController -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/extensions/mgmt/instances/models.py b/trove/extensions/mgmt/instances/models.py index 87d4d5fe..fb0676da 100644 --- a/trove/extensions/mgmt/instances/models.py +++ b/trove/extensions/mgmt/instances/models.py @@ -13,6 +13,8 @@ # under the License. import datetime +from oslo_log import log as logging + from trove.common import cfg from trove.common import exception from trove.common import remote @@ -21,7 +23,6 @@ from trove.extensions.mysql import models as mysql_models from trove.instance import models as imodels from trove.instance import models as instance_models from trove.instance.models import load_instance, InstanceServiceStatus -from trove.openstack.common import log as logging from trove import rpc LOG = logging.getLogger(__name__) diff --git a/trove/extensions/mgmt/instances/service.py b/trove/extensions/mgmt/instances/service.py index 22e25bdc..0b8c505b 100644 --- a/trove/extensions/mgmt/instances/service.py +++ b/trove/extensions/mgmt/instances/service.py @@ -15,6 +15,7 @@ from novaclient import exceptions as nova_exceptions +from oslo_log import log as logging from trove.backup.models import Backup import trove.common.apischema as apischema @@ -29,7 +30,6 @@ from trove.extensions.mgmt.instances.views import HwInfoView from trove.extensions.mysql import models as mysql_models from trove.instance import models as instance_models from trove.instance.service import InstanceController -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/extensions/mgmt/quota/service.py b/trove/extensions/mgmt/quota/service.py index d1417237..454e4815 100644 --- a/trove/extensions/mgmt/quota/service.py +++ b/trove/extensions/mgmt/quota/service.py @@ -13,11 +13,12 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging + from trove.common.auth import admin_context from trove.common import exception from trove.common import wsgi from trove.extensions.mgmt.quota import views -from trove.openstack.common import log as logging from trove.quota.models import Quota from trove.quota.quota import QUOTAS as quota_engine diff --git a/trove/extensions/mgmt/upgrade/service.py b/trove/extensions/mgmt/upgrade/service.py index 7c6687d4..55596a8d 100644 --- a/trove/extensions/mgmt/upgrade/service.py +++ b/trove/extensions/mgmt/upgrade/service.py @@ -13,12 +13,13 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging + import trove.common.apischema as apischema from trove.common.auth import admin_context from trove.common.i18n import _ from trove.common import wsgi from trove.extensions.mgmt.upgrade.models import UpgradeMessageSender -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/extensions/mgmt/volume/models.py b/trove/extensions/mgmt/volume/models.py index 9650d48c..0f8b4eb8 100644 --- a/trove/extensions/mgmt/volume/models.py +++ b/trove/extensions/mgmt/volume/models.py @@ -17,7 +17,7 @@ Model classes that extend the instances functionality for volumes. """ -from trove.openstack.common import log as logging +from oslo_log import log as logging from trove.common.remote import create_cinder_client diff --git a/trove/extensions/mgmt/volume/service.py b/trove/extensions/mgmt/volume/service.py index a5c55a4e..c6b1b992 100644 --- a/trove/extensions/mgmt/volume/service.py +++ b/trove/extensions/mgmt/volume/service.py @@ -14,12 +14,13 @@ # under the License. +from oslo_log import log as logging + from trove.common.auth import admin_context from trove.common.i18n import _ from trove.common import wsgi from trove.extensions.mgmt.volume import models from trove.extensions.mgmt.volume import views -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/extensions/mysql/models.py b/trove/extensions/mysql/models.py index abaf7011..7190504d 100644 --- a/trove/extensions/mysql/models.py +++ b/trove/extensions/mysql/models.py @@ -17,6 +17,8 @@ Model classes that extend the instances functionality for MySQL instances. """ +from oslo_log import log as logging + from trove.common import cfg from trove.common import exception from trove.common.remote import create_guest_client @@ -24,7 +26,6 @@ from trove.common import utils from trove.db import get_db_api from trove.guestagent.db import models as guest_models from trove.instance import models as base_models -from trove.openstack.common import log as logging CONF = cfg.CONF LOG = logging.getLogger(__name__) diff --git a/trove/extensions/mysql/service.py b/trove/extensions/mysql/service.py index 67651819..932ae6c9 100644 --- a/trove/extensions/mysql/service.py +++ b/trove/extensions/mysql/service.py @@ -13,6 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging from oslo_utils import strutils import webob.exc @@ -28,7 +29,6 @@ from trove.extensions.mysql.common import unquote_user_host from trove.extensions.mysql import models from trove.extensions.mysql import views from trove.guestagent.db import models as guest_models -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/extensions/routes/account.py b/trove/extensions/routes/account.py index be46521d..19d21114 100644 --- a/trove/extensions/routes/account.py +++ b/trove/extensions/routes/account.py @@ -13,7 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. -from trove.openstack.common import log as logging +from oslo_log import log as logging from trove.common import extensions from trove.extensions.account import service diff --git a/trove/extensions/routes/mgmt.py b/trove/extensions/routes/mgmt.py index 90ee509b..e80dbdb8 100644 --- a/trove/extensions/routes/mgmt.py +++ b/trove/extensions/routes/mgmt.py @@ -13,6 +13,8 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging + from trove.common import extensions from trove.extensions.mgmt.clusters.service import MgmtClusterController from trove.extensions.mgmt.configuration import service as conf_service @@ -22,7 +24,6 @@ from trove.extensions.mgmt.instances.service import MgmtInstanceController from trove.extensions.mgmt.quota.service import QuotaController from trove.extensions.mgmt.upgrade.service import UpgradeController from trove.extensions.mgmt.volume.service import StorageController -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/extensions/routes/mysql.py b/trove/extensions/routes/mysql.py index 500e48b9..5f138109 100644 --- a/trove/extensions/routes/mysql.py +++ b/trove/extensions/routes/mysql.py @@ -13,7 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. -from trove.openstack.common import log as logging +from oslo_log import log as logging from trove.common import extensions from trove.extensions.mysql import service diff --git a/trove/extensions/routes/security_group.py b/trove/extensions/routes/security_group.py index f93b303d..c485a2ec 100644 --- a/trove/extensions/routes/security_group.py +++ b/trove/extensions/routes/security_group.py @@ -15,10 +15,11 @@ # +from oslo_log import log as logging + from trove.common import cfg from trove.common import extensions from trove.extensions.security_group import service -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/extensions/security_group/models.py b/trove/extensions/security_group/models.py index 74d87285..c36c06d7 100644 --- a/trove/extensions/security_group/models.py +++ b/trove/extensions/security_group/models.py @@ -17,12 +17,13 @@ """ Model classes for Security Groups and Security Group Rules on instances. """ +from oslo_log import log as logging + from trove.common import cfg from trove.common import exception from trove.common.i18n import _ from trove.common.models import NetworkRemoteModelBase from trove.db.models import DatabaseModelBase -from trove.openstack.common import log as logging CONF = cfg.CONF diff --git a/trove/extensions/security_group/service.py b/trove/extensions/security_group/service.py index d3ad2649..02375a34 100644 --- a/trove/extensions/security_group/service.py +++ b/trove/extensions/security_group/service.py @@ -13,6 +13,9 @@ # License for the specific language governing permissions and limitations # under the License. # + +from oslo_log import log as logging + from trove.common import cfg from trove.common import exception from trove.common.i18n import _ @@ -22,7 +25,6 @@ from trove.datastore.models import DatastoreVersion from trove.extensions.security_group import models from trove.extensions.security_group import views from trove.instance import models as instance_models -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) CONF = cfg.CONF diff --git a/trove/extensions/security_group/views.py b/trove/extensions/security_group/views.py index 12e208bb..f779c101 100644 --- a/trove/extensions/security_group/views.py +++ b/trove/extensions/security_group/views.py @@ -16,7 +16,7 @@ import os -from trove.openstack.common import log as logging +from oslo_log import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/api.py b/trove/guestagent/api.py index e77db550..3ab6c74a 100644 --- a/trove/guestagent/api.py +++ b/trove/guestagent/api.py @@ -18,6 +18,7 @@ Handles all request to the Platform or Guest VM """ from eventlet import Timeout +from oslo_log import log as logging import oslo_messaging as messaging from oslo_messaging.rpc.client import RemoteError @@ -25,7 +26,6 @@ from trove.common import cfg from trove.common import exception from trove.common.i18n import _ import trove.common.rpc.version as rpc_version -from trove.openstack.common import log as logging from trove import rpc CONF = cfg.CONF diff --git a/trove/guestagent/datastore/experimental/cassandra/manager.py b/trove/guestagent/datastore/experimental/cassandra/manager.py index aa74b1e2..f264972c 100644 --- a/trove/guestagent/datastore/experimental/cassandra/manager.py +++ b/trove/guestagent/datastore/experimental/cassandra/manager.py @@ -16,6 +16,7 @@ import os +from oslo_log import log as logging from oslo_service import periodic_task from trove.common import cfg @@ -24,7 +25,6 @@ from trove.common.i18n import _ from trove.guestagent.datastore.experimental.cassandra import service from trove.guestagent import dbaas from trove.guestagent import volume -from trove.openstack.common import log as logging CONF = cfg.CONF LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/datastore/experimental/cassandra/service.py b/trove/guestagent/datastore/experimental/cassandra/service.py index d9db8506..7cebacd9 100644 --- a/trove/guestagent/datastore/experimental/cassandra/service.py +++ b/trove/guestagent/datastore/experimental/cassandra/service.py @@ -16,6 +16,7 @@ import os import tempfile +from oslo_log import log as logging from oslo_utils import netutils import yaml @@ -29,7 +30,6 @@ from trove.guestagent.common.operating_system import FileMode from trove.guestagent.datastore.experimental.cassandra import system from trove.guestagent.datastore import service from trove.guestagent import pkg -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/datastore/experimental/couchbase/manager.py b/trove/guestagent/datastore/experimental/couchbase/manager.py index 3789fe87..20d4f6f3 100644 --- a/trove/guestagent/datastore/experimental/couchbase/manager.py +++ b/trove/guestagent/datastore/experimental/couchbase/manager.py @@ -15,6 +15,7 @@ import os +from oslo_log import log as logging from oslo_service import periodic_task from trove.common import cfg @@ -26,7 +27,6 @@ from trove.guestagent.datastore.experimental.couchbase import service from trove.guestagent.datastore.experimental.couchbase import system from trove.guestagent import dbaas from trove.guestagent import volume -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/datastore/experimental/couchbase/service.py b/trove/guestagent/datastore/experimental/couchbase/service.py index fb202f3b..c2fc4f13 100644 --- a/trove/guestagent/datastore/experimental/couchbase/service.py +++ b/trove/guestagent/datastore/experimental/couchbase/service.py @@ -19,6 +19,7 @@ import stat import subprocess import tempfile +from oslo_log import log as logging from oslo_utils import netutils import pexpect @@ -32,7 +33,6 @@ from trove.guestagent.datastore.experimental.couchbase import system from trove.guestagent.datastore import service from trove.guestagent.db import models from trove.guestagent import pkg -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/datastore/experimental/couchdb/manager.py b/trove/guestagent/datastore/experimental/couchdb/manager.py index b2a5bdf9..43f25d51 100644 --- a/trove/guestagent/datastore/experimental/couchdb/manager.py +++ b/trove/guestagent/datastore/experimental/couchdb/manager.py @@ -15,6 +15,7 @@ import os +from oslo_log import log as logging from oslo_service import periodic_task from trove.common import cfg @@ -23,7 +24,6 @@ from trove.common.i18n import _ from trove.guestagent.datastore.experimental.couchdb import service from trove.guestagent import dbaas from trove.guestagent import volume -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) CONF = cfg.CONF diff --git a/trove/guestagent/datastore/experimental/couchdb/service.py b/trove/guestagent/datastore/experimental/couchdb/service.py index 39c7949f..66a4b15e 100644 --- a/trove/guestagent/datastore/experimental/couchdb/service.py +++ b/trove/guestagent/datastore/experimental/couchdb/service.py @@ -15,6 +15,8 @@ import json +from oslo_log import log as logging + from trove.common import cfg from trove.common import exception from trove.common.i18n import _ @@ -25,7 +27,6 @@ from trove.guestagent.common.operating_system import FileMode from trove.guestagent.datastore.experimental.couchdb import system from trove.guestagent.datastore import service from trove.guestagent import pkg -from trove.openstack.common import log as logging CONF = cfg.CONF LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/datastore/experimental/db2/manager.py b/trove/guestagent/datastore/experimental/db2/manager.py index 6c431dd9..e3d5157d 100644 --- a/trove/guestagent/datastore/experimental/db2/manager.py +++ b/trove/guestagent/datastore/experimental/db2/manager.py @@ -13,6 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging from oslo_service import periodic_task from trove.common import cfg @@ -21,7 +22,6 @@ from trove.guestagent.datastore.experimental.db2 import service from trove.guestagent import dbaas from trove.guestagent import volume from trove.openstack.common.gettextutils import _ -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) CONF = cfg.CONF diff --git a/trove/guestagent/datastore/experimental/db2/service.py b/trove/guestagent/datastore/experimental/db2/service.py index eefed321..1a3628b7 100644 --- a/trove/guestagent/datastore/experimental/db2/service.py +++ b/trove/guestagent/datastore/experimental/db2/service.py @@ -13,6 +13,8 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging + from trove.common import cfg from trove.common import exception from trove.common import instance as rd_instance @@ -22,7 +24,6 @@ from trove.guestagent.datastore.experimental.db2 import system from trove.guestagent.datastore import service from trove.guestagent.db import models from trove.openstack.common.gettextutils import _ -from trove.openstack.common import log as logging CONF = cfg.CONF LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/datastore/experimental/mongodb/manager.py b/trove/guestagent/datastore/experimental/mongodb/manager.py index 0a337f99..5e280f80 100644 --- a/trove/guestagent/datastore/experimental/mongodb/manager.py +++ b/trove/guestagent/datastore/experimental/mongodb/manager.py @@ -15,6 +15,7 @@ import os +from oslo_log import log as logging from oslo_service import periodic_task from oslo_utils import netutils @@ -28,7 +29,6 @@ from trove.guestagent.datastore.experimental.mongodb import service from trove.guestagent.datastore.experimental.mongodb import system from trove.guestagent import dbaas from trove.guestagent import volume -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/datastore/experimental/mongodb/service.py b/trove/guestagent/datastore/experimental/mongodb/service.py index fe0fb8fb..69085d40 100644 --- a/trove/guestagent/datastore/experimental/mongodb/service.py +++ b/trove/guestagent/datastore/experimental/mongodb/service.py @@ -18,6 +18,7 @@ import os import re import tempfile +from oslo_log import log as logging from oslo_utils import netutils import pymongo @@ -32,7 +33,6 @@ from trove.guestagent.common import operating_system from trove.guestagent.datastore.experimental.mongodb import system from trove.guestagent.datastore import service from trove.guestagent.db import models -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/datastore/experimental/postgresql/manager.py b/trove/guestagent/datastore/experimental/postgresql/manager.py index d6a19db8..9dbe33a3 100644 --- a/trove/guestagent/datastore/experimental/postgresql/manager.py +++ b/trove/guestagent/datastore/experimental/postgresql/manager.py @@ -17,6 +17,7 @@ import os from oslo_config import cfg as os_cfg +from oslo_log import log as logging from oslo_service import periodic_task from .service.config import PgSqlConfig @@ -29,7 +30,6 @@ from trove.common import cfg from trove.guestagent import backup from trove.guestagent import dbaas from trove.guestagent import volume -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/datastore/experimental/postgresql/pgutil.py b/trove/guestagent/datastore/experimental/postgresql/pgutil.py index fa95abef..3695bf10 100644 --- a/trove/guestagent/datastore/experimental/postgresql/pgutil.py +++ b/trove/guestagent/datastore/experimental/postgresql/pgutil.py @@ -17,10 +17,11 @@ import os import tempfile import uuid +from oslo_log import log as logging + from trove.common import utils from trove.guestagent.common import operating_system from trove.guestagent.common.operating_system import FileMode -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/datastore/experimental/postgresql/service/access.py b/trove/guestagent/datastore/experimental/postgresql/service/access.py index 787eff93..51243649 100644 --- a/trove/guestagent/datastore/experimental/postgresql/service/access.py +++ b/trove/guestagent/datastore/experimental/postgresql/service/access.py @@ -13,10 +13,11 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging + from trove.common import cfg from trove.common.i18n import _ from trove.guestagent.datastore.experimental.postgresql import pgutil -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) CONF = cfg.CONF diff --git a/trove/guestagent/datastore/experimental/postgresql/service/config.py b/trove/guestagent/datastore/experimental/postgresql/service/config.py index 42221695..7888f6cc 100644 --- a/trove/guestagent/datastore/experimental/postgresql/service/config.py +++ b/trove/guestagent/datastore/experimental/postgresql/service/config.py @@ -15,6 +15,8 @@ import re +from oslo_log import log as logging + from trove.common import cfg from trove.common.i18n import _ from trove.common import utils @@ -24,7 +26,6 @@ from trove.guestagent.datastore.experimental.postgresql.service.process import( PgSqlProcess) from trove.guestagent.datastore.experimental.postgresql.service.status import( PgSqlAppStatus) -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) CONF = cfg.CONF diff --git a/trove/guestagent/datastore/experimental/postgresql/service/database.py b/trove/guestagent/datastore/experimental/postgresql/service/database.py index 9443b535..f7d62512 100644 --- a/trove/guestagent/datastore/experimental/postgresql/service/database.py +++ b/trove/guestagent/datastore/experimental/postgresql/service/database.py @@ -15,10 +15,11 @@ import itertools +from oslo_log import log as logging + from trove.common import cfg from trove.common.i18n import _ from trove.guestagent.datastore.experimental.postgresql import pgutil -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) CONF = cfg.CONF diff --git a/trove/guestagent/datastore/experimental/postgresql/service/install.py b/trove/guestagent/datastore/experimental/postgresql/service/install.py index d928961f..85e8fc47 100644 --- a/trove/guestagent/datastore/experimental/postgresql/service/install.py +++ b/trove/guestagent/datastore/experimental/postgresql/service/install.py @@ -13,6 +13,8 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging + from trove.common import cfg from trove.common.i18n import _ from trove.common import instance @@ -21,7 +23,6 @@ from trove.guestagent.datastore.experimental.postgresql.service.process import( from trove.guestagent.datastore.experimental.postgresql.service.status import( PgSqlAppStatus) from trove.guestagent import pkg -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) CONF = cfg.CONF diff --git a/trove/guestagent/datastore/experimental/postgresql/service/process.py b/trove/guestagent/datastore/experimental/postgresql/service/process.py index 2b4c7cb1..4495895d 100644 --- a/trove/guestagent/datastore/experimental/postgresql/service/process.py +++ b/trove/guestagent/datastore/experimental/postgresql/service/process.py @@ -13,12 +13,13 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging + from trove.common import cfg from trove.common import utils from trove.guestagent.common import operating_system from trove.guestagent.datastore.experimental.postgresql.service.status import ( PgSqlAppStatus) -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) CONF = cfg.CONF diff --git a/trove/guestagent/datastore/experimental/postgresql/service/root.py b/trove/guestagent/datastore/experimental/postgresql/service/root.py index 33e10747..01039e16 100644 --- a/trove/guestagent/datastore/experimental/postgresql/service/root.py +++ b/trove/guestagent/datastore/experimental/postgresql/service/root.py @@ -15,9 +15,10 @@ import uuid +from oslo_log import log as logging + from trove.common import cfg from trove.guestagent.datastore.experimental.postgresql import pgutil -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) CONF = cfg.CONF diff --git a/trove/guestagent/datastore/experimental/postgresql/service/status.py b/trove/guestagent/datastore/experimental/postgresql/service/status.py index d8f860d1..987d0625 100644 --- a/trove/guestagent/datastore/experimental/postgresql/service/status.py +++ b/trove/guestagent/datastore/experimental/postgresql/service/status.py @@ -15,12 +15,13 @@ import os +from oslo_log import log as logging + from trove.common import exception from trove.common import instance from trove.common import utils from trove.guestagent.datastore.experimental.postgresql import pgutil from trove.guestagent.datastore import service -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/datastore/experimental/postgresql/service/users.py b/trove/guestagent/datastore/experimental/postgresql/service/users.py index c3972d7a..eaa85756 100644 --- a/trove/guestagent/datastore/experimental/postgresql/service/users.py +++ b/trove/guestagent/datastore/experimental/postgresql/service/users.py @@ -15,12 +15,13 @@ import itertools +from oslo_log import log as logging + from trove.common import cfg from trove.common.i18n import _ from trove.guestagent.datastore.experimental.postgresql import pgutil from trove.guestagent.datastore.experimental.postgresql.service.access import ( PgSqlAccess) -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) CONF = cfg.CONF diff --git a/trove/guestagent/datastore/experimental/redis/manager.py b/trove/guestagent/datastore/experimental/redis/manager.py index a452d9ba..52fe4012 100644 --- a/trove/guestagent/datastore/experimental/redis/manager.py +++ b/trove/guestagent/datastore/experimental/redis/manager.py @@ -13,6 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging from oslo_service import periodic_task from trove.common import cfg @@ -24,7 +25,6 @@ from trove.guestagent.datastore.experimental.redis.service import ( RedisApp) from trove.guestagent import dbaas from trove.guestagent import volume -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/datastore/experimental/redis/service.py b/trove/guestagent/datastore/experimental/redis/service.py index 020cd098..b216378e 100644 --- a/trove/guestagent/datastore/experimental/redis/service.py +++ b/trove/guestagent/datastore/experimental/redis/service.py @@ -17,6 +17,8 @@ import os import redis from redis.exceptions import BusyLoadingError, ConnectionError +from oslo_log import log as logging + from trove.common import cfg from trove.common import exception from trove.common.i18n import _ @@ -29,7 +31,6 @@ from trove.guestagent.common import operating_system from trove.guestagent.datastore.experimental.redis import system from trove.guestagent.datastore import service from trove.guestagent import pkg -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) TIME_OUT = 1200 # FIXME(pmalik): should probably use config timeout diff --git a/trove/guestagent/datastore/experimental/vertica/manager.py b/trove/guestagent/datastore/experimental/vertica/manager.py index 68b251e4..11539ee4 100644 --- a/trove/guestagent/datastore/experimental/vertica/manager.py +++ b/trove/guestagent/datastore/experimental/vertica/manager.py @@ -13,6 +13,7 @@ import os +from oslo_log import log as logging from oslo_service import periodic_task from trove.common import cfg @@ -24,7 +25,6 @@ from trove.guestagent.datastore.experimental.vertica.service import ( from trove.guestagent.datastore.experimental.vertica.service import VerticaApp from trove.guestagent import dbaas from trove.guestagent import volume -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) CONF = cfg.CONF diff --git a/trove/guestagent/datastore/experimental/vertica/service.py b/trove/guestagent/datastore/experimental/vertica/service.py index 928183b4..62080754 100644 --- a/trove/guestagent/datastore/experimental/vertica/service.py +++ b/trove/guestagent/datastore/experimental/vertica/service.py @@ -16,6 +16,7 @@ import os import subprocess import tempfile +from oslo_log import log as logging from oslo_utils import netutils from trove.common import cfg @@ -27,7 +28,6 @@ from trove.guestagent.datastore.experimental.vertica import system from trove.guestagent.datastore import service from trove.guestagent import pkg from trove.guestagent import volume -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) CONF = cfg.CONF diff --git a/trove/guestagent/datastore/mysql/manager.py b/trove/guestagent/datastore/mysql/manager.py index 35d1b962..1d743e75 100644 --- a/trove/guestagent/datastore/mysql/manager.py +++ b/trove/guestagent/datastore/mysql/manager.py @@ -18,6 +18,7 @@ import os +from oslo_log import log as logging from oslo_service import periodic_task from trove.common import cfg @@ -32,7 +33,6 @@ from trove.guestagent.datastore.mysql.service import MySqlAppStatus from trove.guestagent import dbaas from trove.guestagent.strategies.replication import get_replication_strategy from trove.guestagent import volume -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/datastore/mysql/service.py b/trove/guestagent/datastore/mysql/service.py index 1dce3aba..e012c63f 100644 --- a/trove/guestagent/datastore/mysql/service.py +++ b/trove/guestagent/datastore/mysql/service.py @@ -21,6 +21,7 @@ import os import re import uuid +from oslo_log import log as logging import sqlalchemy from sqlalchemy import exc from sqlalchemy import interfaces @@ -39,7 +40,6 @@ from trove.guestagent.common import sql_query from trove.guestagent.datastore import service from trove.guestagent.db import models from trove.guestagent import pkg -from trove.openstack.common import log as logging ADMIN_USER_NAME = "os_admin" LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/datastore/service.py b/trove/guestagent/datastore/service.py index fdc80d2f..fc4110cd 100644 --- a/trove/guestagent/datastore/service.py +++ b/trove/guestagent/datastore/service.py @@ -16,13 +16,14 @@ import time +from oslo_log import log as logging + from trove.common import cfg from trove.common import context as trove_context from trove.common.i18n import _ from trove.common import instance from trove.conductor import api as conductor_api from trove.guestagent.common import timeutils -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) CONF = cfg.CONF diff --git a/trove/guestagent/dbaas.py b/trove/guestagent/dbaas.py index f38914eb..16fc4e80 100644 --- a/trove/guestagent/dbaas.py +++ b/trove/guestagent/dbaas.py @@ -26,12 +26,13 @@ handles RPC calls relating to Platform specific operations. from itertools import chain import os +from oslo_log import log as logging + from trove.common import cfg from trove.common.i18n import _ -from trove.openstack.common import log -LOG = log.getLogger(__name__) +LOG = logging.getLogger(__name__) defaults = { 'mysql': 'trove.guestagent.datastore.mysql.manager.Manager', diff --git a/trove/guestagent/models.py b/trove/guestagent/models.py index 85ffe86e..07fbad23 100644 --- a/trove/guestagent/models.py +++ b/trove/guestagent/models.py @@ -15,13 +15,14 @@ from datetime import datetime from datetime import timedelta +from oslo_log import log as logging + from trove.common import cfg from trove.common import exception from trove.common.i18n import _ from trove.common import utils from trove.db import get_db_api from trove.db import models as dbmodels -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/pkg.py b/trove/guestagent/pkg.py index c26e233a..bc480790 100644 --- a/trove/guestagent/pkg.py +++ b/trove/guestagent/pkg.py @@ -22,6 +22,7 @@ import re import subprocess from tempfile import NamedTemporaryFile +from oslo_log import log as logging import pexpect import six @@ -30,7 +31,6 @@ from trove.common.exception import ProcessExecutionError from trove.common.i18n import _ from trove.common import utils from trove.guestagent.common import operating_system -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/strategies/backup/__init__.py b/trove/guestagent/strategies/backup/__init__.py index a8b4b6db..2da9dee9 100644 --- a/trove/guestagent/strategies/backup/__init__.py +++ b/trove/guestagent/strategies/backup/__init__.py @@ -14,8 +14,9 @@ # under the License. # +from oslo_log import log as logging + from trove.guestagent.strategy import Strategy -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/strategies/backup/base.py b/trove/guestagent/strategies/backup/base.py index e038ac2d..631a41a2 100644 --- a/trove/guestagent/strategies/backup/base.py +++ b/trove/guestagent/strategies/backup/base.py @@ -16,10 +16,11 @@ import os import signal +from oslo_log import log as logging + from eventlet.green import subprocess from trove.common import cfg, utils from trove.guestagent.strategy import Strategy -from trove.openstack.common import log as logging CONF = cfg.CONF diff --git a/trove/guestagent/strategies/backup/experimental/couchbase_impl.py b/trove/guestagent/strategies/backup/experimental/couchbase_impl.py index 5a761f89..6884be05 100644 --- a/trove/guestagent/strategies/backup/experimental/couchbase_impl.py +++ b/trove/guestagent/strategies/backup/experimental/couchbase_impl.py @@ -16,6 +16,8 @@ import json +from oslo_log import log as logging + from trove.common import exception from trove.common.i18n import _ from trove.common import utils @@ -23,7 +25,6 @@ from trove.guestagent.common import operating_system from trove.guestagent.datastore.experimental.couchbase import service from trove.guestagent.datastore.experimental.couchbase import system from trove.guestagent.strategies.backup import base -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/strategies/backup/experimental/mongo_impl.py b/trove/guestagent/strategies/backup/experimental/mongo_impl.py index a047033f..30dea546 100644 --- a/trove/guestagent/strategies/backup/experimental/mongo_impl.py +++ b/trove/guestagent/strategies/backup/experimental/mongo_impl.py @@ -15,6 +15,8 @@ # under the License. # +from oslo_log import log as logging + from trove.common import cfg from trove.common import exception from trove.common.i18n import _ @@ -25,7 +27,6 @@ from trove.guestagent.datastore.experimental.mongodb import ( from trove.guestagent.datastore.experimental.mongodb import ( system as mongo_system) from trove.guestagent.strategies.backup import base -from trove.openstack.common import log as logging CONF = cfg.CONF diff --git a/trove/guestagent/strategies/backup/experimental/postgresql_impl.py b/trove/guestagent/strategies/backup/experimental/postgresql_impl.py index 7442cc4e..ae704930 100644 --- a/trove/guestagent/strategies/backup/experimental/postgresql_impl.py +++ b/trove/guestagent/strategies/backup/experimental/postgresql_impl.py @@ -13,8 +13,9 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging + from trove.guestagent.strategies.backup import base -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/strategies/backup/mysql_impl.py b/trove/guestagent/strategies/backup/mysql_impl.py index 013a2b7c..5be6a369 100644 --- a/trove/guestagent/strategies/backup/mysql_impl.py +++ b/trove/guestagent/strategies/backup/mysql_impl.py @@ -17,11 +17,12 @@ import re +from oslo_log import log as logging + from trove.guestagent.datastore.mysql.service import ADMIN_USER_NAME from trove.guestagent.datastore.mysql.service import get_auth_password from trove.guestagent.datastore.mysql.service import get_datadir from trove.guestagent.strategies.backup import base -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/strategies/replication/__init__.py b/trove/guestagent/strategies/replication/__init__.py index fe477e7c..49a4db1a 100644 --- a/trove/guestagent/strategies/replication/__init__.py +++ b/trove/guestagent/strategies/replication/__init__.py @@ -14,8 +14,9 @@ # under the License. # +from oslo_log import log as logging + from trove.guestagent.strategy import Strategy -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/strategies/replication/mysql_base.py b/trove/guestagent/strategies/replication/mysql_base.py index 31be26135..45f9e439 100644 --- a/trove/guestagent/strategies/replication/mysql_base.py +++ b/trove/guestagent/strategies/replication/mysql_base.py @@ -17,6 +17,7 @@ import abc import uuid +from oslo_log import log as logging from oslo_utils import netutils from trove.common import cfg @@ -27,7 +28,6 @@ from trove.guestagent.db import models from trove.guestagent.strategies import backup from trove.guestagent.strategies.replication import base from trove.openstack.common.gettextutils import _ -from trove.openstack.common import log as logging AGENT = BackupAgent() CONF = cfg.CONF diff --git a/trove/guestagent/strategies/replication/mysql_binlog.py b/trove/guestagent/strategies/replication/mysql_binlog.py index fb66eb70..91b042d1 100644 --- a/trove/guestagent/strategies/replication/mysql_binlog.py +++ b/trove/guestagent/strategies/replication/mysql_binlog.py @@ -16,6 +16,8 @@ import csv +from oslo_log import log as logging + from trove.common import cfg from trove.common import exception from trove.common.i18n import _ @@ -24,7 +26,6 @@ from trove.guestagent.common import operating_system from trove.guestagent.common.operating_system import FileMode from trove.guestagent.datastore.mysql.service import get_datadir from trove.guestagent.strategies.replication import mysql_base -from trove.openstack.common import log as logging AGENT = BackupAgent() CONF = cfg.CONF diff --git a/trove/guestagent/strategies/replication/mysql_gtid.py b/trove/guestagent/strategies/replication/mysql_gtid.py index 1d9039c6..f76aa04f 100644 --- a/trove/guestagent/strategies/replication/mysql_gtid.py +++ b/trove/guestagent/strategies/replication/mysql_gtid.py @@ -14,10 +14,11 @@ # under the License. # +from oslo_log import log as logging + from trove.common import cfg from trove.guestagent.backup.backupagent import BackupAgent from trove.guestagent.strategies.replication import mysql_base -from trove.openstack.common import log as logging AGENT = BackupAgent() CONF = cfg.CONF diff --git a/trove/guestagent/strategies/restore/__init__.py b/trove/guestagent/strategies/restore/__init__.py index d6a368ec..9e74efb1 100644 --- a/trove/guestagent/strategies/restore/__init__.py +++ b/trove/guestagent/strategies/restore/__init__.py @@ -12,8 +12,9 @@ # See the License for the specific language governing permissions and # limitations under the License. +from oslo_log import log as logging + from trove.guestagent.strategy import Strategy -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/strategies/restore/base.py b/trove/guestagent/strategies/restore/base.py index a30e2b87..b997dda7 100644 --- a/trove/guestagent/strategies/restore/base.py +++ b/trove/guestagent/strategies/restore/base.py @@ -13,12 +13,13 @@ # License for the specific language governing permissions and limitations # under the License. # + from eventlet.green import subprocess +from oslo_log import log as logging from trove.common import cfg from trove.common import utils from trove.guestagent.strategy import Strategy -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) CONF = cfg.CONF diff --git a/trove/guestagent/strategies/restore/experimental/couchbase_impl.py b/trove/guestagent/strategies/restore/experimental/couchbase_impl.py index 436b155a..db3ec0fc 100644 --- a/trove/guestagent/strategies/restore/experimental/couchbase_impl.py +++ b/trove/guestagent/strategies/restore/experimental/couchbase_impl.py @@ -18,6 +18,8 @@ import json import os.path import time +from oslo_log import log as logging + from trove.common import exception from trove.common import utils from trove.guestagent.common import operating_system @@ -25,7 +27,6 @@ from trove.guestagent.datastore.experimental.couchbase import service from trove.guestagent.datastore.experimental.couchbase import system from trove.guestagent import dbaas from trove.guestagent.strategies.restore import base -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/strategies/restore/experimental/mongo_impl.py b/trove/guestagent/strategies/restore/experimental/mongo_impl.py index 27faaf1c..59e6905c 100644 --- a/trove/guestagent/strategies/restore/experimental/mongo_impl.py +++ b/trove/guestagent/strategies/restore/experimental/mongo_impl.py @@ -15,14 +15,15 @@ # under the License. # +from oslo_log import log as logging from oslo_utils import netutils + from trove.common import cfg from trove.common import utils from trove.guestagent.common import operating_system from trove.guestagent.datastore.experimental.mongodb import ( service as mongo_service) from trove.guestagent.strategies.restore import base -from trove.openstack.common import log as logging CONF = cfg.CONF LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/strategies/restore/experimental/postgresql_impl.py b/trove/guestagent/strategies/restore/experimental/postgresql_impl.py index b4821e47..b64cc64f 100644 --- a/trove/guestagent/strategies/restore/experimental/postgresql_impl.py +++ b/trove/guestagent/strategies/restore/experimental/postgresql_impl.py @@ -16,10 +16,10 @@ import re from eventlet.green import subprocess +from oslo_log import log as logging from trove.common import exception from trove.guestagent.strategies.restore import base -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/strategies/restore/mysql_impl.py b/trove/guestagent/strategies/restore/mysql_impl.py index 51a93a89..d4b125cd 100644 --- a/trove/guestagent/strategies/restore/mysql_impl.py +++ b/trove/guestagent/strategies/restore/mysql_impl.py @@ -19,6 +19,7 @@ import os import re import tempfile +from oslo_log import log as logging import pexpect from trove.common import exception @@ -28,7 +29,6 @@ from trove.guestagent.common import operating_system from trove.guestagent.common.operating_system import FileMode import trove.guestagent.datastore.mysql.service as dbaas from trove.guestagent.strategies.restore import base -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/strategies/storage/__init__.py b/trove/guestagent/strategies/storage/__init__.py index 7780c776..bfb8384e 100644 --- a/trove/guestagent/strategies/storage/__init__.py +++ b/trove/guestagent/strategies/storage/__init__.py @@ -14,8 +14,9 @@ # under the License. # +from oslo_log import log as logging + from trove.guestagent.strategy import Strategy -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/strategies/storage/swift.py b/trove/guestagent/strategies/storage/swift.py index 62798b26..b4af1a65 100644 --- a/trove/guestagent/strategies/storage/swift.py +++ b/trove/guestagent/strategies/storage/swift.py @@ -16,11 +16,12 @@ import hashlib +from oslo_log import log as logging + from trove.common import cfg from trove.common.i18n import _ from trove.common.remote import create_swift_client from trove.guestagent.strategies.storage import base -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) CONF = cfg.CONF diff --git a/trove/guestagent/strategy.py b/trove/guestagent/strategy.py index 1365fc24..8139748a 100644 --- a/trove/guestagent/strategy.py +++ b/trove/guestagent/strategy.py @@ -16,10 +16,10 @@ import abc +from oslo_log import log as logging import six from trove.common import utils -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/guestagent/volume.py b/trove/guestagent/volume.py index a48e1329..10b8746e 100644 --- a/trove/guestagent/volume.py +++ b/trove/guestagent/volume.py @@ -16,6 +16,7 @@ import os from tempfile import NamedTemporaryFile +from oslo_log import log as logging import pexpect from trove.common import cfg @@ -24,7 +25,6 @@ from trove.common.exception import ProcessExecutionError from trove.common.i18n import _ from trove.common import utils from trove.guestagent.common import operating_system -from trove.openstack.common import log as logging TMP_MOUNT_POINT = "/mnt/volume" diff --git a/trove/instance/models.py b/trove/instance/models.py index 9a002a06..8efc2b8b 100644 --- a/trove/instance/models.py +++ b/trove/instance/models.py @@ -22,6 +22,7 @@ import re from novaclient import exceptions as nova_exceptions from oslo_config.cfg import NoSuchOptError +from oslo_log import log as logging from trove.backup.models import Backup from trove.common import cfg @@ -41,7 +42,6 @@ from trove.db import models as dbmodels from trove.extensions.security_group.models import SecurityGroup from trove.instance.tasks import InstanceTask from trove.instance.tasks import InstanceTasks -from trove.openstack.common import log as logging from trove.quota.quota import run_with_quotas from trove.taskmanager import api as task_api diff --git a/trove/instance/service.py b/trove/instance/service.py index 3c006800..7a62ef06 100644 --- a/trove/instance/service.py +++ b/trove/instance/service.py @@ -13,6 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging from oslo_utils import strutils import webob.exc @@ -30,7 +31,6 @@ from trove.datastore import models as datastore_models from trove.extensions.mysql.common import populate_users from trove.extensions.mysql.common import populate_validated_databases from trove.instance import models, views -from trove.openstack.common import log as logging CONF = cfg.CONF diff --git a/trove/instance/views.py b/trove/instance/views.py index 24555f9a..59b11f81 100644 --- a/trove/instance/views.py +++ b/trove/instance/views.py @@ -13,10 +13,11 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging + from trove.common import cfg from trove.common.views import create_links from trove.instance import models -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) CONF = cfg.CONF diff --git a/trove/network/neutron.py b/trove/network/neutron.py index 77396027..6f8e966d 100644 --- a/trove/network/neutron.py +++ b/trove/network/neutron.py @@ -15,11 +15,11 @@ # from neutronclient.common import exceptions as neutron_exceptions +from oslo_log import log as logging from trove.common import exception from trove.common import remote from trove.network import base -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/network/nova.py b/trove/network/nova.py index d6baf479..5f0623c5 100644 --- a/trove/network/nova.py +++ b/trove/network/nova.py @@ -15,11 +15,11 @@ # from novaclient import exceptions as nova_exceptions +from oslo_log import log as logging from trove.common import exception from trove.common import remote from trove.network import base -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/openstack/common/log.py b/trove/openstack/common/log.py deleted file mode 100644 index ffd0e702..00000000 --- a/trove/openstack/common/log.py +++ /dev/null @@ -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 trove.openstack.common._i18n import _ -from trove.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)) diff --git a/trove/quota/models.py b/trove/quota/models.py index 571c31f1..d6bfacc9 100644 --- a/trove/quota/models.py +++ b/trove/quota/models.py @@ -13,10 +13,11 @@ # under the License. +from oslo_log import log as logging + from trove.common import cfg from trove.common import utils from trove.db import models as dbmodels -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/quota/quota.py b/trove/quota/quota.py index 9c01ddb4..b911b59a 100644 --- a/trove/quota/quota.py +++ b/trove/quota/quota.py @@ -16,11 +16,11 @@ """Quotas for DB instances and resources.""" from oslo_config import cfg +from oslo_log import log as logging from oslo_utils import importutils from trove.common import exception from trove.common.i18n import _ -from trove.openstack.common import log as logging from trove.quota.models import Quota from trove.quota.models import QuotaUsage from trove.quota.models import Reservation diff --git a/trove/taskmanager/api.py b/trove/taskmanager/api.py index 7cfcace7..7d350844 100644 --- a/trove/taskmanager/api.py +++ b/trove/taskmanager/api.py @@ -18,6 +18,7 @@ Routes all the requests to the task manager. """ +from oslo_log import log as logging import oslo_messaging as messaging from trove.common import cfg @@ -25,7 +26,6 @@ from trove.common import exception import trove.common.rpc.version as rpc_version from trove.common.strategies.cluster import strategy from trove.guestagent import models as agent_models -from trove.openstack.common import log as logging from trove import rpc CONF = cfg.CONF diff --git a/trove/taskmanager/manager.py b/trove/taskmanager/manager.py index e1ec5b89..ec96ef22 100644 --- a/trove/taskmanager/manager.py +++ b/trove/taskmanager/manager.py @@ -15,6 +15,7 @@ from sets import Set +from oslo_log import log as logging import oslo_messaging as messaging from oslo_service import periodic_task from oslo_utils import importutils @@ -30,7 +31,6 @@ import trove.common.rpc.version as rpc_version from trove.common.strategies.cluster import strategy import trove.extensions.mgmt.instances.models as mgmtmodels from trove.instance.tasks import InstanceTasks -from trove.openstack.common import log as logging from trove.taskmanager import models from trove.taskmanager.models import FreshInstanceTasks, BuiltInstanceTasks diff --git a/trove/taskmanager/models.py b/trove/taskmanager/models.py index ad6fcd1f..994455cf 100755 --- a/trove/taskmanager/models.py +++ b/trove/taskmanager/models.py @@ -20,6 +20,7 @@ from cinderclient import exceptions as cinder_exceptions from eventlet import greenthread from heatclient import exc as heat_exceptions from novaclient import exceptions as nova_exceptions +from oslo_log import log as logging from oslo_utils import timeutils from swiftclient.client import ClientException @@ -64,7 +65,6 @@ from trove.instance.models import FreshInstance from trove.instance.models import InstanceServiceStatus from trove.instance.models import InstanceStatus from trove.instance.tasks import InstanceTasks -from trove.openstack.common import log as logging from trove.quota.quota import run_with_quotas from trove import rpc diff --git a/trove/taskmanager/service.py b/trove/taskmanager/service.py index d3651783..36cdb392 100644 --- a/trove/taskmanager/service.py +++ b/trove/taskmanager/service.py @@ -13,7 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. -from trove.openstack.common import log as logging +from oslo_log import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/tests/db/migrations.py b/trove/tests/db/migrations.py index 48768e06..fe10a8be 100644 --- a/trove/tests/db/migrations.py +++ b/trove/tests/db/migrations.py @@ -27,6 +27,7 @@ import os import migrate.versioning.api as migration_api from migrate.versioning import repository from oslo_concurrency import processutils +from oslo_log import log as logging from proboscis import after_class from proboscis.asserts import assert_equal from proboscis.asserts import assert_true @@ -38,7 +39,6 @@ import sqlalchemy.exc from trove.common.i18n import _ import trove.db.sqlalchemy.migrate_repo -from trove.openstack.common import log as logging from trove.tests.util import event_simulator GROUP = "dbaas.db.migrations" diff --git a/trove/tests/fakes/common.py b/trove/tests/fakes/common.py index be60d8f2..640b50c5 100644 --- a/trove/tests/fakes/common.py +++ b/trove/tests/fakes/common.py @@ -16,8 +16,9 @@ """Common code to help in faking the models.""" from novaclient import exceptions as nova_exceptions +from oslo_log import log as logging + from trove.common import cfg -from trove.openstack.common import log as logging CONF = cfg.CONF diff --git a/trove/tests/fakes/dns.py b/trove/tests/fakes/dns.py index 9c88ee3b..eb26e7e2 100644 --- a/trove/tests/fakes/dns.py +++ b/trove/tests/fakes/dns.py @@ -12,12 +12,12 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo_log import log as logging from proboscis.asserts import assert_equal from proboscis.asserts import assert_true from proboscis.asserts import fail from trove.dns import driver -from trove.openstack.common import log as logging LOG = logging.getLogger(__name__) diff --git a/trove/tests/fakes/guestagent.py b/trove/tests/fakes/guestagent.py index 61a80eb7..eed48cb2 100644 --- a/trove/tests/fakes/guestagent.py +++ b/trove/tests/fakes/guestagent.py @@ -17,10 +17,10 @@ import re import time import eventlet +from oslo_log import log as logging from trove.common import exception as rd_exception from trove.common import instance as rd_instance -from trove.openstack.common import log as logging from trove.tests.util import unquote_user_host DB = {} diff --git a/trove/tests/fakes/nova.py b/trove/tests/fakes/nova.py index fa38c43b..e363e84d 100644 --- a/trove/tests/fakes/nova.py +++ b/trove/tests/fakes/nova.py @@ -14,9 +14,10 @@ # under the License. from novaclient import exceptions as nova_exceptions +from oslo_log import log as logging + from trove.common.exception import PollTimeOut from trove.common import instance as rd_instance -from trove.openstack.common import log as logging from trove.tests.fakes.common import authorize import eventlet diff --git a/trove/tests/fakes/taskmanager.py b/trove/tests/fakes/taskmanager.py index 81984728..3266562f 100644 --- a/trove/tests/fakes/taskmanager.py +++ b/trove/tests/fakes/taskmanager.py @@ -17,8 +17,8 @@ from collections import defaultdict import eventlet +from oslo_log import log as logging -import trove.openstack.common.log as logging from trove import rpc from trove.taskmanager.api import API from trove.taskmanager.manager import Manager diff --git a/trove/tests/util/usage.py b/trove/tests/util/usage.py index 4cffd322..ef808950 100644 --- a/trove/tests/util/usage.py +++ b/trove/tests/util/usage.py @@ -15,11 +15,11 @@ from collections import defaultdict +from oslo_log import log as logging import proboscis.asserts as asserts from proboscis.dependencies import SkipTest from trove.common import utils -import trove.openstack.common.log as logging from trove.tests.config import CONFIG LOG = logging.getLogger(__name__) |