Merge "Remove six.text_type (2/2)"

This commit is contained in:
Zuul 2020-12-22 00:46:32 +00:00 committed by Gerrit Code Review
commit 261416aeb0
76 changed files with 274 additions and 398 deletions

View File

@ -14,7 +14,6 @@
# under the License.
import mock
import six
import testtools
from oslo_config import cfg
@ -1110,7 +1109,7 @@ class NUMAServersWithNetworksTest(NUMAServersTestBase):
# is a cast, but since we are using CastAsCall this will bubble to the
# API.
self.assertEqual(500, ex.response.status_code)
self.assertIn('NoValidHost', six.text_type(ex))
self.assertIn('NoValidHost', str(ex))
def test_cold_migrate_with_physnet(self):
@ -1260,5 +1259,4 @@ class NUMAServersRebuildTests(NUMAServersTestBase):
client.OpenStackApiException, self._rebuild_server,
server, self.image_ref_1)
self.assertEqual(400, ex.response.status_code)
self.assertIn("An instance's NUMA topology cannot be changed",
six.text_type(ex))
self.assertIn("An instance's NUMA topology cannot be changed", str(ex))

View File

@ -11,7 +11,6 @@
# under the License.
import mock
import six
from nova import context
from nova import objects
@ -160,7 +159,7 @@ class BootFromVolumeTest(integrated_helpers._IntegratedTestBase):
{'server': server})
self.assertEqual(400, ex.response.status_code)
self.assertIn('You specified more local devices than the limit allows',
six.text_type(ex))
str(ex))
class BootFromVolumeLargeRequestTest(test.TestCase,

View File

@ -12,8 +12,6 @@
import time
import six
from nova.tests import fixtures as nova_fixtures
from nova.tests.functional.api import client
from nova.tests.functional import integrated_helpers
@ -103,7 +101,7 @@ class ConfigurableMaxDiskDevicesTest(integrated_helpers._IntegratedTestBase):
self.assertEqual(403, ex.response.status_code)
expected = ('The maximum allowed number of disk devices (2) to attach '
'to a single instance has been exceeded.')
self.assertIn(expected, six.text_type(ex))
self.assertIn(expected, str(ex))
# Verify only one volume is attached (this is a generator)
attached_vols = list(self.cinder.volume_ids_for_instance(server_id))
self.assertIn(vol_id, attached_vols)

View File

@ -10,8 +10,6 @@
# License for the specific language governing permissions and limitations
# under the License.
import six
from nova import test
from nova.tests import fixtures as nova_fixtures
from nova.tests.functional.api import client as api_client
@ -132,7 +130,7 @@ class CrossAZAttachTestCase(test.TestCase,
self.assertEqual(400, ex.response.status_code)
self.assertIn('Server and volumes are not in the same availability '
'zone. Server is in: london. Volumes are in: %s' %
self.az, six.text_type(ex))
self.az, str(ex))
def test_cross_az_attach_false_no_volumes(self):
"""A simple test to make sure cross_az_attach=False API validation is

View File

@ -15,7 +15,6 @@
import mock
from oslo_config import cfg
import six
from nova.compute import instance_actions
from nova import context
@ -1020,7 +1019,7 @@ class TestAntiAffinityLiveMigration(test.TestCase,
self.admin_api.post_server_action,
server['id'], body)
self.assertEqual(400, ex.response.status_code)
self.assertIn('No valid host', six.text_type(ex))
self.assertIn('No valid host', str(ex))
# Now start up a 3rd compute service and retry the live migration which
# should work this time.

View File

@ -29,7 +29,6 @@ from oslo_serialization import jsonutils
from oslo_utils import fixture as osloutils_fixture
from oslo_utils.fixture import uuidsentinel as uuids
from oslo_utils import timeutils
import six
from nova.compute import api as compute_api
from nova.compute import instance_actions
@ -780,7 +779,7 @@ class ServersTest(integrated_helpers._IntegratedTestBase):
expected = ('The maximum allowed number of disk devices (26) to '
'attach to a single instance has been exceeded.')
self.assertEqual(403, ex.response.status_code)
self.assertIn(expected, six.text_type(ex))
self.assertIn(expected, str(ex))
class ServersTestV21(ServersTest):
@ -1208,7 +1207,7 @@ class ServerTestV269(integrated_helpers._IntegratedTestBase):
self.api.get_servers,
search_opts={'limit': 5})
self.assertEqual(500, exp.response.status_code)
self.assertIn('NovaException', six.text_type(exp))
self.assertIn('NovaException', str(exp))
def test_get_servers_detail_marker_in_down_cells(self):
marker = self.down_cell_insts[2]
@ -1217,7 +1216,7 @@ class ServerTestV269(integrated_helpers._IntegratedTestBase):
self.api.get_servers,
search_opts={'marker': marker})
self.assertEqual(500, exp.response.status_code)
self.assertIn('oslo_db.exception.DBError', six.text_type(exp))
self.assertIn('oslo_db.exception.DBError', str(exp))
def test_get_servers_detail_marker_sorting(self):
marker = self.up_cell_insts[1]
@ -1380,7 +1379,7 @@ class ServerRebuildTestCase(integrated_helpers._IntegratedTestBase):
ex = self.assertRaises(
client.OpenStackApiException, self.api.api_post,
'/servers/%s/action' % server['id'], rebuild_req_body)
self.assertIn('NoValidHost', six.text_type(ex))
self.assertIn('NoValidHost', str(ex))
# A rebuild to the same host should never attempt a rebuild claim.
@mock.patch('nova.compute.resource_tracker.ResourceTracker.rebuild_claim',
@ -1520,7 +1519,7 @@ class ServerRebuildTestCase(integrated_helpers._IntegratedTestBase):
# Assert that we failed because of the image change and not something
# else.
self.assertIn('Unable to rebuild with a different image for a '
'volume-backed server', six.text_type(resp))
'volume-backed server', str(resp))
class ServersTestV280(integrated_helpers._IntegratedTestBase):
@ -2281,7 +2280,7 @@ class ServerMovingTests(integrated_helpers.ProviderUsageBaseTestCase):
ex = self.assertRaises(client.OpenStackApiException,
self.api.post_server_action,
server['id'], post)
self.assertIn("'force' was unexpected", six.text_type(ex))
self.assertIn("'force' was unexpected", str(ex))
# NOTE(gibi): there is a similar test in SchedulerOnlyChecksTargetTest but
# we want this test here as well because ServerMovingTest is a parent class
@ -2708,7 +2707,7 @@ class ServerMovingTests(integrated_helpers.ProviderUsageBaseTestCase):
ex = self.assertRaises(client.OpenStackApiException,
self.api.post_server_action,
server['id'], post)
self.assertIn("'force' was unexpected", six.text_type(ex))
self.assertIn("'force' was unexpected", str(ex))
def test_live_migrate(self):
source_hostname = self.compute1.host
@ -3371,7 +3370,7 @@ class PollUnconfirmedResizesTest(integrated_helpers.ProviderUsageBaseTestCase):
self.api.post_server_action,
server['id'], {'confirmResize': None})
self.assertEqual(409, ex.response.status_code)
self.assertIn('Service is unavailable at this time', six.text_type(ex))
self.assertIn('Service is unavailable at this time', str(ex))
# Bring the source compute back up and try to confirm the resize which
# should work since the migration status is still "finished".
self.restart_compute_service(self.computes['host1'])
@ -4577,8 +4576,7 @@ class ServerTestV256MultiCellTestCase(ServerTestV256Common):
# the target host in cell1, it will result in a ComputeHostNotFound
# error.
self.assertEqual(400, ex.response.status_code)
self.assertIn('Compute host host2 could not be found',
six.text_type(ex))
self.assertIn('Compute host host2 could not be found', str(ex))
class ServerTestV256SingleCellMultiHostTestCase(ServerTestV256Common):
@ -5913,7 +5911,7 @@ class UnsupportedPortResourceRequestBasedSchedulingTest(
self.assertEqual(400, ex.response.status_code)
self.assertIn('Attaching interfaces with QoS policy is '
'not supported for instance',
six.text_type(ex))
str(ex))
@mock.patch('nova.tests.fixtures.NeutronFixture.create_port')
def test_interface_attach_with_network_create_port_has_resource_request(
@ -5941,7 +5939,7 @@ class UnsupportedPortResourceRequestBasedSchedulingTest(
self.assertEqual(400, ex.response.status_code)
self.assertIn('Using networks with QoS policy is not supported for '
'instance',
six.text_type(ex))
str(ex))
@mock.patch('nova.tests.fixtures.NeutronFixture.create_port')
def test_create_server_with_network_create_port_has_resource_request(
@ -5976,7 +5974,7 @@ class UnsupportedPortResourceRequestBasedSchedulingTest(
"Creating servers with ports having resource requests, like a "
"port with a QoS minimum bandwidth policy, is not supported "
"until microversion 2.72.",
six.text_type(ex))
str(ex))
def test_unshelve_not_offloaded_server_with_port_resource_request(
self):

View File

@ -10,8 +10,6 @@
# License for the specific language governing permissions and limitations
# under the License.
import six
from nova.policies import base as base_policies
from nova.policies import servers as servers_policies
from nova import test
@ -357,7 +355,7 @@ class EnforceVolumeBackedForZeroDiskFlavorTestCase(
ex = self.assertRaises(api_client.OpenStackApiException,
self.api.post_server, {'server': server_req})
self.assertIn('Only volume-backed servers are allowed for flavors '
'with zero disk.', six.text_type(ex))
'with zero disk.', str(ex))
self.assertEqual(403, ex.response.status_code)
def test_create_volume_backed_server_with_zero_disk_allowed(self):
@ -415,7 +413,7 @@ class ResizeCheckInstanceHostTestCase(
ex = self.assertRaises(api_client.OpenStackApiException,
self.api.post_server_action, server['id'], req)
self.assertEqual(409, ex.response.status_code)
self.assertIn('Service is unavailable at this time', six.text_type(ex))
self.assertIn('Service is unavailable at this time', str(ex))
# Now bring the source compute service up but disable it. The operation
# should be allowed in this case since the service is up.
self.api.put_service(source_service['id'],
@ -437,8 +435,7 @@ class ResizeCheckInstanceHostTestCase(
self.assertEqual(409, ex.response.status_code)
# This error comes from check_instance_state which is processed before
# check_instance_host.
self.assertIn('while it is in vm_state shelved_offloaded',
six.text_type(ex))
self.assertIn('while it is in vm_state shelved_offloaded', str(ex))
def test_cold_migrate_source_compute_validation(self):
self.test_resize_source_compute_validation(resize=False)

View File

@ -12,7 +12,6 @@
import os_resource_classes as orc
import os_traits
import six
from nova import context as nova_context
from nova import exception
@ -83,7 +82,7 @@ class TestServicesAPI(integrated_helpers.ProviderUsageBaseTestCase):
self.admin_api.api_delete,
'/os-services/%s' % service['id'])
self.assertIn('Unable to delete compute service that is hosting '
'instances.', six.text_type(ex))
'instances.', str(ex))
self.assertEqual(409, ex.response.status_code)
# Now delete the instance and wait for it to be gone.
@ -198,7 +197,7 @@ class TestServicesAPI(integrated_helpers.ProviderUsageBaseTestCase):
'/os-services/%s' % service['id'])
self.assertEqual(409, ex.response.status_code)
self.assertIn('Unable to delete compute service that has in-progress '
'migrations', six.text_type(ex))
'migrations', str(ex))
self.assertIn('There are 1 in-progress migrations involving the host',
self.stdlog.logger.output)
# The provider is still around because we did not delete the service.
@ -243,7 +242,7 @@ class TestServicesAPI(integrated_helpers.ProviderUsageBaseTestCase):
'/os-services/%s' % service['id'])
self.assertEqual(409, ex.response.status_code)
self.assertIn('Unable to delete compute service that has in-progress '
'migrations', six.text_type(ex))
'migrations', str(ex))
self.assertIn('There are 1 in-progress migrations involving the host',
self.stdlog.logger.output)
# The provider is still around because we did not delete the service.

View File

@ -14,7 +14,6 @@
# License for the specific language governing permissions and limitations
# under the License.
import mock
import six
import webob
from nova.api.openstack.compute import admin_password as admin_password_v21
@ -126,8 +125,7 @@ class AdminPasswordTestV21(test.NoDBTestCase):
ex = self.assertRaises(self.validation_error,
self._get_action(),
self.fake_req, fakes.FAKE_UUID, body=body)
self.assertIn('adminPass. Value: None. None is not of type',
six.text_type(ex))
self.assertIn('adminPass. Value: None. None is not of type', str(ex))
def test_change_password_adminpass_none(self):
body = {'changePassword': None}

View File

@ -14,7 +14,6 @@
# under the License.
import mock
import six
from webob import exc
from nova.api.openstack import common
@ -325,7 +324,7 @@ class InterfaceAttachTestsV21(test.NoDBTestCase):
ex = self.assertRaises(
exc.HTTPForbidden, self.attachments.create,
self.req, FAKE_UUID1, body=body)
self.assertIn('Maximum number of ports exceeded', six.text_type(ex))
self.assertIn('Maximum number of ports exceeded', str(ex))
def test_detach_interface_with_invalid_state(self):
def fake_detach_interface_invalid_state(*args, **kwargs):

View File

@ -16,7 +16,6 @@
from ironicclient import exc as ironic_exc
import mock
import six
from webob import exc
from nova.api.openstack.compute import baremetal_nodes \
@ -181,7 +180,7 @@ class BareMetalNodesTestV21(test.NoDBTestCase):
def test_show_ironic_node_not_found(self, mock_get):
error = self.assertRaises(exc.HTTPNotFound, self.controller.show,
self.request, 'fake-uuid')
self.assertIn('fake-uuid', six.text_type(error))
self.assertIn('fake-uuid', str(error))
def test_show_ironic_not_implemented(self):
with mock.patch.object(self.mod, 'ironic_client', None):

View File

@ -15,7 +15,6 @@
import mock
from oslo_utils import timeutils
import six
import webob
from nova.api.openstack import common
@ -393,7 +392,7 @@ class CreateBackupTestsV21(admin_only_action_common.CommonMixin,
mock_check_image.assert_called_once_with(self.context, {})
mock_is_volume_backed.assert_called_once_with(self.context, instance)
self.assertIn('Backup is not supported for volume-backed instances',
six.text_type(ex))
str(ex))
class CreateBackupTestsV239(test.NoDBTestCase):

View File

@ -15,7 +15,6 @@
import fixtures
import mock
from oslo_utils.fixture import uuidsentinel as uuids
import six
import testtools
import webob
@ -390,7 +389,7 @@ class EvacuateTestV268(EvacuateTestV229):
ex = self._check_evacuate_failure(self.validation_error,
{'host': 'my-host',
'force': 'true'})
self.assertIn('force', six.text_type(ex))
self.assertIn('force', str(ex))
def test_forced_evacuate_with_no_host_provided(self):
# not applicable for v2.68, which removed the 'force' parameter

View File

@ -17,7 +17,6 @@ import copy
import mock
from oslo_serialization import jsonutils
import six
import webob
from nova.api.openstack.compute import flavor_access as flavor_access_v21
@ -74,7 +73,7 @@ class FlavorManageTestV21(test.NoDBTestCase):
"vcpus": 2,
"disk": 1,
"OS-FLV-EXT-DATA:ephemeral": 1,
"id": six.text_type('1234'),
"id": '1234',
"swap": 512,
"rxtx_factor": 1,
"os-flavor-access:is_public": True,
@ -117,7 +116,7 @@ class FlavorManageTestV21(test.NoDBTestCase):
"vcpus": 2,
"disk": 1,
"OS-FLV-EXT-DATA:ephemeral": 1,
"id": six.text_type('1234'),
"id": '1234',
"swap": 512,
"rxtx_factor": 1,
"os-flavor-access:is_public": True,
@ -343,7 +342,7 @@ class FlavorManageTestV21(test.NoDBTestCase):
ex = self.assertRaises(
self.validation_error, self.controller._create,
self._get_http_request(), body=self.request_body)
self.assertIn('description', six.text_type(ex))
self.assertIn('description', str(ex))
def test_flavor_update_description(self):
"""With microversion <2.55 this should return a failure."""

View File

@ -19,7 +19,6 @@ import mock
import netaddr
from oslo_serialization import jsonutils
from oslo_utils.fixture import uuidsentinel as uuids
import six
from webob import exc
from nova.api.openstack.compute import hypervisors \
@ -1024,7 +1023,7 @@ class HypervisorsTestV253(HypervisorsTestV252):
ex = self.assertRaises(exc.HTTPBadRequest, self.controller.index, req)
self.assertIn('Paging over hypervisors with the '
'hypervisor_hostname_pattern query parameter is not '
'supported.', six.text_type(ex))
'supported.', str(ex))
def test_servers_with_non_integer_hypervisor_id(self):
"""This is a poorly named test, it's really checking the 404 case where
@ -1134,7 +1133,7 @@ class HypervisorsTestV253(HypervisorsTestV252):
req = self._get_request(True)
ex = self.assertRaises(exc.HTTPBadRequest,
self.controller.show, req, '1')
self.assertIn('Invalid uuid 1', six.text_type(ex))
self.assertIn('Invalid uuid 1', str(ex))
def test_show_with_servers_invalid_parameter(self):
"""Tests passing an invalid value for the with_servers query parameter
@ -1146,7 +1145,7 @@ class HypervisorsTestV253(HypervisorsTestV252):
url='/os-hypervisors/%s?with_servers=invalid' % hyper_id)
ex = self.assertRaises(
exception.ValidationError, self.controller.show, req, hyper_id)
self.assertIn('with_servers', six.text_type(ex))
self.assertIn('with_servers', str(ex))
def test_show_with_servers_host_mapping_not_found(self):
"""Tests that a 404 is returned if instance_get_all_by_host raises
@ -1195,7 +1194,7 @@ class HypervisorsTestV253(HypervisorsTestV252):
req = self._get_request(True)
ex = self.assertRaises(exc.HTTPBadRequest,
self.controller.uptime, req, '1')
self.assertIn('Invalid uuid 1', six.text_type(ex))
self.assertIn('Invalid uuid 1', str(ex))
def test_detail_pagination(self):
"""Tests details paging with uuid markers."""

View File

@ -20,7 +20,6 @@ import iso8601
import mock
from oslo_policy import policy as oslo_policy
from oslo_utils.fixture import uuidsentinel as uuids
import six
from webob import exc
from nova.api.openstack.compute import instance_actions as instance_actions_v21
@ -273,7 +272,7 @@ class InstanceActionsTestV258(InstanceActionsTestV251):
ex = self.assertRaises(exception.ValidationError,
self.controller.index, req)
self.assertIn('Invalid input for query parameters changes-since',
six.text_type(ex))
str(ex))
def test_get_action_with_invalid_params(self):
"""Tests get paging with a invalid change_since."""
@ -281,16 +280,14 @@ class InstanceActionsTestV258(InstanceActionsTestV251):
'wrong_params=xxx')
ex = self.assertRaises(exception.ValidationError,
self.controller.index, req)
self.assertIn('Additional properties are not allowed',
six.text_type(ex))
self.assertIn('Additional properties are not allowed', str(ex))
def test_get_action_with_multi_params(self):
"""Tests get paging with multi markers."""
req = self._get_http_req('os-instance-actions?marker=A&marker=B')
ex = self.assertRaises(exception.ValidationError,
self.controller.index, req)
self.assertIn('Invalid input for query parameters marker',
six.text_type(ex))
self.assertIn('Invalid input for query parameters marker', str(ex))
class InstanceActionsTestV262(InstanceActionsTestV258):
@ -367,7 +364,7 @@ class InstanceActionsTestV266(InstanceActionsTestV258):
ex = self.assertRaises(exception.ValidationError,
self.controller.index, req)
self.assertIn('Invalid input for query parameters changes-before',
six.text_type(ex))
str(ex))
@mock.patch('nova.compute.api.InstanceActionAPI.actions_get')
@mock.patch('nova.api.openstack.common.get_instance')
@ -401,7 +398,7 @@ class InstanceActionsTestV266(InstanceActionsTestV258):
ex = self.assertRaises(exc.HTTPBadRequest, self.controller.index,
req, FAKE_UUID)
self.assertIn('The value of changes-since must be less than '
'or equal to changes-before', six.text_type(ex))
'or equal to changes-before', str(ex))
def test_get_action_with_changes_before_old_microversion(self):
"""Tests that the changes-before query parameter is an error before
@ -414,7 +411,7 @@ class InstanceActionsTestV266(InstanceActionsTestV258):
ex = self.assertRaises(exception.ValidationError,
self.controller.index, req)
detail = 'Additional properties are not allowed'
self.assertIn(detail, six.text_type(ex))
self.assertIn(detail, str(ex))
class InstanceActionsTestV284(InstanceActionsTestV266):

View File

@ -14,7 +14,6 @@
# under the License.
import mock
import six
from nova.api.openstack import api_version_request
from nova.api.openstack import common
@ -103,7 +102,7 @@ class LockServerTestsV273(LockServerTestsV21):
exp = self.assertRaises(exception.ValidationError,
self.controller._lock, self.req, instance.uuid, body=body)
self.assertIn('is too long', six.text_type(exp))
self.assertIn('is too long', str(exp))
def test_lock_with_reason_in_invalid_format(self):
instance = fake_instance.fake_instance_obj(
@ -113,7 +112,7 @@ class LockServerTestsV273(LockServerTestsV21):
exp = self.assertRaises(exception.ValidationError,
self.controller._lock, self.req, instance.uuid, body=body)
self.assertIn("256 is not of type 'string'", six.text_type(exp))
self.assertIn("256 is not of type 'string'", str(exp))
def test_lock_with_invalid_paramater(self):
# This will fail from 2.73 since we have a schema check that allows
@ -124,4 +123,4 @@ class LockServerTestsV273(LockServerTestsV21):
exp = self.assertRaises(exception.ValidationError,
self.controller._lock, self.req, instance.uuid, body=body)
self.assertIn("('blah' was unexpected)", six.text_type(exp))
self.assertIn("('blah' was unexpected)", str(exp))

View File

@ -17,7 +17,6 @@ import fixtures
import mock
from oslo_utils.fixture import uuidsentinel as uuids
from oslo_utils import uuidutils
import six
import webob
from nova.api.openstack import api_version_request
@ -226,7 +225,7 @@ class MigrateServerTestsV21(admin_only_action_common.CommonTests):
self.controller._migrate_live,
self.req, instance.uuid, body=body)
if check_response:
self.assertIn(six.text_type(fake_exc), ex.explanation)
self.assertIn(str(fake_exc), ex.explanation)
mock_live_migrate.assert_called_once_with(
self.context, instance, False, self.disk_over_commit,
'hostname', self.force, self.async_)
@ -601,7 +600,7 @@ class MigrateServerTestsV268(MigrateServerTestsV256):
self.req, fakes.FAKE_UUID, body=body)
self.assertIn("Operation 'live-migration' not supported for "
"SEV-enabled instance (%s)" % instance.uuid,
six.text_type(ex))
str(ex))
def test_live_migrate_with_forced_host(self):
body = {'os-migrateLive': {'host': 'hostname',
@ -610,4 +609,4 @@ class MigrateServerTestsV268(MigrateServerTestsV256):
ex = self.assertRaises(self.validation_error,
self.controller._migrate_live,
self.req, fakes.FAKE_UUID, body=body)
self.assertIn('force', six.text_type(ex))
self.assertIn('force', str(ex))

View File

@ -17,7 +17,6 @@ import datetime
import iso8601
import mock
from oslo_utils.fixture import uuidsentinel as uuids
import six
from webob import exc
from nova.api.openstack.compute import migrations as migrations_v21
@ -314,7 +313,7 @@ class MigrationsTestCaseV259(MigrationsTestCaseV223):
self.controller.index, req)
self.assertEqual(
"Marker %s could not be found." % uuids.invalid_marker,
six.text_type(e))
str(e))
def test_index_with_invalid_limit(self):
"""Tests detail paging with an invalid limit."""
@ -344,8 +343,7 @@ class MigrationsTestCaseV259(MigrationsTestCaseV223):
version=self.wsgi_api_version, use_admin_context=True)
ex = self.assertRaises(exception.ValidationError,
self.controller.index, req)
self.assertIn('Additional properties are not allowed',
six.text_type(ex))
self.assertIn('Additional properties are not allowed', str(ex))
@mock.patch('nova.compute.api.API.get_migrations',
return_value=objects.MigrationList())
@ -413,7 +411,7 @@ class MigrationTestCaseV266(MigrationsTestCaseV259):
use_admin_context=True)
ex = self.assertRaises(exc.HTTPBadRequest, self.controller.index, req)
self.assertIn('The value of changes-since must be less than '
'or equal to changes-before', six.text_type(ex))
'or equal to changes-before', str(ex))
def test_index_with_changes_before_old_microversion_failed(self):
"""Tests that the changes-before query parameter is an error before
@ -427,8 +425,7 @@ class MigrationTestCaseV266(MigrationsTestCaseV259):
version='2.65', use_admin_context=True)
ex = self.assertRaises(exception.ValidationError,
self.controller.index, req)
self.assertIn('Additional properties are not allowed',
six.text_type(ex))
self.assertIn('Additional properties are not allowed', str(ex))
@mock.patch('nova.compute.api.API.get_migrations',
return_value=objects.MigrationList())
@ -490,8 +487,7 @@ class MigrationsTestCaseV280(MigrationTestCaseV266):
version='2.79', use_admin_context=True)
ex = self.assertRaises(exception.ValidationError,
self.controller.index, req)
self.assertIn('Additional properties are not allowed',
six.text_type(ex))
self.assertIn('Additional properties are not allowed', str(ex))
def test_index_filter_by_project_id_pre_v280(self):
"""Tests that the migrations by project_id query parameter
@ -502,5 +498,4 @@ class MigrationsTestCaseV280(MigrationTestCaseV266):
version='2.79', use_admin_context=True)
ex = self.assertRaises(exception.ValidationError,
self.controller.index, req)
self.assertIn('Additional properties are not allowed',
six.text_type(ex))
self.assertIn('Additional properties are not allowed', str(ex))

View File

@ -15,7 +15,6 @@
import fixtures as fx
import mock
from oslo_utils.fixture import uuidsentinel as uuids
import six
from nova.api.openstack.compute import server_external_events \
as server_external_events_v21
@ -260,8 +259,7 @@ class ServerExternalEventsTestV276(ServerExternalEventsTestV21):
self.api.create,
req,
body=body)
self.assertIn('Invalid input for field/attribute name.',
six.text_type(exp))
self.assertIn('Invalid input for field/attribute name.', str(exp))
@mock.patch('nova.objects.InstanceMappingList.get_by_instance_uuids',

View File

@ -17,7 +17,6 @@ import copy
import mock
from oslo_utils.fixture import uuidsentinel
from oslo_utils import uuidutils
import six
import webob
from nova.api.openstack import api_version_request as avr
@ -139,7 +138,7 @@ class ServerGroupTestV21(test.NoDBTestCase):
req, body={'server_group': sgroup})
self.assertIn(
"Invalid input for field/attribute server_group",
six.text_type(result)
str(result)
)
# 'rules' isn't an acceptable request key before 2.64
sgroup = server_group_template(rules=rules)
@ -148,7 +147,7 @@ class ServerGroupTestV21(test.NoDBTestCase):
req, body={'server_group': sgroup})
self.assertIn(
"Invalid input for field/attribute server_group",
six.text_type(result)
str(result)
)
def test_create_server_group(self):
@ -772,8 +771,7 @@ class ServerGroupTestV264(ServerGroupTestV213):
rules={'max_server_per_host': 3})
result = self.assertRaises(webob.exc.HTTPBadRequest,
self.controller.create, req, body={'server_group': sgroup})
self.assertIn("Only anti-affinity policy supports rules",
six.text_type(result))
self.assertIn("Only anti-affinity policy supports rules", str(result))
def test_create_anti_affinity_server_group_with_invalid_rules(self):
req = fakes.HTTPRequest.blank('', version=self.wsgi_api_version)
@ -789,7 +787,7 @@ class ServerGroupTestV264(ServerGroupTestV213):
self.validation_error, self.controller.create,
req, body={'server_group': sgroup})
self.assertIn(
"Invalid input for field/attribute", six.text_type(result)
"Invalid input for field/attribute", str(result)
)
@mock.patch('nova.objects.service.get_minimum_version_all_cells',
@ -804,7 +802,7 @@ class ServerGroupTestV264(ServerGroupTestV213):
self.controller.create, req, body={'server_group': sgroup})
self.assertIn("Creating an anti-affinity group with rule "
"max_server_per_host > 1 is not yet supported.",
six.text_type(result))
str(result))
def test_create_server_group(self):
policies = ['affinity', 'anti-affinity']

View File

@ -15,7 +15,6 @@
import mock
from oslo_policy import policy as oslo_policy
from oslo_utils.fixture import uuidsentinel as uuids
import six
import webob
from nova.api.openstack.compute import servers \
@ -72,7 +71,7 @@ class ServerStartStopTestV21(test.TestCase):
body = dict(start="")
ex = self.assertRaises(webob.exc.HTTPConflict,
self.controller._start_server, self.req, uuids.instance, body)
self.assertIn('is locked', six.text_type(ex))
self.assertIn('is locked', str(ex))
@mock.patch.object(compute_api.API, 'stop')
def test_stop(self, stop_mock):
@ -95,7 +94,7 @@ class ServerStartStopTestV21(test.TestCase):
body = dict(stop="")
ex = self.assertRaises(webob.exc.HTTPConflict,
self.controller._stop_server, self.req, uuids.instance, body)
self.assertIn('is locked', six.text_type(ex))
self.assertIn('is locked', str(ex))
@mock.patch.object(compute_api.API, 'stop',
side_effect=exception.InstanceIsLocked(

View File

@ -32,7 +32,6 @@ from oslo_utils import fixture as utils_fixture
from oslo_utils.fixture import uuidsentinel as uuids
from oslo_utils import timeutils
from oslo_utils import uuidutils
import six
import testtools
import webob
@ -311,7 +310,7 @@ class ServersControllerTest(ControllerTest):
self.controller._get_requested_networks,
requested_networks)
self.assertIn('Bad networks format: network uuid is not in proper '
'format', six.text_type(ex))
'format', str(ex))
def test_requested_networks_enabled_with_port(self):
port = 'eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee'
@ -2620,7 +2619,7 @@ class ServersControllerTestV273(ControllerTest):
req = self.req(self.path_with_query % 'locked=price')
exp = self.assertRaises(webob.exc.HTTPBadRequest,
self.controller.index, req)
self.assertIn("Unrecognized value 'price'", six.text_type(exp))
self.assertIn("Unrecognized value 'price'", str(exp))
def test_get_servers_with_locked_filter_empty_value(self):
def fake_get_all(context, search_opts=None,
@ -2637,7 +2636,7 @@ class ServersControllerTestV273(ControllerTest):
req = self.req(self.path_with_query % 'locked=')
exp = self.assertRaises(webob.exc.HTTPBadRequest,
self.controller.index, req)
self.assertIn("Unrecognized value ''", six.text_type(exp))
self.assertIn("Unrecognized value ''", str(exp))
def test_get_servers_with_locked_sort_key(self):
def fake_get_all(context, search_opts=None,
@ -3331,7 +3330,7 @@ class ServersControllerRebuildTestV254(ServersControllerRebuildInstanceTest):
excpt = self.assertRaises(exception.ValidationError,
self.controller._action_rebuild,
self.req, FAKE_UUID, body=body)
self.assertIn('key_name', six.text_type(excpt))
self.assertIn('key_name', str(excpt))
def test_rebuild_with_not_existed_keypair_name(self):
body = {
@ -3445,7 +3444,7 @@ class ServersControllerRebuildTestV257(ServersControllerRebuildTestV254):
ex = self.assertRaises(exception.ValidationError,
self.controller._action_rebuild,
self.req, FAKE_UUID, body=body)
self.assertIn('personality', six.text_type(ex))
self.assertIn('personality', str(ex))
def test_rebuild_user_data_old_version(self):
"""Tests that trying to rebuild with user_data before 2.57 fails."""
@ -3460,7 +3459,7 @@ class ServersControllerRebuildTestV257(ServersControllerRebuildTestV254):
ex = self.assertRaises(exception.ValidationError,
self.controller._action_rebuild,
self.req, FAKE_UUID, body=body)
self.assertIn('user_data', six.text_type(ex))
self.assertIn('user_data', str(ex))
def test_rebuild_user_data_malformed(self):
"""Tests that trying to rebuild with malformed user_data fails."""
@ -3473,7 +3472,7 @@ class ServersControllerRebuildTestV257(ServersControllerRebuildTestV254):
ex = self.assertRaises(exception.ValidationError,
self.controller._action_rebuild,
self.req, FAKE_UUID, body=body)
self.assertIn('user_data', six.text_type(ex))
self.assertIn('user_data', str(ex))
def test_rebuild_user_data_too_large(self):
"""Tests that passing user_data to rebuild that is too large fails."""
@ -3486,7 +3485,7 @@ class ServersControllerRebuildTestV257(ServersControllerRebuildTestV254):
ex = self.assertRaises(exception.ValidationError,
self.controller._action_rebuild,
self.req, FAKE_UUID, body=body)
self.assertIn('user_data', six.text_type(ex))
self.assertIn('user_data', str(ex))
@mock.patch.object(context.RequestContext, 'can')
@mock.patch('nova.db.api.instance_update_and_get_original')
@ -3660,7 +3659,7 @@ class ServersControllerRebuildTestV263(ControllerTest):
ex = self.assertRaises(exception.ValidationError,
self.controller._action_rebuild,
self.req, FAKE_UUID, body=self.body)
self.assertIn('is too short', six.text_type(ex))
self.assertIn('is too short', str(ex))
def test_rebuild_server_with_empty_trusted_certs(self):
"""Make sure that we can't rebuild with an empty array of IDs"""
@ -3669,7 +3668,7 @@ class ServersControllerRebuildTestV263(ControllerTest):
ex = self.assertRaises(exception.ValidationError,
self.controller._action_rebuild,
self.req, FAKE_UUID, body=self.body)
self.assertIn('is too short', six.text_type(ex))
self.assertIn('is too short', str(ex))
def test_rebuild_server_with_too_many_trusted_certs(self):
"""Make sure that we can't rebuild with an array of >50 unique IDs"""
@ -3679,7 +3678,7 @@ class ServersControllerRebuildTestV263(ControllerTest):
ex = self.assertRaises(exception.ValidationError,
self.controller._action_rebuild,
self.req, FAKE_UUID, body=self.body)
self.assertIn('is too long', six.text_type(ex))
self.assertIn('is too long', str(ex))
def test_rebuild_server_with_nonunique_trusted_certs(self):
"""Make sure that we can't rebuild with a non-unique array of IDs"""
@ -3688,7 +3687,7 @@ class ServersControllerRebuildTestV263(ControllerTest):
ex = self.assertRaises(exception.ValidationError,
self.controller._action_rebuild,
self.req, FAKE_UUID, body=self.body)
self.assertIn('has non-unique elements', six.text_type(ex))
self.assertIn('has non-unique elements', str(ex))
def test_rebuild_server_with_invalid_trusted_cert_id(self):
"""Make sure that we can't rebuild with non-string certificate IDs"""
@ -3697,7 +3696,7 @@ class ServersControllerRebuildTestV263(ControllerTest):
ex = self.assertRaises(exception.ValidationError,
self.controller._action_rebuild,
self.req, FAKE_UUID, body=self.body)
self.assertIn('is not of type', six.text_type(ex))
self.assertIn('is not of type', str(ex))
def test_rebuild_server_with_invalid_trusted_certs(self):
"""Make sure that we can't rebuild with certificates in a non-array"""
@ -3706,7 +3705,7 @@ class ServersControllerRebuildTestV263(ControllerTest):
ex = self.assertRaises(exception.ValidationError,
self.controller._action_rebuild,
self.req, FAKE_UUID, body=self.body)
self.assertIn('is not of type', six.text_type(ex))
self.assertIn('is not of type', str(ex))
def test_rebuild_server_with_trusted_certs_pre_2_63_fails(self):
"""Make sure we can't use trusted_certs before 2.63"""
@ -3716,8 +3715,7 @@ class ServersControllerRebuildTestV263(ControllerTest):
ex = self.assertRaises(exception.ValidationError,
self.controller._action_rebuild,
self.req, FAKE_UUID, body=self.body)
self.assertIn('Additional properties are not allowed',
six.text_type(ex))
self.assertIn('Additional properties are not allowed', str(ex))
def test_rebuild_server_with_trusted_certs_policy_failed(self):
rule_name = "os_compute_api:servers:rebuild:trusted_certs"
@ -3740,8 +3738,7 @@ class ServersControllerRebuildTestV263(ControllerTest):
ex = self.assertRaises(webob.exc.HTTPBadRequest,
self._rebuild_server,
certs=['trusted-cert-id'])
self.assertIn('test cert validation error',
six.text_type(ex))
self.assertIn('test cert validation error', str(ex))
class ServersControllerRebuildTestV271(ControllerTest):
@ -4335,7 +4332,7 @@ class ServersControllerCreateTest(test.TestCase):
ex = self.assertRaises(webob.exc.HTTPBadRequest,
self._test_create_instance,
flavor=1324)
self.assertEqual('Flavor 1324 could not be found.', six.text_type(ex))
self.assertEqual('Flavor 1324 could not be found.', str(ex))
def test_create_server_bad_image_uuid(self):
self.body['server']['min_count'] = 1
@ -4447,7 +4444,7 @@ class ServersControllerCreateTest(test.TestCase):
self.controller.create,
self.req, body=self.body)
# Make sure the failure was about user_data and not something else.
self.assertIn('user_data', six.text_type(ex))
self.assertIn('user_data', str(ex))
@mock.patch.object(compute_api.API, 'create',
side_effect=exception.NetworkRequiresSubnet(
@ -6343,7 +6340,7 @@ class ServersControllerCreateTest(test.TestCase):
# Tests that PciRequestAliasNotDefined is translated to a 400 error.
ex = self.assertRaises(webob.exc.HTTPBadRequest,
self._test_create_extra, {})
self.assertIn('PCI alias fake_name is not defined', six.text_type(ex))
self.assertIn('PCI alias fake_name is not defined', str(ex))
@mock.patch.object(compute_api.API, 'create',
side_effect=exception.PciInvalidAlias(
@ -6352,7 +6349,7 @@ class ServersControllerCreateTest(test.TestCase):
# Tests that PciInvalidAlias is translated to a 400 error.
ex = self.assertRaises(webob.exc.HTTPBadRequest,
self._test_create_extra, {})
self.assertIn('Invalid PCI alias definition', six.text_type(ex))
self.assertIn('Invalid PCI alias definition', str(ex))
def test_create_instance_with_user_data(self):
value = base64.encode_as_text("A random string")
@ -6577,7 +6574,7 @@ class ServersControllerCreateTestV237(test.NoDBTestCase):
ex = self.assertRaises(
webob.exc.HTTPBadRequest, self._create_server, 'auto')
# make sure it was a flavor not found error and not something else
self.assertIn('Flavor 2 could not be found', six.text_type(ex))
self.assertIn('Flavor 2 could not be found', str(ex))
@mock.patch.object(objects.Flavor, 'get_by_flavor_id',
side_effect=exception.FlavorNotFound(flavor_id='2'))
@ -6589,7 +6586,7 @@ class ServersControllerCreateTestV237(test.NoDBTestCase):
ex = self.assertRaises(
webob.exc.HTTPBadRequest, self._create_server, 'none')
# make sure it was a flavor not found error and not something else
self.assertIn('Flavor 2 could not be found', six.text_type(ex))
self.assertIn('Flavor 2 could not be found', str(ex))
@mock.patch.object(objects.Flavor, 'get_by_flavor_id',
side_effect=exception.FlavorNotFound(flavor_id='2'))
@ -6604,7 +6601,7 @@ class ServersControllerCreateTestV237(test.NoDBTestCase):
[{'uuid': 'e3b686a8-b91d-4a61-a3fc-1b74bb619ddb'},
{'uuid': 'e0f00941-f85f-46ec-9315-96ded58c2f14'}])
# make sure it was a flavor not found error and not something else
self.assertIn('Flavor 2 could not be found', six.text_type(ex))
self.assertIn('Flavor 2 could not be found', str(ex))
def test_create_server_legacy_neutron_network_id_fails(self):
"""Tests that we no longer support the legacy br-<uuid> format for
@ -6688,7 +6685,7 @@ class ServersControllerCreateTestV257(test.NoDBTestCase):
req.headers['content-type'] = 'application/json'
ex = self.assertRaises(
exception.ValidationError, controller.create, req, body=body)
self.assertIn('personality', six.text_type(ex))
self.assertIn('personality', str(ex))
@mock.patch('nova.compute.utils.check_num_instances_quota',
@ -6745,7 +6742,7 @@ class ServersControllerCreateTestV260(test.NoDBTestCase):
ex = self.assertRaises(webob.exc.HTTPBadRequest,
self._post_server, '2.59')
self.assertIn('Multiattach volumes are only supported starting with '
'compute API version 2.60', six.text_type(ex))
'compute API version 2.60', str(ex))
class ServersControllerCreateTestV263(ServersControllerCreateTest):
@ -6779,7 +6776,7 @@ class ServersControllerCreateTestV263(ServersControllerCreateTest):
ex = self.assertRaises(
exception.ValidationError, self.controller.create, self.req,
body=self.body)
self.assertIn('is too short', six.text_type(ex))
self.assertIn('is too short', str(ex))
def test_create_instance_with_empty_trusted_certs(self):
"""Make sure we can't create with an empty array of IDs"""
@ -6790,7 +6787,7 @@ class ServersControllerCreateTestV263(ServersControllerCreateTest):
ex = self.assertRaises(
exception.ValidationError, self.controller.create, self.req,
body=self.body)
self.assertIn('is too short', six.text_type(ex))
self.assertIn('is too short', str(ex))
def test_create_instance_with_too_many_trusted_certs(self):
"""Make sure we can't create with an array of >50 unique IDs"""
@ -6798,7 +6795,7 @@ class ServersControllerCreateTestV263(ServersControllerCreateTest):
ex = self.assertRaises(
exception.ValidationError, self.controller.create, self.req,
body=self.body)
self.assertIn('is too long', six.text_type(ex))
self.assertIn('is too long', str(ex))
def test_create_instance_with_nonunique_trusted_certs(self):
"""Make sure we can't create with a non-unique array of IDs"""
@ -6806,7 +6803,7 @@ class ServersControllerCreateTestV263(ServersControllerCreateTest):
ex = self.assertRaises(
exception.ValidationError, self.controller.create, self.req,
body=self.body)
self.assertIn('has non-unique elements', six.text_type(ex))
self.assertIn('has non-unique elements', str(ex))
def test_create_instance_with_invalid_trusted_cert_id(self):
"""Make sure we can't create with non-string certificate IDs"""
@ -6814,7 +6811,7 @@ class ServersControllerCreateTestV263(ServersControllerCreateTest):
ex = self.assertRaises(
exception.ValidationError, self.controller.create, self.req,
body=self.body)
self.assertIn('is not of type', six.text_type(ex))
self.assertIn('is not of type', str(ex))
def test_create_instance_with_invalid_trusted_certs(self):
"""Make sure we can't create with certificates in a non-array"""
@ -6822,7 +6819,7 @@ class ServersControllerCreateTestV263(ServersControllerCreateTest):
ex = self.assertRaises(
exception.ValidationError, self.controller.create, self.req,
body=self.body)
self.assertIn('is not of type', six.text_type(ex))
self.assertIn('is not of type', str(ex))
def test_create_server_with_trusted_certs_pre_2_63_fails(self):
"""Make sure we can't use trusted_certs before 2.63"""
@ -6832,8 +6829,7 @@ class ServersControllerCreateTestV263(ServersControllerCreateTest):
ex = self.assertRaises(
exception.ValidationError, self.controller.create, self.req,
body=self.body)
self.assertIn('Additional properties are not allowed',
six.text_type(ex))
self.assertIn('Additional properties are not allowed', str(ex))
def test_create_server_with_trusted_certs_policy_failed(self):
rule_name = "os_compute_api:servers:create:trusted_certs"
@ -6861,8 +6857,7 @@ class ServersControllerCreateTestV263(ServersControllerCreateTest):
ex = self.assertRaises(webob.exc.HTTPBadRequest,
self.controller.create, self.req,
body=self.body)
self.assertIn('test cert validation error',
six.text_type(ex))
self.assertIn('test cert validation error', str(ex))
class ServersControllerCreateTestV267(ServersControllerCreateTest):
@ -6894,7 +6889,7 @@ class ServersControllerCreateTestV267(ServersControllerCreateTest):
ex = self.assertRaises(
exception.ValidationError, self.controller.create, self.req,
body=self.body)
self.assertIn("'volume_type' was unexpected", six.text_type(ex))
self.assertIn("'volume_type' was unexpected", str(ex))
@mock.patch.object(compute_api.API, 'create',
side_effect=exception.VolumeTypeNotFound(
@ -6906,8 +6901,7 @@ class ServersControllerCreateTestV267(ServersControllerCreateTest):
params = {'block_device_mapping_v2': self.block_device_mapping_v2}
ex = self.assertRaises(webob.exc.HTTPBadRequest,
self._test_create_extra, params)
self.assertIn('Volume type fake-lvm-1 could not be found',
six.text_type(ex))
self.assertIn('Volume type fake-lvm-1 could not be found', str(ex))
def test_create_instance_with_volume_type_empty_string(self):
"""Test passing volume_type='' which is accepted but not used."""
@ -6933,7 +6927,7 @@ class ServersControllerCreateTestV267(ServersControllerCreateTest):
params = {'block_device_mapping_v2': self.block_device_mapping_v2}
ex = self.assertRaises(exception.ValidationError,
self._test_create_extra, params)
self.assertIn('is too long', six.text_type(ex))
self.assertIn('is too long', str(ex))
class ServersControllerCreateTestV274(ServersControllerCreateTest):
@ -6965,8 +6959,7 @@ class ServersControllerCreateTestV274(ServersControllerCreateTest):
ex = self.assertRaises(webob.exc.HTTPBadRequest,
self.controller.create,
self.req, body=self.body)
self.assertIn('Compute host node-invalid could not be found.',
six.text_type(ex))
self.assertIn('Compute host node-invalid could not be found.', str(ex))
def test_create_instance_with_non_string_host(self):
self._generate_req(host=123)
@ -6974,8 +6967,7 @@ class ServersControllerCreateTestV274(ServersControllerCreateTest):
ex = self.assertRaises(exception.ValidationError,
self.controller.create,
self.req, body=self.body)
self.assertIn("Invalid input for field/attribute host.",
six.text_type(ex))
self.assertIn("Invalid input for field/attribute host.", str(ex))
def test_create_instance_with_invalid_hypervisor_hostname(self):
get_resp = mock.Mock()
@ -6987,8 +6979,7 @@ class ServersControllerCreateTestV274(ServersControllerCreateTest):
ex = self.assertRaises(webob.exc.HTTPBadRequest,
self.controller.create,
self.req, body=self.body)
self.assertIn('Compute host node-invalid could not be found.',
six.text_type(ex))
self.assertIn('Compute host node-invalid could not be found.', str(ex))
def test_create_instance_with_non_string_hypervisor_hostname(self):
get_resp = mock.Mock()
@ -7001,7 +6992,7 @@ class ServersControllerCreateTestV274(ServersControllerCreateTest):
self.controller.create,
self.req, body=self.body)
self.assertIn("Invalid input for field/attribute hypervisor_hostname.",
six.text_type(ex))
str(ex))
def test_create_instance_with_invalid_host_and_hypervisor_hostname(self):
self._generate_req(host='host-invalid', node='node-invalid')
@ -7009,8 +7000,7 @@ class ServersControllerCreateTestV274(ServersControllerCreateTest):
ex = self.assertRaises(webob.exc.HTTPBadRequest,
self.controller.create,
self.req, body=self.body)
self.assertIn('Compute host host-invalid could not be found.',
six.text_type(ex))
self.assertIn('Compute host host-invalid could not be found.', str(ex))
def test_create_instance_with_non_string_host_and_hypervisor_hostname(
self):
@ -7019,8 +7009,7 @@ class ServersControllerCreateTestV274(ServersControllerCreateTest):
ex = self.assertRaises(exception.ValidationError,
self.controller.create,
self.req, body=self.body)
self.assertIn("Invalid input for field/attribute",
six.text_type(ex))
self.assertIn("Invalid input for field/attribute", str(ex))
def test_create_instance_pre_274(self):
self._generate_req(host='host', node='node', api_version='2.73')
@ -7028,8 +7017,7 @@ class ServersControllerCreateTestV274(ServersControllerCreateTest):
ex = self.assertRaises(exception.ValidationError,
self.controller.create,
self.req, body=self.body)
self.assertIn("Invalid input for field/attribute server.",
six.text_type(ex))
self.assertIn("Invalid input for field/attribute server.", str(ex))
def test_create_instance_mutual(self):
self._generate_req(host='host', node='node', az='nova:host:node')
@ -7037,7 +7025,7 @@ class ServersControllerCreateTestV274(ServersControllerCreateTest):
ex = self.assertRaises(webob.exc.HTTPBadRequest,
self.controller.create,
self.req, body=self.body)
self.assertIn("mutually exclusive", six.text_type(ex))
self.assertIn("mutually exclusive", str(ex))
def test_create_instance_private_flavor(self):
# Here we use admin context, so if we do not pass it or

View File

@ -20,7 +20,6 @@ from keystoneauth1 import exceptions as ks_exc
import mock
from oslo_utils import fixture as utils_fixture
from oslo_utils.fixture import uuidsentinel
import six
import webob.exc
from nova.api.openstack.compute import services as services_v21
@ -1191,13 +1190,13 @@ class ServicesTestV253(test.TestCase):
"""Tests that the service uuid is validated in a DELETE request."""
ex = self.assertRaises(webob.exc.HTTPBadRequest,
self.controller.delete, self.req, 1234)
self.assertIn('Invalid uuid', six.text_type(ex))
self.assertIn('Invalid uuid', str(ex))
def test_update_invalid_service_uuid(self):
"""Tests that the service uuid is validated in a PUT request."""
ex = self.assertRaises(webob.exc.HTTPBadRequest,
self.controller.update, self.req, 1234, body={})
self.assertIn('Invalid uuid', six.text_type(ex))
self.assertIn('Invalid uuid', str(ex))
def test_update_policy_failed(self):
"""Tests that policy is checked with microversion 2.53."""
@ -1270,7 +1269,7 @@ class ServicesTestV253(test.TestCase):
body={'status': 'enabled',
'disabled_reason': 'invalid'})
self.assertIn("Specifying 'disabled_reason' with status 'enabled' "
"is invalid.", six.text_type(ex))
"is invalid.", str(ex))
def test_update_disabled_reason_and_forced_down(self):
"""Tests disabling a service with a reason and forcing it down is
@ -1321,7 +1320,7 @@ class ServicesTestV253(test.TestCase):
body={'forced_down': True})
self.assertEqual('Updating a nova-scheduler service is not supported. '
'Only nova-compute services can be updated.',
six.text_type(ex))
str(ex))
def test_update_empty_body(self):
"""Tests that the caller gets a 400 error if they don't request any
@ -1333,7 +1332,7 @@ class ServicesTestV253(test.TestCase):
self.req, service.uuid, body={})
self.assertEqual("No updates were requested. Fields 'status' or "
"'forced_down' should be specified.",
six.text_type(ex))
str(ex))
def test_update_only_disabled_reason(self):
"""Tests that the caller gets a 400 error if they only specify
@ -1345,7 +1344,7 @@ class ServicesTestV253(test.TestCase):
body={'disabled_reason': 'missing status'})
self.assertEqual("No updates were requested. Fields 'status' or "
"'forced_down' should be specified.",
six.text_type(ex))
str(ex))
class ServicesTestV275(test.TestCase):

View File

@ -17,7 +17,6 @@ import mock
import ddt
from oslo_serialization import jsonutils
from oslo_utils.fixture import uuidsentinel as uuids
import six
import webob
from nova.api.openstack import api_version_request
@ -151,8 +150,7 @@ class UnshelveServerControllerTestV277(test.NoDBTestCase):
self.controller._unshelve,
self.req, fakes.FAKE_UUID,
body=body)
self.assertIn("\'availability_zone\' is a required property",
six.text_type(exc))
self.assertIn("\'availability_zone\' is a required property", str(exc))
def test_invalid_az_name_with_int(self):
body = {
@ -187,5 +185,4 @@ class UnshelveServerControllerTestV277(test.NoDBTestCase):
exception.ValidationError,
self.controller._unshelve, self.req,
fakes.FAKE_UUID, body=body)
self.assertIn("Additional properties are not allowed",
six.text_type(exc))
self.assertIn("Additional properties are not allowed", str(exc))

View File

@ -13,7 +13,6 @@
# under the License.
import mock
import six
import webob
from nova.api.openstack.compute import suspend_server as \
@ -48,7 +47,7 @@ class SuspendServerTestsV21(admin_only_action_common.CommonTests):
self.controller._suspend,
self.req, fakes.FAKE_UUID, body={})
self.assertIn("Operation 'suspend' not supported for SEV-enabled "
"instance (%s)" % instance.uuid, six.text_type(ex))
"instance (%s)" % instance.uuid, str(ex))
def test_suspend_resume_with_non_existed_instance(self):
self._test_actions_with_non_existed_instance(['_suspend', '_resume'])

View File

@ -22,7 +22,6 @@ import mock
from oslo_serialization import jsonutils
from oslo_utils import encodeutils
from oslo_utils.fixture import uuidsentinel as uuids
import six
import webob
from webob import exc
@ -949,7 +948,7 @@ class VolumeAttachTestsV260(test.NoDBTestCase):
create_kwargs = attach.call_args[1]
self.assertFalse(create_kwargs['supports_multiattach'])
self.assertIn('Multiattach volumes are only supported starting with '
'compute API version 2.60', six.text_type(ex))
'compute API version 2.60', str(ex))
def test_attach_with_multiattach_fails_not_supported_by_driver(self):
"""Tests the case that the user tries to attach with a
@ -966,7 +965,7 @@ class VolumeAttachTestsV260(test.NoDBTestCase):
create_kwargs = attach.call_args[1]
self.assertTrue(create_kwargs['supports_multiattach'])
self.assertIn("has 'multiattach' set, which is not supported for "
"this instance", six.text_type(ex))
"this instance", str(ex))
def test_attach_with_multiattach_fails_for_shelved_offloaded_server(self):
"""Tests the case that the user tries to attach with a
@ -981,7 +980,7 @@ class VolumeAttachTestsV260(test.NoDBTestCase):
create_kwargs = attach.call_args[1]
self.assertTrue(create_kwargs['supports_multiattach'])
self.assertIn('Attaching multiattach volumes is not supported for '
'shelved-offloaded instances.', six.text_type(ex))
'shelved-offloaded instances.', str(ex))
class VolumeAttachTestsV2_75(VolumeAttachTestsV21):
@ -1048,8 +1047,7 @@ class VolumeAttachTestsV279(VolumeAttachTestsV2_75):
ex = self.assertRaises(exception.ValidationError,
self.controller.create,
req, FAKE_UUID, body=body)
self.assertIn("Additional properties are not allowed",
six.text_type(ex))
self.assertIn("Additional properties are not allowed", str(ex))
@mock.patch('nova.compute.api.API.attach_volume', return_value=None)
def test_attach_volume_pre_v279(self, mock_attach_volume):
@ -1089,7 +1087,7 @@ class VolumeAttachTestsV279(VolumeAttachTestsV2_75):
self.controller.create,
req, FAKE_UUID, body=body)
self.assertIn("Invalid input for field/attribute "
"delete_on_termination.", six.text_type(ex))
"delete_on_termination.", str(ex))
def test_create_volume_attach_invalid_delete_on_termination_value(self):
""""Test the case that the user tries to set the delete_on_termination
@ -1107,7 +1105,7 @@ class VolumeAttachTestsV279(VolumeAttachTestsV2_75):
self.controller.create,
req, FAKE_UUID, body=body)
self.assertIn("Invalid input for field/attribute "
"delete_on_termination.", six.text_type(ex))
"delete_on_termination.", str(ex))
@mock.patch('nova.compute.api.API.attach_volume', return_value=None)
def test_attach_volume_v279(self, mock_attach_volume):
@ -1397,8 +1395,7 @@ class UpdateVolumeAttachTests(VolumeAttachTestsV279):
self.attachments.update,
req, FAKE_UUID,
FAKE_UUID_A, body=body)
self.assertIn('Additional properties are not allowed',
six.text_type(ex))
self.assertIn('Additional properties are not allowed', str(ex))
@mock.patch.object(objects.BlockDeviceMapping,
'get_by_volume_and_instance')
@ -1440,8 +1437,7 @@ class UpdateVolumeAttachTests(VolumeAttachTestsV279):
self.attachments.update,
req, FAKE_UUID,
FAKE_UUID_A, body=body)
self.assertIn('Additional properties are not allowed',
six.text_type(ex))
self.assertIn('Additional properties are not allowed', str(ex))
@mock.patch.object(objects.BlockDeviceMapping,
'get_by_volume_and_instance')
@ -1479,8 +1475,7 @@ class UpdateVolumeAttachTests(VolumeAttachTestsV279):
self.attachments.update,
req, FAKE_UUID,
FAKE_UUID_A, body=body)
self.assertIn('Additional properties are not allowed',
six.text_type(ex))
self.assertIn('Additional properties are not allowed', str(ex))
@mock.patch.object(objects.BlockDeviceMapping,
'get_by_volume_and_instance')
@ -1518,8 +1513,7 @@ class UpdateVolumeAttachTests(VolumeAttachTestsV279):
self.attachments.update,
req, FAKE_UUID,
FAKE_UUID_A, body=body)
self.assertIn('Additional properties are not allowed',
six.text_type(ex))
self.assertIn('Additional properties are not allowed', str(ex))
def test_update_volume_with_delete_flag_old_microversion(self):
body = {'volumeAttachment': {
@ -1531,8 +1525,7 @@ class UpdateVolumeAttachTests(VolumeAttachTestsV279):
self.attachments.update,
req, FAKE_UUID,
FAKE_UUID_A, body=body)
self.assertIn('Additional properties are not allowed',
six.text_type(ex))
self.assertIn('Additional properties are not allowed', str(ex))
class SwapVolumeMultiattachTestCase(test.NoDBTestCase):
@ -1603,7 +1596,7 @@ class SwapVolumeMultiattachTestCase(test.NoDBTestCase):
webob.exc.HTTPBadRequest, controller.update, req,
uuids.server1, uuids.old_vol_id, body=body)
self.assertIn('Swapping multi-attach volumes with more than one ',
six.text_type(ex))
str(ex))
mock_attachment_get.assert_has_calls([
mock.call(ctxt, uuids.attachment_id1),
mock.call(ctxt, uuids.attachment_id2)], any_order=True)
@ -1866,7 +1859,7 @@ class AssistedSnapshotDeleteTestCaseV21(test.NoDBTestCase):
self.controller.delete, req, '5')
# This is the result of a KeyError but the only thing in the message
# is the missing key.
self.assertIn('volume_id', six.text_type(ex))
self.assertIn('volume_id', str(ex))
class AssistedSnapshotDeleteTestCaseV275(AssistedSnapshotDeleteTestCaseV21):

View File

@ -18,7 +18,6 @@ Test suites for 'common' code used throughout the OpenStack HTTP API.
"""
import mock
import six
from testtools import matchers
import webob
import webob.exc
@ -367,7 +366,7 @@ class MiscFunctionsTest(test.TestCase):
common.raise_http_conflict_for_instance_invalid_state(exc,
'meow', 'fake_server_id')
except webob.exc.HTTPConflict as e:
self.assertEqual(six.text_type(e),
self.assertEqual(str(e),
"Cannot 'meow' instance fake_server_id while it is in "
"fake_attr fake_state")
else:

View File

@ -27,7 +27,6 @@ from oslo_utils import fixture as utils_fixture
from oslo_utils.fixture import uuidsentinel as uuids
from oslo_utils import timeutils
from oslo_utils import uuidutils
import six
from nova.compute import api as compute_api
from nova.compute import flavors
@ -4579,7 +4578,7 @@ class _ComputeAPIUnitTestMixIn(object):
exception.MismatchVolumeAZException,
self.compute_api._validate_vol_az_for_create, None, volumes)
self.assertIn('Volumes are in different availability zones: 0,1',
six.text_type(ex))
str(ex))
def test_validate_vol_az_for_create_vol_az_matches_default_cpu_az(self):
"""Tests the scenario that the instance is not being created in a
@ -6131,7 +6130,7 @@ class _ComputeAPIUnitTestMixIn(object):
exp = self.assertRaises(exception.InstanceNotFound,
self.compute_api._get_instance_from_cell, self.context,
im, [], False)
self.assertIn('could not be found', six.text_type(exp))
self.assertIn('could not be found', str(exp))
@mock.patch('nova.compute.api.API._save_user_id_in_instance_mapping')
@mock.patch.object(objects.RequestSpec, 'get_by_instance_uuid')
@ -6156,13 +6155,13 @@ class _ComputeAPIUnitTestMixIn(object):
exp = self.assertRaises(exception.NovaException,
self.compute_api._get_instance_from_cell, self.context,
im1, [], False)
self.assertIn('info is not available', six.text_type(exp))
self.assertIn('info is not available', str(exp))
# Have cell down support, error + queued_for_delete = NotFound
exp = self.assertRaises(exception.InstanceNotFound,
self.compute_api._get_instance_from_cell, self.context,
im1, [], True)
self.assertIn('could not be found', six.text_type(exp))
self.assertIn('could not be found', str(exp))
# Have cell down support, error + archived reqspec = NotFound
mock_rs.side_effect = exception.RequestSpecNotFound(
@ -6170,7 +6169,7 @@ class _ComputeAPIUnitTestMixIn(object):
exp = self.assertRaises(exception.InstanceNotFound,
self.compute_api._get_instance_from_cell, self.context,
im2, [], True)
self.assertIn('could not be found', six.text_type(exp))
self.assertIn('could not be found', str(exp))
# Have cell down support, error + reqspec + not queued_for_delete
# means we return a minimal instance

View File

@ -36,7 +36,6 @@ from oslo_utils.fixture import uuidsentinel as uuids
from oslo_utils import timeutils
from oslo_utils import units
from oslo_utils import uuidutils
import six
import testtools
from testtools import matchers as testtools_matchers
@ -8968,7 +8967,7 @@ class ComputeAPITestCase(BaseTestCase):
self.compute_api.rebuild, self.context,
instance, self.fake_image['id'], 'new_password')
self.assertIn('Unable to find root block device mapping for '
'volume-backed instance', six.text_type(ex))
'volume-backed instance', str(ex))
@mock.patch('nova.objects.RequestSpec')
def test_rebuild_with_deleted_image(self, mock_reqspec):

View File

@ -33,7 +33,6 @@ from oslo_service import fixture as service_fixture
from oslo_utils.fixture import uuidsentinel as uuids
from oslo_utils import timeutils
from oslo_utils import uuidutils
import six
import testtools
import nova
@ -1316,7 +1315,7 @@ class ComputeManagerUnitTestCase(test.NoDBTestCase,
self._test__validate_pinning_configuration)
self.assertIn('This host has unpinned instances but has no CPUs '
'set aside for this purpose;',
six.text_type(ex))
str(ex))
def test__validate_pinning_configuration_invalid_pinned_config(self):
"""Test that configuring only 'cpu_shared_set' when there are pinned
@ -1329,7 +1328,7 @@ class ComputeManagerUnitTestCase(test.NoDBTestCase,
self._test__validate_pinning_configuration)
self.assertIn('This host has pinned instances but has no CPUs '
'set aside for this purpose;',
six.text_type(ex))
str(ex))
@mock.patch.object(manager.LOG, 'warning')
def test__validate_pinning_configuration_warning(self, mock_log):
@ -1345,7 +1344,7 @@ class ComputeManagerUnitTestCase(test.NoDBTestCase,
self.assertEqual(1, mock_log.call_count)
self.assertIn('Instance is pinned to host CPUs %(cpus)s '
'but one or more of these CPUs are not included in ',
six.text_type(mock_log.call_args[0]))
str(mock_log.call_args[0]))
def test__validate_pinning_configuration_no_config(self):
"""Test that not configuring 'cpu_dedicated_set' or 'cpu_shared_set'
@ -1357,7 +1356,7 @@ class ComputeManagerUnitTestCase(test.NoDBTestCase,
self.assertIn("This host has mixed instance requesting both pinned "
"and unpinned CPUs but hasn't set aside unpinned CPUs "
"for this purpose;",
six.text_type(ex))
str(ex))
def test__validate_pinning_configuration_not_supported(self):
"""Test that the entire check is skipped if the driver doesn't even
@ -5533,8 +5532,7 @@ class ComputeManagerUnitTestCase(test.NoDBTestCase,
allocations=self.allocations,
request_group_resource_providers_mapping=mock.sentinel.mapping,
accel_uuids=[])
self.assertIn('Trusted image certificates provided on host',
six.text_type(ex))
self.assertIn('Trusted image certificates provided on host', str(ex))
def test_reverts_task_state_instance_not_found(self):
# Tests that the reverts_task_state decorator in the compute manager
@ -7461,7 +7459,7 @@ class ComputeManagerBuildInstanceTestCase(test.NoDBTestCase):
ex = self.assertRaises(exception.InvalidBDM,
self.compute._prep_block_device,
self.context, self.instance, bdms)
self.assertEqual('oops!', six.text_type(ex))
self.assertEqual('oops!', str(ex))
@mock.patch('nova.objects.InstanceGroup.get_by_hint')
def test_validate_policy_honors_workaround_disabled(self, mock_get):
@ -9401,7 +9399,7 @@ class ComputeManagerMigrationTestCase(test.NoDBTestCase,
exception.MigrationError, self.compute._do_live_migration,
self.context, 'dest-host', self.instance, None,
self.migration, migrate_data)
self.assertIn('Timed out waiting for events', six.text_type(ex))
self.assertIn('Timed out waiting for events', str(ex))
self.assertEqual('error', self.migration.status)
mock_rollback_live_mig.assert_called_once_with(
self.context, self.instance, 'dest-host',
@ -10830,7 +10828,7 @@ class ComputeManagerMigrationTestCase(test.NoDBTestCase,
wrapped_exc = ex2.exc_info[1]
# The original error should be in the MigrationPreCheckError which
# itself is in the ExpectedException.
self.assertIn(ex1.format_message(), six.text_type(wrapped_exc))
self.assertIn(ex1.format_message(), str(wrapped_exc))
# Assert the mock calls.
_send_prep_resize_notifications.assert_has_calls([
mock.call(self.context, self.instance,
@ -10877,7 +10875,7 @@ class ComputeManagerMigrationTestCase(test.NoDBTestCase,
wrapped_exc = ex2.exc_info[1]
# The original error should be in the MigrationPreCheckError which
# itself is in the ExpectedException.
self.assertIn(ex1.format_message(), six.text_type(wrapped_exc))
self.assertIn(ex1.format_message(), str(wrapped_exc))
# Assert the mock calls.
_send_prep_resize_notifications.assert_has_calls([
mock.call(self.context, self.instance,
@ -11076,7 +11074,7 @@ class ComputeManagerMigrationTestCase(test.NoDBTestCase,
# ExpectedException.
wrapped_exc = ex2.exc_info[1]
self.assertIn('Failed to power off instance: testing',
six.text_type(wrapped_exc))
str(wrapped_exc))
# Assert the non-decorator mock calls.
_prep_snapshot_based_resize_at_source.assert_called_once_with(
self.context, self.instance, self.migration,
@ -11948,7 +11946,7 @@ class ComputeManagerMigrationTestCase(test.NoDBTestCase,
# is still called and in this case also fails so the resulting
# exception should be the one from _complete_volume_attachments
# but the finish_revert_migration error should have been logged.
self.assertIn('vol complete failed', six.text_type(ex))
self.assertIn('vol complete failed', str(ex))
self.assertIn('driver fail', self.stdlog.logger.output)
# Assert the migration status was not updated.
self.migration.save.assert_not_called()

View File

@ -24,7 +24,6 @@ import mock
from oslo_serialization import jsonutils
from oslo_utils.fixture import uuidsentinel as uuids
from oslo_utils import uuidutils
import six
from nova.accelerator.cyborg import _CyborgClient as cyborgclient
from nova.compute import manager
@ -178,7 +177,7 @@ class ComputeValidateDeviceTestCase(test.NoDBTestCase):
def test_device_in_use(self):
exc = self.assertRaises(exception.DevicePathInUse,
self._validate_device, '/dev/vda')
self.assertIn('/dev/vda', six.text_type(exc))
self.assertIn('/dev/vda', str(exc))
def test_swap(self):
self.instance['default_swap_device'] = "/dev/vdc"

View File

@ -12,7 +12,6 @@
import mock
from oslo_utils.fixture import uuidsentinel as uuids
import six
from nova.compute import instance_list
from nova.compute import multi_cell_list
@ -215,7 +214,7 @@ class TestInstanceList(test.NoDBTestCase):
exp = self.assertRaises(exception.NovaException,
instance_list.get_instance_objects_sorted, self.context, {}, None,
None, [], None, None)
self.assertIn('configuration indicates', six.text_type(exp))
self.assertIn('configuration indicates', str(exp))
@mock.patch('nova.context.scatter_gather_cells')
def test_get_instances_with_cell_down_support(self, mock_sg):

View File

@ -17,7 +17,6 @@
import mock
from oslo_concurrency import processutils
from oslo_config import cfg
import six
from nova.compute import api as compute_api
from nova import context
@ -119,7 +118,7 @@ class CreateImportSharedTestMixIn(object):
exc = self.assertRaises(exc_class, func, self.ctxt, self.ctxt.user_id,
name, *args)
self.assertEqual(expected_message, six.text_type(exc))
self.assertEqual(expected_message, str(exc))
def assertInvalidKeypair(self, expected_message, name):
msg = 'Keypair data is invalid: %s' % expected_message
@ -232,7 +231,7 @@ class ImportKeypairTestCase(KeypairAPITestCase, CreateImportSharedTestMixIn):
self.ctxt, self.ctxt.user_id, 'foo',
'bad key data')
msg = u'Keypair data is invalid: failed to generate fingerprint'
self.assertEqual(msg, six.text_type(exc))
self.assertEqual(msg, str(exc))
class GetKeypairTestCase(KeypairAPITestCase):

View File

@ -19,7 +19,6 @@ Unit Tests for nova.compute.rpcapi
import mock
from oslo_serialization import jsonutils
from oslo_utils.fixture import uuidsentinel as uuids
import six
from nova.compute import rpcapi as compute_rpcapi
from nova import context
@ -534,7 +533,7 @@ class ComputeRpcAPITestCase(test.NoDBTestCase):
limits={},
request_spec=objects.RequestSpec(),
destination='dest')
self.assertIn('Compute too old', six.text_type(ex))
self.assertIn('Compute too old', str(ex))
def test_prep_snapshot_based_resize_at_source(self):
"""Tests happy path for prep_snapshot_based_resize_at_source rpc call
@ -564,7 +563,7 @@ class ComputeRpcAPITestCase(test.NoDBTestCase):
instance=self.fake_instance_obj,
migration=migration_obj.Migration(),
snapshot_id=uuids.snapshot_id)
self.assertIn('Compute too old', six.text_type(ex))
self.assertIn('Compute too old', str(ex))
def test_finish_snapshot_based_resize_at_dest(self):
"""Tests happy path for finish_snapshot_based_resize_at_dest."""
@ -595,7 +594,7 @@ class ComputeRpcAPITestCase(test.NoDBTestCase):
migration=migration_obj.Migration(dest_compute='dest'),
snapshot_id=uuids.snapshot_id,
request_spec=objects.RequestSpec())
self.assertIn('Compute too old', six.text_type(ex))
self.assertIn('Compute too old', str(ex))
def test_confirm_snapshot_based_resize_at_source(self):
"""Tests happy path for confirm_snapshot_based_resize_at_source."""
@ -622,7 +621,7 @@ class ComputeRpcAPITestCase(test.NoDBTestCase):
self.context,
instance=self.fake_instance_obj,
migration=migration_obj.Migration(source_compute='source'))
self.assertIn('Compute too old', six.text_type(ex))
self.assertIn('Compute too old', str(ex))
def test_revert_snapshot_based_resize_at_dest(self):
"""Tests happy path for revert_snapshot_based_resize_at_dest."""
@ -649,7 +648,7 @@ class ComputeRpcAPITestCase(test.NoDBTestCase):
self.context,
instance=self.fake_instance_obj,
migration=migration_obj.Migration(dest_compute='dest'))
self.assertIn('Compute too old', six.text_type(ex))
self.assertIn('Compute too old', str(ex))
def test_finish_revert_snapshot_based_resize_at_source(self):
"""Tests happy path for finish_revert_snapshot_based_resize_at_source.
@ -679,7 +678,7 @@ class ComputeRpcAPITestCase(test.NoDBTestCase):
self.context,
instance=self.fake_instance_obj,
migration=migration_obj.Migration(source_compute='source'))
self.assertIn('Compute too old', six.text_type(ex))
self.assertIn('Compute too old', str(ex))
def test_reboot_instance(self):
self.maxDiff = None

View File

@ -16,7 +16,6 @@ import mock
from oslo_messaging import exceptions as messaging_exceptions
from oslo_utils.fixture import uuidsentinel as uuids
from oslo_utils import timeutils
import six
from nova.compute import instance_actions
from nova.compute import power_state
@ -452,8 +451,7 @@ class CrossCellMigrationTaskTestCase(test.NoDBTestCase):
return_value=False):
ex = self.assertRaises(exception.MigrationPreCheckError,
self.task._perform_external_api_checks)
self.assertIn('Required networking service API extension',
six.text_type(ex))
self.assertIn('Required networking service API extension', str(ex))
@mock.patch('nova.conductor.tasks.cross_cell_migrate.LOG.exception')
def test_rollback_idempotent(self, mock_log_exception):
@ -472,7 +470,7 @@ class CrossCellMigrationTaskTestCase(test.NoDBTestCase):
with mock.patch.object(self.task, '_execute', side_effect=error):
# The TestingException from the main task should be raised.
ex = self.assertRaises(test.TestingException, self.task.execute)
self.assertEqual('main task', six.text_type(ex))
self.assertEqual('main task', str(ex))
# And all three sub-task rollbacks should have been called.
for subtask in self.task._completed_tasks.values():
subtask.rollback.assert_called_once_with(error)
@ -740,7 +738,7 @@ class PrepResizeAtDestTaskTestCase(test.NoDBTestCase):
exception.MigrationPreCheckError, self.task.execute)
self.assertIn(
'RPC timeout while checking if we can cross-cell migrate to '
'host: fake-host', six.text_type(ex))
'host: fake-host', str(ex))
_create_port_bindings.assert_called_once_with()
_create_volume_attachments.assert_called_once_with()
@ -1600,7 +1598,7 @@ class RevertResizeTaskTestCase(test.NoDBTestCase, ObjectComparatorMixin):
ex = self.assertRaises(exception.ObjectActionError,
self.task._update_source_obj_from_target_cell,
source, target)
self.assertIn('nested objects are not supported', six.text_type(ex))
self.assertIn('nested objects are not supported', str(ex))
@mock.patch('nova.objects.Migration.get_by_uuid')
def test_update_migration_in_source_cell(self, mock_get_migration):

View File

@ -14,7 +14,6 @@ import mock
import oslo_messaging as messaging
from oslo_serialization import jsonutils
from oslo_utils.fixture import uuidsentinel as uuids
import six
from nova.compute import power_state
from nova.compute import rpcapi as compute_rpcapi
@ -393,7 +392,7 @@ class LiveMigrationTaskTestCase(test.NoDBTestCase):
mock.patch.object(self.task, '_check_can_migrate_pci')):
ex = self.assertRaises(exception.MigrationPreCheckError,
self.task._check_requested_destination)
self.assertIn('across cells', six.text_type(ex))
self.assertIn('across cells', str(ex))
@mock.patch.object(live_migrate.LiveMigrationTask,
'_call_livem_checks_on_host')

View File

@ -24,7 +24,6 @@ from oslo_serialization import jsonutils
from oslo_utils.fixture import uuidsentinel as uuids
from oslo_utils import timeutils
from oslo_versionedobjects import exception as ovo_exc
import six
from nova.accelerator import cyborg
from nova import block_device
@ -2971,7 +2970,7 @@ class ConductorTaskTestCase(_BaseTaskTestCase, test_compute.BaseTestCase):
task_state=None,
expected_task_state=task_states.MIGRATING,),
expected_ex, request_spec)
self.assertEqual(ex.kwargs['reason'], six.text_type(expected_ex))
self.assertEqual(ex.kwargs['reason'], str(expected_ex))
@mock.patch.object(scheduler_utils, 'set_vm_state_and_notify')
def test_set_vm_state_and_notify(self, mock_set):

View File

@ -15,8 +15,6 @@
"""Tests the Console Security Proxy Framework."""
import six
import mock
from nova.console.rfb import auth
@ -128,7 +126,7 @@ class RFBSecurityProxyTestCase(test.NoDBTestCase):
self.proxy.connect,
self.tenant_sock,
self.compute_sock)
self.assertIn('version 3.8, but server', six.text_type(ex))
self.assertIn('version 3.8, but server', str(ex))
self._assert_expected_calls()
def test_fails_on_tenant_version(self):
@ -150,7 +148,7 @@ class RFBSecurityProxyTestCase(test.NoDBTestCase):
self.proxy.connect,
self.tenant_sock,
self.compute_sock)
self.assertIn('version 3.8, but tenant', six.text_type(ex))
self.assertIn('version 3.8, but tenant', str(ex))
self._assert_expected_calls()
def test_fails_on_sec_type_cnt_zero(self):
@ -172,7 +170,7 @@ class RFBSecurityProxyTestCase(test.NoDBTestCase):
self.proxy.connect,
self.tenant_sock,
self.compute_sock)
self.assertIn('cheese', six.text_type(ex))
self.assertIn('cheese', str(ex))
self._assert_expected_calls()

View File

@ -36,7 +36,6 @@ from oslo_utils import fixture as utils_fixture
from oslo_utils.fixture import uuidsentinel
from oslo_utils import timeutils
from oslo_utils import uuidutils
import six
from sqlalchemy import Column
from sqlalchemy.dialects import sqlite
from sqlalchemy.exc import OperationalError
@ -828,7 +827,7 @@ class SqlAlchemyDbApiTestCase(DbTestCase):
self.assertEqual(1, len(result))
self.assertEqual(2, len(result['host1']))
self.assertEqual(six.text_type, type(result['host1'][0]))
self.assertEqual(str, type(result['host1'][0]))
result = test2(ctxt)

View File

@ -20,7 +20,6 @@ from migrate.versioning import api as versioning_api
import mock
from oslo_db.sqlalchemy import utils as db_utils
from oslo_utils.fixture import uuidsentinel
import six
import sqlalchemy
from nova import context
@ -537,4 +536,4 @@ class TestServicesUUIDCheck(test.TestCase):
ex = self.assertRaises(exception.ValidationError,
self.migration.upgrade, self.engine)
self.assertIn('There are still 1 unmigrated records in the '
'services table.', six.text_type(ex))
'services table.', str(ex))

View File

@ -21,7 +21,6 @@ import io
import pprint
from lxml import etree
import six
from testtools import content
import testtools.matchers
@ -409,7 +408,7 @@ class XMLMatches(object):
@staticmethod
def _parse(text_or_bytes):
if isinstance(text_or_bytes, six.text_type):
if isinstance(text_or_bytes, str):
text_or_bytes = text_or_bytes.encode("utf-8")
parser = etree.XMLParser(encoding="UTF-8")
return etree.parse(io.BytesIO(text_or_bytes), parser)
@ -567,7 +566,7 @@ class EncodedByUTF8(object):
except UnicodeDecodeError:
return testtools.matchers.Mismatch(
"%s is not encoded in UTF-8." % obj)
elif isinstance(obj, six.text_type):
elif isinstance(obj, str):
try:
obj.encode("utf-8", "strict")
except UnicodeDecodeError:

View File

@ -31,7 +31,6 @@ from oslo_utils.fixture import uuidsentinel as uuids
from oslo_utils import timeutils
from oslo_utils import uuidutils
import requests_mock
import six
from nova import context
from nova.db.sqlalchemy import api as db_api
@ -176,7 +175,7 @@ class TestNeutronClient(test.NoDBTestCase):
exc = self.assertRaises(
exception.Forbidden,
client.create_port)
self.assertIsInstance(exc.format_message(), six.text_type)
self.assertIsInstance(exc.format_message(), str)
def test_withtoken_context_is_admin(self):
self.flags(endpoint_override='http://anyhost/', group='neutron')
@ -438,8 +437,8 @@ class TestAPIBase(test.TestCase):
info_cache['created_at'] = timeutils.utcnow()
info_cache['deleted_at'] = timeutils.utcnow()
info_cache['updated_at'] = timeutils.utcnow()
info_cache['network_info'] = model.NetworkInfo.hydrate(six.text_type(
jsonutils.dumps(nw_info)))
info_cache['network_info'] = model.NetworkInfo.hydrate(
str(jsonutils.dumps(nw_info)))
return info_cache
def _fake_instance_object_with_info_cache(self, instance):
@ -1828,7 +1827,7 @@ class TestAPI(TestAPIBase):
self.api.validate_networks, self.context,
requested_networks, 1)
self.assertIn(uuids.my_netid1, six.text_type(ex))
self.assertIn(uuids.my_netid1, str(ex))
mock_get_client.assert_called_once_with(self.context)
mocked_client.list_networks.assert_called_once_with(
id=[uuids.my_netid1])
@ -1847,8 +1846,8 @@ class TestAPI(TestAPIBase):
self.api.validate_networks,
self.context, requested_networks, 1)
self.assertIn(uuids.my_netid2, six.text_type(ex))
self.assertIn(uuids.my_netid3, six.text_type(ex))
self.assertIn(uuids.my_netid2, str(ex))
self.assertIn(uuids.my_netid3, str(ex))
mock_get_client.assert_called_once_with(self.context)
mocked_client.list_networks.assert_called_once_with(id=ids)
@ -4074,7 +4073,7 @@ class TestAPI(TestAPIBase):
'(Network ID is %(net_id)s)' %
{'instance': instance.uuid,
'net_id': uuids.my_netid1})
self.assertEqual(expected_exception_msg, six.text_type(exc))
self.assertEqual(expected_exception_msg, str(exc))
mock_client.delete_port.assert_called_once_with(uuids.port_id)
@mock.patch('nova.network.neutron.LOG')
@ -4098,7 +4097,7 @@ class TestAPI(TestAPIBase):
'(Network ID is %(net_id)s)' %
{'instance': instance.uuid,
'net_id': uuids.my_netid1})
self.assertEqual(expected_exception_msg, six.text_type(exc))
self.assertEqual(expected_exception_msg, str(exc))
mock_client.delete_port.assert_called_once_with(uuids.port_id)
self.assertTrue(mock_log.exception.called)
@ -4693,7 +4692,7 @@ class TestAPI(TestAPIBase):
self.assertIn(
"Provider mappings are not available to the compute service but "
"are required for ports with a resource request.",
six.text_type(ex))
str(ex))
@mock.patch.object(neutronapi, 'get_client', return_value=mock.Mock())
def test_update_port_bindings_for_instance_with_resource_req_live_mig(
@ -4929,8 +4928,8 @@ class TestAPI(TestAPIBase):
self.api.setup_networks_on_host,
self.context, instance, host='new-host', teardown=True)
# Make sure both ports show up in the exception message.
self.assertIn(uuids.port1, six.text_type(ex))
self.assertIn(uuids.port2, six.text_type(ex))
self.assertIn(uuids.port1, str(ex))
self.assertIn(uuids.port2, str(ex))
self.api._clear_migration_port_profile.assert_called_once_with(
self.context, instance, get_client_mock.return_value,
get_ports['ports'])

View File

@ -14,7 +14,6 @@
from os_vif import objects as osv_objects
from os_vif.objects import fields as os_vif_fields
import six
from nova import exception
from nova.network import model
@ -1016,7 +1015,7 @@ class OSVIFUtilTestCase(test.NoDBTestCase):
ex = self.assertRaises(exception.NovaException,
os_vif_util.nova_to_osvif_vif, vif)
self.assertIn('Unsupported VIF type wibble', six.text_type(ex))
self.assertIn('Unsupported VIF type wibble', str(ex))
def test_nova_to_osvif_vif_binding_failed(self):
vif = model.VIF(

View File

@ -13,7 +13,6 @@
import mock
from oslo_db import exception as db_exc
from oslo_utils.fixture import uuidsentinel as uuids
import six
from nova import context
from nova import exception
@ -330,7 +329,7 @@ Found 1 unmapped computes in cell: %(cell)s""" % {'cell': uuids.cell1}
exp = self.assertRaises(exception.HostMappingExists,
host_mapping.discover_hosts, ctxt)
expected = "Host 'bar' mapping already exists"
self.assertIn(expected, six.text_type(exp))
self.assertIn(expected, str(exp))
@mock.patch('nova.objects.CellMappingList.get_all')
@mock.patch('nova.objects.HostMapping.get_by_host')
@ -349,4 +348,4 @@ Found 1 unmapped computes in cell: %(cell)s""" % {'cell': uuids.cell1}
host_mapping.discover_hosts, ctxt,
by_service=True)
expected = "Host 'bar' mapping already exists"
self.assertIn(expected, six.text_type(exp))
self.assertIn(expected, str(exp))

View File

@ -13,7 +13,6 @@
# under the License.
import datetime
import six
from nova import exception
from nova import objects
@ -373,7 +372,7 @@ class TestImageMetaProps(test.NoDBTestCase):
obj = objects.ImageMetaProps(hw_video_model=model)
ex = self.assertRaises(exception.ObjectActionError,
obj.obj_to_primitive, '1.21')
self.assertIn('hw_video_model', six.text_type(ex))
self.assertIn('hw_video_model', str(ex))
def test_obj_make_compatible_watchdog_action_not_disabled(self):
"""Tests that we don't pop the hw_watchdog_action if the value is not

View File

@ -14,7 +14,6 @@
import collections
import datetime
import six
import mock
import netaddr
@ -1210,7 +1209,7 @@ class _TestInstanceObject(object):
inst.host = None
ex = self.assertRaises(exception.ObjectActionError,
inst.destroy, hard_delete=True)
self.assertIn('host changed', six.text_type(ex))
self.assertIn('host changed', str(ex))
def test_name_does_not_trigger_lazy_loads(self):
values = {'user_id': self.context.user_id,

View File

@ -19,7 +19,6 @@ import mock
from oslo_utils import fixture as utils_fixture
from oslo_utils.fixture import uuidsentinel as uuids
from oslo_utils import timeutils
import six
from nova.db import api as db
from nova import exception
@ -187,7 +186,7 @@ class _TestInstanceActionObject(object):
def test_create_id_in_updates_error(self):
action = instance_action.InstanceAction(self.context, id=1)
ex = self.assertRaises(exception.ObjectActionError, action.create)
self.assertIn('already created', six.text_type(ex))
self.assertIn('already created', str(ex))
@mock.patch('nova.db.api.action_start')
def test_create(self, mock_action_start):
@ -335,14 +334,13 @@ class _TestInstanceActionEventObject(object):
self.useFixture(utils_fixture.TimeFixture(NOW))
test_class = instance_action.InstanceActionEvent
expected_packed_values = test_class.pack_action_event_finish(
self.context, 'fake-uuid', 'fake-event', 'val',
six.text_type('fake-tb'))
self.context, 'fake-uuid', 'fake-event', 'val', 'fake-tb')
expected_packed_values['finish_time'] = NOW
mock_finish.return_value = fake_event
event = test_class.event_finish_with_failure(
self.context, 'fake-uuid', 'fake-event', exc_val='val',
exc_tb=six.text_type('fake-tb'), want_result=True)
exc_tb='fake-tb', want_result=True)
mock_finish.assert_called_once_with(self.context,
expected_packed_values)
self.compare_obj(event, fake_event)
@ -404,7 +402,7 @@ class _TestInstanceActionEventObject(object):
ex = self.assertRaises(
exception.ObjectActionError, event.create,
fake_action['instance_uuid'], fake_action['request_id'])
self.assertIn('already created', six.text_type(ex))
self.assertIn('already created', str(ex))
@mock.patch('nova.db.api.action_event_start')
def test_create(self, mock_action_event_start):

View File

@ -25,7 +25,6 @@ from oslo_utils import timeutils
from oslo_versionedobjects import base as ovo_base
from oslo_versionedobjects import exception as ovo_exc
from oslo_versionedobjects import fixture
import six
from nova import context
from nova import exception
@ -257,7 +256,7 @@ class FakeIndirectionHack(fixture.FakeIndirectionAPI):
objinst = self._ser.deserialize_entity(
context, self._ser.serialize_entity(
context, objinst))
objmethod = six.text_type(objmethod)
objmethod = str(objmethod)
args = self._ser.deserialize_entity(
None, self._ser.serialize_entity(None, args))
kwargs = self._ser.deserialize_entity(
@ -272,9 +271,9 @@ class FakeIndirectionHack(fixture.FakeIndirectionAPI):
def object_class_action(self, context, objname, objmethod, objver,
args, kwargs):
objname = six.text_type(objname)
objmethod = six.text_type(objmethod)
objver = six.text_type(objver)
objname = str(objname)
objmethod = str(objmethod)
objver = str(objver)
args = self._ser.deserialize_entity(
None, self._ser.serialize_entity(None, args))
kwargs = self._ser.deserialize_entity(
@ -292,9 +291,9 @@ class FakeIndirectionHack(fixture.FakeIndirectionAPI):
def object_class_action_versions(self, context, objname, objmethod,
object_versions, args, kwargs):
objname = six.text_type(objname)
objmethod = six.text_type(objmethod)
object_versions = {six.text_type(o): six.text_type(v)
objname = str(objname)
objmethod = str(objmethod)
object_versions = {str(o): str(v)
for o, v in object_versions.items()}
args, kwargs = self._canonicalize_args(context, args, kwargs)
objver = object_versions[objname]

View File

@ -13,7 +13,6 @@
import mock
from oslo_serialization import jsonutils
from oslo_utils.fixture import uuidsentinel as uuids
import six
from nova.objects import resource
from nova.tests.unit.objects import test_objects
@ -53,8 +52,7 @@ class TestResourceObject(test_objects._LocalTest):
resource_class=rc,
identifier='foo')
except ValueError as e:
self.assertEqual('Malformed Resource Class %s' % rc,
six.text_type(e))
self.assertEqual('Malformed Resource Class %s' % rc, str(e))
else:
self.fail('Check malformed resource class failed.')

View File

@ -17,7 +17,6 @@ from oslo_utils.fixture import uuidsentinel
from oslo_utils import timeutils
from oslo_versionedobjects import base as ovo_base
from oslo_versionedobjects import exception as ovo_exc
import six
from nova.compute import manager as compute_manager
from nova import context
@ -530,7 +529,7 @@ class TestServiceVersionCells(test.TestCase):
ex = self.assertRaises(exception.ObjectActionError,
service.get_minimum_version_all_cells,
self.context, ['compute'])
self.assertIn('Invalid binary prefix', six.text_type(ex))
self.assertIn('Invalid binary prefix', str(ex))
self.assertTrue(mock_log.warning.called)
@mock.patch('nova.context.scatter_gather_all_cells')

View File

@ -13,7 +13,6 @@
import mock
import six
from nova import exception
from nova import objects
@ -212,7 +211,7 @@ class PciAddressTestCase(test.NoDBTestCase):
devspec.PciDeviceSpec, pci_info)
msg = ("Invalid PCI devices Whitelist config: property func ('12:6') "
"does not parse as a hex number.")
self.assertEqual(msg, six.text_type(exc))
self.assertEqual(msg, str(exc))
def test_max_func(self):
pci_info = {"address": "0000:0a:00.%s" % (devspec.MAX_FUNC + 1),
@ -222,7 +221,7 @@ class PciAddressTestCase(test.NoDBTestCase):
msg = ('Invalid PCI devices Whitelist config: property func (%x) is '
'greater than the maximum allowable value (%x).'
% (devspec.MAX_FUNC + 1, devspec.MAX_FUNC))
self.assertEqual(msg, six.text_type(exc))
self.assertEqual(msg, str(exc))
def test_max_domain(self):
pci_info = {"address": "%x:0a:00.5" % (devspec.MAX_DOMAIN + 1),
@ -232,7 +231,7 @@ class PciAddressTestCase(test.NoDBTestCase):
msg = ('Invalid PCI devices Whitelist config: property domain (%X) '
'is greater than the maximum allowable value (%X).'
% (devspec.MAX_DOMAIN + 1, devspec.MAX_DOMAIN))
self.assertEqual(msg, six.text_type(exc))
self.assertEqual(msg, str(exc))
def test_max_bus(self):
pci_info = {"address": "0000:%x:00.5" % (devspec.MAX_BUS + 1),
@ -242,7 +241,7 @@ class PciAddressTestCase(test.NoDBTestCase):
msg = ('Invalid PCI devices Whitelist config: property bus (%X) is '
'greater than the maximum allowable value (%X).'
% (devspec.MAX_BUS + 1, devspec.MAX_BUS))
self.assertEqual(msg, six.text_type(exc))
self.assertEqual(msg, str(exc))
def test_max_slot(self):
pci_info = {"address": "0000:0a:%x.5" % (devspec.MAX_SLOT + 1),
@ -252,7 +251,7 @@ class PciAddressTestCase(test.NoDBTestCase):
msg = ('Invalid PCI devices Whitelist config: property slot (%X) is '
'greater than the maximum allowable value (%X).'
% (devspec.MAX_SLOT + 1, devspec.MAX_SLOT))
self.assertEqual(msg, six.text_type(exc))
self.assertEqual(msg, str(exc))
def test_address_is_undefined(self):
pci_info = {"vendor_id": "8086", "product_id": "5057"}
@ -388,7 +387,7 @@ class PciDevSpecTestCase(test.NoDBTestCase):
self.assertEqual(
"Invalid PCI devices Whitelist config: property vendor_id (80860) "
"is greater than the maximum allowable value (FFFF).",
six.text_type(exc))
str(exc))
def test_invalid_product_id(self):
pci_info = {"vendor_id": "8086", "address": "*: *: *.5",
@ -404,7 +403,7 @@ class PciDevSpecTestCase(test.NoDBTestCase):
self.assertEqual(
"Invalid PCI devices Whitelist config: property product_id "
"(50570) is greater than the maximum allowable value (FFFF).",
six.text_type(exc))
str(exc))
def test_devname_and_address(self):
pci_info = {"devname": "eth0", "vendor_id": "8086",

View File

@ -19,7 +19,6 @@ import mock
import os_resource_classes as orc
from oslo_serialization import jsonutils
from oslo_utils.fixture import uuidsentinel as uuids
import six
import nova.conf
from nova import context
@ -3588,7 +3587,7 @@ class TestAllocations(SchedulerReportClientTestCase):
exception.AllocationUpdateFailed,
self._test_remove_res_from_alloc, current_allocations,
resources_to_remove, None)
self.assertIn('The allocation is empty', six.text_type(ex))
self.assertIn('The allocation is empty', str(ex))
@mock.patch("nova.scheduler.client.report.SchedulerReportClient.put")
@mock.patch("nova.scheduler.client.report.SchedulerReportClient.get")
@ -3623,9 +3622,7 @@ class TestAllocations(SchedulerReportClientTestCase):
ex = self.assertRaises(
exception.AllocationUpdateFailed, self._test_remove_res_from_alloc,
current_allocations, resources_to_remove, None)
self.assertIn(
"Key 'VCPU' is missing from the allocation",
six.text_type(ex))
self.assertIn("Key 'VCPU' is missing from the allocation", str(ex))
def test_remove_res_from_alloc_missing_rp(self):
current_allocations = {
@ -3652,7 +3649,7 @@ class TestAllocations(SchedulerReportClientTestCase):
current_allocations, resources_to_remove, None)
self.assertIn(
"Key '%s' is missing from the allocation" % uuids.other_rp,
six.text_type(ex))
str(ex))
def test_remove_res_from_alloc_not_enough_resource_to_remove(self):
current_allocations = {
@ -3682,7 +3679,7 @@ class TestAllocations(SchedulerReportClientTestCase):
'provider to remove 400 amount of NET_BW_EGR_KILOBIT_PER_SEC '
'resources' %
uuids.rp1,
six.text_type(ex))
str(ex))
@mock.patch('time.sleep', new=mock.Mock())
@mock.patch("nova.scheduler.client.report.SchedulerReportClient.put")
@ -3810,7 +3807,7 @@ class TestAllocations(SchedulerReportClientTestCase):
self.context, uuids.consumer_uuid, resources_to_remove)
self.assertIn(
'due to multiple successive generation conflicts',
six.text_type(ex))
str(ex))
get_call = mock.call(
'/allocations/%s' % uuids.consumer_uuid, version='1.28',

View File

@ -10,8 +10,6 @@
# License for the specific language governing permissions and limitations
# under the License.
import six
from nova import objects
from nova.scheduler.filters import compute_capabilities_filter
from nova import test
@ -53,7 +51,7 @@ class TestComputeCapabilitiesFilter(test.NoDBTestCase):
def test_compute_filter_fails_without_capabilites(self):
cpu_info = """ { } """
cpu_info = six.text_type(cpu_info)
cpu_info = str(cpu_info)
self._do_test_compute_filter_extra_specs(
ecaps={'cpu_info': cpu_info},
@ -65,7 +63,7 @@ class TestComputeCapabilitiesFilter(test.NoDBTestCase):
"arch": "i686","features": ["lahf_lm", "rdtscp"], "topology":
{"cores": 1, "threads":1, "sockets": 1}} """
cpu_info = six.text_type(cpu_info)
cpu_info = str(cpu_info)
self._do_test_compute_filter_extra_specs(
ecaps={'cpu_info': cpu_info},
@ -77,7 +75,7 @@ class TestComputeCapabilitiesFilter(test.NoDBTestCase):
"arch": "i686","features": ["lahf_lm", "rdtscp"], "topology":
{"cores": 1, "threads":1, "sockets": 1}} """
cpu_info = six.text_type(cpu_info)
cpu_info = str(cpu_info)
self._do_test_compute_filter_extra_specs(
ecaps={'cpu_info': cpu_info},
@ -89,7 +87,7 @@ class TestComputeCapabilitiesFilter(test.NoDBTestCase):
"arch": "i686","features": ["lahf_lm", "rdtscp"], "topology":
{"cores": 1, "threads":1, "sockets": 1}} """
cpu_info = six.text_type(cpu_info)
cpu_info = str(cpu_info)
self._do_test_compute_filter_extra_specs(
ecaps={'cpu_info': cpu_info},
@ -98,7 +96,7 @@ class TestComputeCapabilitiesFilter(test.NoDBTestCase):
def test_compute_filter_fail_cpu_info_as_text_type_not_valid(self):
cpu_info = "cpu_info"
cpu_info = six.text_type(cpu_info)
cpu_info = str(cpu_info)
self._do_test_compute_filter_extra_specs(
ecaps={'cpu_info': cpu_info},
especs={'capabilities:cpu_info:vendor': 'Intel'},

View File

@ -18,7 +18,6 @@ Tests For Scheduler Utils
import mock
from oslo_utils.fixture import uuidsentinel as uuids
import six
from nova.compute import flavors
from nova.compute import utils as compute_utils
@ -245,7 +244,7 @@ class SchedulerUtilsTestCase(test.NoDBTestCase):
scheduler_utils.populate_retry,
filter_properties, uuids.instance)
# make sure 'msg' is a substring of the complete exception text
self.assertIn(msg, six.text_type(nvh))
self.assertIn(msg, str(nvh))
def _check_parse_options(self, opts, sep, converter, expected):
good = scheduler_utils.parse_options(opts,

View File

@ -15,7 +15,6 @@ import mock
import os_resource_classes as orc
from oslo_serialization import jsonutils
from oslo_utils.fixture import uuidsentinel as uuids
import six
from nova import context as nova_context
from nova import exception
@ -1310,7 +1309,7 @@ class TestUtils(TestUtilsBase):
self.context, instance.uuid)
self.assertIn(
'Expected to find allocations for source node resource '
'provider %s' % source_node.uuid, six.text_type(ex))
'provider %s' % source_node.uuid, str(ex))
test()

View File

@ -17,7 +17,6 @@ import re
import fixtures
from jsonschema import exceptions as jsonschema_exc
import six
from nova.api.openstack import api_version_request as api_version
from nova.api import validation
@ -284,7 +283,7 @@ class QueryParamsSchemaTestCase(test.NoDBTestCase):
req.api_version_request = api_version.APIVersionRequest("2.1")
ex = self.assertRaises(
exception.ValidationError, self.controller.get, req)
self.assertIn("Query string is not UTF-8 encoded", six.text_type(ex))
self.assertIn("Query string is not UTF-8 encoded", str(ex))
def test_strip_out_additional_properties(self):
req = fakes.HTTPRequest.blank(

View File

@ -19,7 +19,6 @@ Tests for availability zones
import mock
from oslo_utils.fixture import uuidsentinel
import six
from nova import availability_zones as az
from nova.compute import api as compute_api
@ -120,7 +119,7 @@ class AvailabilityZoneTestCases(test.TestCase):
service = self._create_service_with_topic('network', self.host)
services = db.service_get_all(self.context)
az.set_availability_zones(self.context, services)
self.assertIsInstance(services[0]['host'], six.text_type)
self.assertIsInstance(services[0]['host'], str)
cached_key = az._make_cache_key(services[0]['host'])
self.assertIsInstance(cached_key, str)
self._destroy_service(service)

View File

@ -20,7 +20,6 @@ Tests for Block Device utility functions.
import mock
from oslo_utils.fixture import uuidsentinel as uuids
from oslo_utils import units
import six
from nova import block_device
from nova.compute import api as compute_api
@ -630,8 +629,7 @@ class TestBlockDeviceDict(test.NoDBTestCase):
ex = self.assertRaises(exception.InvalidBDMFormat,
block_device.BlockDeviceDict.from_api,
api_dict, False)
self.assertIn('Mapping image to local is not supported',
six.text_type(ex))
self.assertIn('Mapping image to local is not supported', str(ex))
def test_from_api_invalid_volume_type_to_destination_local_mapping(self):
api_dict = {'id': 1,
@ -643,7 +641,7 @@ class TestBlockDeviceDict(test.NoDBTestCase):
block_device.BlockDeviceDict.from_api,
api_dict, False)
self.assertIn('Specifying a volume_type with destination_type=local '
'is not supported', six.text_type(ex))
'is not supported', str(ex))
def test_from_api_invalid_specify_volume_type_with_source_volume_mapping(
self):
@ -656,7 +654,7 @@ class TestBlockDeviceDict(test.NoDBTestCase):
block_device.BlockDeviceDict.from_api,
api_dict, False)
self.assertIn('Specifying volume type to existing volume is '
'not supported', six.text_type(ex))
'not supported', str(ex))
def test_legacy(self):
for legacy, new in zip(self.legacy_mapping, self.new_mapping):

View File

@ -18,7 +18,6 @@ import inspect
import fixtures
import mock
import six
from webob.util import status_reasons
from nova import context
@ -148,11 +147,10 @@ class NovaExceptionTestCase(test.NoDBTestCase):
msg_fmt = "default message"
exc = FakeNovaException()
self.assertEqual('default message', six.text_type(exc))
self.assertEqual('default message', str(exc))
def test_error_msg(self):
self.assertEqual('test',
six.text_type(exception.NovaException('test')))
self.assertEqual('test', str(exception.NovaException('test')))
self.assertEqual('test',
exception.NovaException(Exception('test')).message)
@ -161,7 +159,7 @@ class NovaExceptionTestCase(test.NoDBTestCase):
msg_fmt = "default message: %(code)s"
exc = FakeNovaException(code=500)
self.assertEqual('default message: 500', six.text_type(exc))
self.assertEqual('default message: 500', str(exc))
self.assertEqual('default message: 500', exc.message)
def test_error_msg_exception_with_kwargs(self):
@ -169,7 +167,7 @@ class NovaExceptionTestCase(test.NoDBTestCase):
msg_fmt = "default message: %(misspelled_code)s"
exc = FakeNovaException(code=500, misspelled_code='blah')
self.assertEqual('default message: blah', six.text_type(exc))
self.assertEqual('default message: blah', str(exc))
self.assertEqual('default message: blah', exc.message)
def test_default_error_code(self):
@ -198,7 +196,7 @@ class NovaExceptionTestCase(test.NoDBTestCase):
msg_fmt = "some message"
exc = FakeNovaException()
self.assertEqual(six.text_type(exc), exc.format_message())
self.assertEqual(str(exc), exc.format_message())
def test_format_message_remote(self):
class FakeNovaException_Remote(exception.NovaException):
@ -208,7 +206,7 @@ class NovaExceptionTestCase(test.NoDBTestCase):
return "print the whole trace"
exc = FakeNovaException_Remote()
self.assertEqual(u"print the whole trace", six.text_type(exc))
self.assertEqual(u"print the whole trace", str(exc))
self.assertEqual("some message", exc.format_message())
def test_format_message_remote_error(self):

View File

@ -36,7 +36,6 @@ from oslo_serialization import jsonutils
from oslo_utils import encodeutils
from oslo_utils.fixture import uuidsentinel as uuids
import requests
import six
import webob
from nova.api.metadata import base
@ -933,7 +932,7 @@ class OpenStackMetadataTestCase(test.TestCase):
# Verify the warning message is the one we expect which is the
# first and only arg to the first and only call to the warning.
self.assertIn('Passing insecure dynamic vendordata requests',
six.text_type(warning_calls[0][0]))
str(warning_calls[0][0]))
self.assertEqual('10.0.0.1', vd['static'].get('ldap'))
self.assertEqual('10.0.0.2', vd['static'].get('ad'))

View File

@ -16,7 +16,6 @@ import mock
import oslo_messaging as messaging
from oslo_messaging.rpc import dispatcher
from oslo_serialization import jsonutils
import six
import nova.conf
from nova import context
@ -354,7 +353,7 @@ class TestJsonPayloadSerializer(test.NoDBTestCase):
self.assertIsInstance(primitive, dict)
# Convert anything else, should get a string.
primitive = rpc.JsonPayloadSerializer.fallback(mock.sentinel.entity)
self.assertIsInstance(primitive, six.text_type)
self.assertIsInstance(primitive, str)
class TestRequestContextSerializer(test.NoDBTestCase):

View File

@ -23,7 +23,6 @@ import uuid
import mock
from oslo_log import log as logging
import oslo_messaging as messaging
import six
import nova.conf
from nova import exception
@ -125,10 +124,10 @@ class JsonTestCase(test.NoDBTestCase):
e.difference)
self.assertIn(
"actual:\n{'top': {'l1': {'l2': ['c', 'a', 'b', 'd']}}}",
six.text_type(e))
str(e))
self.assertIn(
"expected:\n{'top': {'l1': {'l2': ['a', 'b', 'c']}}}",
six.text_type(e))
str(e))
else:
self.fail("This should have raised a mismatch exception")
@ -206,10 +205,10 @@ class JsonTestCase(test.NoDBTestCase):
e.difference)
self.assertIn(
"actual:\n{'top': {'l1': {'l2': ['c', 'a', 'd']}}}",
six.text_type(e))
str(e))
self.assertIn(
"expected:\n{'top': {'l1': {'l2': ['a', 'b', 'c']}}}",
six.text_type(e))
str(e))
else:
self.fail("This should have raised a mismatch exception")
@ -233,11 +232,9 @@ class JsonTestCase(test.NoDBTestCase):
except Exception as e:
self.assertEqual(
"3 != 4: path: root.top.l1.l2.c", e.difference)
self.assertIn("actual:\n{'top': {'l1': {'l2': {", six.text_type(e))
self.assertIn(
"expected:\n{'top': {'l1': {'l2': {", six.text_type(e))
self.assertIn(
"message: test message\n", six.text_type(e))
self.assertIn("actual:\n{'top': {'l1': {'l2': {", str(e))
self.assertIn("expected:\n{'top': {'l1': {'l2': {", str(e))
self.assertIn("message: test message\n", str(e))
else:
self.fail("This should have raised a mismatch exception")
@ -310,13 +307,13 @@ class NovaExceptionReraiseFormatErrorTestCase(test.NoDBTestCase):
# wrong kwarg
ex = self.assertRaises(KeyError, FakeImageException,
bogus='wrongkwarg')
self.assertIn('image_id', six.text_type(ex))
self.assertIn('image_id', str(ex))
# no kwarg
ex = self.assertRaises(KeyError, FakeImageException)
self.assertIn('image_id', six.text_type(ex))
self.assertIn('image_id', str(ex))
# not enough kwargs
ex = self.assertRaises(KeyError, FakeImageException, image_id='image')
self.assertIn('type', six.text_type(ex))
self.assertIn('type', str(ex))
class PatchExistsTestCase(test.NoDBTestCase):

View File

@ -31,7 +31,6 @@ from oslo_context import fixture as context_fixture
from oslo_utils import encodeutils
from oslo_utils import fixture as utils_fixture
from oslo_utils.secretutils import md5
import six
from nova import context
from nova import exception
@ -215,8 +214,7 @@ class GenericUtilsTestCase(test.NoDBTestCase):
instance.display_name = u'\u00CD\u00F1st\u00E1\u00F1c\u00E9'
# should be a bytes string if python2 before conversion
self.assertIs(str, type(repr(instance)))
self.assertIs(six.text_type,
type(utils.get_obj_repr_unicode(instance)))
self.assertIs(str, type(utils.get_obj_repr_unicode(instance)))
@mock.patch('oslo_concurrency.processutils.execute')
def test_ssh_execute(self, mock_execute):

View File

@ -23,7 +23,6 @@ from oslo_config import cfg
from oslo_service import loopingcall
from oslo_utils.fixture import uuidsentinel as uuids
from oslo_utils import uuidutils
import six
from testtools import matchers
from tooz import hashring as hash_ring
@ -2008,7 +2007,7 @@ class IronicDriverTestCase(test.NoDBTestCase):
instance = fake_instance.fake_instance_obj(self.ctx,
node=node_uuid)
network_info = utils.get_test_network_info()
vif_id = six.text_type(network_info[0]['id'])
vif_id = str(network_info[0]['id'])
self.driver._plug_vifs(node, instance, network_info)
@ -2133,7 +2132,7 @@ class IronicDriverTestCase(test.NoDBTestCase):
instance = fake_instance.fake_instance_obj(self.ctx,
node=node_id)
network_info = utils.get_test_network_info()
vif_id = six.text_type(network_info[0]['id'])
vif_id = str(network_info[0]['id'])
self.driver.unplug_vifs(instance, network_info)
# asserts

View File

@ -59,7 +59,6 @@ from oslo_utils import strutils
from oslo_utils import units
from oslo_utils import uuidutils
from oslo_utils import versionutils
import six
from nova.api.metadata import base as instance_metadata
from nova.compute import manager
@ -1448,7 +1447,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
self.assertIn(
"Reserving memory via '[DEFAULT] reserved_host_memory_mb' is not "
"compatible",
six.text_type(mock_log.call_args[0]),
str(mock_log.call_args[0]),
)
def test__check_cpu_compatibility_start_ok(self):
@ -1547,7 +1546,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
exc = self.assertRaises(exception.InvalidConfiguration,
drvr.init_host, 'dummyhost')
self.assertIn("vTPM support requires '[libvirt] virt_type' of 'qemu' "
"or 'kvm'; found 'lxc'.", six.text_type(exc))
"or 'kvm'; found 'lxc'.", str(exc))
@mock.patch.object(host.Host, 'has_min_version', return_value=True)
@mock.patch('shutil.which')
@ -1690,7 +1689,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
ex = self.assertRaises(exception.InvalidConfiguration,
drvr._check_cpu_set_configuration)
self.assertIn("The 'reserved_host_cpus' config option cannot be "
"defined alongside ", six.text_type(ex))
"defined alongside ", str(ex))
@mock.patch.object(libvirt_driver.LOG, 'warning')
def test_check_cpu_set_configuration__vcpu_pin_set(self, mock_log):
@ -1709,7 +1708,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
self.assertIn("When defined, 'vcpu_pin_set' will be used to calculate "
"'VCPU' inventory and schedule instances that have "
"'VCPU' allocations.",
six.text_type(mock_log.call_args[0]))
str(mock_log.call_args[0]))
@mock.patch.object(libvirt_driver.LOG, 'warning')
def test_check_cpu_set_configuration__vcpu_pin_set_cpu_shared_set(
@ -1728,7 +1727,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
mock_log.assert_called_once()
self.assertIn("The '[compute] cpu_shared_set' and 'vcpu_pin_set' "
"config options have both been defined.",
six.text_type(mock_log.call_args[0]))
str(mock_log.call_args[0]))
def test_check_cpu_set_configuration__vcpu_pin_set_cpu_dedicated_set(
self):
@ -1745,7 +1744,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
drvr._check_cpu_set_configuration)
self.assertIn("The 'vcpu_pin_set' config option has been deprecated "
"and cannot be defined alongside '[compute] "
"cpu_dedicated_set'.", six.text_type(ex))
"cpu_dedicated_set'.", str(ex))
def _do_test_parse_migration_flags(self, lm_expected=None,
bm_expected=None):
@ -2193,7 +2192,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
'provider status to "enabled" for provider: %s' %
uuids.rp_uuid, log_output)
# The error should have been logged as well.
self.assertIn(six.text_type(error), log_output)
self.assertIn(str(error), log_output)
@mock.patch.object(fakelibvirt.virConnect, "nodeDeviceLookupByName")
def test_prepare_pci_device(self, mock_lookup):
@ -19866,8 +19865,8 @@ class LibvirtConnTestCase(test.NoDBTestCase,
create=True) as mock_define:
srcfile = "/first/path"
dstfile = "/second/path"
orig_xml = six.text_type(mock.sentinel.orig_xml)
new_xml = six.text_type(mock.sentinel.new_xml)
orig_xml = str(mock.sentinel.orig_xml)
new_xml = str(mock.sentinel.new_xml)
mock_dom.XMLDesc.return_value = orig_xml
mock_dom.isPersistent.return_value = True
@ -20515,7 +20514,7 @@ class LibvirtConnTestCase(test.NoDBTestCase,
image_meta=image_meta, disk_info=disk_info, accel_info=accel_info)
mock_add_accel.assert_called_once_with(mock.ANY, [])
self.assertIn('Ignoring accelerator requests for instance',
six.text_type(mock_log.call_args[0]))
str(mock_log.call_args[0]))
def test_get_guest_disk_config_rbd_older_config_drive_fall_back(self):
# New config drives are stored in rbd but existing instances have
@ -21507,7 +21506,7 @@ class TestUpdateProviderTree(test.NoDBTestCase):
self.pt, self.cn_rp['name'],
allocations=allocations)
self.assertIn('Unexpected VGPU resource allocation on provider %s'
% uuids.other_rp, six.text_type(ex))
% uuids.other_rp, str(ex))
@mock.patch('nova.objects.instance.Instance.get_by_uuid')
@mock.patch('nova.objects.migration.MigrationList'
@ -23702,7 +23701,7 @@ class LibvirtDriverTestCase(test.NoDBTestCase, TraitsComparisonMixin):
self.assertFalse(mock_log.error.called)
self.assertEqual(1, mock_log.warning.call_count)
self.assertIn('the device is no longer found on the guest',
six.text_type(mock_log.warning.call_args[0]))
str(mock_log.warning.call_args[0]))
@mock.patch('nova.virt.libvirt.driver.LOG')
def test_detach_interface_guest_not_found_after_detach(self, mock_log):
@ -26758,7 +26757,7 @@ class LibvirtVolumeSnapshotTestCase(test.NoDBTestCase):
self.drvr._volume_snapshot_delete,
self.c, instance, self.volume_uuid,
snapshot_id, self.delete_info_1)
self.assertIn('has not been fully tested', six.text_type(ex))
self.assertIn('has not been fully tested', str(ex))
@mock.patch('time.sleep', new=mock.Mock())
@mock.patch.object(host.Host, '_get_domain')

View File

@ -19,7 +19,6 @@ import sys
import mock
from oslo_service import fixture as service_fixture
from oslo_utils import encodeutils
import six
from nova import context
from nova import exception
@ -280,7 +279,7 @@ class GuestTestCase(test.NoDBTestCase):
ex = self.assertRaises(
exception.DeviceNotFound, self.guest.detach_device_with_retry,
get_config, "/dev/vdb", live=True)
self.assertIn("/dev/vdb", six.text_type(ex))
self.assertIn("/dev/vdb", str(ex))
def test_detach_device_with_retry_device_not_found_alt_name(self):
"""Tests to make sure we use the alternative name in errors."""
@ -290,7 +289,7 @@ class GuestTestCase(test.NoDBTestCase):
exception.DeviceNotFound, self.guest.detach_device_with_retry,
get_config, mock.sentinel.device, live=True,
alternative_device_name='foo')
self.assertIn('foo', six.text_type(ex))
self.assertIn('foo', str(ex))
@mock.patch.object(libvirt_guest.Guest, "detach_device")
def _test_detach_device_with_retry_second_detach_failure(

View File

@ -20,7 +20,6 @@ from lxml import etree
import mock
from oslo_utils.fixture import uuidsentinel as uuids
from oslo_utils import units
import six
from nova.compute import power_state
from nova import exception
@ -896,8 +895,7 @@ class UtilityMigrationTestCase(test.NoDBTestCase):
ex = self.assertRaises(exception.NovaException,
migration._update_vif_xml,
doc, data, get_vif_config)
self.assertIn('Unable to find MAC address in interface XML',
six.text_type(ex))
self.assertIn('Unable to find MAC address in interface XML', str(ex))
def test_update_vif_xml_no_matching_vif(self):
"""Tests that the vif in the migrate data is not found in the existing
@ -921,7 +919,7 @@ class UtilityMigrationTestCase(test.NoDBTestCase):
doc = etree.fromstring(original_xml)
ex = self.assertRaises(KeyError, migration._update_vif_xml,
doc, data, get_vif_config)
self.assertIn("CA:FE:DE:AD:BE:EF", six.text_type(ex))
self.assertIn("CA:FE:DE:AD:BE:EF", str(ex))
class MigrationMonitorTestCase(test.NoDBTestCase):

View File

@ -22,7 +22,6 @@ from os_vif.objects import fields as osv_fields
from oslo_concurrency import processutils
from oslo_config import cfg
from oslo_utils.fixture import uuidsentinel as uuids
import six
from nova import exception
from nova.network import model as network_model
@ -1215,9 +1214,9 @@ class LibvirtVifTestCase(test.NoDBTestCase):
self._get_instance_xml,
d,
self.vif_macvtap_exception)
self.assertIn('macvtap_source', six.text_type(e))
self.assertIn('macvtap_mode', six.text_type(e))
self.assertIn('physical_interface', six.text_type(e))
self.assertIn('macvtap_source', str(e))
self.assertIn('macvtap_mode', str(e))
self.assertIn('physical_interface', str(e))
@mock.patch('nova.virt.libvirt.vif.ensure_vlan')
def test_macvtap_plug_vlan(self, ensure_vlan_mock):

View File

@ -22,7 +22,6 @@ import mock
from oslo_concurrency import processutils
from oslo_utils import fileutils
import psutil
import six
from nova import exception as nova_exception
from nova import test
@ -51,7 +50,7 @@ class QuobyteTestCase(test.NoDBTestCase):
self.assertIsInstance(exc, excClass,
'Wrong exception caught: %s Stacktrace: %s' %
(exc, traceback.format_exc()))
self.assertIn(msg, six.text_type(exc))
self.assertIn(msg, str(exc))
if not caught:
self.fail('Expected raised exception but nothing caught.')

View File

@ -24,7 +24,6 @@ from pypowervm.helpers import log_helper as pvm_hlp_log
from pypowervm.helpers import vios_busy as pvm_hlp_vbusy
from pypowervm.utils import transaction as pvm_tx
from pypowervm.wrappers import virtual_io_server as pvm_vios
import six
from nova import block_device as nova_block_device
from nova.compute import provider_tree
@ -505,11 +504,11 @@ class TestPowerVMDriver(test.NoDBTestCase):
mock_tf_run.side_effect = exception.InstanceNotFound('id')
exc = self.assertRaises(exception.VirtualInterfacePlugException,
self.drv.plug_vifs, mock_inst, 'net_info')
self.assertIn('instance', six.text_type(exc))
self.assertIn('instance', str(exc))
mock_tf_run.side_effect = Exception
exc = self.assertRaises(exception.VirtualInterfacePlugException,
self.drv.plug_vifs, mock_inst, 'net_info')
self.assertIn('unexpected', six.text_type(exc))
self.assertIn('unexpected', str(exc))
@mock.patch('nova.virt.powervm.tasks.base.run', autospec=True)
@mock.patch('nova.virt.powervm.tasks.network.UnplugVifs', autospec=True)

View File

@ -16,7 +16,6 @@ import os
import mock
from oslo_concurrency import processutils
import six
from nova.compute import utils as compute_utils
from nova import exception
@ -78,7 +77,7 @@ class QemuTestCase(test.NoDBTestCase):
exc = self.assertRaises(exception.InvalidDiskInfo,
images.qemu_img_info,
'/fake/path')
self.assertIn('qemu-img aborted by prlimits', six.text_type(exc))
self.assertIn('qemu-img aborted by prlimits', str(exc))
@mock.patch('oslo_concurrency.processutils.execute')
@mock.patch.object(os.path, 'exists', return_value=True)

View File

@ -17,7 +17,6 @@ import io
import mock
import os_traits
import six
from nova import test
from nova.virt.disk import api as disk_api
@ -133,7 +132,7 @@ class FakeMount(object):
class TestDiskImage(test.NoDBTestCase):
def mock_proc_mounts(self, mock_open):
response = io.StringIO(six.text_type(PROC_MOUNTS_CONTENTS))
response = io.StringIO(str(PROC_MOUNTS_CONTENTS))
mock_open.return_value = response
@mock.patch('builtins.open')

View File

@ -23,7 +23,6 @@ from oslo_utils import uuidutils
from oslo_vmware import exceptions as vexc
from oslo_vmware.objects import datastore as ds_obj
from oslo_vmware import vim_util as vutil
import six
from nova.compute import power_state
from nova import context
@ -1734,9 +1733,9 @@ class VMwareVMOpsTestCase(test.NoDBTestCase):
self._verify_spawn_method_calls(_call_method, extras)
dc_ref = 'fake_dc_ref'
source_file = six.text_type('[fake_ds] vmware_base/%s/%s.vmdk' %
source_file = ('[fake_ds] vmware_base/%s/%s.vmdk' %
(self._image_id, self._image_id))
dest_file = six.text_type('[fake_ds] vmware_base/%s/%s.%d.vmdk' %
dest_file = ('[fake_ds] vmware_base/%s/%s.%d.vmdk' %
(self._image_id, self._image_id,
self._instance['root_gb']))
# TODO(dims): add more tests for copy_virtual_disk after

View File

@ -23,7 +23,6 @@ from keystoneclient import exceptions as keystone_exception
import mock
from oslo_utils.fixture import uuidsentinel as uuids
from oslo_utils import timeutils
import six
import nova.conf
from nova import context
@ -218,7 +217,7 @@ class CinderApiTestCase(test.NoDBTestCase):
ex = self.assertRaises(exception.NotFound,
self.api.create, self.ctx, 1, '', '')
self.assertEqual('Volume type can not be found.', six.text_type(ex))
self.assertEqual('Volume type can not be found.', str(ex))
@mock.patch('nova.volume.cinder.cinderclient')
def test_create_over_quota_failed(self, mock_cinderclient):
@ -531,7 +530,7 @@ class CinderApiTestCase(test.NoDBTestCase):
attachment_id)
self.assertEqual(404, ex.code)
self.assertIn(attachment_id, six.text_type(ex))
self.assertIn(attachment_id, str(ex))
@mock.patch('nova.volume.cinder.cinderclient',
side_effect=exception.CinderAPIVersionNotAvailable(
@ -604,7 +603,7 @@ class CinderApiTestCase(test.NoDBTestCase):
attachment_id)
self.assertEqual(404, ex.code)
self.assertIn(attachment_id, six.text_type(ex))
self.assertIn(attachment_id, str(ex))
@mock.patch('nova.volume.cinder.cinderclient',
side_effect=exception.CinderAPIVersionNotAvailable(
@ -725,7 +724,7 @@ class CinderApiTestCase(test.NoDBTestCase):
attachment_id)
self.assertEqual(404, ex.code)
self.assertIn(attachment_id, six.text_type(ex))
self.assertIn(attachment_id, str(ex))
@mock.patch('nova.volume.cinder.cinderclient',
side_effect=exception.CinderAPIVersionNotAvailable(

View File

@ -29,7 +29,6 @@ keystoneauth1>=3.16.0 # Apache-2.0
python-neutronclient>=6.7.0 # Apache-2.0
python-glanceclient>=2.8.0 # Apache-2.0
requests>=2.23.0 # Apache-2.0
six>=1.11.0 # MIT
stevedore>=1.20.0 # Apache-2.0
websockify>=0.9.0 # LGPLv3
oslo.cache>=1.26.0 # Apache-2.0