summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2015-04-09 04:41:50 +0000
committerGerrit Code Review <review@openstack.org>2015-04-09 04:41:50 +0000
commitd775f3db54c11e46fb817b1011f07eb82445bcc3 (patch)
treebc3d51bf1832a31db26c68145556008ccff55113
parentebe5d99567e4346563d53c8f00e19785c219838e (diff)
parent72bcebf88ef8b5f7a6b1d712b0e9328e5447af8f (diff)
downloadcinder-d775f3db54c11e46fb817b1011f07eb82445bcc3.tar.gz
Merge "Fix the unicode encode error when create volume"
-rw-r--r--cinder/db/sqlalchemy/api.py3
-rw-r--r--cinder/tests/test_db_api.py11
2 files changed, 12 insertions, 2 deletions
diff --git a/cinder/db/sqlalchemy/api.py b/cinder/db/sqlalchemy/api.py
index 4707a8c5b..40883d6a2 100644
--- a/cinder/db/sqlalchemy/api.py
+++ b/cinder/db/sqlalchemy/api.py
@@ -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
diff --git a/cinder/tests/test_db_api.py b/cinder/tests/test_db_api.py
index 8f407aef9..cb36a28ee 100644
--- a/cinder/tests/test_db_api.py
+++ b/cinder/tests/test_db_api.py
@@ -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):