diff --git a/keystone/auth/controllers.py b/keystone/auth/controllers.py index 60fdae04f0..9a3f22bdde 100644 --- a/keystone/auth/controllers.py +++ b/keystone/auth/controllers.py @@ -16,8 +16,8 @@ import sys from keystoneclient.common import cms from oslo.serialization import jsonutils -from oslo.utils import importutils -from oslo.utils import timeutils +from oslo_utils import importutils +from oslo_utils import timeutils import six from keystone.assignment import controllers as assignment_controllers diff --git a/keystone/auth/plugins/oauth1.py b/keystone/auth/plugins/oauth1.py index 58a56fa15d..1846cb88e2 100644 --- a/keystone/auth/plugins/oauth1.py +++ b/keystone/auth/plugins/oauth1.py @@ -12,7 +12,7 @@ # License for the specific language governing permissions and limitations # under the License. -from oslo.utils import timeutils +from oslo_utils import timeutils from keystone import auth from keystone.common import controller diff --git a/keystone/common/cache/backends/mongo.py b/keystone/common/cache/backends/mongo.py index 199845cfa2..ca2eba4fb5 100644 --- a/keystone/common/cache/backends/mongo.py +++ b/keystone/common/cache/backends/mongo.py @@ -17,8 +17,8 @@ import datetime from dogpile.cache import api from dogpile.cache import util as dp_util -from oslo.utils import importutils -from oslo.utils import timeutils +from oslo_utils import importutils +from oslo_utils import timeutils import six from keystone import exception diff --git a/keystone/common/cache/core.py b/keystone/common/cache/core.py index 3f7a86e384..34dd3a3d6d 100644 --- a/keystone/common/cache/core.py +++ b/keystone/common/cache/core.py @@ -17,7 +17,7 @@ import dogpile.cache from dogpile.cache import proxy from dogpile.cache import util -from oslo.utils import importutils +from oslo_utils import importutils from keystone import config from keystone import exception diff --git a/keystone/common/kvs/core.py b/keystone/common/kvs/core.py index 624dbfd88b..6f3d695c88 100644 --- a/keystone/common/kvs/core.py +++ b/keystone/common/kvs/core.py @@ -22,7 +22,7 @@ from dogpile.cache import proxy from dogpile.cache import region from dogpile.cache import util as dogpile_util from dogpile.core import nameregistry -from oslo.utils import importutils +from oslo_utils import importutils import six from keystone.common import config diff --git a/keystone/common/manager.py b/keystone/common/manager.py index 02ec853d73..28bf2efb54 100644 --- a/keystone/common/manager.py +++ b/keystone/common/manager.py @@ -14,7 +14,7 @@ import functools -from oslo.utils import importutils +from oslo_utils import importutils def response_truncated(f): diff --git a/keystone/common/sql/migrate_repo/versions/042_endpoint_enabled.py b/keystone/common/sql/migrate_repo/versions/042_endpoint_enabled.py index bc3dfd4310..ea334ebd03 100644 --- a/keystone/common/sql/migrate_repo/versions/042_endpoint_enabled.py +++ b/keystone/common/sql/migrate_repo/versions/042_endpoint_enabled.py @@ -29,7 +29,7 @@ column. """ from oslo.serialization import jsonutils -from oslo.utils import strutils +from oslo_utils import strutils import sqlalchemy as sql from sqlalchemy.orm import Session diff --git a/keystone/common/sql/migrate_repo/versions/044_service_enabled.py b/keystone/common/sql/migrate_repo/versions/044_service_enabled.py index ad72184a42..e76ba10b94 100644 --- a/keystone/common/sql/migrate_repo/versions/044_service_enabled.py +++ b/keystone/common/sql/migrate_repo/versions/044_service_enabled.py @@ -29,7 +29,7 @@ column. """ from oslo.serialization import jsonutils -from oslo.utils import strutils +from oslo_utils import strutils import sqlalchemy as sql from sqlalchemy.orm import sessionmaker diff --git a/keystone/common/sql/migration_helpers.py b/keystone/common/sql/migration_helpers.py index 4933297979..24a31501b8 100644 --- a/keystone/common/sql/migration_helpers.py +++ b/keystone/common/sql/migration_helpers.py @@ -21,7 +21,7 @@ import migrate from migrate import exceptions from oslo.db.sqlalchemy import migration from oslo.serialization import jsonutils -from oslo.utils import importutils +from oslo_utils import importutils import six import sqlalchemy diff --git a/keystone/common/utils.py b/keystone/common/utils.py index 289f72318c..7f15e66335 100644 --- a/keystone/common/utils.py +++ b/keystone/common/utils.py @@ -24,7 +24,7 @@ import os import pwd from oslo.serialization import jsonutils -from oslo.utils import strutils +from oslo_utils import strutils import passlib.hash import six from six import moves diff --git a/keystone/common/wsgi.py b/keystone/common/wsgi.py index a55461aea8..a9db943253 100644 --- a/keystone/common/wsgi.py +++ b/keystone/common/wsgi.py @@ -22,8 +22,8 @@ import copy from oslo import i18n from oslo.serialization import jsonutils -from oslo.utils import importutils -from oslo.utils import strutils +from oslo_utils import importutils +from oslo_utils import strutils import routes.middleware import six import webob.dec diff --git a/keystone/contrib/federation/idp.py b/keystone/contrib/federation/idp.py index bb60910c25..21786b64c7 100644 --- a/keystone/contrib/federation/idp.py +++ b/keystone/contrib/federation/idp.py @@ -15,7 +15,7 @@ import os import subprocess import uuid -from oslo.utils import timeutils +from oslo_utils import timeutils import saml2 from saml2 import md from saml2 import saml diff --git a/keystone/contrib/federation/utils.py b/keystone/contrib/federation/utils.py index fae55a750e..b79d590742 100644 --- a/keystone/contrib/federation/utils.py +++ b/keystone/contrib/federation/utils.py @@ -15,7 +15,7 @@ import re import jsonschema -from oslo.utils import timeutils +from oslo_utils import timeutils import six from keystone.common import config diff --git a/keystone/contrib/oauth1/backends/sql.py b/keystone/contrib/oauth1/backends/sql.py index 0da772864b..069c2bd59d 100644 --- a/keystone/contrib/oauth1/backends/sql.py +++ b/keystone/contrib/oauth1/backends/sql.py @@ -17,7 +17,7 @@ import random import uuid from oslo.serialization import jsonutils -from oslo.utils import timeutils +from oslo_utils import timeutils import six from keystone.common import sql diff --git a/keystone/contrib/oauth1/controllers.py b/keystone/contrib/oauth1/controllers.py index e77f3412be..0e2f90b256 100644 --- a/keystone/contrib/oauth1/controllers.py +++ b/keystone/contrib/oauth1/controllers.py @@ -15,7 +15,7 @@ """Extensions supporting OAuth1.""" from oslo.serialization import jsonutils -from oslo.utils import timeutils +from oslo_utils import timeutils from keystone.common import controller from keystone.common import dependency diff --git a/keystone/contrib/revoke/backends/kvs.py b/keystone/contrib/revoke/backends/kvs.py index 2d7a47866a..42250b5878 100644 --- a/keystone/contrib/revoke/backends/kvs.py +++ b/keystone/contrib/revoke/backends/kvs.py @@ -12,7 +12,7 @@ import datetime -from oslo.utils import timeutils +from oslo_utils import timeutils from keystone.common import kvs from keystone import config diff --git a/keystone/contrib/revoke/controllers.py b/keystone/contrib/revoke/controllers.py index 8667935ce1..80863aa2f7 100644 --- a/keystone/contrib/revoke/controllers.py +++ b/keystone/contrib/revoke/controllers.py @@ -10,7 +10,7 @@ # License for the specific language governing permissions and limitations # under the License. -from oslo.utils import timeutils +from oslo_utils import timeutils from keystone.common import controller from keystone.common import dependency diff --git a/keystone/contrib/revoke/core.py b/keystone/contrib/revoke/core.py index 295a6e127d..4149144635 100644 --- a/keystone/contrib/revoke/core.py +++ b/keystone/contrib/revoke/core.py @@ -13,7 +13,7 @@ import abc import datetime -from oslo.utils import timeutils +from oslo_utils import timeutils import six from keystone.common import cache diff --git a/keystone/contrib/revoke/model.py b/keystone/contrib/revoke/model.py index e848e4d731..8d4854516f 100644 --- a/keystone/contrib/revoke/model.py +++ b/keystone/contrib/revoke/model.py @@ -10,7 +10,7 @@ # License for the specific language governing permissions and limitations # under the License. -from oslo.utils import timeutils +from oslo_utils import timeutils # The set of attributes common between the RevokeEvent diff --git a/keystone/exception.py b/keystone/exception.py index 59355ffe85..eb933e8913 100644 --- a/keystone/exception.py +++ b/keystone/exception.py @@ -12,7 +12,7 @@ # License for the specific language governing permissions and limitations # under the License. -from oslo.utils import encodeutils +from oslo_utils import encodeutils import six from keystone.common import config diff --git a/keystone/hacking/checks.py b/keystone/hacking/checks.py index 597b1f7d73..34802e599b 100644 --- a/keystone/hacking/checks.py +++ b/keystone/hacking/checks.py @@ -24,6 +24,7 @@ please see pep8.py. """ import ast +import re import six @@ -396,8 +397,21 @@ class CheckForLoggingIssues(BaseASTChecker): return False +def check_oslo_namespace_imports(logical_line, blank_before, filename): + oslo_namespace_imports = re.compile( + r"(((from)|(import))\s+oslo\.utils)|" + "(from\s+oslo\s+import\s+utils)") + + if re.match(oslo_namespace_imports, logical_line): + msg = ("K333: '%s' must be used instead of '%s'.") % ( + logical_line.replace('oslo.', 'oslo_'), + logical_line) + yield(0, msg) + + def factory(register): register(CheckForMutableDefaultArgs) register(block_comments_begin_with_a_space) register(CheckForAssertingNoneEquality) register(CheckForLoggingIssues) + register(check_oslo_namespace_imports) diff --git a/keystone/identity/core.py b/keystone/identity/core.py index 509a8904a4..a15d432d26 100644 --- a/keystone/identity/core.py +++ b/keystone/identity/core.py @@ -20,7 +20,7 @@ import os import uuid from oslo.config import cfg -from oslo.utils import importutils +from oslo_utils import importutils import six from keystone import clean diff --git a/keystone/models/token_model.py b/keystone/models/token_model.py index 6893b37f02..a52ca3b30f 100644 --- a/keystone/models/token_model.py +++ b/keystone/models/token_model.py @@ -13,7 +13,7 @@ """Unified in-memory token model.""" from keystoneclient.common import cms -from oslo.utils import timeutils +from oslo_utils import timeutils import six from keystone.common import config diff --git a/keystone/tests/ksfixtures/hacking.py b/keystone/tests/ksfixtures/hacking.py index 2e9f209574..cb19330214 100644 --- a/keystone/tests/ksfixtures/hacking.py +++ b/keystone/tests/ksfixtures/hacking.py @@ -179,6 +179,24 @@ class HackingCode(fixtures.Fixture): ] } + oslo_namespace_imports = { + 'code': """ + import oslo.utils + import oslo_utils + import oslo.utils.encodeutils + import oslo_utils.encodeutils + from oslo import utils + from oslo.utils import encodeutils + from oslo_utils import encodeutils + """, + 'expected_errors': [ + (1, 0, 'K333'), + (3, 0, 'K333'), + (5, 0, 'K333'), + (6, 0, 'K333'), + ], + } + class HackingLogging(fixtures.Fixture): diff --git a/keystone/tests/test_auth.py b/keystone/tests/test_auth.py index ba61c19cb8..cf7912e217 100644 --- a/keystone/tests/test_auth.py +++ b/keystone/tests/test_auth.py @@ -17,7 +17,7 @@ import datetime import uuid import mock -from oslo.utils import timeutils +from oslo_utils import timeutils from testtools import matchers from keystone import assignment diff --git a/keystone/tests/test_backend.py b/keystone/tests/test_backend.py index 013b3927f5..78d1091825 100644 --- a/keystone/tests/test_backend.py +++ b/keystone/tests/test_backend.py @@ -19,7 +19,7 @@ import uuid from keystoneclient.common import cms import mock -from oslo.utils import timeutils +from oslo_utils import timeutils import six from testtools import matchers diff --git a/keystone/tests/test_backend_kvs.py b/keystone/tests/test_backend_kvs.py index 978190cbac..687241dce8 100644 --- a/keystone/tests/test_backend_kvs.py +++ b/keystone/tests/test_backend_kvs.py @@ -14,7 +14,7 @@ import datetime import uuid -from oslo.utils import timeutils +from oslo_utils import timeutils import six from keystone import config diff --git a/keystone/tests/test_keystoneclient.py b/keystone/tests/test_keystoneclient.py index 6cb791f7ec..e3f4197675 100644 --- a/keystone/tests/test_keystoneclient.py +++ b/keystone/tests/test_keystoneclient.py @@ -19,7 +19,7 @@ from keystoneclient import exceptions as client_exceptions from keystoneclient.v2_0 import client as ks_client import mock from oslo.serialization import jsonutils -from oslo.utils import timeutils +from oslo_utils import timeutils import webob from keystone import config diff --git a/keystone/tests/test_revoke.py b/keystone/tests/test_revoke.py index ce9c77d1ac..4f6b0dbba4 100644 --- a/keystone/tests/test_revoke.py +++ b/keystone/tests/test_revoke.py @@ -15,7 +15,7 @@ import datetime import uuid import mock -from oslo.utils import timeutils +from oslo_utils import timeutils from testtools import matchers from keystone.contrib import revoke diff --git a/keystone/tests/test_token_provider.py b/keystone/tests/test_token_provider.py index fde9bbc9fa..439533ebd3 100644 --- a/keystone/tests/test_token_provider.py +++ b/keystone/tests/test_token_provider.py @@ -14,7 +14,7 @@ import datetime -from oslo.utils import timeutils +from oslo_utils import timeutils from keystone import config from keystone import exception diff --git a/keystone/tests/test_v3.py b/keystone/tests/test_v3.py index c0efb29d69..8185b915d1 100644 --- a/keystone/tests/test_v3.py +++ b/keystone/tests/test_v3.py @@ -16,7 +16,7 @@ import datetime import uuid from oslo.serialization import jsonutils -from oslo.utils import timeutils +from oslo_utils import timeutils import six from testtools import matchers diff --git a/keystone/tests/test_v3_auth.py b/keystone/tests/test_v3_auth.py index 45a2fd1382..e75127683c 100644 --- a/keystone/tests/test_v3_auth.py +++ b/keystone/tests/test_v3_auth.py @@ -20,7 +20,7 @@ import uuid from keystoneclient.common import cms import mock -from oslo.utils import timeutils +from oslo_utils import timeutils import six from testtools import matchers from testtools import testcase diff --git a/keystone/tests/test_v3_os_revoke.py b/keystone/tests/test_v3_os_revoke.py index 92d0b5730e..0d6d799c6a 100644 --- a/keystone/tests/test_v3_os_revoke.py +++ b/keystone/tests/test_v3_os_revoke.py @@ -13,7 +13,7 @@ import datetime import uuid -from oslo.utils import timeutils +from oslo_utils import timeutils import six from testtools import matchers diff --git a/keystone/tests/unit/test_hacking_checks.py b/keystone/tests/unit/test_hacking_checks.py index 48d172ce0e..89cb231e54 100644 --- a/keystone/tests/unit/test_hacking_checks.py +++ b/keystone/tests/unit/test_hacking_checks.py @@ -120,3 +120,13 @@ class TestCheckForNonDebugLoggingIssues(BaseStyleCheck): actual_errors = [(e[0] - import_lines, e[1], e[2]) for e in actual_errors] self.assertEqual(expected_errors or [], actual_errors) + + +class TestCheckOsloNamespaceImports(BaseStyleCheck): + def get_checker(self): + return checks.check_oslo_namespace_imports + + def test(self): + code = self.code_ex.oslo_namespace_imports['code'] + errors = self.code_ex.oslo_namespace_imports['expected_errors'] + self.assert_has_errors(code, expected_errors=errors) diff --git a/keystone/tests/unit/token/test_token_model.py b/keystone/tests/unit/token/test_token_model.py index 46c778dd9c..d9118cf605 100644 --- a/keystone/tests/unit/token/test_token_model.py +++ b/keystone/tests/unit/token/test_token_model.py @@ -13,7 +13,7 @@ import copy import uuid -from oslo.utils import timeutils +from oslo_utils import timeutils from keystone.common import config from keystone import exception diff --git a/keystone/token/controllers.py b/keystone/token/controllers.py index 3fabd0be13..24326dee1d 100644 --- a/keystone/token/controllers.py +++ b/keystone/token/controllers.py @@ -17,7 +17,7 @@ import sys from keystoneclient.common import cms from oslo.serialization import jsonutils -from oslo.utils import timeutils +from oslo_utils import timeutils import six from keystone.common import controller diff --git a/keystone/token/persistence/backends/kvs.py b/keystone/token/persistence/backends/kvs.py index 5f4750e83d..325edadef1 100644 --- a/keystone/token/persistence/backends/kvs.py +++ b/keystone/token/persistence/backends/kvs.py @@ -16,7 +16,7 @@ from __future__ import absolute_import import copy -from oslo.utils import timeutils +from oslo_utils import timeutils import six from keystone.common import kvs diff --git a/keystone/token/persistence/backends/sql.py b/keystone/token/persistence/backends/sql.py index d9dbd91d51..0aa5b20848 100644 --- a/keystone/token/persistence/backends/sql.py +++ b/keystone/token/persistence/backends/sql.py @@ -15,7 +15,7 @@ import copy import functools -from oslo.utils import timeutils +from oslo_utils import timeutils from keystone.common import sql from keystone import config diff --git a/keystone/token/persistence/core.py b/keystone/token/persistence/core.py index 84d430357f..d0c341d60f 100644 --- a/keystone/token/persistence/core.py +++ b/keystone/token/persistence/core.py @@ -17,7 +17,7 @@ import abc import copy -from oslo.utils import timeutils +from oslo_utils import timeutils import six from keystone.common import cache diff --git a/keystone/token/provider.py b/keystone/token/provider.py index c7186d9b7b..1fa2d08984 100644 --- a/keystone/token/provider.py +++ b/keystone/token/provider.py @@ -21,7 +21,7 @@ import sys import uuid from keystoneclient.common import cms -from oslo.utils import timeutils +from oslo_utils import timeutils import six from keystone.common import cache diff --git a/keystone/token/providers/common.py b/keystone/token/providers/common.py index 6883ecbba9..e590ca50d1 100644 --- a/keystone/token/providers/common.py +++ b/keystone/token/providers/common.py @@ -13,7 +13,7 @@ # under the License. from oslo.serialization import jsonutils -from oslo.utils import timeutils +from oslo_utils import timeutils import six from six.moves.urllib import parse diff --git a/keystone/trust/backends/sql.py b/keystone/trust/backends/sql.py index d5c564591c..ef826862d5 100644 --- a/keystone/trust/backends/sql.py +++ b/keystone/trust/backends/sql.py @@ -14,7 +14,7 @@ import time -from oslo.utils import timeutils +from oslo_utils import timeutils from keystone.common import sql from keystone import exception diff --git a/keystone/trust/controllers.py b/keystone/trust/controllers.py index 1aec797aba..2fa4f8fff6 100644 --- a/keystone/trust/controllers.py +++ b/keystone/trust/controllers.py @@ -14,7 +14,7 @@ import uuid -from oslo.utils import timeutils +from oslo_utils import timeutils import six from keystone import assignment