Sync from oslo incubator

Sync with oslo incubator to remove the oslo namespaced packages. These
will be removed during the liberty cycle.

Blueprint: remove-namespace-packages
Oslo-incubator commit: 691b2c40be88e44d9377be782db813432c572653

Change-Id: Ia267f84ec35d3e282bec69f48024a14350ace896
This commit is contained in:
Jamie Lennox
2015-05-07 21:08:17 +10:00
parent 39b7f963f5
commit dfda42b331
9 changed files with 122 additions and 73 deletions

View File

@@ -16,25 +16,30 @@ See http://docs.openstack.org/developer/oslo.i18n/usage.html
""" """
import oslo.i18n try:
import oslo_i18n
# NOTE(dhellmann): This reference to o-s-l-o will be replaced by the
# application name when this module is synced into the separate
# repository. It is OK to have more than one translation function
# using the same domain, since there will still only be one message
# catalog.
_translators = oslo_i18n.TranslatorFactory(domain='keystoneclient')
# NOTE(dhellmann): This reference to o-s-l-o will be replaced by the # The primary translation function using the well-known name "_"
# application name when this module is synced into the separate _ = _translators.primary
# repository. It is OK to have more than one translation function
# using the same domain, since there will still only be one message
# catalog.
_translators = oslo.i18n.TranslatorFactory(domain='keystoneclient')
# The primary translation function using the well-known name "_" # Translators for log levels.
_ = _translators.primary #
# The abbreviated names are meant to reflect the usual use of a short
# Translators for log levels. # name like '_'. The "L" is for "log" and the other letter comes from
# # the level.
# The abbreviated names are meant to reflect the usual use of a short _LI = _translators.log_info
# name like '_'. The "L" is for "log" and the other letter comes from _LW = _translators.log_warning
# the level. _LE = _translators.log_error
_LI = _translators.log_info _LC = _translators.log_critical
_LW = _translators.log_warning except ImportError:
_LE = _translators.log_error # NOTE(dims): Support for cases where a project wants to use
_LC = _translators.log_critical # code from oslo-incubator, but is not ready to be internationalized
# (like tempest)
_ = _LI = _LW = _LE = _LC = lambda x: x

View File

@@ -17,6 +17,19 @@
# E0202: An attribute inherited from %s hide this method # E0202: An attribute inherited from %s hide this method
# pylint: disable=E0202 # pylint: disable=E0202
########################################################################
#
# THIS MODULE IS DEPRECATED
#
# Please refer to
# https://etherpad.openstack.org/p/kilo-keystoneclient-library-proposals for
# the discussion leading to this deprecation.
#
# We recommend checking out the python-openstacksdk project
# (https://launchpad.net/python-openstacksdk) instead.
#
########################################################################
import abc import abc
import argparse import argparse
import os import os

View File

@@ -20,13 +20,27 @@
Base utilities to build API operation managers and objects on top of. Base utilities to build API operation managers and objects on top of.
""" """
########################################################################
#
# THIS MODULE IS DEPRECATED
#
# Please refer to
# https://etherpad.openstack.org/p/kilo-keystoneclient-library-proposals for
# the discussion leading to this deprecation.
#
# We recommend checking out the python-openstacksdk project
# (https://launchpad.net/python-openstacksdk) instead.
#
########################################################################
# E1102: %s is not callable # E1102: %s is not callable
# pylint: disable=E1102 # pylint: disable=E1102
import abc import abc
import copy import copy
from oslo.utils import strutils from oslo_utils import strutils
import six import six
from six.moves.urllib import parse from six.moves.urllib import parse
@@ -388,7 +402,7 @@ class CrudManager(BaseManager):
'name': self.resource_class.__name__, 'name': self.resource_class.__name__,
'args': kwargs 'args': kwargs
} }
raise exceptions.NotFound(404, msg) raise exceptions.NotFound(msg)
elif num > 1: elif num > 1:
raise exceptions.NoUniqueMatch raise exceptions.NoUniqueMatch
else: else:

View File

@@ -34,8 +34,8 @@ try:
except ImportError: except ImportError:
import json import json
from oslo.utils import encodeutils from oslo_utils import encodeutils
from oslo.utils import importutils from oslo_utils import importutils
import requests import requests
from keystoneclient.openstack.common._i18n import _ from keystoneclient.openstack.common._i18n import _
@@ -118,7 +118,7 @@ class HTTPClient(object):
return return
string_parts = [ string_parts = [
"curl -i", "curl -g -i",
"-X '%s'" % method, "-X '%s'" % method,
"'%s'" % url, "'%s'" % url,
] ]

View File

@@ -20,6 +20,19 @@
Exception definitions. Exception definitions.
""" """
########################################################################
#
# THIS MODULE IS DEPRECATED
#
# Please refer to
# https://etherpad.openstack.org/p/kilo-keystoneclient-library-proposals for
# the discussion leading to this deprecation.
#
# We recommend checking out the python-openstacksdk project
# (https://launchpad.net/python-openstacksdk) instead.
#
########################################################################
import inspect import inspect
import sys import sys
@@ -54,11 +67,16 @@ class AuthorizationFailure(ClientException):
pass pass
class ConnectionRefused(ClientException): class ConnectionError(ClientException):
"""Cannot connect to API service.""" """Cannot connect to API service."""
pass pass
class ConnectionRefused(ConnectionError):
"""Connection refused while trying to connect to API service."""
pass
class AuthPluginOptionsMissing(AuthorizationFailure): class AuthPluginOptionsMissing(AuthorizationFailure):
"""Auth plugin misses some options.""" """Auth plugin misses some options."""
def __init__(self, opt_names): def __init__(self, opt_names):
@@ -72,7 +90,7 @@ class AuthSystemNotFound(AuthorizationFailure):
"""User has specified an AuthSystem that is not installed.""" """User has specified an AuthSystem that is not installed."""
def __init__(self, auth_system): def __init__(self, auth_system):
super(AuthSystemNotFound, self).__init__( super(AuthSystemNotFound, self).__init__(
_("AuthSystemNotFound: %s") % repr(auth_system)) _("AuthSystemNotFound: %r") % auth_system)
self.auth_system = auth_system self.auth_system = auth_system
@@ -95,7 +113,7 @@ class AmbiguousEndpoints(EndpointException):
"""Found more than one matching endpoint in Service Catalog.""" """Found more than one matching endpoint in Service Catalog."""
def __init__(self, endpoints=None): def __init__(self, endpoints=None):
super(AmbiguousEndpoints, self).__init__( super(AmbiguousEndpoints, self).__init__(
_("AmbiguousEndpoints: %s") % repr(endpoints)) _("AmbiguousEndpoints: %r") % endpoints)
self.endpoints = endpoints self.endpoints = endpoints
@@ -439,12 +457,15 @@ def from_response(response, method, url):
except ValueError: except ValueError:
pass pass
else: else:
if isinstance(body, dict) and isinstance(body.get("error"), dict): if isinstance(body, dict):
error = body["error"] error = body.get(list(body)[0])
kwargs["message"] = error.get("message") if isinstance(error, dict):
kwargs["details"] = error.get("details") kwargs["message"] = (error.get("message") or
error.get("faultstring"))
kwargs["details"] = (error.get("details") or
six.text_type(body))
elif content_type.startswith("text/"): elif content_type.startswith("text/"):
kwargs["details"] = response.text kwargs["details"] = getattr(response, 'text', '')
try: try:
cls = _code_map[response.status_code] cls = _code_map[response.status_code]

View File

@@ -21,6 +21,19 @@ wrong the tests might raise AssertionError. I've indicated in comments the
places where actual behavior differs from the spec. places where actual behavior differs from the spec.
""" """
########################################################################
#
# THIS MODULE IS DEPRECATED
#
# Please refer to
# https://etherpad.openstack.org/p/kilo-keystoneclient-library-proposals for
# the discussion leading to this deprecation.
#
# We recommend checking out the python-openstacksdk project
# (https://launchpad.net/python-openstacksdk) instead.
#
########################################################################
# W0102: Dangerous default value %s as argument # W0102: Dangerous default value %s as argument
# pylint: disable=W0102 # pylint: disable=W0102

View File

@@ -11,12 +11,25 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from oslo.utils import encodeutils ########################################################################
#
# THIS MODULE IS DEPRECATED
#
# Please refer to
# https://etherpad.openstack.org/p/kilo-keystoneclient-library-proposals for
# the discussion leading to this deprecation.
#
# We recommend checking out the python-openstacksdk project
# (https://launchpad.net/python-openstacksdk) instead.
#
########################################################################
from oslo_utils import encodeutils
from oslo_utils import uuidutils
import six import six
from keystoneclient.openstack.common._i18n import _ from keystoneclient.openstack.common._i18n import _
from keystoneclient.openstack.common.apiclient import exceptions from keystoneclient.openstack.common.apiclient import exceptions
from keystoneclient.openstack.common import uuidutils
def find_resource(manager, name_or_id, **find_args): def find_resource(manager, name_or_id, **find_args):

View File

@@ -16,8 +16,10 @@
"""Super simple fake memcache client.""" """Super simple fake memcache client."""
from oslo.config import cfg import copy
from oslo.utils import timeutils
from oslo_config import cfg
from oslo_utils import timeutils
memcache_opts = [ memcache_opts = [
cfg.ListOpt('memcached_servers', cfg.ListOpt('memcached_servers',
@@ -28,6 +30,11 @@ CONF = cfg.CONF
CONF.register_opts(memcache_opts) CONF.register_opts(memcache_opts)
def list_opts():
"""Entry point for oslo-config-generator."""
return [(None, copy.deepcopy(memcache_opts))]
def get_client(memcached_servers=None): def get_client(memcached_servers=None):
client_cls = Client client_cls = Client

View File

@@ -1,37 +0,0 @@
# Copyright (c) 2012 Intel Corporation.
# 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.
"""
UUID related utilities and helper functions.
"""
import uuid
def generate_uuid():
return str(uuid.uuid4())
def is_uuid_like(val):
"""Returns validation of a value as a UUID.
For our purposes, a UUID is a canonical form string:
aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
"""
try:
return str(uuid.UUID(val)) == val
except (TypeError, ValueError, AttributeError):
return False