)]}'
{"cinder/tests/unit/test_volume.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"837a71d53002fdda09f1f9f61036c397d40aeb7b","unresolved":false,"context_lines":[{"line_number":1375,"context_line":"                              volume_type\u003dfoo_type,"},{"line_number":1376,"context_line":"                              snapshot\u003dsnapshot_obj)"},{"line_number":1377,"context_line":""},{"line_number":1378,"context_line":"    def test_create_from_source_and_snap_different_encryptions(self):"},{"line_number":1379,"context_line":"        volume_api \u003d cinder.volume.api.API()"},{"line_number":1380,"context_line":"        foo_type \u003d {"},{"line_number":1381,"context_line":"            \u0027name\u0027: \u0027foo\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a74a57a_ca9a3cc5","line":1378,"updated":"2016-12-01 05:39:49.000000000","message":"Even though it would be some duplication, it might be good to separate these into two unit tests, one for create from source and one for create from snapshot.\n\nMaybe put most of this into a setup helper method, then perform the assert check for two individual UT\u0027s that just call that helper?","commit_id":"bca9bd7770edda25376bded480c0feaee79f022a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"61db8048b6be3238155ff8bcff27efa449dc10db","unresolved":false,"context_lines":[{"line_number":1375,"context_line":"                              volume_type\u003dfoo_type,"},{"line_number":1376,"context_line":"                              snapshot\u003dsnapshot_obj)"},{"line_number":1377,"context_line":""},{"line_number":1378,"context_line":"    def _test_create_from_source_snapshot_encryptions(self, snapshot\u003dFalse):"},{"line_number":1379,"context_line":"        volume_api \u003d cinder.volume.api.API()"},{"line_number":1380,"context_line":"        foo_type \u003d {"},{"line_number":1381,"context_line":"            \u0027name\u0027: \u0027foo\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_4659dbfd","line":1378,"range":{"start_line":1378,"start_character":60,"end_line":1378,"end_character":67},"updated":"2016-12-02 10:07:36.000000000","message":"-1: This is not being used","commit_id":"47989c773d2698cdd31f039d469b95c664075ac5"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"5a0b733ef38ad8501fb78f64f7b0c17885592464","unresolved":false,"context_lines":[{"line_number":1375,"context_line":"                              volume_type\u003dfoo_type,"},{"line_number":1376,"context_line":"                              snapshot\u003dsnapshot_obj)"},{"line_number":1377,"context_line":""},{"line_number":1378,"context_line":"    def _test_create_from_source_snapshot_encryptions(self, snapshot\u003dFalse):"},{"line_number":1379,"context_line":"        volume_api \u003d cinder.volume.api.API()"},{"line_number":1380,"context_line":"        foo_type \u003d {"},{"line_number":1381,"context_line":"            \u0027name\u0027: \u0027foo\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_4d10e159","line":1378,"range":{"start_line":1378,"start_character":60,"end_line":1378,"end_character":67},"in_reply_to":"3a71b18c_4659dbfd","updated":"2016-12-05 08:09:29.000000000","message":"Updated.","commit_id":"47989c773d2698cdd31f039d469b95c664075ac5"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"61db8048b6be3238155ff8bcff27efa449dc10db","unresolved":false,"context_lines":[{"line_number":1394,"context_line":"                      \u0027volume_type\u0027: biz_type,"},{"line_number":1395,"context_line":"                      \u0027volume_type_id\u0027: biz_type[\u0027id\u0027]}"},{"line_number":1396,"context_line":""},{"line_number":1397,"context_line":"        snapshot \u003d {\u0027id\u0027: fake.SNAPSHOT_ID,"},{"line_number":1398,"context_line":"                    \u0027status\u0027: fields.SnapshotStatus.AVAILABLE,"},{"line_number":1399,"context_line":"                    \u0027volume_size\u0027: 1,"},{"line_number":1400,"context_line":"                    \u0027volume_type_id\u0027: biz_type[\u0027id\u0027]}"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_a6f54fcc","line":1397,"range":{"start_line":1397,"start_character":8,"end_line":1397,"end_character":16},"updated":"2016-12-02 10:07:36.000000000","message":"-1: This is overwriting snapshot parameter","commit_id":"47989c773d2698cdd31f039d469b95c664075ac5"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"5a0b733ef38ad8501fb78f64f7b0c17885592464","unresolved":false,"context_lines":[{"line_number":1394,"context_line":"                      \u0027volume_type\u0027: biz_type,"},{"line_number":1395,"context_line":"                      \u0027volume_type_id\u0027: biz_type[\u0027id\u0027]}"},{"line_number":1396,"context_line":""},{"line_number":1397,"context_line":"        snapshot \u003d {\u0027id\u0027: fake.SNAPSHOT_ID,"},{"line_number":1398,"context_line":"                    \u0027status\u0027: fields.SnapshotStatus.AVAILABLE,"},{"line_number":1399,"context_line":"                    \u0027volume_size\u0027: 1,"},{"line_number":1400,"context_line":"                    \u0027volume_type_id\u0027: biz_type[\u0027id\u0027]}"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_2d1f256d","line":1397,"range":{"start_line":1397,"start_character":8,"end_line":1397,"end_character":16},"in_reply_to":"3a71b18c_a6f54fcc","updated":"2016-12-05 08:09:29.000000000","message":"Thank you for the catch!","commit_id":"47989c773d2698cdd31f039d469b95c664075ac5"}],"cinder/volume/api.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"837a71d53002fdda09f1f9f61036c397d40aeb7b","unresolved":false,"context_lines":[{"line_number":22,"context_line":"import functools"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from oslo_config import cfg"},{"line_number":25,"context_line":"import pdb"},{"line_number":26,"context_line":"from oslo_log import log as logging"},{"line_number":27,"context_line":"from oslo_utils import excutils"},{"line_number":28,"context_line":"from oslo_utils import strutils"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a74a57a_8a34c4de","line":25,"updated":"2016-12-01 05:39:49.000000000","message":"Left over debugging?","commit_id":"bca9bd7770edda25376bded480c0feaee79f022a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"61db8048b6be3238155ff8bcff27efa449dc10db","unresolved":false,"context_lines":[{"line_number":173,"context_line":"        return tuple(azs)"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    def _retype_is_possible(self, context,"},{"line_number":176,"context_line":"                            source_type_id, target_type_id):"},{"line_number":177,"context_line":"        safe \u003d False"},{"line_number":178,"context_line":"        elevated \u003d context.elevated()"},{"line_number":179,"context_line":"        # If encryptions are different, it is not allowed"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_a39f014f","line":176,"updated":"2016-12-02 10:07:36.000000000","message":"Thank you for this change!!","commit_id":"47989c773d2698cdd31f039d469b95c664075ac5"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"61db8048b6be3238155ff8bcff27efa449dc10db","unresolved":false,"context_lines":[{"line_number":188,"context_line":"        if len(services.objects) \u003d\u003d 1:"},{"line_number":189,"context_line":"            safe \u003d True"},{"line_number":190,"context_line":"        else:"},{"line_number":191,"context_line":"            type_a \u003d volume_types.get_volume_type("},{"line_number":192,"context_line":"                elevated,"},{"line_number":193,"context_line":"                source_type_id)"},{"line_number":194,"context_line":"            type_b \u003d volume_types.get_volume_type("}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_069c43bf","line":191,"range":{"start_line":191,"start_character":12,"end_line":191,"end_character":18},"updated":"2016-12-02 10:07:36.000000000","message":"nit: This should be source","commit_id":"47989c773d2698cdd31f039d469b95c664075ac5"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"5a0b733ef38ad8501fb78f64f7b0c17885592464","unresolved":false,"context_lines":[{"line_number":188,"context_line":"        if len(services.objects) \u003d\u003d 1:"},{"line_number":189,"context_line":"            safe \u003d True"},{"line_number":190,"context_line":"        else:"},{"line_number":191,"context_line":"            type_a \u003d volume_types.get_volume_type("},{"line_number":192,"context_line":"                elevated,"},{"line_number":193,"context_line":"                source_type_id)"},{"line_number":194,"context_line":"            type_b \u003d volume_types.get_volume_type("}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_b8129155","line":191,"range":{"start_line":191,"start_character":12,"end_line":191,"end_character":18},"in_reply_to":"3a71b18c_069c43bf","updated":"2016-12-05 08:09:29.000000000","message":"Better to use source.","commit_id":"47989c773d2698cdd31f039d469b95c664075ac5"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"61db8048b6be3238155ff8bcff27efa449dc10db","unresolved":false,"context_lines":[{"line_number":191,"context_line":"            type_a \u003d volume_types.get_volume_type("},{"line_number":192,"context_line":"                elevated,"},{"line_number":193,"context_line":"                source_type_id)"},{"line_number":194,"context_line":"            type_b \u003d volume_types.get_volume_type("},{"line_number":195,"context_line":"                elevated,"},{"line_number":196,"context_line":"                target_type_id)"},{"line_number":197,"context_line":"            if (volume_utils.matching_backend_name(type_a[\u0027extra_specs\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_46a63b11","line":194,"range":{"start_line":194,"start_character":12,"end_line":194,"end_character":18},"updated":"2016-12-02 10:07:36.000000000","message":"nit: this should be target","commit_id":"47989c773d2698cdd31f039d469b95c664075ac5"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"5a0b733ef38ad8501fb78f64f7b0c17885592464","unresolved":false,"context_lines":[{"line_number":191,"context_line":"            type_a \u003d volume_types.get_volume_type("},{"line_number":192,"context_line":"                elevated,"},{"line_number":193,"context_line":"                source_type_id)"},{"line_number":194,"context_line":"            type_b \u003d volume_types.get_volume_type("},{"line_number":195,"context_line":"                elevated,"},{"line_number":196,"context_line":"                target_type_id)"},{"line_number":197,"context_line":"            if (volume_utils.matching_backend_name(type_a[\u0027extra_specs\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_d81bcd71","line":194,"range":{"start_line":194,"start_character":12,"end_line":194,"end_character":18},"in_reply_to":"3a71b18c_46a63b11","updated":"2016-12-05 08:09:29.000000000","message":"Done","commit_id":"47989c773d2698cdd31f039d469b95c664075ac5"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"61db8048b6be3238155ff8bcff27efa449dc10db","unresolved":false,"context_lines":[{"line_number":270,"context_line":"                if not self._retype_is_possible("},{"line_number":271,"context_line":"                        context,"},{"line_number":272,"context_line":"                        source_volume[\u0027volume_type_id\u0027],"},{"line_number":273,"context_line":"                        volume_type[\u0027id\u0027]):"},{"line_number":274,"context_line":"                    msg \u003d _(\"Invalid volume_type provided: %s (requested type \""},{"line_number":275,"context_line":"                            \"is not compatible; either match source volume, \""},{"line_number":276,"context_line":"                            \"or omit type argument).\") % volume_type[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_a321c1b6","line":273,"range":{"start_line":273,"start_character":24,"end_line":273,"end_character":41},"updated":"2016-12-02 10:07:36.000000000","message":"I won\u0027t downvote since you just moved the line, but this should be `volume_type.id` since volume_type is an ORM instance","commit_id":"47989c773d2698cdd31f039d469b95c664075ac5"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"5a0b733ef38ad8501fb78f64f7b0c17885592464","unresolved":false,"context_lines":[{"line_number":270,"context_line":"                if not self._retype_is_possible("},{"line_number":271,"context_line":"                        context,"},{"line_number":272,"context_line":"                        source_volume[\u0027volume_type_id\u0027],"},{"line_number":273,"context_line":"                        volume_type[\u0027id\u0027]):"},{"line_number":274,"context_line":"                    msg \u003d _(\"Invalid volume_type provided: %s (requested type \""},{"line_number":275,"context_line":"                            \"is not compatible; either match source volume, \""},{"line_number":276,"context_line":"                            \"or omit type argument).\") % volume_type[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_e19d3167","line":273,"range":{"start_line":273,"start_character":24,"end_line":273,"end_character":41},"in_reply_to":"3a71b18c_a321c1b6","updated":"2016-12-05 08:09:29.000000000","message":"In fact type here is not a ORM instance, it is a dict. I add a patch https://review.openstack.org/#/c/406780/ to make it an object.\n\nhttps://github.com/openstack/cinder/blob/master/cinder/db/sqlalchemy/api.py#L3376","commit_id":"47989c773d2698cdd31f039d469b95c664075ac5"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"d8a980fb3e65a1e2a917ae07c956996ff8cc9a29","unresolved":false,"context_lines":[{"line_number":270,"context_line":"                if not self._retype_is_possible("},{"line_number":271,"context_line":"                        context,"},{"line_number":272,"context_line":"                        source_volume[\u0027volume_type_id\u0027],"},{"line_number":273,"context_line":"                        volume_type[\u0027id\u0027]):"},{"line_number":274,"context_line":"                    msg \u003d _(\"Invalid volume_type provided: %s (requested type \""},{"line_number":275,"context_line":"                            \"is not compatible; either match source volume, \""},{"line_number":276,"context_line":"                            \"or omit type argument).\") % volume_type[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a461143_bee69ee5","line":273,"range":{"start_line":273,"start_character":24,"end_line":273,"end_character":41},"in_reply_to":"3a71b18c_e19d3167","updated":"2017-01-31 09:22:47.000000000","message":"I\u0027m baffled that we still have those.  Thanks for that patch.","commit_id":"47989c773d2698cdd31f039d469b95c664075ac5"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"61db8048b6be3238155ff8bcff27efa449dc10db","unresolved":false,"context_lines":[{"line_number":286,"context_line":"            if volume_type[\u0027id\u0027] !\u003d snapshot.volume_type_id:"},{"line_number":287,"context_line":"                if not self._retype_is_possible(context,"},{"line_number":288,"context_line":"                                                snapshot.volume_type_id,"},{"line_number":289,"context_line":"                                                volume_type[\u0027id\u0027]):"},{"line_number":290,"context_line":"                    msg \u003d _(\"Invalid volume_type provided: %s (requested \""},{"line_number":291,"context_line":"                            \"type is not compatible; recommend omitting \""},{"line_number":292,"context_line":"                            \"the type argument).\") % volume_type[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_e32bb992","line":289,"range":{"start_line":289,"start_character":48,"end_line":289,"end_character":67},"updated":"2016-12-02 10:07:36.000000000","message":"ditto","commit_id":"47989c773d2698cdd31f039d469b95c664075ac5"},{"author":{"_account_id":15961,"name":"lisali","email":"xiaoyan.li@intel.com","username":"lisali"},"change_message_id":"5a0b733ef38ad8501fb78f64f7b0c17885592464","unresolved":false,"context_lines":[{"line_number":286,"context_line":"            if volume_type[\u0027id\u0027] !\u003d snapshot.volume_type_id:"},{"line_number":287,"context_line":"                if not self._retype_is_possible(context,"},{"line_number":288,"context_line":"                                                snapshot.volume_type_id,"},{"line_number":289,"context_line":"                                                volume_type[\u0027id\u0027]):"},{"line_number":290,"context_line":"                    msg \u003d _(\"Invalid volume_type provided: %s (requested \""},{"line_number":291,"context_line":"                            \"type is not compatible; recommend omitting \""},{"line_number":292,"context_line":"                            \"the type argument).\") % volume_type[\u0027id\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"3a71b18c_a17ed916","line":289,"range":{"start_line":289,"start_character":48,"end_line":289,"end_character":67},"in_reply_to":"3a71b18c_e32bb992","updated":"2016-12-05 08:09:29.000000000","message":"Same above.","commit_id":"47989c773d2698cdd31f039d469b95c664075ac5"}]}
