diff --git a/glance/api/common.py b/glance/api/common.py index 83bcbf9e4b..58af57c619 100644 --- a/glance/api/common.py +++ b/glance/api/common.py @@ -16,12 +16,12 @@ import re from oslo.config import cfg +from oslo.utils import excutils +from oslo.utils import units from glance.common import exception -from glance.openstack.common import excutils from glance.openstack.common import gettextutils from glance.openstack.common import log as logging -from glance.openstack.common import units LOG = logging.getLogger(__name__) _LE = gettextutils._LE diff --git a/glance/api/v1/images.py b/glance/api/v1/images.py index 2cc2cf23d1..66e5ba54eb 100644 --- a/glance/api/v1/images.py +++ b/glance/api/v1/images.py @@ -23,6 +23,8 @@ import eventlet import glance_store as store import glance_store.location from oslo.config import cfg +from oslo.utils import excutils +from oslo.utils import strutils import six.moves.urllib.parse as urlparse from webob.exc import HTTPBadRequest from webob.exc import HTTPConflict @@ -44,10 +46,8 @@ from glance.common import utils from glance.common import wsgi from glance.i18n import _LE from glance import notifier -from glance.openstack.common import excutils from glance.openstack.common import gettextutils import glance.openstack.common.log as logging -from glance.openstack.common import strutils import glance.registry.client.v1.api as registry LOG = logging.getLogger(__name__) diff --git a/glance/api/v1/upload_utils.py b/glance/api/v1/upload_utils.py index e2c510f13b..d40248c955 100644 --- a/glance/api/v1/upload_utils.py +++ b/glance/api/v1/upload_utils.py @@ -14,13 +14,13 @@ # under the License. import glance_store as store_api from oslo.config import cfg +from oslo.utils import excutils import webob.exc from glance.common import exception from glance.common import store_utils from glance.common import utils import glance.db -from glance.openstack.common import excutils from glance.openstack.common import gettextutils import glance.openstack.common.log as logging import glance.registry.client.v1.api as registry diff --git a/glance/api/v2/image_data.py b/glance/api/v2/image_data.py index 707bb0c711..9288f0fa4f 100644 --- a/glance/api/v2/image_data.py +++ b/glance/api/v2/image_data.py @@ -13,6 +13,7 @@ # License for the specific language governing permissions and limitations # under the License. import glance_store +from oslo.utils import excutils import webob.exc import glance.api.policy @@ -22,7 +23,6 @@ from glance.common import wsgi import glance.db import glance.gateway import glance.notifier -from glance.openstack.common import excutils from glance.openstack.common import gettextutils import glance.openstack.common.log as logging diff --git a/glance/api/v2/image_members.py b/glance/api/v2/image_members.py index af4a8e16e8..2e7a117715 100644 --- a/glance/api/v2/image_members.py +++ b/glance/api/v2/image_members.py @@ -16,6 +16,7 @@ import copy import glance_store +from oslo.utils import timeutils import six import webob @@ -27,7 +28,6 @@ import glance.db import glance.gateway import glance.notifier from glance.openstack.common import jsonutils -from glance.openstack.common import timeutils import glance.schema diff --git a/glance/api/v2/images.py b/glance/api/v2/images.py index 9c67062543..367c8b806d 100644 --- a/glance/api/v2/images.py +++ b/glance/api/v2/images.py @@ -17,6 +17,7 @@ import re import glance_store from oslo.config import cfg +from oslo.utils import timeutils import six import six.moves.urllib.parse as urlparse import webob.exc @@ -32,7 +33,6 @@ import glance.notifier from glance.openstack.common import gettextutils from glance.openstack.common import jsonutils as json import glance.openstack.common.log as logging -from glance.openstack.common import timeutils import glance.schema LOG = logging.getLogger(__name__) diff --git a/glance/api/v2/model/metadef_namespace.py b/glance/api/v2/model/metadef_namespace.py index 92676b7917..5a39e1987b 100644 --- a/glance/api/v2/model/metadef_namespace.py +++ b/glance/api/v2/model/metadef_namespace.py @@ -35,7 +35,7 @@ class Namespace(types.Base, WSMEModelTransformer): owner = wsme.wsattr(types.text, mandatory=False) # Not using datetime since time format has to be - # in glance.openstack.common.timeutils.isotime() format + # in oslo.utils.timeutils.isotime() format created_at = wsme.wsattr(types.text, mandatory=False) updated_at = wsme.wsattr(types.text, mandatory=False) diff --git a/glance/api/v2/model/metadef_object.py b/glance/api/v2/model/metadef_object.py index 06d3de2936..2e08084103 100644 --- a/glance/api/v2/model/metadef_object.py +++ b/glance/api/v2/model/metadef_object.py @@ -28,7 +28,7 @@ class MetadefObject(types.Base, WSMEModelTransformer): properties = wsme.wsattr({types.text: PropertyType}, mandatory=False) # Not using datetime since time format has to be - # in glance.openstack.common.timeutils.isotime() format + # in oslo.utils.timeutils.isotime() format created_at = wsme.wsattr(types.text, mandatory=False) updated_at = wsme.wsattr(types.text, mandatory=False) diff --git a/glance/api/v2/model/metadef_resource_type.py b/glance/api/v2/model/metadef_resource_type.py index c27c72a829..38cd325902 100644 --- a/glance/api/v2/model/metadef_resource_type.py +++ b/glance/api/v2/model/metadef_resource_type.py @@ -25,7 +25,7 @@ class ResourceTypeAssociation(types.Base, WSMEModelTransformer): properties_target = wsme.wsattr(types.text, mandatory=False) # Not using datetime since time format has to be - # in glance.openstack.common.timeutils.isotime() format + # in oslo.utils.timeutils.isotime() format created_at = wsme.wsattr(types.text, mandatory=False) updated_at = wsme.wsattr(types.text, mandatory=False) @@ -46,7 +46,7 @@ class ResourceType(types.Base, WSMEModelTransformer): name = wsme.wsattr(types.text, mandatory=True) # Not using datetime since time format has to be - # in glance.openstack.common.timeutils.isotime() format + # in oslo.utils.timeutils.isotime() format created_at = wsme.wsattr(types.text, mandatory=False) updated_at = wsme.wsattr(types.text, mandatory=False) diff --git a/glance/api/v2/tasks.py b/glance/api/v2/tasks.py index 909eb57746..225567dda1 100644 --- a/glance/api/v2/tasks.py +++ b/glance/api/v2/tasks.py @@ -18,6 +18,7 @@ import copy import glance_store from oslo.config import cfg +from oslo.utils import timeutils import six import six.moves.urllib.parse as urlparse import webob.exc @@ -32,7 +33,6 @@ import glance.notifier from glance.openstack.common import gettextutils import glance.openstack.common.jsonutils as json import glance.openstack.common.log as logging -from glance.openstack.common import timeutils import glance.schema LOG = logging.getLogger(__name__) diff --git a/glance/cmd/cache_manage.py b/glance/cmd/cache_manage.py index 762f0cb14d..3215c874b4 100755 --- a/glance/cmd/cache_manage.py +++ b/glance/cmd/cache_manage.py @@ -26,6 +26,8 @@ import os import sys import time +from oslo.utils import timeutils + from glance.common import utils # If ../glance/__init__.py exists, add ../ to Python search path, so that @@ -38,7 +40,6 @@ if os.path.exists(os.path.join(possible_topdir, 'glance', '__init__.py')): from glance.common import exception import glance.image_cache.client -from glance.openstack.common import timeutils from glance.version import version_info as version diff --git a/glance/cmd/control.py b/glance/cmd/control.py index 7e5a249d0e..3527f4542d 100644 --- a/glance/cmd/control.py +++ b/glance/cmd/control.py @@ -40,10 +40,10 @@ if os.path.exists(os.path.join(possible_topdir, 'glance', '__init__.py')): sys.path.insert(0, possible_topdir) from oslo.config import cfg +from oslo.utils import units from six.moves import xrange from glance.common import config -from glance.openstack.common import units CONF = cfg.CONF diff --git a/glance/cmd/manage.py b/glance/cmd/manage.py index 41a1567149..198189627a 100755 --- a/glance/cmd/manage.py +++ b/glance/cmd/manage.py @@ -40,6 +40,7 @@ if os.path.exists(os.path.join(possible_topdir, 'glance', '__init__.py')): from oslo.config import cfg from oslo.db.sqlalchemy import migration +from oslo.utils import encodeutils from glance.common import config from glance.common import exception @@ -49,7 +50,6 @@ from glance.db.sqlalchemy import api as db_api from glance.db.sqlalchemy import metadata from glance.openstack.common import gettextutils from glance.openstack.common import log -from glance.openstack.common import strutils CONF = cfg.CONF @@ -283,9 +283,9 @@ def main(): v = getattr(CONF.command, 'action_kwarg_' + k) if v is None: continue - func_kwargs[k] = strutils.safe_decode(v) + func_kwargs[k] = encodeutils.safe_decode(v) - func_args = [strutils.safe_decode(arg) + func_args = [encodeutils.safe_decode(arg) for arg in CONF.command.action_args] return CONF.command.action_fn(*func_args, **func_kwargs) except exception.GlanceException as e: diff --git a/glance/common/client.py b/glance/common/client.py index ca173a6726..54b494a7f2 100644 --- a/glance/common/client.py +++ b/glance/common/client.py @@ -40,6 +40,7 @@ try: except ImportError: SENDFILE_SUPPORTED = False +from oslo.utils import encodeutils import six import six.moves.urllib.parse as urlparse from six.moves import xrange @@ -48,7 +49,6 @@ from glance.common import auth from glance.common import exception from glance.common import utils import glance.openstack.common.log as logging -from glance.openstack.common import strutils LOG = logging.getLogger(__name__) @@ -403,7 +403,7 @@ class BaseClient(object): continue if not isinstance(value, six.string_types): value = str(value) - params[key] = strutils.safe_encode(value) + params[key] = encodeutils.safe_encode(value) query = urlparse.urlencode(params) else: query = None @@ -424,7 +424,7 @@ class BaseClient(object): :returns: Dictionary with encoded headers' names and values """ - to_str = strutils.safe_encode + to_str = encodeutils.safe_encode return dict([(to_str(h), to_str(v)) for h, v in six.iteritems(headers)]) diff --git a/glance/common/rpc.py b/glance/common/rpc.py index 66e145532c..0ed1b7277c 100644 --- a/glance/common/rpc.py +++ b/glance/common/rpc.py @@ -20,6 +20,8 @@ import datetime import traceback from oslo.config import cfg +import oslo.utils.importutils as imp +from oslo.utils import timeutils import six from webob import exc @@ -27,9 +29,7 @@ from glance.common import client from glance.common import exception from glance.common import utils from glance.common import wsgi -import glance.openstack.common.importutils as imp import glance.openstack.common.log as logging -from glance.openstack.common import timeutils LOG = logging.getLogger(__name__) diff --git a/glance/common/scripts/image_import/main.py b/glance/common/scripts/image_import/main.py index 4ff162a70a..52f42e69bb 100644 --- a/glance/common/scripts/image_import/main.py +++ b/glance/common/scripts/image_import/main.py @@ -17,6 +17,7 @@ __all__ = [ 'run', ] +from oslo.utils import excutils import six from glance.api.v2 import images as v2_api @@ -24,7 +25,6 @@ from glance.common import exception from glance.common.scripts import utils as script_utils from glance.common import utils as common_utils from glance import i18n -from glance.openstack.common import excutils from glance.openstack.common import lockutils import glance.openstack.common.log as logging diff --git a/glance/common/utils.py b/glance/common/utils.py index a0628fcaad..2e532cb1f9 100644 --- a/glance/common/utils.py +++ b/glance/common/utils.py @@ -38,14 +38,15 @@ import uuid import netaddr from OpenSSL import crypto from oslo.config import cfg +from oslo.utils import encodeutils +from oslo.utils import excutils +from oslo.utils import netutils +from oslo.utils import strutils import six from webob import exc from glance.common import exception -from glance.openstack.common import excutils import glance.openstack.common.log as logging -from glance.openstack.common import network_utils -from glance.openstack.common import strutils CONF = cfg.CONF @@ -622,7 +623,7 @@ def parse_valid_host_port(host_port): try: try: - host, port = network_utils.parse_host_port(host_port) + host, port = netutils.parse_host_port(host_port) except Exception: raise ValueError(_('Host and port "%s" is not valid.') % host_port) @@ -658,4 +659,4 @@ def exception_to_str(exc): except UnicodeError: error = ("Caught '%(exception)s' exception." % {"exception": exc.__class__.__name__}) - return strutils.safe_encode(error, errors='ignore') + return encodeutils.safe_encode(error, errors='ignore') diff --git a/glance/common/wsme_utils.py b/glance/common/wsme_utils.py index cd79fc59b3..010606341f 100644 --- a/glance/common/wsme_utils.py +++ b/glance/common/wsme_utils.py @@ -14,10 +14,9 @@ from datetime import datetime +from oslo.utils import timeutils from wsme import types as wsme_types -from glance.openstack.common import timeutils - class WSMEModelTransformer(): diff --git a/glance/db/__init__.py b/glance/db/__init__.py index f6e402b5ce..3de100a07d 100644 --- a/glance/db/__init__.py +++ b/glance/db/__init__.py @@ -17,6 +17,7 @@ # under the License. from oslo.config import cfg +from oslo.utils import importutils from wsme.rest.json import fromjson from wsme.rest.json import tojson @@ -26,7 +27,6 @@ from glance.common import exception from glance.common import location_strategy import glance.domain import glance.domain.proxy -from glance.openstack.common import importutils from glance.openstack.common import jsonutils as json CONF = cfg.CONF diff --git a/glance/db/simple/api.py b/glance/db/simple/api.py index 340c72c4a8..6c164a3b6e 100644 --- a/glance/db/simple/api.py +++ b/glance/db/simple/api.py @@ -18,11 +18,11 @@ import copy import functools import uuid +from oslo.utils import timeutils import six from glance.common import exception import glance.openstack.common.log as logging -from glance.openstack.common import timeutils LOG = logging.getLogger(__name__) diff --git a/glance/db/sqlalchemy/api.py b/glance/db/sqlalchemy/api.py index 52d0e21b2d..caef406531 100644 --- a/glance/db/sqlalchemy/api.py +++ b/glance/db/sqlalchemy/api.py @@ -25,6 +25,7 @@ import threading from oslo.config import cfg from oslo.db import exception as db_exception from oslo.db.sqlalchemy import session +from oslo.utils import timeutils import osprofiler.sqlalchemy from retrying import retry import six @@ -44,7 +45,6 @@ from glance.db.sqlalchemy.metadef_api\ from glance.db.sqlalchemy import models from glance import i18n import glance.openstack.common.log as os_logging -from glance.openstack.common import timeutils BASE = models.BASE sa_logger = None diff --git a/glance/db/sqlalchemy/metadata.py b/glance/db/sqlalchemy/metadata.py index dd934b3896..6e2dddab2b 100644 --- a/glance/db/sqlalchemy/metadata.py +++ b/glance/db/sqlalchemy/metadata.py @@ -24,6 +24,7 @@ from os.path import join import re from oslo.config import cfg +from oslo.utils import timeutils import six import sqlalchemy from sqlalchemy.schema import MetaData @@ -31,7 +32,6 @@ from sqlalchemy.schema import MetaData from glance.common import utils from glance import i18n import glance.openstack.common.log as logging -from glance.openstack.common import timeutils LOG = logging.getLogger(__name__) _LE = i18n._LE diff --git a/glance/db/sqlalchemy/migrate_repo/versions/035_add_metadef_tables.py b/glance/db/sqlalchemy/migrate_repo/versions/035_add_metadef_tables.py index 44b58aa598..6cc69ba245 100644 --- a/glance/db/sqlalchemy/migrate_repo/versions/035_add_metadef_tables.py +++ b/glance/db/sqlalchemy/migrate_repo/versions/035_add_metadef_tables.py @@ -12,6 +12,7 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo.utils import timeutils import sqlalchemy from sqlalchemy.schema import ( Column, ForeignKey, Index, MetaData, Table, UniqueConstraint) # noqa @@ -19,7 +20,6 @@ from sqlalchemy.schema import ( from glance.db.sqlalchemy.migrate_repo.schema import ( Boolean, DateTime, Integer, String, Text, create_tables, drop_tables) # noqa -from glance.openstack.common import timeutils RESOURCE_TYPES = [u'OS::Glance::Image', u'OS::Cinder::Volume', diff --git a/glance/db/sqlalchemy/models.py b/glance/db/sqlalchemy/models.py index 696277b107..5c159a2a61 100644 --- a/glance/db/sqlalchemy/models.py +++ b/glance/db/sqlalchemy/models.py @@ -21,6 +21,7 @@ SQLAlchemy models for glance data import uuid from oslo.db.sqlalchemy import models +from oslo.utils import timeutils from sqlalchemy import BigInteger from sqlalchemy import Boolean from sqlalchemy import Column @@ -37,7 +38,6 @@ from sqlalchemy.types import TypeDecorator from sqlalchemy import UniqueConstraint from glance.openstack.common import jsonutils -from glance.openstack.common import timeutils BASE = declarative_base() diff --git a/glance/db/sqlalchemy/models_metadef.py b/glance/db/sqlalchemy/models_metadef.py index a01946129c..9c6b9547ab 100644 --- a/glance/db/sqlalchemy/models_metadef.py +++ b/glance/db/sqlalchemy/models_metadef.py @@ -17,6 +17,7 @@ SQLAlchemy models for glance metadata schema """ from oslo.db.sqlalchemy import models +from oslo.utils import timeutils from sqlalchemy import Boolean from sqlalchemy import Column from sqlalchemy import DateTime @@ -28,8 +29,6 @@ from sqlalchemy.orm import relationship from sqlalchemy import String from sqlalchemy import Text -from glance.openstack.common import timeutils - class DictionaryBase(models.ModelBase): metadata = None diff --git a/glance/domain/__init__.py b/glance/domain/__init__.py index d7e65b2907..fa4513dc32 100644 --- a/glance/domain/__init__.py +++ b/glance/domain/__init__.py @@ -19,14 +19,14 @@ import datetime import uuid from oslo.config import cfg +from oslo.utils import excutils +from oslo.utils import importutils +from oslo.utils import timeutils import six from glance.common import exception from glance import i18n -from glance.openstack.common import excutils -from glance.openstack.common import importutils import glance.openstack.common.log as logging -from glance.openstack.common import timeutils _LE = i18n._LE LOG = logging.getLogger(__name__) diff --git a/glance/image_cache/__init__.py b/glance/image_cache/__init__.py index 30fc3b4ae3..8471b67ad3 100644 --- a/glance/image_cache/__init__.py +++ b/glance/image_cache/__init__.py @@ -20,14 +20,14 @@ LRU Cache for Image Data import hashlib from oslo.config import cfg +from oslo.utils import excutils +from oslo.utils import importutils +from oslo.utils import units from glance.common import exception from glance.common import utils -from glance.openstack.common import excutils from glance.openstack.common import gettextutils -from glance.openstack.common import importutils import glance.openstack.common.log as logging -from glance.openstack.common import units LOG = logging.getLogger(__name__) _LE = gettextutils._LE diff --git a/glance/image_cache/drivers/sqlite.py b/glance/image_cache/drivers/sqlite.py index 261b65043a..6d5a6b983f 100644 --- a/glance/image_cache/drivers/sqlite.py +++ b/glance/image_cache/drivers/sqlite.py @@ -27,10 +27,10 @@ import time from eventlet import sleep from eventlet import timeout from oslo.config import cfg +from oslo.utils import excutils from glance.common import exception from glance.image_cache.drivers import base -from glance.openstack.common import excutils from glance.openstack.common import gettextutils import glance.openstack.common.log as logging diff --git a/glance/image_cache/drivers/xattr.py b/glance/image_cache/drivers/xattr.py index b13056ffd6..f0e647c6aa 100644 --- a/glance/image_cache/drivers/xattr.py +++ b/glance/image_cache/drivers/xattr.py @@ -59,12 +59,12 @@ import stat import time from oslo.config import cfg +from oslo.utils import excutils import xattr from glance.common import exception from glance.common import utils from glance.image_cache.drivers import base -from glance.openstack.common import excutils from glance.openstack.common import gettextutils import glance.openstack.common.log as logging diff --git a/glance/location.py b/glance/location.py index fcdba0a368..750b19fda7 100644 --- a/glance/location.py +++ b/glance/location.py @@ -18,11 +18,11 @@ import copy import glance_store as store from oslo.config import cfg +from oslo.utils import excutils from glance.common import exception from glance.common import utils import glance.domain.proxy -from glance.openstack.common import excutils from glance.openstack.common import gettextutils import glance.openstack.common.log as logging diff --git a/glance/notifier.py b/glance/notifier.py index f2efec9957..35342da6ff 100644 --- a/glance/notifier.py +++ b/glance/notifier.py @@ -17,14 +17,14 @@ import glance_store from oslo.config import cfg from oslo import messaging +from oslo.utils import excutils +from oslo.utils import timeutils import webob from glance.common import exception from glance.common import utils import glance.domain.proxy -from glance.openstack.common import excutils import glance.openstack.common.log as logging -from glance.openstack.common import timeutils notifier_opts = [ cfg.StrOpt('default_publisher_id', default="image.localhost", diff --git a/glance/openstack/common/network_utils.py b/glance/openstack/common/network_utils.py deleted file mode 100644 index 02f8f71d76..0000000000 --- a/glance/openstack/common/network_utils.py +++ /dev/null @@ -1,160 +0,0 @@ -# Copyright 2012 OpenStack Foundation. -# All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -""" -Network-related utilities and helper functions. -""" - -import socket - -from six.moves.urllib import parse - -from glance.openstack.common.gettextutils import _LW -from glance.openstack.common import log as logging - -LOG = logging.getLogger(__name__) - - -def parse_host_port(address, default_port=None): - """Interpret a string as a host:port pair. - - An IPv6 address MUST be escaped if accompanied by a port, - because otherwise ambiguity ensues: 2001:db8:85a3::8a2e:370:7334 - means both [2001:db8:85a3::8a2e:370:7334] and - [2001:db8:85a3::8a2e:370]:7334. - - >>> parse_host_port('server01:80') - ('server01', 80) - >>> parse_host_port('server01') - ('server01', None) - >>> parse_host_port('server01', default_port=1234) - ('server01', 1234) - >>> parse_host_port('[::1]:80') - ('::1', 80) - >>> parse_host_port('[::1]') - ('::1', None) - >>> parse_host_port('[::1]', default_port=1234) - ('::1', 1234) - >>> parse_host_port('2001:db8:85a3::8a2e:370:7334', default_port=1234) - ('2001:db8:85a3::8a2e:370:7334', 1234) - - """ - if address[0] == '[': - # Escaped ipv6 - _host, _port = address[1:].split(']') - host = _host - if ':' in _port: - port = _port.split(':')[1] - else: - port = default_port - else: - if address.count(':') == 1: - host, port = address.split(':') - else: - # 0 means ipv4, >1 means ipv6. - # We prohibit unescaped ipv6 addresses with port. - host = address - port = default_port - - return (host, None if port is None else int(port)) - - -class ModifiedSplitResult(parse.SplitResult): - """Split results class for urlsplit.""" - - # NOTE(dims): The functions below are needed for Python 2.6.x. - # We can remove these when we drop support for 2.6.x. - @property - def hostname(self): - netloc = self.netloc.split('@', 1)[-1] - host, port = parse_host_port(netloc) - return host - - @property - def port(self): - netloc = self.netloc.split('@', 1)[-1] - host, port = parse_host_port(netloc) - return port - - -def urlsplit(url, scheme='', allow_fragments=True): - """Parse a URL using urlparse.urlsplit(), splitting query and fragments. - This function papers over Python issue9374 when needed. - - The parameters are the same as urlparse.urlsplit. - """ - scheme, netloc, path, query, fragment = parse.urlsplit( - url, scheme, allow_fragments) - if allow_fragments and '#' in path: - path, fragment = path.split('#', 1) - if '?' in path: - path, query = path.split('?', 1) - return ModifiedSplitResult(scheme, netloc, - path, query, fragment) - - -def set_tcp_keepalive(sock, tcp_keepalive=True, - tcp_keepidle=None, - tcp_keepalive_interval=None, - tcp_keepalive_count=None): - """Set values for tcp keepalive parameters - - This function configures tcp keepalive parameters if users wish to do - so. - :param tcp_keepalive: Boolean, turn on or off tcp_keepalive. If users are - not sure, this should be True, and default values will be used. - - :param tcp_keepidle: time to wait before starting to send keepalive probes - - :param tcp_keepalive_interval: time between successive probes, once the - initial wait time is over - - :param tcp_keepalive_count: number of probes to send before the connection - is killed - """ - - # NOTE(praneshp): Despite keepalive being a tcp concept, the level is - # still SOL_SOCKET. This is a quirk. - if isinstance(tcp_keepalive, bool): - sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, tcp_keepalive) - else: - raise TypeError("tcp_keepalive must be a boolean") - - if not tcp_keepalive: - return - - # These options aren't available in the OS X version of eventlet, - # Idle + Count * Interval effectively gives you the total timeout. - if tcp_keepidle is not None: - if hasattr(socket, 'TCP_KEEPIDLE'): - sock.setsockopt(socket.IPPROTO_TCP, - socket.TCP_KEEPIDLE, - tcp_keepidle) - else: - LOG.warning(_LW('tcp_keepidle not available on your system')) - if tcp_keepalive_interval is not None: - if hasattr(socket, 'TCP_KEEPINTVL'): - sock.setsockopt(socket.IPPROTO_TCP, - socket.TCP_KEEPINTVL, - tcp_keepalive_interval) - else: - LOG.warning(_LW('tcp_keepintvl not available on your system')) - if tcp_keepalive_count is not None: - if hasattr(socket, 'TCP_KEEPCNT'): - sock.setsockopt(socket.IPPROTO_TCP, - socket.TCP_KEEPCNT, - tcp_keepalive_count) - else: - LOG.warning(_LW('tcp_keepknt not available on your system')) diff --git a/glance/openstack/common/units.py b/glance/openstack/common/units.py deleted file mode 100644 index 84b518ca8d..0000000000 --- a/glance/openstack/common/units.py +++ /dev/null @@ -1,38 +0,0 @@ -# Copyright 2013 IBM Corp -# 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. - -""" -Unit constants -""" - -#Binary unit constants. -Ki = 1024 -Mi = 1024 ** 2 -Gi = 1024 ** 3 -Ti = 1024 ** 4 -Pi = 1024 ** 5 -Ei = 1024 ** 6 -Zi = 1024 ** 7 -Yi = 1024 ** 8 - -#Decimal unit constants. -k = 1000 -M = 1000 ** 2 -G = 1000 ** 3 -T = 1000 ** 4 -P = 1000 ** 5 -E = 1000 ** 6 -Z = 1000 ** 7 -Y = 1000 ** 8 diff --git a/glance/quota/__init__.py b/glance/quota/__init__.py index 54c5be7ebb..31fea60c5b 100644 --- a/glance/quota/__init__.py +++ b/glance/quota/__init__.py @@ -16,6 +16,7 @@ import copy import glance_store as store from oslo.config import cfg +from oslo.utils import excutils import six import glance.api.common @@ -23,7 +24,6 @@ import glance.common.exception as exception from glance.common import utils import glance.domain import glance.domain.proxy -from glance.openstack.common import excutils from glance.openstack.common import gettextutils import glance.openstack.common.log as logging diff --git a/glance/registry/api/v1/images.py b/glance/registry/api/v1/images.py index abcf7a21a6..41a11a84f9 100644 --- a/glance/registry/api/v1/images.py +++ b/glance/registry/api/v1/images.py @@ -18,6 +18,8 @@ Reference implementation registry server WSGI controller """ from oslo.config import cfg +from oslo.utils import strutils +from oslo.utils import timeutils from webob import exc from glance.common import exception @@ -26,8 +28,6 @@ from glance.common import wsgi import glance.db from glance.openstack.common import gettextutils import glance.openstack.common.log as logging -from glance.openstack.common import strutils -from glance.openstack.common import timeutils LOG = logging.getLogger(__name__) diff --git a/glance/registry/client/v1/client.py b/glance/registry/client/v1/client.py index 471fdc020d..52487a8065 100644 --- a/glance/registry/client/v1/client.py +++ b/glance/registry/client/v1/client.py @@ -18,9 +18,10 @@ Simple client class to speak with any RESTful service that implements the Glance Registry API """ +from oslo.utils import excutils + from glance.common.client import BaseClient from glance.common import crypt -from glance.openstack.common import excutils from glance.openstack.common import gettextutils from glance.openstack.common import jsonutils import glance.openstack.common.log as logging diff --git a/glance/tests/functional/db/base.py b/glance/tests/functional/db/base.py index be082d9982..c73b2825cf 100644 --- a/glance/tests/functional/db/base.py +++ b/glance/tests/functional/db/base.py @@ -20,10 +20,10 @@ import datetime import uuid import mock +from oslo.utils import timeutils from glance.common import exception from glance import context -from glance.openstack.common import timeutils import glance.tests.functional.db as db_tests from glance.tests import utils as test_utils diff --git a/glance/tests/functional/store_utils.py b/glance/tests/functional/store_utils.py index 826de6c4b1..97592697da 100644 --- a/glance/tests/functional/store_utils.py +++ b/glance/tests/functional/store_utils.py @@ -23,7 +23,7 @@ from __future__ import print_function import BaseHTTPServer import threading -from glance.openstack.common import units +from oslo.utils import units FIVE_KB = 5 * units.Ki diff --git a/glance/tests/functional/test_bin_glance_cache_manage.py b/glance/tests/functional/test_bin_glance_cache_manage.py index 01780169b8..9ca5855e15 100644 --- a/glance/tests/functional/test_bin_glance_cache_manage.py +++ b/glance/tests/functional/test_bin_glance_cache_manage.py @@ -21,10 +21,10 @@ import os import sys import httplib2 +from oslo.utils import units from six.moves import xrange from glance.openstack.common import jsonutils -from glance.openstack.common import units from glance.tests import functional from glance.tests.utils import execute from glance.tests.utils import minimal_headers diff --git a/glance/tests/functional/test_cache_middleware.py b/glance/tests/functional/test_cache_middleware.py index 9bb4fb4f59..f95926b4cb 100644 --- a/glance/tests/functional/test_cache_middleware.py +++ b/glance/tests/functional/test_cache_middleware.py @@ -27,10 +27,10 @@ import sys import time import httplib2 +from oslo.utils import units from six.moves import xrange from glance.openstack.common import jsonutils -from glance.openstack.common import units from glance.tests import functional from glance.tests.functional.store_utils import get_http_uri from glance.tests.functional.store_utils import setup_http diff --git a/glance/tests/functional/test_scrubber.py b/glance/tests/functional/test_scrubber.py index ae4f9ee885..41521cf33a 100644 --- a/glance/tests/functional/test_scrubber.py +++ b/glance/tests/functional/test_scrubber.py @@ -19,11 +19,11 @@ import time import glance_store.location import httplib2 +from oslo.utils import units from six.moves import xrange from glance.common import crypt from glance.openstack.common import jsonutils -from glance.openstack.common import units from glance.tests import functional from glance.tests.utils import execute diff --git a/glance/tests/functional/v1/test_api.py b/glance/tests/functional/v1/test_api.py index 85452e3876..980e2be723 100644 --- a/glance/tests/functional/v1/test_api.py +++ b/glance/tests/functional/v1/test_api.py @@ -18,9 +18,9 @@ import hashlib import httplib2 +from oslo.utils import units from glance.openstack.common import jsonutils -from glance.openstack.common import units from glance.tests import functional from glance.tests.utils import minimal_headers from glance.tests.utils import skip_if_disabled diff --git a/glance/tests/functional/v1/test_copy_to_file.py b/glance/tests/functional/v1/test_copy_to_file.py index 3cf2f16c34..53fc3ecc3f 100644 --- a/glance/tests/functional/v1/test_copy_to_file.py +++ b/glance/tests/functional/v1/test_copy_to_file.py @@ -24,10 +24,10 @@ import tempfile import time import httplib2 +from oslo.utils import units from six.moves import xrange from glance.openstack.common import jsonutils -from glance.openstack.common import units from glance.tests import functional from glance.tests.functional.store_utils import get_http_uri from glance.tests.functional.store_utils import setup_http diff --git a/glance/tests/functional/v1/test_misc.py b/glance/tests/functional/v1/test_misc.py index 1ee4737373..0f61a78c05 100644 --- a/glance/tests/functional/v1/test_misc.py +++ b/glance/tests/functional/v1/test_misc.py @@ -16,9 +16,9 @@ import hashlib import os import httplib2 +from oslo.utils import units from glance.openstack.common import jsonutils -from glance.openstack.common import units from glance.tests import functional from glance.tests.utils import execute from glance.tests.utils import minimal_headers diff --git a/glance/tests/functional/v1/test_ssl.py b/glance/tests/functional/v1/test_ssl.py index 2633e9d7d6..be81637371 100644 --- a/glance/tests/functional/v1/test_ssl.py +++ b/glance/tests/functional/v1/test_ssl.py @@ -34,10 +34,10 @@ import tempfile import uuid import httplib2 +from oslo.utils import timeutils +from oslo.utils import units from glance.openstack.common import jsonutils -from glance.openstack.common import timeutils -from glance.openstack.common import units from glance.tests import functional from glance.tests.utils import minimal_headers from glance.tests.utils import skip_if_disabled diff --git a/glance/tests/integration/legacy_functional/test_v1_api.py b/glance/tests/integration/legacy_functional/test_v1_api.py index c9d1f12718..c1a413aae2 100644 --- a/glance/tests/integration/legacy_functional/test_v1_api.py +++ b/glance/tests/integration/legacy_functional/test_v1_api.py @@ -15,11 +15,11 @@ import hashlib import os import tempfile +from oslo.utils import timeutils +from oslo.utils import units import testtools from glance.openstack.common import jsonutils -from glance.openstack.common import timeutils -from glance.openstack.common import units from glance.tests.integration.legacy_functional import base from glance.tests.utils import minimal_headers diff --git a/glance/tests/integration/v2/test_tasks_api.py b/glance/tests/integration/v2/test_tasks_api.py index 4de5501f7e..fe5f57091c 100644 --- a/glance/tests/integration/v2/test_tasks_api.py +++ b/glance/tests/integration/v2/test_tasks_api.py @@ -15,9 +15,10 @@ import time +from oslo.utils import timeutils + from glance.api.v2 import tasks import glance.openstack.common.jsonutils as json -from glance.openstack.common import timeutils from glance.tests.integration.v2 import base TENANT1 = '6838eb7b-6ded-434a-882c-b344c77fe8df' diff --git a/glance/tests/unit/test_auth.py b/glance/tests/unit/test_auth.py index 5c089e0e5f..752a6e8c8c 100644 --- a/glance/tests/unit/test_auth.py +++ b/glance/tests/unit/test_auth.py @@ -14,6 +14,7 @@ # License for the specific language governing permissions and limitations # under the License. +from oslo.utils import timeutils import stubout import webob @@ -22,7 +23,6 @@ from glance.common import auth from glance.common import exception import glance.domain from glance.openstack.common import jsonutils -from glance.openstack.common import timeutils from glance.tests.unit import utils as unittest_utils from glance.tests import utils diff --git a/glance/tests/unit/test_db.py b/glance/tests/unit/test_db.py index 715c763f44..7089fda0bd 100644 --- a/glance/tests/unit/test_db.py +++ b/glance/tests/unit/test_db.py @@ -33,7 +33,7 @@ CONF = cfg.CONF CONF.import_opt('metadata_encryption_key', 'glance.common.config') -@mock.patch('glance.openstack.common.importutils.import_module') +@mock.patch('oslo.utils.importutils.import_module') class TestDbUtilities(test_utils.BaseTestCase): def setUp(self): super(TestDbUtilities, self).setUp() diff --git a/glance/tests/unit/test_domain.py b/glance/tests/unit/test_domain.py index 06131edaa7..c362f4c581 100644 --- a/glance/tests/unit/test_domain.py +++ b/glance/tests/unit/test_domain.py @@ -19,11 +19,12 @@ import uuid import mock from oslo.config import cfg +import oslo.utils.importutils +from oslo.utils import timeutils import glance.async from glance.common import exception from glance import domain -from glance.openstack.common import timeutils import glance.tests.utils as test_utils @@ -518,7 +519,7 @@ class TestTaskExecutorFactory(test_utils.BaseTestCase): self.image_repo, self.image_factory) context = mock.Mock() - with mock.patch.object(glance.openstack.common.importutils, + with mock.patch.object(oslo.utils.importutils, 'import_class') as mock_import_class: mock_executor = mock.Mock() mock_import_class.return_value = mock_executor @@ -534,7 +535,7 @@ class TestTaskExecutorFactory(test_utils.BaseTestCase): self.image_repo, self.image_factory) context = mock.Mock() - with mock.patch.object(glance.openstack.common.importutils, + with mock.patch.object(oslo.utils.importutils, 'import_class') as mock_import_class: mock_import_class.side_effect = ImportError diff --git a/glance/tests/unit/test_image_cache.py b/glance/tests/unit/test_image_cache.py index 1441e1ca2a..bfe5fbe1e7 100644 --- a/glance/tests/unit/test_image_cache.py +++ b/glance/tests/unit/test_image_cache.py @@ -20,13 +20,13 @@ import os import time import fixtures +from oslo.utils import units import six from six.moves import xrange import stubout from glance.common import exception from glance import image_cache -from glance.openstack.common import units # NOTE(bcwaldon): This is imported to load the registry config options import glance.registry # noqa from glance.tests import utils as test_utils diff --git a/glance/tests/unit/test_migrations.py b/glance/tests/unit/test_migrations.py index 6e2ac37a17..ab6dfaf259 100644 --- a/glance/tests/unit/test_migrations.py +++ b/glance/tests/unit/test_migrations.py @@ -37,6 +37,7 @@ from oslo.config import cfg from oslo.db.sqlalchemy import test_base from oslo.db.sqlalchemy import test_migrations from oslo.db.sqlalchemy import utils as db_utils +from oslo.utils import timeutils import sqlalchemy from glance.common import crypt @@ -47,7 +48,6 @@ from glance.db.sqlalchemy import migrate_repo from glance.db.sqlalchemy.migrate_repo.schema import from_migration_import from glance.db.sqlalchemy import models from glance.openstack.common import jsonutils -from glance.openstack.common import timeutils CONF = cfg.CONF diff --git a/glance/tests/unit/test_notifier.py b/glance/tests/unit/test_notifier.py index c3fc908389..dcfccdf82a 100644 --- a/glance/tests/unit/test_notifier.py +++ b/glance/tests/unit/test_notifier.py @@ -20,13 +20,13 @@ import glance_store import mock from oslo.config import cfg from oslo import messaging +from oslo.utils import timeutils import webob import glance.async from glance.common import exception import glance.context from glance import notifier -from glance.openstack.common import timeutils import glance.tests.unit.utils as unit_test_utils from glance.tests import utils diff --git a/glance/tests/unit/test_quota.py b/glance/tests/unit/test_quota.py index 3089b4eff6..2cfbac60c9 100644 --- a/glance/tests/unit/test_quota.py +++ b/glance/tests/unit/test_quota.py @@ -16,11 +16,11 @@ import uuid import mock from mock import patch +from oslo.utils import units import six from glance.common import exception from glance.common import store_utils -from glance.openstack.common import units import glance.quota from glance.tests.unit import utils as unit_test_utils from glance.tests import utils as test_utils diff --git a/glance/tests/unit/v1/test_api.py b/glance/tests/unit/v1/test_api.py index 554810cf84..101d601c50 100644 --- a/glance/tests/unit/v1/test_api.py +++ b/glance/tests/unit/v1/test_api.py @@ -23,6 +23,7 @@ import uuid import glance_store as store import mock from oslo.config import cfg +from oslo.utils import timeutils import routes import six import webob @@ -37,7 +38,6 @@ import glance.context from glance.db.sqlalchemy import api as db_api from glance.db.sqlalchemy import models as db_models from glance.openstack.common import jsonutils -from glance.openstack.common import timeutils import glance.registry.client.v1.api as registry from glance.tests.unit import base import glance.tests.unit.utils as unit_test_utils diff --git a/glance/tests/unit/v1/test_registry_api.py b/glance/tests/unit/v1/test_registry_api.py index c41581bc60..650aef4fa1 100644 --- a/glance/tests/unit/v1/test_registry_api.py +++ b/glance/tests/unit/v1/test_registry_api.py @@ -20,6 +20,7 @@ import uuid import mock from oslo.config import cfg +from oslo.utils import timeutils import routes import six import webob @@ -31,7 +32,6 @@ from glance import context from glance.db.sqlalchemy import api as db_api from glance.db.sqlalchemy import models as db_models from glance.openstack.common import jsonutils -from glance.openstack.common import timeutils from glance.registry.api import v1 as rserver from glance.tests.unit import base from glance.tests import utils as test_utils diff --git a/glance/tests/unit/v1/test_registry_client.py b/glance/tests/unit/v1/test_registry_client.py index 93c3452cab..b7111227c7 100644 --- a/glance/tests/unit/v1/test_registry_client.py +++ b/glance/tests/unit/v1/test_registry_client.py @@ -19,6 +19,7 @@ import os import uuid from mock import patch +from oslo.utils import timeutils import testtools from glance.common import client as test_client @@ -26,7 +27,6 @@ from glance.common import config from glance.common import exception from glance import context from glance.db.sqlalchemy import api as db_api -from glance.openstack.common import timeutils from glance.registry.api.v1.images import Controller as rcontroller import glance.registry.client.v1.api as rapi from glance.registry.client.v1.api import client as rclient diff --git a/glance/tests/unit/v2/test_registry_api.py b/glance/tests/unit/v2/test_registry_api.py index ee41a79eb4..4b0b0676e8 100644 --- a/glance/tests/unit/v2/test_registry_api.py +++ b/glance/tests/unit/v2/test_registry_api.py @@ -19,6 +19,7 @@ import datetime import uuid from oslo.config import cfg +from oslo.utils import timeutils import routes import six import webob @@ -29,7 +30,6 @@ import glance.context from glance.db.sqlalchemy import api as db_api from glance.db.sqlalchemy import models as db_models from glance.openstack.common import jsonutils -from glance.openstack.common import timeutils from glance.registry.api import v2 as rserver from glance.tests.unit import base from glance.tests import utils as test_utils diff --git a/glance/tests/unit/v2/test_registry_client.py b/glance/tests/unit/v2/test_registry_client.py index 67ace05e5e..2c4119c11b 100644 --- a/glance/tests/unit/v2/test_registry_client.py +++ b/glance/tests/unit/v2/test_registry_client.py @@ -25,12 +25,12 @@ import os import uuid from mock import patch +from oslo.utils import timeutils from glance.common import config from glance.common import exception from glance import context from glance.db.sqlalchemy import api as db_api -from glance.openstack.common import timeutils from glance.registry.api import v2 as rserver import glance.registry.client.v2.api as rapi from glance.registry.client.v2.api import client as rclient diff --git a/glance/tests/unit/v2/test_tasks_resource.py b/glance/tests/unit/v2/test_tasks_resource.py index 0b9b29214a..37e709e916 100644 --- a/glance/tests/unit/v2/test_tasks_resource.py +++ b/glance/tests/unit/v2/test_tasks_resource.py @@ -18,13 +18,13 @@ import datetime import uuid import mock +from oslo.utils import timeutils import webob import glance.api.v2.tasks import glance.domain import glance.gateway from glance.openstack.common import jsonutils -from glance.openstack.common import timeutils from glance.tests.unit import base import glance.tests.unit.utils as unit_test_utils import glance.tests.utils as test_utils diff --git a/glance/tests/utils.py b/glance/tests/utils.py index efe32a9c1b..9066c7da3d 100644 --- a/glance/tests/utils.py +++ b/glance/tests/utils.py @@ -25,6 +25,7 @@ import subprocess import fixtures from oslo.config import cfg +from oslo.utils import timeutils import six import stubout import testtools @@ -38,7 +39,6 @@ from glance import context from glance.db.sqlalchemy import api as db_api from glance.db.sqlalchemy import models as db_models from glance.openstack.common import jsonutils -from glance.openstack.common import timeutils CONF = cfg.CONF diff --git a/openstack-common.conf b/openstack-common.conf index f085fcdb44..78ea9c1a1a 100644 --- a/openstack-common.conf +++ b/openstack-common.conf @@ -1,22 +1,16 @@ [DEFAULT] # The list of modules to copy from oslo-incubator -module=excutils module=fileutils module=gettextutils -module=importutils module=install_venv_common module=jsonutils module=local module=lockutils module=log -module=network_utils module=policy module=processutils -module=strutils module=test -module=timeutils -module=units # The base module to hold the copy of openstack.common base=glance diff --git a/requirements.txt b/requirements.txt index 14e24ac872..c3a1b0a282 100644 --- a/requirements.txt +++ b/requirements.txt @@ -25,6 +25,7 @@ pycrypto>=2.6 iso8601>=0.1.9 ordereddict oslo.config>=1.4.0 # Apache-2.0 +oslo.utils>=1.0.0 # Apache-2.0 stevedore>=1.0.0 # Apache-2.0 netaddr>=0.7.12 keystonemiddleware>=1.0.0