Merge "Fix the unicode encode error when create volume"

This commit is contained in:
Jenkins
2015-04-09 04:41:50 +00:00
committed by Gerrit Code Review
2 changed files with 12 additions and 2 deletions

View File

@@ -3040,8 +3040,7 @@ def volume_glance_metadata_create(context, volume_id, key, value):
vol_glance_metadata = models.VolumeGlanceMetadata()
vol_glance_metadata.volume_id = volume_id
vol_glance_metadata.key = key
vol_glance_metadata.value = str(value)
vol_glance_metadata.value = six.text_type(value)
session.add(vol_glance_metadata)
return

View File

@@ -910,6 +910,17 @@ class DBAPIVolumeTestCase(BaseTest):
metadata.pop('c')
self.assertEqual(metadata, db.volume_metadata_get(self.ctxt, 1))
def test_volume_glance_metadata_create(self):
volume = db.volume_create(self.ctxt, {'host': 'h1'})
db.volume_glance_metadata_create(self.ctxt, volume['id'],
'image_name',
u'\xe4\xbd\xa0\xe5\xa5\xbd')
glance_meta = db.volume_glance_metadata_get(self.ctxt, volume['id'])
for meta_entry in glance_meta:
if meta_entry.key == 'image_name':
image_name = meta_entry.value
self.assertEqual(u'\xe4\xbd\xa0\xe5\xa5\xbd', image_name)
class DBAPISnapshotTestCase(BaseTest):