Seems to work in the latest code in master. Feel free to reopen if you think further changes are needed.
[rbryant@devstack devstack(master)]$ nova image-create test "ಠ_ರೃ"
[rbryant@devstack devstack(master)]$ nova image-list
+--------------------------------------+---------------------------------+--------+--------------------------------------+
| ID | Name | Status | Server |
+--------------------------------------+---------------------------------+--------+--------------------------------------+
| d7e2a05c-3dd9-49b1-9e35-e31805280ff4 | cirros-0.3.1-x86_64-uec | ACTIVE | |
| 83cb17cc-5a7f-42bc-87c1-8c49100b2c93 | cirros-0.3.1-x86_64-uec-kernel | ACTIVE | |
| db525ca4-0bc3-4229-8c4a-b23799475ead | cirros-0.3.1-x86_64-uec-ramdisk | ACTIVE | |
| fb8fe8d6-9934-474e-8ad6-61bc83d7e39f | ಠ_ರೃ | ACTIVE | 70dabb27-e733-46ab-890a-f714d3bb504d |
+--------------------------------------+---------------------------------+--------+--------------------------------------+
- @testtools.skip("Skipped until the Bug #1006725 is resolved.")
@attr(type=['negative', 'gate'])
def test_create_image_specify_multibyte_character_image_name(self):
# Return an error if the image name has multi-byte characters snapshot_name = rand_name('\xef\xbb\xbf')
- self.assertRaises(exceptions.BadRequest,
- self.client.create_image, self.server['id'],
- snapshot_name)
+ resp, body = self.client.create_image(self.server['id'], snapshot_name)
+ self.assertEqual(202, resp.status)
Seems to work in the latest code in master. Feel free to reopen if you think further changes are needed.
[rbryant@devstack devstack(master)]$ nova image-create test "ಠ_ರೃ" ------- ------- ------- ------- ----+-- ------- ------- ------- ------- ---+--- -----+- ------- ------- ------- ------- ------- --+ ------- ------- ------- ------- ----+-- ------- ------- ------- ------- ---+--- -----+- ------- ------- ------- ------- ------- --+ 3dd9-49b1- 9e35-e31805280f f4 | cirros- 0.3.1-x86_ 64-uec | ACTIVE | | 5a7f-42bc- 87c1-8c49100b2c 93 | cirros- 0.3.1-x86_ 64-uec- kernel | ACTIVE | | 0bc3-4229- 8c4a-b23799475e ad | cirros- 0.3.1-x86_ 64-uec- ramdisk | ACTIVE | | 9934-474e- 8ad6-61bc83d7e3 9f | ಠ_ರೃ | ACTIVE | 70dabb27- e733-46ab- 890a-f714d3bb50 4d | ------- ------- ------- ------- ----+-- ------- ------- ------- ------- ---+--- -----+- ------- ------- ------- ------- ------- --+
[rbryant@devstack devstack(master)]$ nova image-list
+------
| ID | Name | Status | Server |
+------
| d7e2a05c-
| 83cb17cc-
| db525ca4-
| fb8fe8d6-
+------
[rbryant@devstack tempest(master)]$ nosetests -sv tempest. api.compute. images. test_images_ oneserver. py:ImagesOneSer verTestJSON. test_create_ image_specify_ multibyte_ character_ image_name api.compute. images. test_images_ oneserver. ImagesOneServer TestJSON. test_create_ image_specify_ multibyte_ character_ image_name[ gate,negative] ... ok
nose.config: INFO: Ignoring files matching ['^\\.', '^_', '^setup\\.py$']
tempest.
------- ------- ------- ------- ------- ------- ------- ------- ------- -------
Ran 1 test in 53.895s
OK
[rbryant@devstack tempest(master)]$ git diff tempest/ api/compute/ api/compute/ images/ test_images_ oneserver. py b/tempest/ api/compute/ images/ test_images_ onese api/compute/ images/ test_images_ oneserver. py api/compute/ images/ test_images_ oneserver. py TestJSON( base.BaseComput eTest):
cls. alt_manager = clients. AltManager( )
cls. alt_client = cls.alt_ manager. images_ client
diff --git a/tempest/
index 06e9ab2..7d225e2 100644
--- a/tempest/
+++ b/tempest/
@@ -64,14 +64,12 @@ class ImagesOneServer
- @testtools. skip("Skipped until the Bug #1006725 is resolved.") type=[' negative' , 'gate']) image_specify_ multibyte_ character_ image_name( self):
snapshot_ name = rand_name( '\xef\xbb\ xbf') es(exceptions. BadRequest, create_ image, self.server['id'], create_ image(self. server[ 'id'], snapshot_name) l(202, resp.status)
@attr(
def test_create_
# Return an error if the image name has multi-byte characters
- self.assertRais
- self.client.
- snapshot_name)
+ resp, body = self.client.
+ self.assertEqua
@attr( type=[' negative' , 'gate']) image_specify_ invalid_ metadata( self):
def test_create_