Merge "Remove six and python 2.7 full support"
This commit is contained in:
commit
611aa1f3d1
|
@ -11,7 +11,6 @@
|
|||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
import mock
|
||||
import six
|
||||
|
||||
from heat.common import exception
|
||||
from heat.common import template_format
|
||||
|
@ -80,7 +79,7 @@ class NeutronQuotaTest(common.HeatTestCase):
|
|||
def _test_validate(self, resource, error_msg):
|
||||
exc = self.assertRaises(exception.StackValidationFailed,
|
||||
resource.validate)
|
||||
self.assertIn(error_msg, six.text_type(exc))
|
||||
self.assertIn(error_msg, str(exc))
|
||||
|
||||
def test_miss_all_quotas(self):
|
||||
my_quota = self.stack['my_quota']
|
||||
|
|
|
@ -18,7 +18,7 @@ import mock
|
|||
from novaclient import client as base_client
|
||||
from novaclient import exceptions as nova_exceptions
|
||||
import requests
|
||||
from six.moves.urllib import parse as urlparse
|
||||
from urllib import parse as urlparse
|
||||
|
||||
from heat.tests import fakes
|
||||
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
import copy
|
||||
|
||||
import mock
|
||||
import six
|
||||
|
||||
from heat.common import exception
|
||||
from heat.engine.clients.os import keystone
|
||||
|
@ -155,9 +154,9 @@ class NovaKeyPairTest(common.HeatTestCase):
|
|||
kp_res = keypair.KeyPair('kp', definition, stack)
|
||||
error = self.assertRaises(exception.StackValidationFailed,
|
||||
kp_res.validate)
|
||||
self.assertIn("Property error", six.text_type(error))
|
||||
self.assertIn("Property error", str(error))
|
||||
self.assertIn("kp.properties.name: length (0) is out of "
|
||||
"range (min: 1, max: 255)", six.text_type(error))
|
||||
"range (min: 1, max: 255)", str(error))
|
||||
|
||||
def test_create_key_excess_name_length(self):
|
||||
"""Test creation of a keypair whose name is of excess length."""
|
||||
|
@ -169,9 +168,9 @@ class NovaKeyPairTest(common.HeatTestCase):
|
|||
kp_res = keypair.KeyPair('kp', definition, stack)
|
||||
error = self.assertRaises(exception.StackValidationFailed,
|
||||
kp_res.validate)
|
||||
self.assertIn("Property error", six.text_type(error))
|
||||
self.assertIn("Property error", str(error))
|
||||
self.assertIn("kp.properties.name: length (256) is out of "
|
||||
"range (min: 1, max: 255)", six.text_type(error))
|
||||
"range (min: 1, max: 255)", str(error))
|
||||
|
||||
def _test_validate(self, key_type=None, user=None):
|
||||
template = copy.deepcopy(self.kp_template)
|
||||
|
@ -189,7 +188,7 @@ class NovaKeyPairTest(common.HeatTestCase):
|
|||
kp_res.validate)
|
||||
msg = (('Cannot use "%s" properties - nova does not support '
|
||||
'required api microversion.') % validate_props)
|
||||
self.assertIn(msg, six.text_type(error))
|
||||
self.assertIn(msg, str(error))
|
||||
|
||||
def test_validate_key_type(self):
|
||||
self.patchobject(nova.NovaClientPlugin, 'get_max_microversion',
|
||||
|
@ -217,7 +216,7 @@ class NovaKeyPairTest(common.HeatTestCase):
|
|||
res.client().keypairs.get.side_effect = Exception("boom")
|
||||
exc = self.assertRaises(exception.ResourceFailure,
|
||||
scheduler.TaskRunner(res.check))
|
||||
self.assertIn("boom", six.text_type(exc))
|
||||
self.assertIn("boom", str(exc))
|
||||
self.assertEqual((res.CHECK, res.FAILED), res.state)
|
||||
|
||||
def test_update_replace(self):
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
import mock
|
||||
import six
|
||||
|
||||
from heat.common import exception
|
||||
from heat.common import template_format
|
||||
|
@ -82,7 +81,7 @@ class NovaQuotaTest(common.HeatTestCase):
|
|||
def _test_validate(self, resource, error_msg):
|
||||
exc = self.assertRaises(exception.StackValidationFailed,
|
||||
resource.validate)
|
||||
self.assertIn(error_msg, six.text_type(exc))
|
||||
self.assertIn(error_msg, str(exc))
|
||||
|
||||
def _test_invalid_property(self, prop_name):
|
||||
my_quota = self.stack['my_quota']
|
||||
|
|
|
@ -22,8 +22,7 @@ from novaclient import exceptions as nova_exceptions
|
|||
from oslo_serialization import jsonutils
|
||||
from oslo_utils import uuidutils
|
||||
import requests
|
||||
import six
|
||||
from six.moves.urllib import parse as urlparse
|
||||
from urllib import parse as urlparse
|
||||
|
||||
from heat.common import exception
|
||||
from heat.common.i18n import _
|
||||
|
@ -319,14 +318,14 @@ class ServersTest(common.HeatTestCase):
|
|||
|
||||
exc = self.assertRaises(exception.ResourceFailure,
|
||||
scheduler.TaskRunner(res.check))
|
||||
self.assertIn('boom', six.text_type(exc))
|
||||
self.assertIn('boom', str(exc))
|
||||
self.assertEqual((res.CHECK, res.FAILED), res.state)
|
||||
|
||||
def test_check_not_active(self):
|
||||
res = self._prepare_server_check(status='FOO')
|
||||
exc = self.assertRaises(exception.ResourceFailure,
|
||||
scheduler.TaskRunner(res.check))
|
||||
self.assertIn('FOO', six.text_type(exc))
|
||||
self.assertIn('FOO', str(exc))
|
||||
|
||||
def _get_test_template(self, stack_name, server_name=None,
|
||||
image_id=None):
|
||||
|
@ -688,7 +687,7 @@ class ServersTest(common.HeatTestCase):
|
|||
error = self.assertRaises(exception.ResourceFailure,
|
||||
scheduler.TaskRunner(server.create))
|
||||
self.assertIn("No image matching {'name': 'Slackware'}.",
|
||||
six.text_type(error))
|
||||
str(error))
|
||||
|
||||
def test_server_duplicate_image_name_err(self):
|
||||
stack_name = 'img_dup_err'
|
||||
|
@ -707,7 +706,7 @@ class ServersTest(common.HeatTestCase):
|
|||
error = self.assertRaises(exception.ResourceFailure,
|
||||
scheduler.TaskRunner(server.create))
|
||||
self.assertIn('No image unique match found for CentOS 5.2.',
|
||||
six.text_type(error))
|
||||
str(error))
|
||||
|
||||
def test_server_create_unexpected_status(self):
|
||||
# NOTE(pshchelo) checking is done only on check_create_complete
|
||||
|
@ -723,7 +722,7 @@ class ServersTest(common.HeatTestCase):
|
|||
server.check_create_complete,
|
||||
server.resource_id)
|
||||
self.assertEqual('Server is not active - Unknown status BOGUS due to '
|
||||
'"Unknown"', six.text_type(e))
|
||||
'"Unknown"', str(e))
|
||||
|
||||
def test_server_create_error_status(self):
|
||||
# NOTE(pshchelo) checking is done only on check_create_complete
|
||||
|
@ -745,7 +744,7 @@ class ServersTest(common.HeatTestCase):
|
|||
server.resource_id)
|
||||
self.assertEqual(
|
||||
'Went to status ERROR due to "Message: NoValidHost, Code: 500"',
|
||||
six.text_type(e))
|
||||
str(e))
|
||||
|
||||
def test_server_create_raw_userdata(self):
|
||||
self.patchobject(nova.NovaClientPlugin, 'client',
|
||||
|
@ -1272,7 +1271,7 @@ class ServersTest(common.HeatTestCase):
|
|||
error = self.assertRaises(exception.StackValidationFailed,
|
||||
servers.Server._check_maximum,
|
||||
2, 1, msg)
|
||||
self.assertEqual(msg, six.text_type(error))
|
||||
self.assertEqual(msg, str(error))
|
||||
|
||||
def test_server_validate(self):
|
||||
stack_name = 'srv_val'
|
||||
|
@ -1318,7 +1317,7 @@ class ServersTest(common.HeatTestCase):
|
|||
server.validate)
|
||||
self.assertEqual('Neither image nor bootable volume is specified for '
|
||||
'instance server_with_bootable_volume',
|
||||
six.text_type(ex))
|
||||
str(ex))
|
||||
|
||||
web_server['Properties']['image'] = ''
|
||||
server = create_server('vdb')
|
||||
|
@ -1385,7 +1384,7 @@ class ServersTest(common.HeatTestCase):
|
|||
self.assertEqual(
|
||||
"Property error: Resources.WebServer.Properties.key_name: "
|
||||
"Error validating value 'test2': The Key (test2) could not "
|
||||
"be found.", six.text_type(error))
|
||||
"be found.", str(error))
|
||||
|
||||
def test_server_validate_software_config_invalid_meta(self):
|
||||
stack_name = 'srv_val_test'
|
||||
|
@ -1407,7 +1406,7 @@ class ServersTest(common.HeatTestCase):
|
|||
server.validate)
|
||||
self.assertEqual(
|
||||
"deployments key not allowed in resource metadata "
|
||||
"with user_data_format of SOFTWARE_CONFIG", six.text_type(error))
|
||||
"with user_data_format of SOFTWARE_CONFIG", str(error))
|
||||
|
||||
def test_server_validate_with_networks(self):
|
||||
stack_name = 'srv_net'
|
||||
|
@ -1429,7 +1428,7 @@ class ServersTest(common.HeatTestCase):
|
|||
|
||||
self.assertIn("Cannot define the following properties at "
|
||||
"the same time: networks.network, networks.uuid",
|
||||
six.text_type(ex))
|
||||
str(ex))
|
||||
|
||||
def test_server_validate_with_network_empty_ref(self):
|
||||
stack_name = 'srv_net'
|
||||
|
@ -1473,7 +1472,7 @@ class ServersTest(common.HeatTestCase):
|
|||
'"allocate_network" or "subnet" should be set '
|
||||
'for the specified network of '
|
||||
'server "%s".') % server.name,
|
||||
six.text_type(ex))
|
||||
str(ex))
|
||||
|
||||
def test_server_validate_with_network_floating_ip(self):
|
||||
stack_name = 'srv_net_floating_ip'
|
||||
|
@ -1498,7 +1497,7 @@ class ServersTest(common.HeatTestCase):
|
|||
self.assertIn(_('Property "floating_ip" is not supported if '
|
||||
'only "network" is specified, because the '
|
||||
'corresponding port can not be retrieved.'),
|
||||
six.text_type(ex))
|
||||
str(ex))
|
||||
|
||||
def test_server_validate_with_networks_str_net(self):
|
||||
stack_name = 'srv_networks_str_nets'
|
||||
|
@ -1522,7 +1521,7 @@ class ServersTest(common.HeatTestCase):
|
|||
server.validate)
|
||||
self.assertIn(_('Can not specify "allocate_network" with '
|
||||
'other keys of networks at the same time.'),
|
||||
six.text_type(ex))
|
||||
str(ex))
|
||||
|
||||
def test_server_validate_port_fixed_ip(self):
|
||||
stack_name = 'port_with_fixed_ip'
|
||||
|
@ -1543,7 +1542,7 @@ class ServersTest(common.HeatTestCase):
|
|||
server.validate)
|
||||
self.assertEqual("Cannot define the following properties at the same "
|
||||
"time: networks/fixed_ip, networks/port.",
|
||||
six.text_type(error))
|
||||
str(error))
|
||||
# test if the 'port' doesn't reference with non-created resource
|
||||
tmpl['Resources']['server']['Properties']['networks'] = (
|
||||
[{'port': 'aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa',
|
||||
|
@ -1557,7 +1556,7 @@ class ServersTest(common.HeatTestCase):
|
|||
server.validate)
|
||||
self.assertEqual("Cannot define the following properties at the same "
|
||||
"time: networks/fixed_ip, networks/port.",
|
||||
six.text_type(error))
|
||||
str(error))
|
||||
|
||||
def test_server_validate_with_uuid_fixed_ip(self):
|
||||
stack_name = 'srv_net'
|
||||
|
@ -1622,7 +1621,7 @@ class ServersTest(common.HeatTestCase):
|
|||
server.validate)
|
||||
self.assertEqual("Cannot define the following properties at the same "
|
||||
"time: security_groups, networks/port.",
|
||||
six.text_type(error))
|
||||
str(error))
|
||||
|
||||
def test_server_delete(self):
|
||||
return_server = self.fc.servers.list()[1]
|
||||
|
@ -1671,7 +1670,7 @@ class ServersTest(common.HeatTestCase):
|
|||
resf = self.assertRaises(exception.ResourceFailure,
|
||||
scheduler.TaskRunner(server.delete))
|
||||
self.assertIn("Server %s delete failed" % return_server.name,
|
||||
six.text_type(resf))
|
||||
str(resf))
|
||||
|
||||
def test_server_delete_error_task_in_progress(self):
|
||||
# test server in 'ERROR', but task state in nova is 'deleting'
|
||||
|
@ -1696,7 +1695,7 @@ class ServersTest(common.HeatTestCase):
|
|||
resf = self.assertRaises(exception.ResourceFailure,
|
||||
scheduler.TaskRunner(server.delete))
|
||||
self.assertIn("Server %s delete failed" % return_server.name,
|
||||
six.text_type(resf))
|
||||
str(resf))
|
||||
|
||||
def test_server_soft_delete(self):
|
||||
return_server = self.fc.servers.list()[1]
|
||||
|
@ -2084,7 +2083,7 @@ class ServersTest(common.HeatTestCase):
|
|||
self.assertEqual(exp_net[key], net[key])
|
||||
break
|
||||
|
||||
for key in six.iterkeys(reality):
|
||||
for key in reality.keys():
|
||||
self.assertEqual(expected[key], reality[key])
|
||||
|
||||
def test_server_update_server_flavor(self):
|
||||
|
@ -2142,7 +2141,7 @@ class ServersTest(common.HeatTestCase):
|
|||
error = self.assertRaises(exception.ResourceFailure, updater)
|
||||
self.assertEqual(
|
||||
"Error: resources.srv_update2: Resizing to '2' failed, "
|
||||
"status 'ERROR'", six.text_type(error))
|
||||
"status 'ERROR'", str(error))
|
||||
self.assertEqual((server.UPDATE, server.FAILED), server.state)
|
||||
mock_post.assert_called_once_with(body={'resize': {'flavorRef': '2'}})
|
||||
|
||||
|
@ -2397,7 +2396,7 @@ class ServersTest(common.HeatTestCase):
|
|||
self.assertEqual(
|
||||
"Error: resources.srv_updrbldfail: "
|
||||
"Rebuilding server failed, status 'ERROR'",
|
||||
six.text_type(error))
|
||||
str(error))
|
||||
self.assertEqual((server.UPDATE, server.FAILED), server.state)
|
||||
mock_rebuild.assert_called_once_with(
|
||||
return_server, '2', password=None, preserve_ephemeral=False,
|
||||
|
@ -2440,7 +2439,7 @@ class ServersTest(common.HeatTestCase):
|
|||
self.assertEqual('Error: resources.srv_sus1: '
|
||||
'Cannot suspend srv_sus1, '
|
||||
'resource_id not set',
|
||||
six.text_type(ex))
|
||||
str(ex))
|
||||
self.assertEqual((server.SUSPEND, server.FAILED), server.state)
|
||||
|
||||
def test_server_status_suspend_not_found(self):
|
||||
|
@ -2454,7 +2453,7 @@ class ServersTest(common.HeatTestCase):
|
|||
scheduler.TaskRunner(server.suspend))
|
||||
self.assertEqual('NotFound: resources.srv_sus2: '
|
||||
'Failed to find server 1234',
|
||||
six.text_type(ex))
|
||||
str(ex))
|
||||
self.assertEqual((server.SUSPEND, server.FAILED), server.state)
|
||||
|
||||
def _test_server_status_suspend(self, name, state=('CREATE', 'COMPLETE')):
|
||||
|
@ -2505,7 +2504,7 @@ class ServersTest(common.HeatTestCase):
|
|||
self.assertEqual('Suspend of server %s failed - '
|
||||
'Unknown status TRANSMOGRIFIED '
|
||||
'due to "Unknown"' % return_server.name,
|
||||
six.text_type(ex.exc.message))
|
||||
str(ex.exc.message))
|
||||
self.assertEqual((server.SUSPEND, server.FAILED), server.state)
|
||||
|
||||
def _test_server_status_resume(self, name, state=('SUSPEND', 'COMPLETE')):
|
||||
|
@ -2551,7 +2550,7 @@ class ServersTest(common.HeatTestCase):
|
|||
self.assertEqual('Error: resources.srv_susp_norid: '
|
||||
'Cannot resume srv_susp_norid, '
|
||||
'resource_id not set',
|
||||
six.text_type(ex))
|
||||
str(ex))
|
||||
self.assertEqual((server.RESUME, server.FAILED), server.state)
|
||||
|
||||
def test_server_status_resume_not_found(self):
|
||||
|
@ -2569,7 +2568,7 @@ class ServersTest(common.HeatTestCase):
|
|||
scheduler.TaskRunner(server.resume))
|
||||
self.assertEqual('NotFound: resources.srv_res_nf: '
|
||||
'Failed to find server 1234',
|
||||
six.text_type(ex))
|
||||
str(ex))
|
||||
self.assertEqual((server.RESUME, server.FAILED), server.state)
|
||||
|
||||
def test_server_status_build_spawning(self):
|
||||
|
@ -2665,7 +2664,7 @@ class ServersTest(common.HeatTestCase):
|
|||
resolver.side_effect = neutron.exceptions.NeutronClientNoUniqueMatch()
|
||||
ex = self.assertRaises(exception.ResourceFailure,
|
||||
scheduler.TaskRunner(server.create))
|
||||
self.assertIn('use an ID to be more specific.', six.text_type(ex))
|
||||
self.assertIn('use an ID to be more specific.', str(ex))
|
||||
|
||||
def test_server_without_ip_address(self):
|
||||
return_server = self.fc.servers.list()[3]
|
||||
|
@ -2765,7 +2764,7 @@ class ServersTest(common.HeatTestCase):
|
|||
self.stub_VolumeConstraint_validate()
|
||||
exc = self.assertRaises(exception.StackValidationFailed,
|
||||
server.validate)
|
||||
self.assertIn("Value '10a' is not an integer", six.text_type(exc))
|
||||
self.assertIn("Value '10a' is not an integer", str(exc))
|
||||
|
||||
@mock.patch.object(nova.NovaClientPlugin, 'client')
|
||||
def test_validate_conflict_block_device_mapping_props(self, mock_create):
|
||||
|
@ -2798,7 +2797,7 @@ class ServersTest(common.HeatTestCase):
|
|||
server.validate)
|
||||
msg = ("Either volume_id or snapshot_id must be specified "
|
||||
"for device mapping vdb")
|
||||
self.assertEqual(msg, six.text_type(ex))
|
||||
self.assertEqual(msg, str(ex))
|
||||
|
||||
@mock.patch.object(nova.NovaClientPlugin, 'client')
|
||||
def test_validate_block_device_mapping_with_empty_ref(self, mock_create):
|
||||
|
@ -2836,7 +2835,7 @@ class ServersTest(common.HeatTestCase):
|
|||
server.validate)
|
||||
msg = ('Neither image nor bootable volume is specified '
|
||||
'for instance %s' % server.name)
|
||||
self.assertEqual(msg, six.text_type(ex))
|
||||
self.assertEqual(msg, str(ex))
|
||||
|
||||
@mock.patch.object(nova.NovaClientPlugin, 'client')
|
||||
def test_validate_invalid_image_status(self, mock_create):
|
||||
|
@ -2854,7 +2853,7 @@ class ServersTest(common.HeatTestCase):
|
|||
server.validate)
|
||||
self.assertEqual(
|
||||
'Image status is required to be active not sdfsdf.',
|
||||
six.text_type(error))
|
||||
str(error))
|
||||
|
||||
@mock.patch.object(nova.NovaClientPlugin, 'client')
|
||||
def test_validate_insufficient_ram_flavor(self, mock_create):
|
||||
|
@ -2875,7 +2874,7 @@ class ServersTest(common.HeatTestCase):
|
|||
self.assertEqual(
|
||||
'Image F18-x86_64-gold requires 100 minimum ram. Flavor m1.large '
|
||||
'has only 4.',
|
||||
six.text_type(error))
|
||||
str(error))
|
||||
|
||||
@mock.patch.object(nova.NovaClientPlugin, 'client')
|
||||
def test_validate_image_flavor_not_found(self, mock_create):
|
||||
|
@ -2913,7 +2912,7 @@ class ServersTest(common.HeatTestCase):
|
|||
self.assertEqual(
|
||||
'Image F18-x86_64-gold requires 100 GB minimum disk space. '
|
||||
'Flavor m1.large has only 4 GB.',
|
||||
six.text_type(error))
|
||||
str(error))
|
||||
|
||||
def test_build_block_device_mapping_v2(self):
|
||||
self.assertIsNone(servers.Server._build_block_device_mapping_v2([]))
|
||||
|
@ -2989,7 +2988,7 @@ class ServersTest(common.HeatTestCase):
|
|||
server = servers.Server('server', resource_defns['server'], stack)
|
||||
exc = self.assertRaises(exception.StackValidationFailed,
|
||||
server.validate)
|
||||
self.assertIn(msg, six.text_type(exc))
|
||||
self.assertIn(msg, str(exc))
|
||||
|
||||
@mock.patch.object(nova.NovaClientPlugin, 'client')
|
||||
def test_validate_with_both_blk_dev_map_and_blk_dev_map_v2(self,
|
||||
|
@ -3011,7 +3010,7 @@ class ServersTest(common.HeatTestCase):
|
|||
server.validate)
|
||||
msg = ('Cannot define the following properties at the same time: '
|
||||
'block_device_mapping, block_device_mapping_v2.')
|
||||
self.assertEqual(msg, six.text_type(exc))
|
||||
self.assertEqual(msg, str(exc))
|
||||
|
||||
def _test_validate_bdm_v2(self, stack_name, bdm_v2, with_image=True,
|
||||
error_msg=None, raise_exc=None):
|
||||
|
@ -3031,7 +3030,7 @@ class ServersTest(common.HeatTestCase):
|
|||
self.stub_VolumeConstraint_validate()
|
||||
if raise_exc:
|
||||
ex = self.assertRaises(raise_exc, server.validate)
|
||||
self.assertIn(error_msg, six.text_type(ex))
|
||||
self.assertIn(error_msg, str(ex))
|
||||
else:
|
||||
self.assertIsNone(server.validate())
|
||||
|
||||
|
@ -3112,7 +3111,7 @@ class ServersTest(common.HeatTestCase):
|
|||
ex = self.assertRaises(exception.StackValidationFailed,
|
||||
server.validate)
|
||||
self.assertIn('Instance metadata must not contain greater than 3 '
|
||||
'entries', six.text_type(ex))
|
||||
'entries', str(ex))
|
||||
|
||||
def test_validate_metadata_okay(self):
|
||||
stack_name = 'srv_val_metadata'
|
||||
|
@ -3154,7 +3153,7 @@ class ServersTest(common.HeatTestCase):
|
|||
server.validate)
|
||||
self.assertEqual('Cannot use "tags" property - nova does not support '
|
||||
'required api microversion.',
|
||||
six.text_type(exc))
|
||||
str(exc))
|
||||
|
||||
def test_server_validate_too_many_personality(self):
|
||||
stack_name = 'srv_val'
|
||||
|
@ -3178,7 +3177,7 @@ class ServersTest(common.HeatTestCase):
|
|||
exc = self.assertRaises(exception.StackValidationFailed,
|
||||
server.validate)
|
||||
self.assertEqual("The personality property may not contain "
|
||||
"greater than 5 entries.", six.text_type(exc))
|
||||
"greater than 5 entries.", str(exc))
|
||||
|
||||
def test_server_validate_personality_okay(self):
|
||||
stack_name = 'srv_val'
|
||||
|
@ -3234,7 +3233,7 @@ class ServersTest(common.HeatTestCase):
|
|||
server.validate)
|
||||
self.assertEqual('The contents of personality file "/fake/path1" '
|
||||
'is larger than the maximum allowed personality '
|
||||
'file size (10240 bytes).', six.text_type(exc))
|
||||
'file size (10240 bytes).', str(exc))
|
||||
|
||||
def test_server_validate_personality_get_attr_return_none(self):
|
||||
stack_name = 'srv_val'
|
||||
|
@ -4166,7 +4165,7 @@ class ServersTest(common.HeatTestCase):
|
|||
self.assertEqual("StackValidationFailed: resources.my_server: "
|
||||
"Property error: Properties.image: Error validating "
|
||||
"value '1': No image matching Update Image.",
|
||||
six.text_type(err))
|
||||
str(err))
|
||||
|
||||
def test_server_snapshot(self):
|
||||
return_server = self.fc.servers.list()[1]
|
||||
|
@ -4585,7 +4584,7 @@ class ServerInternalPortTest(ServersTest):
|
|||
ex = self.assertRaises(exception.StackValidationFailed,
|
||||
server._build_nics, networks)
|
||||
self.assertEqual('Specified subnet 1234 does not belongs to '
|
||||
'network 4321.', six.text_type(ex))
|
||||
'network 4321.', str(ex))
|
||||
|
||||
def test_build_nics_create_internal_port_all_props_without_extras(self):
|
||||
tmpl = """
|
||||
|
@ -4986,7 +4985,7 @@ class ServerInternalPortTest(ServersTest):
|
|||
server.prepare_for_replace)
|
||||
self.assertIn('Failed to detach interface (1122) from server '
|
||||
'(ser-11)',
|
||||
six.text_type(exc))
|
||||
str(exc))
|
||||
|
||||
def test_prepare_ports_for_replace(self):
|
||||
t, stack, server = self._return_template_stack_and_rsrc_defn(
|
||||
|
@ -5161,7 +5160,7 @@ class ServerInternalPortTest(ServersTest):
|
|||
server.restore_prev_rsrc)
|
||||
self.assertIn('Failed to attach interface (3344) to server '
|
||||
'(old_server)',
|
||||
six.text_type(exc))
|
||||
str(exc))
|
||||
|
||||
@mock.patch.object(server_network_mixin.ServerNetworkMixin,
|
||||
'store_external_ports')
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
|
||||
import mock
|
||||
from oslo_config import cfg
|
||||
import six
|
||||
|
||||
from heat.common import exception
|
||||
from heat.common import template_format
|
||||
|
@ -147,7 +146,7 @@ class SaharaClusterTest(common.HeatTestCase):
|
|||
ex = self.assertRaises(exception.ResourceFailure, create_task)
|
||||
expected = ('ResourceInError: resources.super-cluster: '
|
||||
'Went to status Error due to "Unknown"')
|
||||
self.assertEqual(expected, six.text_type(ex))
|
||||
self.assertEqual(expected, str(ex))
|
||||
|
||||
def test_cluster_check_delete_complete_error(self):
|
||||
cluster = self._create_cluster(self.t)
|
||||
|
@ -158,7 +157,7 @@ class SaharaClusterTest(common.HeatTestCase):
|
|||
delete_task = scheduler.TaskRunner(cluster.delete)
|
||||
ex = self.assertRaises(exception.ResourceFailure, delete_task)
|
||||
expected = "APIException: resources.super-cluster: None"
|
||||
self.assertEqual(expected, six.text_type(ex))
|
||||
self.assertEqual(expected, str(ex))
|
||||
self.cl_mgr.delete.assert_called_once_with(self.fake_cl.id)
|
||||
self.assertEqual(2, self.cl_mgr.get.call_count)
|
||||
|
||||
|
@ -172,7 +171,7 @@ class SaharaClusterTest(common.HeatTestCase):
|
|||
ex = self.assertRaises(exception.ResourceFailure, delete_task)
|
||||
expected = ('ResourceInError: resources.super-cluster: '
|
||||
'Went to status Error due to "Unknown"')
|
||||
self.assertEqual(expected, six.text_type(ex))
|
||||
self.assertEqual(expected, str(ex))
|
||||
self.cl_mgr.delete.assert_called_once_with(self.fake_cl.id)
|
||||
self.assertEqual(2, self.cl_mgr.get.call_count)
|
||||
|
||||
|
@ -198,7 +197,7 @@ class SaharaClusterTest(common.HeatTestCase):
|
|||
self.assertIn("default_image_id must be provided: "
|
||||
"Referenced cluster template some_cluster_template_id "
|
||||
"has no default_image_id defined.",
|
||||
six.text_type(ex.message))
|
||||
str(ex.message))
|
||||
|
||||
def test_cluster_validate_no_network_on_neutron_fails(self):
|
||||
self.t['resources']['super-cluster']['properties'].pop(
|
||||
|
@ -208,7 +207,7 @@ class SaharaClusterTest(common.HeatTestCase):
|
|||
cluster.validate)
|
||||
error_msg = ('Property error: resources.super-cluster.properties: '
|
||||
'Property neutron_management_network not assigned')
|
||||
self.assertEqual(error_msg, six.text_type(ex))
|
||||
self.assertEqual(error_msg, str(ex))
|
||||
|
||||
def test_deprecated_properties_correctly_translates(self):
|
||||
tmpl = '''
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
# limitations under the License.
|
||||
|
||||
import mock
|
||||
import six
|
||||
|
||||
from heat.common import exception
|
||||
from heat.common import template_format
|
||||
|
@ -109,4 +108,4 @@ class SaharaDataSourceTest(common.HeatTestCase):
|
|||
ex = self.assertRaises(exception.StackValidationFailed, ds.validate)
|
||||
error_msg = ('Property error: resources.data-source.properties.'
|
||||
'credentials: Property user not assigned')
|
||||
self.assertEqual(error_msg, six.text_type(ex))
|
||||
self.assertEqual(error_msg, str(ex))
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
# limitations under the License.
|
||||
|
||||
import mock
|
||||
import six
|
||||
|
||||
from heat.common import exception
|
||||
from heat.common import template_format
|
||||
|
@ -122,7 +121,7 @@ class SaharaJobBinaryTest(common.HeatTestCase):
|
|||
ex = self.assertRaises(exception.StackValidationFailed, jb.validate)
|
||||
error_msg = ('resources.job-binary.properties: internal-db://38273f82 '
|
||||
'is not a valid job location.')
|
||||
self.assertEqual(error_msg, six.text_type(ex))
|
||||
self.assertEqual(error_msg, str(ex))
|
||||
|
||||
def test_validate_password_without_user(self):
|
||||
props = self.stack.t.t['resources']['job-binary']['properties'].copy()
|
||||
|
@ -132,4 +131,4 @@ class SaharaJobBinaryTest(common.HeatTestCase):
|
|||
ex = self.assertRaises(exception.StackValidationFailed, jb.validate)
|
||||
error_msg = ('Property error: resources.job-binary.properties.'
|
||||
'credentials: Property user not assigned')
|
||||
self.assertEqual(error_msg, six.text_type(ex))
|
||||
self.assertEqual(error_msg, str(ex))
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
# limitations under the License.
|
||||
|
||||
import mock
|
||||
import six
|
||||
|
||||
from heat.common import exception
|
||||
from heat.common import template_format
|
||||
|
@ -182,10 +181,10 @@ class SaharaNodeGroupTemplateTest(common.HeatTestCase):
|
|||
]
|
||||
ex = self.assertRaises(exception.StackValidationFailed, ngt.validate)
|
||||
self.assertEqual('Too many',
|
||||
six.text_type(ex))
|
||||
str(ex))
|
||||
ex = self.assertRaises(exception.StackValidationFailed, ngt.validate)
|
||||
self.assertEqual('Not found',
|
||||
six.text_type(ex))
|
||||
str(ex))
|
||||
|
||||
def test_validate_flavor_constraint_return_false(self):
|
||||
self.t['resources']['node-group']['properties'].pop('floating_ip_pool')
|
||||
|
@ -197,7 +196,7 @@ class SaharaNodeGroupTemplateTest(common.HeatTestCase):
|
|||
self.assertEqual(u"Property error: "
|
||||
u"resources.node-group.properties.flavor: "
|
||||
u"Error validating value 'm1.large'",
|
||||
six.text_type(ex))
|
||||
str(ex))
|
||||
|
||||
def test_template_invalid_name(self):
|
||||
tmpl = template_format.parse(node_group_template_without_name)
|
||||
|
@ -228,11 +227,11 @@ class SaharaNodeGroupTemplateTest(common.HeatTestCase):
|
|||
self.assertIn("resources.node-group.properties: Plugin vanilla "
|
||||
"doesn't support the following node processes: "
|
||||
"jobtracker. Allowed processes are: ",
|
||||
six.text_type(ex))
|
||||
self.assertIn("namenode", six.text_type(ex))
|
||||
self.assertIn("datanode", six.text_type(ex))
|
||||
self.assertIn("secondarynamenode", six.text_type(ex))
|
||||
self.assertIn("oozie", six.text_type(ex))
|
||||
str(ex))
|
||||
self.assertIn("namenode", str(ex))
|
||||
self.assertIn("datanode", str(ex))
|
||||
self.assertIn("secondarynamenode", str(ex))
|
||||
self.assertIn("oozie", str(ex))
|
||||
|
||||
def test_update(self):
|
||||
ngt = self._create_ngt(self.t)
|
||||
|
@ -374,7 +373,7 @@ class SaharaClusterTemplateTest(common.HeatTestCase):
|
|||
ex = self.assertRaises(exception.StackValidationFailed,
|
||||
ct.validate)
|
||||
self.assertEqual("neutron_management_network must be provided",
|
||||
six.text_type(ex))
|
||||
str(ex))
|
||||
|
||||
def test_template_invalid_name(self):
|
||||
tmpl = template_format.parse(cluster_template_without_name)
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
import copy
|
||||
import mock
|
||||
from oslo_config import cfg
|
||||
import six
|
||||
|
||||
from heat.common import exception
|
||||
from heat.common import template_format
|
||||
|
@ -162,7 +161,7 @@ class SenlinClusterTest(common.HeatTestCase):
|
|||
ex = self.assertRaises(exception.ResourceFailure, create_task)
|
||||
expected = ('ResourceInError: resources.senlin-cluster: '
|
||||
'Went to status ERROR due to "oops"')
|
||||
self.assertEqual(expected, six.text_type(ex))
|
||||
self.assertEqual(expected, str(ex))
|
||||
|
||||
def test_cluster_delete_success(self):
|
||||
cluster = self._create_cluster(self.t)
|
||||
|
@ -179,7 +178,7 @@ class SenlinClusterTest(common.HeatTestCase):
|
|||
delete_task = scheduler.TaskRunner(cluster.delete)
|
||||
ex = self.assertRaises(exception.ResourceFailure, delete_task)
|
||||
expected = 'Error: resources.senlin-cluster: oops'
|
||||
self.assertEqual(expected, six.text_type(ex))
|
||||
self.assertEqual(expected, str(ex))
|
||||
|
||||
def test_cluster_update_profile(self):
|
||||
cluster = self._create_cluster(self.t)
|
||||
|
@ -302,7 +301,7 @@ class SenlinClusterTest(common.HeatTestCase):
|
|||
scheduler.TaskRunner(cluster.update, update_snippet))
|
||||
self.assertEqual('ResourceInError: resources.senlin-cluster: '
|
||||
'Went to status FAILED due to "Unknown"',
|
||||
six.text_type(exc))
|
||||
str(exc))
|
||||
|
||||
def test_cluster_get_attr_collect(self):
|
||||
cluster = self._create_cluster(self.t)
|
||||
|
@ -372,7 +371,7 @@ class TestSenlinClusterValidation(common.HeatTestCase):
|
|||
ex = self.assertRaises(exception.StackValidationFailed,
|
||||
stack['senlin-cluster'].validate)
|
||||
self.assertEqual('min_size can not be greater than max_size',
|
||||
six.text_type(ex))
|
||||
str(ex))
|
||||
|
||||
def test_invalid_desired_capacity(self):
|
||||
self.t['resources']['senlin-cluster']['properties']['min_size'] = 1
|
||||
|
@ -384,5 +383,5 @@ class TestSenlinClusterValidation(common.HeatTestCase):
|
|||
stack['senlin-cluster'].validate)
|
||||
self.assertEqual(
|
||||
'desired_capacity must be between min_size and max_size',
|
||||
six.text_type(ex)
|
||||
str(ex)
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue