)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"93e0be909f57ab90e1e32551b0ba243ab0705b44","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Check if destination_type in block_device_mapping_v2"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When using nova boot with --block-device source\u003dblank,"},{"line_number":10,"context_line":"device\u003dvdb,bootindex\u003d1,size\u003d1, we can found there was"},{"line_number":11,"context_line":"only one disk device attached to the vm. Becaue of"},{"line_number":12,"context_line":"missing of the param named destination_type in"},{"line_number":13,"context_line":"block_device_mapping_v2, the problem above occurd."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bab921fb_b106ab1e","line":10,"updated":"2015-04-23 15:43:16.000000000","message":"nit: we can found -\u003e we found","commit_id":"b331c4a0c90124dcdcd9c03268f4334cd97db563"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"93e0be909f57ab90e1e32551b0ba243ab0705b44","unresolved":false,"context_lines":[{"line_number":9,"context_line":"When using nova boot with --block-device source\u003dblank,"},{"line_number":10,"context_line":"device\u003dvdb,bootindex\u003d1,size\u003d1, we can found there was"},{"line_number":11,"context_line":"only one disk device attached to the vm. Becaue of"},{"line_number":12,"context_line":"missing of the param named destination_type in"},{"line_number":13,"context_line":"block_device_mapping_v2, the problem above occurd."},{"line_number":14,"context_line":"To resovle this problem, check if destination_type"},{"line_number":15,"context_line":"in block_device_mapping_v2"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bab921fb_d410ed50","line":12,"updated":"2015-04-23 15:43:16.000000000","message":"nit: Because of the missing param...","commit_id":"b331c4a0c90124dcdcd9c03268f4334cd97db563"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"93e0be909f57ab90e1e32551b0ba243ab0705b44","unresolved":false,"context_lines":[{"line_number":10,"context_line":"device\u003dvdb,bootindex\u003d1,size\u003d1, we can found there was"},{"line_number":11,"context_line":"only one disk device attached to the vm. Becaue of"},{"line_number":12,"context_line":"missing of the param named destination_type in"},{"line_number":13,"context_line":"block_device_mapping_v2, the problem above occurd."},{"line_number":14,"context_line":"To resovle this problem, check if destination_type"},{"line_number":15,"context_line":"in block_device_mapping_v2"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bab921fb_3420499b","line":13,"updated":"2015-04-23 15:43:16.000000000","message":"typo: occurd -\u003e occured","commit_id":"b331c4a0c90124dcdcd9c03268f4334cd97db563"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"57a979f3690cb0b2c1a5eeb3b09356ba8923f662","unresolved":false,"context_lines":[{"line_number":11,"context_line":"only one disk device attached to the vm. Becaue of"},{"line_number":12,"context_line":"the missing of the param named destination_type in"},{"line_number":13,"context_line":"block_device_mapping_v2, the problem above occured."},{"line_number":14,"context_line":"To resovle this problem, check if destination_type"},{"line_number":15,"context_line":"in block_device_mapping_v2"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I5304f2e13bda94812eca1c4b4a31cbbe825fea7a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3acd31a7_f9d4e8bd","line":14,"updated":"2015-05-01 12:33:40.000000000","message":"nits: Because, occurred, resolve","commit_id":"1e77d06717a01e2481fbb1d33466dd63b59e70e3"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"57a979f3690cb0b2c1a5eeb3b09356ba8923f662","unresolved":false,"context_lines":[{"line_number":12,"context_line":"the missing of the param named destination_type in"},{"line_number":13,"context_line":"block_device_mapping_v2, the problem above occured."},{"line_number":14,"context_line":"To resovle this problem, check if destination_type"},{"line_number":15,"context_line":"in block_device_mapping_v2"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I5304f2e13bda94812eca1c4b4a31cbbe825fea7a"},{"line_number":18,"context_line":"Closes-Bug: #1443796"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3acd31a7_195b2489","line":15,"updated":"2015-05-01 12:33:40.000000000","message":"nit: the main body of the message should be wrapped at 72 chars\nhttps://wiki.openstack.org/wiki/GitCommitMessages","commit_id":"1e77d06717a01e2481fbb1d33466dd63b59e70e3"}],"nova/api/openstack/compute/schemas/v3/block_device_mapping.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"6fbb1f74d1d2d8ca250fd0dafae65a44daace0d5","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    # \"block_device_mapping\""},{"line_number":37,"context_line":"    \u0027destination_type\u0027: {"},{"line_number":38,"context_line":"        \u0027type\u0027: \u0027string\u0027,"},{"line_number":39,"context_line":"        \u0027enum\u0027: [\u0027volume\u0027, \u0027local\u0027],"},{"line_number":40,"context_line":"    },"},{"line_number":41,"context_line":"    # Defined as varchar(255) in column \"guest_format\" in table"},{"line_number":42,"context_line":"    # \"block_device_mapping\""}],"source_content_type":"text/x-python","patch_set":8,"id":"7a016987_e7957188","line":39,"updated":"2015-05-26 19:41:43.000000000","message":"Mmm, just wondering if it would require an API version bump ?\n\nFrom my perspective, it changes the behaviour on the API so it needs a new version.","commit_id":"e541641778fe47397c157e5de284a30a5a2de215"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"0b150b0b625226d52d2527e0effb2faee34ed70b","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    # \"block_device_mapping\""},{"line_number":37,"context_line":"    \u0027destination_type\u0027: {"},{"line_number":38,"context_line":"        \u0027type\u0027: \u0027string\u0027,"},{"line_number":39,"context_line":"        \u0027enum\u0027: [\u0027volume\u0027, \u0027local\u0027],"},{"line_number":40,"context_line":"    },"},{"line_number":41,"context_line":"    # Defined as varchar(255) in column \"guest_format\" in table"},{"line_number":42,"context_line":"    # \"block_device_mapping\""}],"source_content_type":"text/x-python","patch_set":8,"id":"7a016987_4508bd28","line":39,"in_reply_to":"7a016987_e7957188","updated":"2015-05-26 20:34:56.000000000","message":"++\nseems this add restrictions for input validation \nconceptually need a bump","commit_id":"e541641778fe47397c157e5de284a30a5a2de215"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"ef63961eeec30a4fa76c8bf0f2a19f268e044caa","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    # \"block_device_mapping\""},{"line_number":37,"context_line":"    \u0027destination_type\u0027: {"},{"line_number":38,"context_line":"        \u0027type\u0027: \u0027string\u0027,"},{"line_number":39,"context_line":"        \u0027enum\u0027: [\u0027volume\u0027, \u0027local\u0027],"},{"line_number":40,"context_line":"    },"},{"line_number":41,"context_line":"    # Defined as varchar(255) in column \"guest_format\" in table"},{"line_number":42,"context_line":"    # \"block_device_mapping\""}],"source_content_type":"text/x-python","patch_set":10,"id":"fa32b979_d92fa586","line":39,"updated":"2015-06-23 09:31:55.000000000","message":"This will break all requests for previous version, this is not allowed.\n\nThis should only apply for a new micro version.","commit_id":"0f4237d49892d90de6e5424e982272ada8d33b61"}],"nova/block_device.py":[{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"93e0be909f57ab90e1e32551b0ba243ab0705b44","unresolved":false,"context_lines":[{"line_number":174,"context_line":"    def from_api(cls, api_dict, image_uuid_specified):"},{"line_number":175,"context_line":"        \"\"\"Transform the API format of data to the internally used one."},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        Only validate if the source_type field makes sense."},{"line_number":178,"context_line":"        \"\"\""},{"line_number":179,"context_line":"        if not api_dict.get(\u0027no_device\u0027):"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"bab921fb_0acbe054","line":177,"updated":"2015-04-23 15:43:16.000000000","message":"Validate if the source_type and destination_type fields makes sense.","commit_id":"b331c4a0c90124dcdcd9c03268f4334cd97db563"},{"author":{"_account_id":12909,"name":"Mark Wu","email":"wudx05@gmail.com","username":"markw"},"change_message_id":"360bc05612aee3bb90d1a582e385bb4f96ea5a6e","unresolved":false,"context_lines":[{"line_number":184,"context_line":""},{"line_number":185,"context_line":"            if destination_type not in (\u0027local\u0027, \u0027volume\u0027):"},{"line_number":186,"context_line":"                raise exception.InvalidBDMFormat("},{"line_number":187,"context_line":"                    details\u003d_(\"Invaid destination_type field\"))"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"            if source_type not in (\u0027volume\u0027, \u0027image\u0027, \u0027snapshot\u0027, \u0027blank\u0027):"},{"line_number":190,"context_line":"                raise exception.InvalidBDMFormat("}],"source_content_type":"text/x-python","patch_set":2,"id":"bab921fb_3ed66df1","line":187,"updated":"2015-04-25 13:33:40.000000000","message":"better to show the invalid value of destination_type even though the other error reportings don\u0027t do it in this way.  But it helps to accelerate trouble shooting.","commit_id":"b331c4a0c90124dcdcd9c03268f4334cd97db563"},{"author":{"_account_id":12909,"name":"Mark Wu","email":"wudx05@gmail.com","username":"markw"},"change_message_id":"79b42419bfcabf61e7dd4e8c17cf6f5de8b70fed","unresolved":false,"context_lines":[{"line_number":174,"context_line":"    def from_api(cls, api_dict, image_uuid_specified):"},{"line_number":175,"context_line":"        \"\"\"Transform the API format of data to the internally used one."},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        Validate if the source_type and destination_type fields makes sense."},{"line_number":178,"context_line":"        \"\"\""},{"line_number":179,"context_line":"        if not api_dict.get(\u0027no_device\u0027):"},{"line_number":180,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7ad32947_f69440e9","line":177,"updated":"2015-04-27 13:50:39.000000000","message":"s/makes sense/make sense/","commit_id":"d4e0bda58e438fdd52deb1bb173cac36e35f1010"},{"author":{"_account_id":12909,"name":"Mark Wu","email":"wudx05@gmail.com","username":"markw"},"change_message_id":"79b42419bfcabf61e7dd4e8c17cf6f5de8b70fed","unresolved":false,"context_lines":[{"line_number":184,"context_line":""},{"line_number":185,"context_line":"            if destination_type not in (\u0027local\u0027, \u0027volume\u0027):"},{"line_number":186,"context_line":"                raise exception.InvalidBDMFormat("},{"line_number":187,"context_line":"                    details\u003d_(\"Invaid destination_type field,\""},{"line_number":188,"context_line":"                              \" only accepte local and volume\"))"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"            if source_type not in (\u0027volume\u0027, \u0027image\u0027, \u0027snapshot\u0027, \u0027blank\u0027):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7ad32947_d6c024e3","line":187,"updated":"2015-04-27 13:50:39.000000000","message":"s/Invaid/Invalid/","commit_id":"d4e0bda58e438fdd52deb1bb173cac36e35f1010"},{"author":{"_account_id":12909,"name":"Mark Wu","email":"wudx05@gmail.com","username":"markw"},"change_message_id":"79b42419bfcabf61e7dd4e8c17cf6f5de8b70fed","unresolved":false,"context_lines":[{"line_number":185,"context_line":"            if destination_type not in (\u0027local\u0027, \u0027volume\u0027):"},{"line_number":186,"context_line":"                raise exception.InvalidBDMFormat("},{"line_number":187,"context_line":"                    details\u003d_(\"Invaid destination_type field,\""},{"line_number":188,"context_line":"                              \" only accepte local and volume\"))"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"            if source_type not in (\u0027volume\u0027, \u0027image\u0027, \u0027snapshot\u0027, \u0027blank\u0027):"},{"line_number":191,"context_line":"                raise exception.InvalidBDMFormat("}],"source_content_type":"text/x-python","patch_set":3,"id":"7ad32947_567414ce","line":188,"updated":"2015-04-27 13:50:39.000000000","message":"Actually,  I mean to print the wrong value of destination_type which is passed from the client side,  or just keep the style as other error messages.","commit_id":"d4e0bda58e438fdd52deb1bb173cac36e35f1010"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"0ac91f505b0e98f8eb36cc77019b2e8333b0060d","unresolved":false,"context_lines":[{"line_number":72,"context_line":"    _fields \u003d bdm_new_fields"},{"line_number":73,"context_line":"    _db_only_fields \u003d (bdm_db_only_fields |"},{"line_number":74,"context_line":"               bdm_db_inherited_fields)"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    _required_fields \u003d set([\u0027source_type\u0027])"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    def __init__(self, bdm_dict\u003dNone, do_not_default\u003dNone, **kwargs):"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a016987_b2032e0d","line":75,"updated":"2015-05-27 03:30:53.000000000","message":"We should use this ensure destination_type in the request.","commit_id":"e541641778fe47397c157e5de284a30a5a2de215"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"ef63961eeec30a4fa76c8bf0f2a19f268e044caa","unresolved":false,"context_lines":[{"line_number":185,"context_line":"            device_uuid \u003d api_dict.get(\u0027uuid\u0027)"},{"line_number":186,"context_line":"            destination_type \u003d api_dict.get(\u0027destination_type\u0027)"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"            if destination_type not in (\u0027local\u0027, \u0027volume\u0027):"},{"line_number":189,"context_line":"                raise exception.InvalidBDMFormat("},{"line_number":190,"context_line":"                    details\u003d_(\"Invalid destination_type field\"))"},{"line_number":191,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"fa32b979_f96869bc","line":188,"updated":"2015-06-23 09:31:55.000000000","message":"This can only apply for requests to the new version of the API.","commit_id":"0f4237d49892d90de6e5424e982272ada8d33b61"}],"nova/tests/unit/api/openstack/compute/contrib/test_block_device_mapping.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"ef63961eeec30a4fa76c8bf0f2a19f268e044caa","unresolved":false,"context_lines":[{"line_number":235,"context_line":"        bdm \u003d [{"},{"line_number":236,"context_line":"            \u0027source_type\u0027: \u0027volume\u0027,"},{"line_number":237,"context_line":"            \u0027device_name\u0027: \u0027fake_dev\u0027,"},{"line_number":238,"context_line":"            \u0027destination_type\u0027: \u0027volume\u0027,"},{"line_number":239,"context_line":"            \u0027uuid\u0027: \u0027fake_vol\u0027"},{"line_number":240,"context_line":"        }]"},{"line_number":241,"context_line":"        bdm_expected \u003d [{"}],"source_content_type":"text/x-python","patch_set":10,"id":"fa32b979_397c9171","line":238,"updated":"2015-06-23 09:31:55.000000000","message":"So the old tests should still pass, you really need to create a new test for the newer API version to show how your changes apply only to new API requests.","commit_id":"0f4237d49892d90de6e5424e982272ada8d33b61"}],"nova/tests/unit/api/openstack/compute/contrib/test_multiple_create.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"ef63961eeec30a4fa76c8bf0f2a19f268e044caa","unresolved":false,"context_lines":[{"line_number":456,"context_line":"        \"\"\""},{"line_number":457,"context_line":"        min_count \u003d 2"},{"line_number":458,"context_line":"        bdm \u003d [{\u0027source_type\u0027: \u0027volume\u0027, \u0027uuid\u0027: \u0027vol-xxxx\u0027,"},{"line_number":459,"context_line":"                \u0027destination_type\u0027: \u0027volume\u0027}]"},{"line_number":460,"context_line":"        params \u003d {"},{"line_number":461,"context_line":"                 block_device_mapping_v21.ATTRIBUTE_NAME: bdm,"},{"line_number":462,"context_line":"                 multiple_create_v21.MIN_ATTRIBUTE_NAME: min_count"}],"source_content_type":"text/x-python","patch_set":10,"id":"fa32b979_99ecbd2a","line":459,"updated":"2015-06-23 09:31:55.000000000","message":"As with the other tests, the old tests should still pass.\n\nYou should add tests to show the new failure for requests that include a newer microversion.","commit_id":"0f4237d49892d90de6e5424e982272ada8d33b61"}],"nova/tests/unit/test_block_device.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"6fbb1f74d1d2d8ca250fd0dafae65a44daace0d5","unresolved":false,"context_lines":[{"line_number":552,"context_line":"                              \u0027uuid\u0027: \u0027fake-volume-id-1\u0027}"},{"line_number":553,"context_line":"        self.assertRaises(exception.InvalidBDMFormat,"},{"line_number":554,"context_line":"                          block_device.BlockDeviceDict.from_api,"},{"line_number":555,"context_line":"                          api_dict_miss_dest, False)"},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"        api_dict_invalid_dest \u003d {\u0027id\u0027: 1,"},{"line_number":558,"context_line":"                                \u0027source_type\u0027: \u0027image\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a016987_e7c33189","line":555,"updated":"2015-05-26 19:41:43.000000000","message":"I think you should provide 2 unittests.","commit_id":"e541641778fe47397c157e5de284a30a5a2de215"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"0b150b0b625226d52d2527e0effb2faee34ed70b","unresolved":false,"context_lines":[{"line_number":560,"context_line":"                                \u0027uuid\u0027: \u0027fake-volume-id-1\u0027}"},{"line_number":561,"context_line":"        self.assertRaises(exception.InvalidBDMFormat,"},{"line_number":562,"context_line":"                          block_device.BlockDeviceDict.from_api,"},{"line_number":563,"context_line":"                          api_dict_invalid_dest, False)"},{"line_number":564,"context_line":""},{"line_number":565,"context_line":"    def test_from_api_valid_source_to_local_mapping(self):"},{"line_number":566,"context_line":"        api_dict \u003d {\u0027id\u0027: 1,"}],"source_content_type":"text/x-python","patch_set":8,"id":"7a016987_a5b53132","line":563,"updated":"2015-05-26 20:34:56.000000000","message":"I guess this case didn\u0027t cover the schema changes you made?","commit_id":"e541641778fe47397c157e5de284a30a5a2de215"}]}
