)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"3f2f2d9a21847717213c5c3ea6bcbc5eb307b43f","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Prevent uploading encrypted volume to images"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently it allows to upload encrypted volume to images,"},{"line_number":10,"context_line":"but doesnot save encryption metadata into glance, which"},{"line_number":11,"context_line":"leads that glance saves the encrypted image but loses"},{"line_number":12,"context_line":"encryption information. As a result, Nova can\u0027t use the"},{"line_number":13,"context_line":"image."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa1b9901_e4a903e1","line":10,"updated":"2015-08-17 13:38:53.000000000","message":"s/doesnot/does not/","commit_id":"5428de61e46c7c4e4bda30734508f7a63c33f2f8"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"a9697212b3b79ce2583cf2f3bd58540467f48e62","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Prevent uploading encrypted volume to images"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently it allows to upload encrypted volume to images,"},{"line_number":10,"context_line":"but doesnot save encryption metadata into glance, which"},{"line_number":11,"context_line":"leads that glance saves the encrypted image but loses"},{"line_number":12,"context_line":"encryption information. As a result, Nova can\u0027t use the"},{"line_number":13,"context_line":"image."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa1b9901_45b0d0dd","line":10,"in_reply_to":"fa1b9901_e4a903e1","updated":"2015-08-18 00:48:53.000000000","message":"Done","commit_id":"5428de61e46c7c4e4bda30734508f7a63c33f2f8"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"4096d5416640f525a2e1d656d5c84cee4f1896df","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently it allows to upload encrypted volume to images,"},{"line_number":10,"context_line":"but doesnot save encryption metadata into glance, which"},{"line_number":11,"context_line":"leads that glance saves the encrypted image but loses"},{"line_number":12,"context_line":"encryption information. As a result, Nova can\u0027t use the"},{"line_number":13,"context_line":"image."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa1b9901_c66ddfcd","line":11,"updated":"2015-08-17 15:22:23.000000000","message":"Since we have some typos to fix can we reword this to be clearer please:  \"which causes Glance to save the encrypted image but not the encryption information.\"","commit_id":"5428de61e46c7c4e4bda30734508f7a63c33f2f8"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"a9697212b3b79ce2583cf2f3bd58540467f48e62","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently it allows to upload encrypted volume to images,"},{"line_number":10,"context_line":"but doesnot save encryption metadata into glance, which"},{"line_number":11,"context_line":"leads that glance saves the encrypted image but loses"},{"line_number":12,"context_line":"encryption information. As a result, Nova can\u0027t use the"},{"line_number":13,"context_line":"image."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa1b9901_c5c4e041","line":11,"in_reply_to":"fa1b9901_c66ddfcd","updated":"2015-08-18 00:48:53.000000000","message":"Done","commit_id":"5428de61e46c7c4e4bda30734508f7a63c33f2f8"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"3268c231e9511997018ab87e75038060e137f45b","unresolved":false,"context_lines":[{"line_number":10,"context_line":"but doesnot save encryption metadata into glance, which"},{"line_number":11,"context_line":"leads that glance saves the encrypted image but loses"},{"line_number":12,"context_line":"encryption information. As a result, Nova can\u0027t use the"},{"line_number":13,"context_line":"image."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The patch is to prevent the operation in liberty release."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa1b9901_c6f2bf06","line":13,"updated":"2015-08-17 15:23:28.000000000","message":"I think we should maybe have a \u0027DocImpact\u0027 tag here as well given that we are changing the behavior of upload volume to images.","commit_id":"5428de61e46c7c4e4bda30734508f7a63c33f2f8"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"a9697212b3b79ce2583cf2f3bd58540467f48e62","unresolved":false,"context_lines":[{"line_number":10,"context_line":"but doesnot save encryption metadata into glance, which"},{"line_number":11,"context_line":"leads that glance saves the encrypted image but loses"},{"line_number":12,"context_line":"encryption information. As a result, Nova can\u0027t use the"},{"line_number":13,"context_line":"image."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The patch is to prevent the operation in liberty release."},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa1b9901_a5e20cd4","line":13,"in_reply_to":"fa1b9901_c6f2bf06","updated":"2015-08-18 00:48:53.000000000","message":"Done","commit_id":"5428de61e46c7c4e4bda30734508f7a63c33f2f8"},{"author":{"_account_id":17405,"name":"Jacob Gregor","email":"jgregor@us.ibm.com","username":"jgregor"},"change_message_id":"4a9b174bc14d1b37aa86160f608c1a4e4f3fb0de","unresolved":false,"context_lines":[{"line_number":12,"context_line":"encryption information. As a result, Nova can\u0027t use the"},{"line_number":13,"context_line":"image."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The patch is to prevent the operation in liberty release."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"APIImpact"},{"line_number":18,"context_line":"Encrypted volumes are not allowed to upload to images."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9a1a9d01_02487486","line":15,"updated":"2015-09-25 21:31:14.000000000","message":"liberty -\u003e Mitaka","commit_id":"1de46d7e90ea11e3172594906d6d618c671c1c1b"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"cfb2d86133075c9103984fc02e628e4f7ad088eb","unresolved":false,"context_lines":[{"line_number":12,"context_line":"encryption information. As a result, Nova can\u0027t use the"},{"line_number":13,"context_line":"image."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The patch is to prevent the operation in liberty release."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"APIImpact"},{"line_number":18,"context_line":"Encrypted volumes are not allowed to upload to images."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"9a1a9d01_2021b59f","line":15,"in_reply_to":"9a1a9d01_02487486","updated":"2015-09-28 20:04:05.000000000","message":"Hi Jacob, the patch is going to stable/liberty. And in Mitaka release, the problem will be discussed and given a real fix.","commit_id":"1de46d7e90ea11e3172594906d6d618c671c1c1b"},{"author":{"_account_id":7069,"name":"Joshua Hesketh","email":"josh@nitrotech.org","username":"jhesketh"},"change_message_id":"23f9a60c1190be8c16f9389dfd2ccc3d4a1e9c35","unresolved":false,"context_lines":[{"line_number":12,"context_line":"encryption information. As a result, Nova can\u0027t use the"},{"line_number":13,"context_line":"image."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"The patch is to prevent the operation in liberty release."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"APIImpact"},{"line_number":18,"context_line":"Encrypted volumes are not allowed to upload to images."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"fa80f949_6b8dba30","line":15,"in_reply_to":"9a1a9d01_2021b59f","updated":"2015-11-04 06:08:12.000000000","message":"Hi Lisa,\n\nIf this patch was intended only for stable/liberty it\u0027ll need proposing against that branch in gerrit. https://wiki.openstack.org/wiki/StableBranch#Proposing_Fixes .\n\nIf it\u0027s to go into master and then be backported then this is fine. Although if re-rolling you could update the commit message to highlight this.","commit_id":"1de46d7e90ea11e3172594906d6d618c671c1c1b"}],"cinder/tests/unit/test_volume.py":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"3f2f2d9a21847717213c5c3ea6bcbc5eb307b43f","unresolved":false,"context_lines":[{"line_number":5495,"context_line":"                              self.context,"},{"line_number":5496,"context_line":"                              saving_image_id)"},{"line_number":5497,"context_line":""},{"line_number":5498,"context_line":"    @mock.patch.object(volume_types, \u0027is_encrypted\u0027)"},{"line_number":5499,"context_line":"    def test_copy_volume_to_image_api_with_encryption(self,"},{"line_number":5500,"context_line":"                                                      mock_is_encrypted):"},{"line_number":5501,"context_line":"        self.image_meta[\u0027id\u0027] \u003d \u0027a440c04b-79fa-479c-bed1-0b816eaec379\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_640093ab","line":5498,"updated":"2015-08-17 13:38:53.000000000","message":"Based on the return type, this should be returning a boolean (i.e. true in this unit test).  https://github.com/openstack/cinder/blob/master/cinder/volume/volume_types.py#L213","commit_id":"5428de61e46c7c4e4bda30734508f7a63c33f2f8"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"a9697212b3b79ce2583cf2f3bd58540467f48e62","unresolved":false,"context_lines":[{"line_number":5495,"context_line":"                              self.context,"},{"line_number":5496,"context_line":"                              saving_image_id)"},{"line_number":5497,"context_line":""},{"line_number":5498,"context_line":"    @mock.patch.object(volume_types, \u0027is_encrypted\u0027)"},{"line_number":5499,"context_line":"    def test_copy_volume_to_image_api_with_encryption(self,"},{"line_number":5500,"context_line":"                                                      mock_is_encrypted):"},{"line_number":5501,"context_line":"        self.image_meta[\u0027id\u0027] \u003d \u0027a440c04b-79fa-479c-bed1-0b816eaec379\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_054c1841","line":5498,"in_reply_to":"fa1b9901_640093ab","updated":"2015-08-18 00:48:53.000000000","message":"Thank you. I forgot to return it as True here.","commit_id":"5428de61e46c7c4e4bda30734508f7a63c33f2f8"},{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"3f2f2d9a21847717213c5c3ea6bcbc5eb307b43f","unresolved":false,"context_lines":[{"line_number":5499,"context_line":"    def test_copy_volume_to_image_api_with_encryption(self,"},{"line_number":5500,"context_line":"                                                      mock_is_encrypted):"},{"line_number":5501,"context_line":"        self.image_meta[\u0027id\u0027] \u003d \u0027a440c04b-79fa-479c-bed1-0b816eaec379\u0027"},{"line_number":5502,"context_line":"        # creating volume testdata"},{"line_number":5503,"context_line":"        self.volume_attrs[\u0027status\u0027] \u003d \u0027available\u0027"},{"line_number":5504,"context_line":"        volume \u003d db.volume_create(self.context, self.volume_attrs)"},{"line_number":5505,"context_line":"        vol_api \u003d cinder.volume.api.API()"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_a41d4b11","line":5502,"updated":"2015-08-17 13:38:53.000000000","message":"Comment is not necessary.  It is understood what you are doing here.","commit_id":"5428de61e46c7c4e4bda30734508f7a63c33f2f8"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"a9697212b3b79ce2583cf2f3bd58540467f48e62","unresolved":false,"context_lines":[{"line_number":5499,"context_line":"    def test_copy_volume_to_image_api_with_encryption(self,"},{"line_number":5500,"context_line":"                                                      mock_is_encrypted):"},{"line_number":5501,"context_line":"        self.image_meta[\u0027id\u0027] \u003d \u0027a440c04b-79fa-479c-bed1-0b816eaec379\u0027"},{"line_number":5502,"context_line":"        # creating volume testdata"},{"line_number":5503,"context_line":"        self.volume_attrs[\u0027status\u0027] \u003d \u0027available\u0027"},{"line_number":5504,"context_line":"        volume \u003d db.volume_create(self.context, self.volume_attrs)"},{"line_number":5505,"context_line":"        vol_api \u003d cinder.volume.api.API()"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_c555c0c6","line":5502,"in_reply_to":"fa1b9901_a41d4b11","updated":"2015-08-18 00:48:53.000000000","message":"Deleted.","commit_id":"5428de61e46c7c4e4bda30734508f7a63c33f2f8"}],"cinder/volume/api.py":[{"author":{"_account_id":8247,"name":"Thang Pham","email":"thang.g.pham@gmail.com","username":"thang.pham"},"change_message_id":"3f2f2d9a21847717213c5c3ea6bcbc5eb307b43f","unresolved":false,"context_lines":[{"line_number":1135,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":1136,"context_line":"        if volume_types.is_encrypted(context, volume[\u0027volume_type_id\u0027]):"},{"line_number":1137,"context_line":"            msg \u003d _(\u0027Volume is encrypted. Uploading encrypted \u0027"},{"line_number":1138,"context_line":"                    \u0027volumes to images is notsupported.\u0027)"},{"line_number":1139,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":1140,"context_line":""},{"line_number":1141,"context_line":"    @wrap_check_policy"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_0482f752","line":1138,"updated":"2015-08-17 13:38:53.000000000","message":"s/notsupported/not supported/","commit_id":"5428de61e46c7c4e4bda30734508f7a63c33f2f8"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"a9697212b3b79ce2583cf2f3bd58540467f48e62","unresolved":false,"context_lines":[{"line_number":1135,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":1136,"context_line":"        if volume_types.is_encrypted(context, volume[\u0027volume_type_id\u0027]):"},{"line_number":1137,"context_line":"            msg \u003d _(\u0027Volume is encrypted. Uploading encrypted \u0027"},{"line_number":1138,"context_line":"                    \u0027volumes to images is notsupported.\u0027)"},{"line_number":1139,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":1140,"context_line":""},{"line_number":1141,"context_line":"    @wrap_check_policy"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa1b9901_25703c72","line":1138,"in_reply_to":"fa1b9901_0482f752","updated":"2015-08-18 00:48:53.000000000","message":"Done","commit_id":"5428de61e46c7c4e4bda30734508f7a63c33f2f8"},{"author":{"_account_id":2759,"name":"Huang Zhiteng","email":"winston.d@gmail.com","username":"zhiteng-huang"},"change_message_id":"3bd7eb2f5edef394bcfd0db6576cb4e1a11e814d","unresolved":false,"context_lines":[{"line_number":1123,"context_line":"        return {meta_entry.key: meta_entry.value for meta_entry in db_data}"},{"line_number":1124,"context_line":""},{"line_number":1125,"context_line":"    def _check_volume_availability(self, context, volume, force):"},{"line_number":1126,"context_line":"        \"\"\"Check if the volume can be used.\"\"\""},{"line_number":1127,"context_line":"        if volume[\u0027status\u0027] not in [\u0027available\u0027, \u0027in-use\u0027]:"},{"line_number":1128,"context_line":"            msg \u003d _(\u0027Volume %(vol_id)s status must be \u0027"},{"line_number":1129,"context_line":"                    \u0027available or in-use, but current status is: \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa1b9901_67870eb6","line":1126,"updated":"2015-08-18 08:21:18.000000000","message":"This function is changed, consider change function name as well as docstring.","commit_id":"6edd7f4ae6f4adc49cd16d0fe3b087eccecb4f4c"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"b59e601f01646a51475f76cb10f5ab10cf413683","unresolved":false,"context_lines":[{"line_number":1123,"context_line":"        return {meta_entry.key: meta_entry.value for meta_entry in db_data}"},{"line_number":1124,"context_line":""},{"line_number":1125,"context_line":"    def _check_volume_availability(self, context, volume, force):"},{"line_number":1126,"context_line":"        \"\"\"Check if the volume can be used.\"\"\""},{"line_number":1127,"context_line":"        if volume[\u0027status\u0027] not in [\u0027available\u0027, \u0027in-use\u0027]:"},{"line_number":1128,"context_line":"            msg \u003d _(\u0027Volume %(vol_id)s status must be \u0027"},{"line_number":1129,"context_line":"                    \u0027available or in-use, but current status is: \u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba15a1d1_10b606f9","line":1126,"in_reply_to":"fa1b9901_67870eb6","updated":"2015-09-24 03:09:30.000000000","message":"Done","commit_id":"6edd7f4ae6f4adc49cd16d0fe3b087eccecb4f4c"},{"author":{"_account_id":14377,"name":"Apoorva","email":"apps.desh@gmail.com","username":"apoorvad"},"change_message_id":"30260f73fb52933824e4db86c92ec3b6e96d0c3e","unresolved":false,"context_lines":[{"line_number":1166,"context_line":"            msg \u003d _(\u0027Volume status is in-use.\u0027)"},{"line_number":1167,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":1168,"context_line":"        if volume_types.is_encrypted(context, volume[\u0027volume_type_id\u0027]):"},{"line_number":1169,"context_line":"            msg \u003d _(\u0027Volume is encrypted. Uploading encrypted \u0027"},{"line_number":1170,"context_line":"                    \u0027volumes to images is not supported.\u0027)"},{"line_number":1171,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":1172,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9a1a9d01_fcb3c608","line":1169,"updated":"2015-09-25 04:30:14.000000000","message":"It would be helpful if we add vol_id in the error msg.\n\nVolume %(vol_id) is encrypted ..","commit_id":"41cb7839931259213468c390fd61224e80690e4e"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"758bcada3a43435b0f8599c89ad5d200aabd71a5","unresolved":false,"context_lines":[{"line_number":1166,"context_line":"            msg \u003d _(\u0027Volume status is in-use.\u0027)"},{"line_number":1167,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":1168,"context_line":"        if volume_types.is_encrypted(context, volume[\u0027volume_type_id\u0027]):"},{"line_number":1169,"context_line":"            msg \u003d _(\u0027Volume is encrypted. Uploading encrypted \u0027"},{"line_number":1170,"context_line":"                    \u0027volumes to images is not supported.\u0027)"},{"line_number":1171,"context_line":"            raise exception.InvalidVolume(reason\u003dmsg)"},{"line_number":1172,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9a1a9d01_21fee96b","line":1169,"in_reply_to":"9a1a9d01_fcb3c608","updated":"2015-09-25 14:24:31.000000000","message":"Done","commit_id":"41cb7839931259213468c390fd61224e80690e4e"},{"author":{"_account_id":8912,"name":"Ryan McNair","email":"rdmcnair@us.ibm.com","username":"rdmcnair"},"change_message_id":"997abc46d99042132c6fe657a9b90eba77f68347","unresolved":false,"context_lines":[{"line_number":1153,"context_line":"        LOG.info(_LI(\"Get volume image-metadata completed successfully.\"),"},{"line_number":1154,"context_line":"                 resource\u003dvolume)"},{"line_number":1155,"context_line":"        return {meta_entry.key: meta_entry.value for meta_entry in db_data}"},{"line_number":1156,"context_line":""},{"line_number":1157,"context_line":"    def _check_volume_availability(self, context, volume, force):"},{"line_number":1158,"context_line":"        \"\"\"Check if the volume can be used to upload image.\"\"\""},{"line_number":1159,"context_line":"        if volume[\u0027status\u0027] not in [\u0027available\u0027, \u0027in-use\u0027]:"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa80f949_62bba273","line":1156,"updated":"2015-11-04 00:42:37.000000000","message":"Would be nice to change this method name to reflect it\u0027s updated use since it now checks if a volume can be uploaded to an image (not that it\u0027s available)","commit_id":"1de46d7e90ea11e3172594906d6d618c671c1c1b"}]}
