diff options
author | Jenkins <jenkins@review.openstack.org> | 2015-04-09 04:41:50 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2015-04-09 04:41:50 +0000 |
commit | d775f3db54c11e46fb817b1011f07eb82445bcc3 (patch) | |
tree | bc3d51bf1832a31db26c68145556008ccff55113 | |
parent | ebe5d99567e4346563d53c8f00e19785c219838e (diff) | |
parent | 72bcebf88ef8b5f7a6b1d712b0e9328e5447af8f (diff) | |
download | cinder-d775f3db54c11e46fb817b1011f07eb82445bcc3.tar.gz |
Merge "Fix the unicode encode error when create volume"
-rw-r--r-- | cinder/db/sqlalchemy/api.py | 3 | ||||
-rw-r--r-- | cinder/tests/test_db_api.py | 11 |
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): |