Move shade and os-client-config python content
Make shade be openstack.cloud and os-client-config be openstack.config. Change-Id: I1d28be82a72cc1a30d6be306257fc1f0736ed604
This commit is contained in:
248 files changed
+750
-964
No files matched your search
+6
-7
@@ -19,8 +19,7 @@ For a full guide see TODO(etoews):link to docs on developer.openstack.org
|
||||
import argparse
|
||||
import os
|
||||
|
||||
import os_client_config
|
||||
|
||||
from openstack import config as occ
|
||||
from openstack import connection
|
||||
from openstack import profile
|
||||
from openstack import utils
|
||||
@@ -49,8 +48,8 @@ def _get_resource_value(resource_key, default):
|
||||
except KeyError:
|
||||
return default
|
||||
|
||||
occ = os_client_config.OpenStackConfig()
|
||||
cloud = occ.get_one_cloud(TEST_CLOUD)
|
||||
config = occ.OpenStackConfig()
|
||||
cloud = config.get_one_cloud(TEST_CLOUD)
|
||||
|
||||
SERVER_NAME = 'openstacksdk-example'
|
||||
IMAGE_NAME = _get_resource_value('image_name', 'cirros-0.3.5-x86_64-disk')
|
||||
@@ -68,14 +67,14 @@ EXAMPLE_IMAGE_NAME = 'openstacksdk-example-public-image'
|
||||
|
||||
def create_connection_from_config():
|
||||
opts = Opts(cloud_name=TEST_CLOUD)
|
||||
occ = os_client_config.OpenStackConfig()
|
||||
cloud = occ.get_one_cloud(opts.cloud)
|
||||
config = occ.OpenStackConfig()
|
||||
cloud = config.get_one_cloud(opts.cloud)
|
||||
return connection.from_config(cloud_config=cloud, options=opts)
|
||||
|
||||
|
||||
def create_connection_from_args():
|
||||
parser = argparse.ArgumentParser()
|
||||
config = os_client_config.OpenStackConfig()
|
||||
config = occ.OpenStackConfig()
|
||||
config.register_argparse_arguments(parser, sys.argv[1:])
|
||||
args = parser.parse_args()
|
||||
return connection.from_config(options=args)
|
||||
|
||||
@@ -16,16 +16,16 @@ import logging
|
||||
import warnings
|
||||
|
||||
import keystoneauth1.exceptions
|
||||
import os_client_config
|
||||
import pbr.version
|
||||
import requestsexceptions
|
||||
|
||||
from shade.exc import * # noqa
|
||||
from shade.openstackcloud import OpenStackCloud
|
||||
from shade.operatorcloud import OperatorCloud
|
||||
from shade import _log
|
||||
import openstack.config as os_client_config
|
||||
from openstack.cloud.exc import * # noqa
|
||||
from openstack.cloud.openstackcloud import OpenStackCloud
|
||||
from openstack.cloud.operatorcloud import OperatorCloud
|
||||
from openstack.cloud import _log
|
||||
|
||||
__version__ = pbr.version.VersionInfo('shade').version_string()
|
||||
__version__ = pbr.version.VersionInfo('openstack').version_string()
|
||||
|
||||
if requestsexceptions.SubjectAltNameWarning:
|
||||
warnings.filterwarnings(
|
||||
@@ -54,16 +54,13 @@ def simple_logging(debug=False, http_debug=False):
|
||||
log.addHandler(logging.StreamHandler())
|
||||
log.setLevel(log_level)
|
||||
# We only want extra shade HTTP tracing in http debug mode
|
||||
log = _log.setup_logging('shade.http')
|
||||
log = _log.setup_logging('openstack.cloud.http')
|
||||
log.setLevel(log_level)
|
||||
else:
|
||||
# We only want extra shade HTTP tracing in http debug mode
|
||||
log = _log.setup_logging('shade.http')
|
||||
log = _log.setup_logging('openstack.cloud.http')
|
||||
log.setLevel(logging.WARNING)
|
||||
# Simple case - we only care about request id log during debug
|
||||
log = _log.setup_logging('shade.request_ids')
|
||||
log.setLevel(log_level)
|
||||
log = _log.setup_logging('shade')
|
||||
log = _log.setup_logging('openstack.cloud')
|
||||
log.addHandler(logging.StreamHandler())
|
||||
log.setLevel(log_level)
|
||||
# Suppress warning about keystoneauth loggers
|
||||
@@ -18,9 +18,9 @@ import functools
|
||||
from keystoneauth1 import adapter
|
||||
from six.moves import urllib
|
||||
|
||||
from shade import _log
|
||||
from shade import exc
|
||||
from shade import task_manager
|
||||
from openstack.cloud import _log
|
||||
from openstack.cloud import exc
|
||||
from openstack.cloud import task_manager
|
||||
|
||||
|
||||
def extract_name(url):
|
||||
@@ -81,13 +81,15 @@ def extract_name(url):
|
||||
return [part for part in name_parts if part]
|
||||
|
||||
|
||||
# TODO(shade) This adapter should go away in favor of the work merging
|
||||
# adapter with openstack.proxy.
|
||||
class ShadeAdapter(adapter.Adapter):
|
||||
|
||||
def __init__(self, shade_logger, manager, *args, **kwargs):
|
||||
super(ShadeAdapter, self).__init__(*args, **kwargs)
|
||||
self.shade_logger = shade_logger
|
||||
self.manager = manager
|
||||
self.request_log = _log.setup_logging('shade.request_ids')
|
||||
self.request_log = _log.setup_logging('openstack.cloud.request_ids')
|
||||
|
||||
def _log_request_id(self, response, obj=None):
|
||||
# Log the request id and object id in a specific logger. This way
|
||||
File renamed without changes.
+1
-1
@@ -12,7 +12,7 @@
|
||||
|
||||
import yaml
|
||||
|
||||
from shade._heat import template_format
|
||||
from openstack.cloud._heat import template_format
|
||||
|
||||
|
||||
SECTIONS = (
|
||||
@@ -15,7 +15,7 @@
|
||||
import collections
|
||||
import time
|
||||
|
||||
from shade import meta
|
||||
from openstack.cloud import meta
|
||||
|
||||
|
||||
def get_events(cloud, stack_id, event_args, marker=None, limit=None):
|
||||
File renamed without changes.
@@ -18,10 +18,10 @@ import six
|
||||
from six.moves.urllib import parse
|
||||
from six.moves.urllib import request
|
||||
|
||||
from shade._heat import environment_format
|
||||
from shade._heat import template_format
|
||||
from shade._heat import utils
|
||||
from shade import exc
|
||||
from openstack.cloud._heat import environment_format
|
||||
from openstack.cloud._heat import template_format
|
||||
from openstack.cloud._heat import utils
|
||||
from openstack.cloud import exc
|
||||
|
||||
|
||||
def get_template_contents(template_file=None, template_url=None,
|
||||
@@ -20,7 +20,7 @@ from six.moves.urllib import error
|
||||
from six.moves.urllib import parse
|
||||
from six.moves.urllib import request
|
||||
|
||||
from shade import exc
|
||||
from openstack.cloud import exc
|
||||
|
||||
|
||||
def base_url_for_url(url):
|
||||
File renamed without changes.
@@ -12,6 +12,10 @@
|
||||
# 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.
|
||||
|
||||
# TODO(shade) The normalize functions here should get merged in to
|
||||
# the sdk resource objects.
|
||||
|
||||
import datetime
|
||||
import munch
|
||||
import six
|
||||
@@ -14,7 +14,7 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from shade import task_manager
|
||||
from openstack.cloud import task_manager
|
||||
|
||||
|
||||
class MachineCreate(task_manager.Task):
|
||||
@@ -27,9 +27,9 @@ import uuid
|
||||
|
||||
from decorator import decorator
|
||||
|
||||
from shade import _log
|
||||
from shade import exc
|
||||
from shade import meta
|
||||
from openstack.cloud import _log
|
||||
from openstack.cloud import exc
|
||||
from openstack.cloud import meta
|
||||
|
||||
_decorated_methods = []
|
||||
|
||||
@@ -48,7 +48,7 @@ def _iterate_timeout(timeout, message, wait=2):
|
||||
with <message>.
|
||||
|
||||
"""
|
||||
log = _log.setup_logging('shade.iterate_timeout')
|
||||
log = _log.setup_logging('openstack.cloud.iterate_timeout')
|
||||
|
||||
try:
|
||||
# None as a wait winds up flowing well in the per-resource cache
|
||||
@@ -128,10 +128,10 @@ def _filter_list(data, name_or_id, filters):
|
||||
OR
|
||||
A string containing a jmespath expression for further filtering.
|
||||
"""
|
||||
# The logger is shade.fmmatch to allow a user/operator to configure logging
|
||||
# not to communicate about fnmatch misses (they shouldn't be too spammy,
|
||||
# but one never knows)
|
||||
log = _log.setup_logging('shade.fnmatch')
|
||||
# The logger is openstack.cloud.fmmatch to allow a user/operator to
|
||||
# configure logging not to communicate about fnmatch misses
|
||||
# (they shouldn't be too spammy, but one never knows)
|
||||
log = _log.setup_logging('openstack.cloud.fnmatch')
|
||||
if name_or_id:
|
||||
# name_or_id might already be unicode
|
||||
name_or_id = _make_unicode(name_or_id)
|
||||
File renamed without changes.
@@ -18,8 +18,8 @@ import json
|
||||
import sys
|
||||
import yaml
|
||||
|
||||
import shade
|
||||
import shade.inventory
|
||||
import openstack.cloud
|
||||
import openstack.cloud.inventory
|
||||
|
||||
|
||||
def output_format_dict(data, use_yaml):
|
||||
@@ -51,8 +51,8 @@ def parse_args():
|
||||
def main():
|
||||
args = parse_args()
|
||||
try:
|
||||
shade.simple_logging(debug=args.debug)
|
||||
inventory = shade.inventory.OpenStackInventory(
|
||||
openstack.cloud.simple_logging(debug=args.debug)
|
||||
inventory = openstack.cloud.inventory.OpenStackInventory(
|
||||
refresh=args.refresh, private=args.private,
|
||||
cloud=args.cloud)
|
||||
if args.list:
|
||||
@@ -60,7 +60,7 @@ def main():
|
||||
elif args.host:
|
||||
output = inventory.get_host(args.host)
|
||||
print(output_format_dict(output, args.yaml))
|
||||
except shade.OpenStackCloudException as e:
|
||||
except openstack.cloud.OpenStackCloudException as e:
|
||||
sys.stderr.write(e.message + '\n')
|
||||
sys.exit(1)
|
||||
sys.exit(0)
|
||||
@@ -17,7 +17,7 @@ import sys
|
||||
import munch
|
||||
from requests import exceptions as _rex
|
||||
|
||||
from shade import _log
|
||||
from openstack.cloud import _log
|
||||
|
||||
|
||||
class OpenStackCloudException(Exception):
|
||||
@@ -37,7 +37,7 @@ class OpenStackCloudException(Exception):
|
||||
|
||||
def log_error(self, logger=None):
|
||||
if not logger:
|
||||
logger = _log.setup_logging('shade.exc')
|
||||
logger = _log.setup_logging('openstack.cloud.exc')
|
||||
if self.inner_exception and self.inner_exception[1]:
|
||||
logger.error(self.orig_message, exc_info=self.inner_exception)
|
||||
|
||||
@@ -102,7 +102,7 @@ def _log_response_extras(response):
|
||||
# Sometimes we get weird HTML errors. This is usually from load balancers
|
||||
# or other things. Log them to a special logger so that they can be
|
||||
# toggled indepdently - and at debug level so that a person logging
|
||||
# shade.* only gets them at debug.
|
||||
# openstack.cloud.* only gets them at debug.
|
||||
if response.headers.get('content-type') != 'text/html':
|
||||
return
|
||||
try:
|
||||
@@ -110,7 +110,7 @@ def _log_response_extras(response):
|
||||
return
|
||||
except Exception:
|
||||
return
|
||||
logger = _log.setup_logging('shade.http')
|
||||
logger = _log.setup_logging('openstack.cloud.http')
|
||||
if response.reason:
|
||||
logger.debug(
|
||||
"Non-standard error '{reason}' returned from {url}:".format(
|
||||
@@ -14,10 +14,10 @@
|
||||
|
||||
import functools
|
||||
|
||||
import os_client_config
|
||||
import openstack.config as os_client_config
|
||||
|
||||
import shade
|
||||
from shade import _utils
|
||||
import openstack.cloud
|
||||
from openstack.cloud import _utils
|
||||
|
||||
|
||||
class OpenStackInventory(object):
|
||||
@@ -38,17 +38,17 @@ class OpenStackInventory(object):
|
||||
|
||||
if cloud is None:
|
||||
self.clouds = [
|
||||
shade.OpenStackCloud(cloud_config=cloud_config)
|
||||
openstack.cloud.OpenStackCloud(cloud_config=cloud_config)
|
||||
for cloud_config in config.get_all_clouds()
|
||||
]
|
||||
else:
|
||||
try:
|
||||
self.clouds = [
|
||||
shade.OpenStackCloud(
|
||||
openstack.cloud.OpenStackCloud(
|
||||
cloud_config=config.get_one_cloud(cloud))
|
||||
]
|
||||
except os_client_config.exceptions.OpenStackConfigException as e:
|
||||
raise shade.OpenStackCloudException(e)
|
||||
raise openstack.cloud.OpenStackCloudException(e)
|
||||
|
||||
if private:
|
||||
for cloud in self.clouds:
|
||||
@@ -67,7 +67,7 @@ class OpenStackInventory(object):
|
||||
# Cycle on servers
|
||||
for server in cloud.list_servers(detailed=expand):
|
||||
hostvars.append(server)
|
||||
except shade.OpenStackCloudException:
|
||||
except openstack.cloud.OpenStackCloudException:
|
||||
# Don't fail on one particular cloud as others may work
|
||||
if fail_on_cloud_config:
|
||||
raise
|
||||
@@ -18,8 +18,8 @@ import ipaddress
|
||||
import six
|
||||
import socket
|
||||
|
||||
from shade import _log
|
||||
from shade import exc
|
||||
from openstack.cloud import _log
|
||||
from openstack.cloud import exc
|
||||
|
||||
|
||||
NON_CALLABLES = (six.string_types, bool, dict, int, float, list, type(None))
|
||||
@@ -490,7 +490,7 @@ def _log_request_id(obj, request_id):
|
||||
if request_id:
|
||||
# Log the request id and object id in a specific logger. This way
|
||||
# someone can turn it on if they're interested in this kind of tracing.
|
||||
log = _log.setup_logging('shade.request_ids')
|
||||
log = _log.setup_logging('openstack.cloud.request_ids')
|
||||
obj_id = None
|
||||
if isinstance(obj, dict):
|
||||
obj_id = obj.get('id', obj.get('uuid'))
|
||||
@@ -20,8 +20,8 @@ import jsonpatch
|
||||
import keystoneauth1.session
|
||||
import operator
|
||||
import os
|
||||
import os_client_config
|
||||
import os_client_config.defaults
|
||||
import openstack.config
|
||||
import openstack.config.defaults
|
||||
import six
|
||||
import threading
|
||||
import time
|
||||
@@ -34,23 +34,28 @@ from six.moves import urllib
|
||||
|
||||
import keystoneauth1.exceptions
|
||||
|
||||
import shade
|
||||
from shade.exc import * # noqa
|
||||
from shade import _adapter
|
||||
from shade._heat import event_utils
|
||||
from shade._heat import template_utils
|
||||
from shade import _log
|
||||
from shade import _legacy_clients
|
||||
from shade import _normalize
|
||||
from shade import meta
|
||||
from shade import task_manager
|
||||
from shade import _utils
|
||||
import openstack.cloud
|
||||
from openstack.cloud.exc import * # noqa
|
||||
from openstack.cloud import _adapter
|
||||
from openstack.cloud._heat import event_utils
|
||||
from openstack.cloud._heat import template_utils
|
||||
from openstack.cloud import _log
|
||||
from openstack.cloud import _normalize
|
||||
from openstack.cloud import meta
|
||||
from openstack.cloud import task_manager
|
||||
from openstack.cloud import _utils
|
||||
|
||||
OBJECT_MD5_KEY = 'x-object-meta-x-shade-md5'
|
||||
OBJECT_SHA256_KEY = 'x-object-meta-x-shade-sha256'
|
||||
IMAGE_MD5_KEY = 'owner_specified.shade.md5'
|
||||
IMAGE_SHA256_KEY = 'owner_specified.shade.sha256'
|
||||
IMAGE_OBJECT_KEY = 'owner_specified.shade.object'
|
||||
# TODO(shade) shade keys were x-object-meta-x-shade-md5 - we need to add those
|
||||
# to freshness checks so that a shade->sdk transition doens't
|
||||
# result in a re-upload
|
||||
OBJECT_MD5_KEY = 'x-object-meta-x-openstack-md5'
|
||||
OBJECT_SHA256_KEY = 'x-object-meta-x-openstack-sha256'
|
||||
# TODO(shade) shade keys were owner_specified.shade.md5 - we need to add those
|
||||
# to freshness checks so that a shade->sdk transition doens't
|
||||
# result in a re-upload
|
||||
IMAGE_MD5_KEY = 'owner_specified.openstack.md5'
|
||||
IMAGE_SHA256_KEY = 'owner_specified.openstack.sha256'
|
||||
IMAGE_OBJECT_KEY = 'owner_specified.openstack.object'
|
||||
# Rackspace returns this for intermittent import errors
|
||||
IMAGE_ERROR_396 = "Image cannot be imported. Error code: '396'"
|
||||
DEFAULT_OBJECT_SEGMENT_SIZE = 1073741824 # 1GB
|
||||
@@ -93,9 +98,7 @@ def _no_pending_stacks(stacks):
|
||||
return True
|
||||
|
||||
|
||||
class OpenStackCloud(
|
||||
_normalize.Normalizer,
|
||||
_legacy_clients.LegacyClientFactoryMixin):
|
||||
class OpenStackCloud(_normalize.Normalizer):
|
||||
"""Represent a connection to an OpenStack Cloud.
|
||||
|
||||
OpenStackCloud is the entry point for all cloud operations, regardless
|
||||
@@ -119,7 +122,7 @@ class OpenStackCloud(
|
||||
emitted to the error log. This flag
|
||||
will enable that behavior.
|
||||
:param bool strict: Only return documented attributes for each resource
|
||||
as per the shade Data Model contract. (Default False)
|
||||
as per the Data Model contract. (Default False)
|
||||
:param app_name: Name of the application to be appended to the user-agent
|
||||
string. Optional, defaults to None.
|
||||
:param app_version: Version of the application to be appended to the
|
||||
@@ -143,10 +146,10 @@ class OpenStackCloud(
|
||||
if log_inner_exceptions:
|
||||
OpenStackCloudException.log_inner_exceptions = True
|
||||
|
||||
self.log = _log.setup_logging('shade')
|
||||
self.log = _log.setup_logging('openstack.cloud')
|
||||
|
||||
if not cloud_config:
|
||||
config = os_client_config.OpenStackConfig(
|
||||
config = openstack.config.OpenStackConfig(
|
||||
app_name=app_name, app_version=app_version)
|
||||
|
||||
cloud_config = config.get_one_cloud(**kwargs)
|
||||
@@ -161,8 +164,8 @@ class OpenStackCloud(
|
||||
self.secgroup_source = cloud_config.config['secgroup_source']
|
||||
self.force_ipv4 = cloud_config.force_ipv4
|
||||
self.strict_mode = strict
|
||||
# TODO(mordred) When os-client-config adds a "get_client_settings()"
|
||||
# method to CloudConfig - remove this.
|
||||
# TODO(shade) The openstack.cloud default for get_flavor_extra_specs
|
||||
# should be changed and this should be removed completely
|
||||
self._extra_config = cloud_config._openstack_config.get_extra_config(
|
||||
'shade', {
|
||||
'get_flavor_extra_specs': True,
|
||||
@@ -296,7 +299,6 @@ class OpenStackCloud(
|
||||
|
||||
self._keystone_session = None
|
||||
|
||||
self._legacy_clients = {}
|
||||
self._raw_clients = {}
|
||||
|
||||
self._local_ipv6 = (
|
||||
@@ -368,11 +370,17 @@ class OpenStackCloud(
|
||||
config_major = self._get_major_version_id(config_version)
|
||||
max_major = self._get_major_version_id(max_version)
|
||||
min_major = self._get_major_version_id(min_version)
|
||||
# NOTE(mordred) The shade logic for versions is slightly different
|
||||
# than the ksa Adapter constructor logic. shade knows the versions
|
||||
# it knows, and uses them when it detects them. However, if a user
|
||||
# requests a version, and it's not found, and a different one shade
|
||||
# does know about it found, that's a warning in shade.
|
||||
# TODO(shade) This should be replaced with use of Connection. However,
|
||||
# we need to find a sane way to deal with this additional
|
||||
# logic - or we need to give up on it. If we give up on it,
|
||||
# we need to make sure we can still support it in the shade
|
||||
# compat layer.
|
||||
# NOTE(mordred) This logic for versions is slightly different
|
||||
# than the ksa Adapter constructor logic. openstack.cloud knows the
|
||||
# versions it knows, and uses them when it detects them. However, if
|
||||
# a user requests a version, and it's not found, and a different one
|
||||
# openstack.cloud does know about is found, that's a warning in
|
||||
# openstack.cloud.
|
||||
if config_version:
|
||||
if min_major and config_major < min_major:
|
||||
raise OpenStackCloudException(
|
||||
@@ -384,7 +392,8 @@ class OpenStackCloud(
|
||||
elif max_major and config_major > max_major:
|
||||
raise OpenStackCloudException(
|
||||
"Version {config_version} requested for {service_type}"
|
||||
" but shade understands a maximum of {max_version}".format(
|
||||
" but openstack.cloud understands a maximum of"
|
||||
" {max_version}".format(
|
||||
config_version=config_version,
|
||||
service_type=service_type,
|
||||
max_version=max_version))
|
||||
@@ -441,6 +450,8 @@ class OpenStackCloud(
|
||||
warnings.warn(warning_msg)
|
||||
return adapter
|
||||
|
||||
# TODO(shade) This should be replaced with using openstack Connection
|
||||
# object.
|
||||
def _get_raw_client(
|
||||
self, service_type, api_version=None, endpoint_override=None):
|
||||
return _adapter.ShadeAdapter(
|
||||
@@ -588,7 +599,7 @@ class OpenStackCloud(
|
||||
self._keystone_session = self.cloud_config.get_session()
|
||||
if hasattr(self._keystone_session, 'additional_user_agent'):
|
||||
self._keystone_session.additional_user_agent.append(
|
||||
('shade', shade.__version__))
|
||||
('shade', openstack.cloud.__version__))
|
||||
except Exception as e:
|
||||
raise OpenStackCloudException(
|
||||
"Error authenticating to keystone: %s " % str(e))
|
||||
@@ -1825,7 +1836,7 @@ class OpenStackCloud(
|
||||
:param get_extra: Whether or not to fetch extra specs for each flavor.
|
||||
Defaults to True. Default behavior value can be
|
||||
overridden in clouds.yaml by setting
|
||||
shade.get_extra_specs to False.
|
||||
openstack.cloud.get_extra_specs to False.
|
||||
:returns: A list of flavor ``munch.Munch``.
|
||||
|
||||
"""
|
||||
@@ -17,10 +17,10 @@ import munch
|
||||
|
||||
from ironicclient import exceptions as ironic_exceptions
|
||||
|
||||
from shade.exc import * # noqa
|
||||
from shade import openstackcloud
|
||||
from shade import _tasks
|
||||
from shade import _utils
|
||||
from openstack.cloud.exc import * # noqa
|
||||
from openstack.cloud import openstackcloud
|
||||
from openstack.cloud import _tasks
|
||||
from openstack.cloud import _utils
|
||||
|
||||
|
||||
class OperatorCloud(openstackcloud.OpenStackCloud):
|
||||
@@ -25,9 +25,9 @@ import keystoneauth1.exceptions
|
||||
import simplejson
|
||||
import six
|
||||
|
||||
from shade import _log
|
||||
from shade import exc
|
||||
from shade import meta
|
||||
from openstack.cloud import _log
|
||||
from openstack.cloud import exc
|
||||
from openstack.cloud import meta
|
||||
|
||||
|
||||
def _is_listlike(obj):
|
||||
@@ -226,7 +226,7 @@ def generate_task_class(method, name, result_filter_cb):
|
||||
|
||||
|
||||
class TaskManager(object):
|
||||
log = _log.setup_logging('shade.task_manager')
|
||||
log = _log.setup_logging('openstack.cloud.task_manager')
|
||||
|
||||
def __init__(
|
||||
self, client, name, result_filter_cb=None, workers=5, **kwargs):
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -21,8 +21,8 @@ import datetime
|
||||
import json
|
||||
import uuid
|
||||
|
||||
from shade._heat import template_format
|
||||
from shade import meta
|
||||
from openstack.cloud._heat import template_format
|
||||
from openstack.cloud import meta
|
||||
|
||||
PROJECT_ID = '1c36b64c840a42cd9e9b931a369337f0'
|
||||
FLAVOR_ID = u'0c1d9008-f546-4608-9e8f-f8bdaec8dddd'
|
||||
@@ -235,9 +235,9 @@ def make_fake_image(
|
||||
u'name': u'fake_image',
|
||||
u'checksum': u'ee36e35a297980dee1b514de9803ec6d',
|
||||
u'created_at': u'2016-02-10T05:03:11Z',
|
||||
u'owner_specified.shade.md5': NO_MD5,
|
||||
u'owner_specified.shade.sha256': NO_SHA256,
|
||||
u'owner_specified.shade.object': 'images/fake_image',
|
||||
u'owner_specified.openstack.cloud.md5': NO_MD5,
|
||||
u'owner_specified.openstack.cloud.sha256': NO_SHA256,
|
||||
u'owner_specified.openstack.cloud.object': 'images/fake_image',
|
||||
u'protected': False}
|
||||
|
||||
|
||||
File renamed without changes.
@@ -12,10 +12,10 @@
|
||||
|
||||
import os
|
||||
|
||||
import os_client_config as occ
|
||||
import openstack.config as occ
|
||||
|
||||
import shade
|
||||
from shade.tests import base
|
||||
import openstack.cloud
|
||||
from openstack.cloud.tests import base
|
||||
|
||||
|
||||
class BaseFunctionalTestCase(base.TestCase):
|
||||
@@ -36,14 +36,14 @@ class BaseFunctionalTestCase(base.TestCase):
|
||||
def _set_user_cloud(self, **kwargs):
|
||||
user_config = self.config.get_one_cloud(
|
||||
cloud=self._demo_name, **kwargs)
|
||||
self.user_cloud = shade.OpenStackCloud(
|
||||
self.user_cloud = openstack.cloud.OpenStackCloud(
|
||||
cloud_config=user_config,
|
||||
log_inner_exceptions=True)
|
||||
|
||||
def _set_operator_cloud(self, **kwargs):
|
||||
operator_config = self.config.get_one_cloud(
|
||||
cloud=self._op_name, **kwargs)
|
||||
self.operator_cloud = shade.OperatorCloud(
|
||||
self.operator_cloud = openstack.cloud.OperatorCloud(
|
||||
cloud_config=operator_config,
|
||||
log_inner_exceptions=True)
|
||||
|
||||
File renamed without changes.
+1
-1
@@ -17,7 +17,7 @@ test_aggregate
|
||||
Functional tests for `shade` aggregate resource.
|
||||
"""
|
||||
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestAggregate(base.BaseFunctionalTestCase):
|
||||
+3
-3
@@ -19,7 +19,7 @@ Funself.ctional tests for `shade` cluster_template methods.
|
||||
|
||||
from testtools import content
|
||||
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
import os
|
||||
import subprocess
|
||||
@@ -56,7 +56,7 @@ class TestClusterTemplate(base.BaseFunctionalTestCase):
|
||||
'%s/id_rsa_shade' % ssh_directory])
|
||||
|
||||
# add keypair to nova
|
||||
with open('%s/id_rsa_shade.pub' % ssh_directory) as f:
|
||||
with open('%s/id_rsa_openstack.cloud.pub' % ssh_directory) as f:
|
||||
key_content = f.read()
|
||||
self.user_cloud.create_keypair('testkey', key_content)
|
||||
|
||||
@@ -110,4 +110,4 @@ class TestClusterTemplate(base.BaseFunctionalTestCase):
|
||||
# delete keypair
|
||||
self.user_cloud.delete_keypair('testkey')
|
||||
os.unlink('/tmp/.ssh/id_rsa_shade')
|
||||
os.unlink('/tmp/.ssh/id_rsa_shade.pub')
|
||||
os.unlink('/tmp/.ssh/id_rsa_openstack.cloud.pub')
|
||||
+4
-4
@@ -20,10 +20,10 @@ Functional tests for `shade` compute methods.
|
||||
from fixtures import TimeoutException
|
||||
import six
|
||||
|
||||
from shade import exc
|
||||
from shade.tests.functional import base
|
||||
from shade.tests.functional.util import pick_flavor
|
||||
from shade import _utils
|
||||
from openstack.cloud import exc
|
||||
from openstack.cloud.tests.functional import base
|
||||
from openstack.cloud.tests.functional.util import pick_flavor
|
||||
from openstack.cloud import _utils
|
||||
|
||||
|
||||
class TestCompute(base.BaseFunctionalTestCase):
|
||||
+1
-1
@@ -24,7 +24,7 @@ import os
|
||||
|
||||
from testscenarios import load_tests_apply_scenarios as load_tests # noqa
|
||||
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestDevstack(base.BaseFunctionalTestCase):
|
||||
+4
-3
@@ -19,8 +19,8 @@ test_domain
|
||||
Functional tests for `shade` keystone domain resource.
|
||||
"""
|
||||
|
||||
import shade
|
||||
from shade.tests.functional import base
|
||||
import openstack.cloud
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestDomain(base.BaseFunctionalTestCase):
|
||||
@@ -46,7 +46,8 @@ class TestDomain(base.BaseFunctionalTestCase):
|
||||
if exception_list:
|
||||
# Raise an error: we must make users aware that something went
|
||||
# wrong
|
||||
raise shade.OpenStackCloudException('\n'.join(exception_list))
|
||||
raise openstack.cloud.OpenStackCloudException(
|
||||
'\n'.join(exception_list))
|
||||
|
||||
def test_search_domains(self):
|
||||
domain_name = self.domain_prefix + '_search'
|
||||
+3
-3
@@ -24,9 +24,9 @@ Functional tests for `shade` endpoint resource.
|
||||
import string
|
||||
import random
|
||||
|
||||
from shade.exc import OpenStackCloudException
|
||||
from shade.exc import OpenStackCloudUnavailableFeature
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.exc import OpenStackCloudException
|
||||
from openstack.cloud.exc import OpenStackCloudUnavailableFeature
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestEndpoints(base.KeystoneBaseFunctionalTestCase):
|
||||
+2
-2
@@ -21,8 +21,8 @@ test_flavor
|
||||
Functional tests for `shade` flavor resource.
|
||||
"""
|
||||
|
||||
from shade.exc import OpenStackCloudException
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.exc import OpenStackCloudException
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestFlavor(base.BaseFunctionalTestCase):
|
||||
+5
-5
@@ -23,11 +23,11 @@ import pprint
|
||||
|
||||
from testtools import content
|
||||
|
||||
from shade import _utils
|
||||
from shade import meta
|
||||
from shade.exc import OpenStackCloudException
|
||||
from shade.tests.functional import base
|
||||
from shade.tests.functional.util import pick_flavor
|
||||
from openstack.cloud import _utils
|
||||
from openstack.cloud import meta
|
||||
from openstack.cloud.exc import OpenStackCloudException
|
||||
from openstack.cloud.tests.functional import base
|
||||
from openstack.cloud.tests.functional.util import pick_flavor
|
||||
|
||||
|
||||
class TestFloatingIP(base.BaseFunctionalTestCase):
|
||||
+1
-1
@@ -19,7 +19,7 @@ test_floating_ip_pool
|
||||
Functional tests for floating IP pool resource (managed by nova)
|
||||
"""
|
||||
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
# When using nova-network, floating IP pools are created with nova-manage
|
||||
+4
-3
@@ -19,8 +19,8 @@ test_groups
|
||||
Functional tests for `shade` keystone group resource.
|
||||
"""
|
||||
|
||||
import shade
|
||||
from shade.tests.functional import base
|
||||
import openstack.cloud
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestGroup(base.BaseFunctionalTestCase):
|
||||
@@ -46,7 +46,8 @@ class TestGroup(base.BaseFunctionalTestCase):
|
||||
if exception_list:
|
||||
# Raise an error: we must make users aware that something went
|
||||
# wrong
|
||||
raise shade.OpenStackCloudException('\n'.join(exception_list))
|
||||
raise openstack.cloud.OpenStackCloudException(
|
||||
'\n'.join(exception_list))
|
||||
|
||||
def test_create_group(self):
|
||||
group_name = self.group_prefix + '_create'
|
||||
+2
-2
@@ -20,8 +20,8 @@ Functional tests for `shade` identity methods.
|
||||
import random
|
||||
import string
|
||||
|
||||
from shade import OpenStackCloudException
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud import OpenStackCloudException
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestIdentity(base.KeystoneBaseFunctionalTestCase):
|
||||
+1
-1
@@ -21,7 +21,7 @@ import filecmp
|
||||
import os
|
||||
import tempfile
|
||||
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestImage(base.BaseFunctionalTestCase):
|
||||
+3
-3
@@ -19,10 +19,10 @@ test_inventory
|
||||
Functional tests for `shade` inventory methods.
|
||||
"""
|
||||
|
||||
from shade import inventory
|
||||
from openstack.cloud import inventory
|
||||
|
||||
from shade.tests.functional import base
|
||||
from shade.tests.functional.util import pick_flavor
|
||||
from openstack.cloud.tests.functional import base
|
||||
from openstack.cloud.tests.functional.util import pick_flavor
|
||||
|
||||
|
||||
class TestInventory(base.BaseFunctionalTestCase):
|
||||
+2
-2
@@ -16,8 +16,8 @@ test_keypairs
|
||||
|
||||
Functional tests for `shade` keypairs methods
|
||||
"""
|
||||
from shade.tests import fakes
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.tests import fakes
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestKeypairs(base.BaseFunctionalTestCase):
|
||||
+1
-1
@@ -16,7 +16,7 @@ test_limits
|
||||
|
||||
Functional tests for `shade` limits method
|
||||
"""
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestUsage(base.BaseFunctionalTestCase):
|
||||
+1
-1
@@ -17,7 +17,7 @@ test_magnum_services
|
||||
Functional tests for `shade` services method.
|
||||
"""
|
||||
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestMagnumServices(base.BaseFunctionalTestCase):
|
||||
+2
-2
@@ -17,8 +17,8 @@ test_network
|
||||
Functional tests for `shade` network methods.
|
||||
"""
|
||||
|
||||
from shade.exc import OpenStackCloudException
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.exc import OpenStackCloudException
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestNetwork(base.BaseFunctionalTestCase):
|
||||
+2
-2
@@ -23,8 +23,8 @@ import tempfile
|
||||
|
||||
from testtools import content
|
||||
|
||||
from shade import exc
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud import exc
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestObject(base.BaseFunctionalTestCase):
|
||||
+2
-2
@@ -24,8 +24,8 @@ Functional tests for `shade` port resource.
|
||||
import string
|
||||
import random
|
||||
|
||||
from shade.exc import OpenStackCloudException
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.exc import OpenStackCloudException
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestPort(base.BaseFunctionalTestCase):
|
||||
+2
-2
@@ -21,8 +21,8 @@ test_project
|
||||
Functional tests for `shade` project resource.
|
||||
"""
|
||||
|
||||
from shade.exc import OpenStackCloudException
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.exc import OpenStackCloudException
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestProject(base.KeystoneBaseFunctionalTestCase):
|
||||
+2
-2
@@ -18,8 +18,8 @@ test_qos_bandwidth_limit_rule
|
||||
Functional tests for `shade`QoS bandwidth limit methods.
|
||||
"""
|
||||
|
||||
from shade.exc import OpenStackCloudException
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.exc import OpenStackCloudException
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestQosBandwidthLimitRule(base.BaseFunctionalTestCase):
|
||||
+2
-2
@@ -18,8 +18,8 @@ test_qos_dscp_marking_rule
|
||||
Functional tests for `shade`QoS DSCP marking rule methods.
|
||||
"""
|
||||
|
||||
from shade.exc import OpenStackCloudException
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.exc import OpenStackCloudException
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestQosDscpMarkingRule(base.BaseFunctionalTestCase):
|
||||
+2
-2
@@ -18,8 +18,8 @@ test_qos_minumum_bandwidth_rule
|
||||
Functional tests for `shade`QoS minimum bandwidth methods.
|
||||
"""
|
||||
|
||||
from shade.exc import OpenStackCloudException
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.exc import OpenStackCloudException
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestQosMinimumBandwidthRule(base.BaseFunctionalTestCase):
|
||||
+2
-2
@@ -18,8 +18,8 @@ test_qos_policy
|
||||
Functional tests for `shade`QoS policies methods.
|
||||
"""
|
||||
|
||||
from shade.exc import OpenStackCloudException
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.exc import OpenStackCloudException
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestQosPolicy(base.BaseFunctionalTestCase):
|
||||
+1
-1
@@ -17,7 +17,7 @@ test_quotas
|
||||
Functional tests for `shade` quotas methods.
|
||||
"""
|
||||
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestComputeQuotas(base.BaseFunctionalTestCase):
|
||||
+2
-2
@@ -15,8 +15,8 @@
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
from shade import exc
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud import exc
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestRangeSearch(base.BaseFunctionalTestCase):
|
||||
+1
-1
@@ -19,7 +19,7 @@ Functional tests for `shade` recordset methods.
|
||||
|
||||
from testtools import content
|
||||
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestRecordset(base.BaseFunctionalTestCase):
|
||||
+2
-2
@@ -19,8 +19,8 @@ Functional tests for `shade` router methods.
|
||||
|
||||
import ipaddress
|
||||
|
||||
from shade.exc import OpenStackCloudException
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.exc import OpenStackCloudException
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
EXPECTED_TOPLEVEL_FIELDS = (
|
||||
+1
-1
@@ -17,7 +17,7 @@ test_security_groups
|
||||
Functional tests for `shade` security_groups resource.
|
||||
"""
|
||||
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestSecurityGroups(base.BaseFunctionalTestCase):
|
||||
+1
-1
@@ -17,7 +17,7 @@ test_server_group
|
||||
Functional tests for `shade` server_group resource.
|
||||
"""
|
||||
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestServerGroup(base.BaseFunctionalTestCase):
|
||||
+3
-3
@@ -24,9 +24,9 @@ Functional tests for `shade` service resource.
|
||||
import string
|
||||
import random
|
||||
|
||||
from shade.exc import OpenStackCloudException
|
||||
from shade.exc import OpenStackCloudUnavailableFeature
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.exc import OpenStackCloudException
|
||||
from openstack.cloud.exc import OpenStackCloudUnavailableFeature
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestServices(base.KeystoneBaseFunctionalTestCase):
|
||||
+3
-3
@@ -19,9 +19,9 @@ Functional tests for `shade` stack methods.
|
||||
|
||||
import tempfile
|
||||
|
||||
from shade import exc
|
||||
from shade.tests import fakes
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud import exc
|
||||
from openstack.cloud.tests import fakes
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
simple_template = '''heat_template_version: 2014-10-16
|
||||
parameters:
|
||||
+1
-1
@@ -20,7 +20,7 @@ Functional tests for `shade` usage method
|
||||
"""
|
||||
import datetime
|
||||
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestUsage(base.BaseFunctionalTestCase):
|
||||
+3
-3
@@ -17,9 +17,9 @@ test_users
|
||||
Functional tests for `shade` user methods.
|
||||
"""
|
||||
|
||||
from shade import operator_cloud
|
||||
from shade import OpenStackCloudException
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud import operator_cloud
|
||||
from openstack.cloud import OpenStackCloudException
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestUsers(base.KeystoneBaseFunctionalTestCase):
|
||||
+3
-3
@@ -20,9 +20,9 @@ Functional tests for `shade` block storage methods.
|
||||
from fixtures import TimeoutException
|
||||
from testtools import content
|
||||
|
||||
from shade import _utils
|
||||
from shade import exc
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud import _utils
|
||||
from openstack.cloud import exc
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestVolume(base.BaseFunctionalTestCase):
|
||||
+1
-1
@@ -9,7 +9,7 @@
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestVolume(base.BaseFunctionalTestCase):
|
||||
+2
-2
@@ -19,8 +19,8 @@ test_volume
|
||||
Functional tests for `shade` block storage methods.
|
||||
"""
|
||||
import testtools
|
||||
from shade import exc
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud import exc
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestVolumeType(base.BaseFunctionalTestCase):
|
||||
+1
-1
@@ -19,7 +19,7 @@ Functional tests for `shade` zone methods.
|
||||
|
||||
from testtools import content
|
||||
|
||||
from shade.tests.functional import base
|
||||
from openstack.cloud.tests.functional import base
|
||||
|
||||
|
||||
class TestZone(base.BaseFunctionalTestCase):
|
||||
File renamed without changes.
File renamed without changes.
@@ -20,14 +20,14 @@ import uuid
|
||||
import fixtures
|
||||
import mock
|
||||
import os
|
||||
import os_client_config as occ
|
||||
import openstack.config as occ
|
||||
from requests import structures
|
||||
from requests_mock.contrib import fixture as rm_fixture
|
||||
from six.moves import urllib
|
||||
import tempfile
|
||||
|
||||
import shade.openstackcloud
|
||||
from shade.tests import base
|
||||
import openstack.cloud.openstackcloud
|
||||
from openstack.cloud.tests import base
|
||||
|
||||
|
||||
_ProjectData = collections.namedtuple(
|
||||
@@ -125,14 +125,14 @@ class BaseTestCase(base.TestCase):
|
||||
secure_files=['non-existant'])
|
||||
self.cloud_config = self.config.get_one_cloud(
|
||||
cloud=test_cloud, validate=False)
|
||||
self.cloud = shade.OpenStackCloud(
|
||||
self.cloud = openstack.cloud.OpenStackCloud(
|
||||
cloud_config=self.cloud_config,
|
||||
log_inner_exceptions=True)
|
||||
self.strict_cloud = shade.OpenStackCloud(
|
||||
self.strict_cloud = openstack.cloud.OpenStackCloud(
|
||||
cloud_config=self.cloud_config,
|
||||
log_inner_exceptions=True,
|
||||
strict=True)
|
||||
self.op_cloud = shade.OperatorCloud(
|
||||
self.op_cloud = openstack.cloud.OperatorCloud(
|
||||
cloud_config=self.cloud_config,
|
||||
log_inner_exceptions=True)
|
||||
|
||||
@@ -161,7 +161,8 @@ class RequestsMockTestCase(BaseTestCase):
|
||||
# assert_calls (and calling assert_calls every test case that uses
|
||||
# it on cleanup). Subclassing here could be 100% eliminated in the
|
||||
# future allowing any class to simply
|
||||
# self.useFixture(shade.RequestsMockFixture) and get all the benefits.
|
||||
# self.useFixture(openstack.cloud.RequestsMockFixture) and get all
|
||||
# the benefits.
|
||||
|
||||
# NOTE(notmorgan): use an ordered dict here to ensure we preserve the
|
||||
# order in which items are added to the uri_registry. This makes
|
||||
@@ -446,10 +447,10 @@ class RequestsMockTestCase(BaseTestCase):
|
||||
test_cloud = os.environ.get('SHADE_OS_CLOUD', cloud_name)
|
||||
self.cloud_config = self.config.get_one_cloud(
|
||||
cloud=test_cloud, validate=True, **kwargs)
|
||||
self.cloud = shade.OpenStackCloud(
|
||||
self.cloud = openstack.cloud.OpenStackCloud(
|
||||
cloud_config=self.cloud_config,
|
||||
log_inner_exceptions=True)
|
||||
self.op_cloud = shade.OperatorCloud(
|
||||
self.op_cloud = openstack.cloud.OperatorCloud(
|
||||
cloud_config=self.cloud_config,
|
||||
log_inner_exceptions=True)
|
||||
|
||||
Loaded 100 of 248 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user