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:
parent
a3cd1f0faf
commit
65293358a0
examples
openstack/cloud
__init__.py_adapter.py
_heat
_log.py_normalize.py_tasks.py_utils.pycmd
exc.pyinventory.pymeta.pyopenstackcloud.pyoperatorcloud.pytask_manager.pytests
__init__.py
ansible
README.txtrun.yml
base.pyfakes.pyhooks
roles
auth/tasks
client_config/tasks
group
image
keypair
keystone_domain
keystone_role
network
nova_flavor/tasks
object/tasks
port
router
security_group
server
subnet
user/tasks
user_group/tasks
volume/tasks
functional
__init__.pybase.py
hooks
test_aggregate.pytest_cluster_templates.pytest_compute.pytest_devstack.pytest_domain.pytest_endpoints.pytest_flavor.pytest_floating_ip.pytest_floating_ip_pool.pytest_groups.pytest_identity.pytest_image.pytest_inventory.pytest_keypairs.pytest_limits.pytest_magnum_services.pytest_network.pytest_object.pytest_port.pytest_project.pytest_qos_bandwidth_limit_rule.pytest_qos_dscp_marking_rule.pytest_qos_minimum_bandwidth_rule.pytest_qos_policy.pytest_quotas.pytest_range_search.pytest_recordset.pytest_router.pytest_security_groups.pytest_server_group.pytest_services.pytest_stack.pytest_usage.pytest_users.pytest_volume.pytest_volume_backup.pytest_volume_type.pytest_zone.pyutil.pyunit
@ -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
|
@ -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):
|
@ -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):
|
@ -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)
|
@ -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):
|
@ -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}
|
||||
|
||||
|
@ -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)
|
||||
|
2
shade/shade/tests/functional/test_aggregate.py → openstack/cloud/tests/functional/test_aggregate.py
2
shade/shade/tests/functional/test_aggregate.py → openstack/cloud/tests/functional/test_aggregate.py
@ -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):
|
@ -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')
|
@ -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):
|
@ -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):
|
@ -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'
|
6
shade/shade/tests/functional/test_endpoints.py → openstack/cloud/tests/functional/test_endpoints.py
6
shade/shade/tests/functional/test_endpoints.py → openstack/cloud/tests/functional/test_endpoints.py
@ -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):
|
@ -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):
|
@ -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):
|
@ -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
|
@ -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'
|
@ -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):
|
@ -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):
|
6
shade/shade/tests/functional/test_inventory.py → openstack/cloud/tests/functional/test_inventory.py
6
shade/shade/tests/functional/test_inventory.py → openstack/cloud/tests/functional/test_inventory.py
@ -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):
|
@ -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):
|
@ -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):
|
@ -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):
|
@ -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):
|
@ -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):
|
@ -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):
|
@ -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):
|
@ -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):
|
@ -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):
|
@ -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):
|
@ -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):
|
@ -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):
|
@ -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):
|
2
shade/shade/tests/functional/test_recordset.py → openstack/cloud/tests/functional/test_recordset.py
2
shade/shade/tests/functional/test_recordset.py → openstack/cloud/tests/functional/test_recordset.py
@ -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):
|
@ -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 = (
|
@ -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):
|
@ -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):
|
@ -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):
|
@ -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:
|
@ -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):
|
@ -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):
|
@ -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):
|
@ -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):
|
@ -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):
|
@ -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):
|
@ -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)
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user