)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"10b7d350be524b09462053b30b74a4827994cc8d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Implement query param schema for delete assisted vol"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Delete assisted_volume_snapshots API accept query param"},{"line_number":10,"context_line":"to about delete info."},{"line_number":11,"context_line":"This commit adds json schema to validating the valid"},{"line_number":12,"context_line":"query parameters."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ff82abbf_579540e3","line":10,"range":{"start_line":10,"start_character":0,"end_line":10,"end_character":20},"updated":"2017-11-22 16:10:50.000000000","message":"not sure what \"to about delete info\" means?","commit_id":"2e88898bea014a7da6dd6a8b1e87c6b5fcbdaefe"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"10b7d350be524b09462053b30b74a4827994cc8d","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Delete assisted_volume_snapshots API accept query param"},{"line_number":10,"context_line":"to about delete info."},{"line_number":11,"context_line":"This commit adds json schema to validating the valid"},{"line_number":12,"context_line":"query parameters."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"There is no change in API behaviour and additionalProperty"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ff82abbf_179fb803","line":11,"range":{"start_line":11,"start_character":32,"end_line":11,"end_character":52},"updated":"2017-11-22 16:10:50.000000000","message":"validate the","commit_id":"2e88898bea014a7da6dd6a8b1e87c6b5fcbdaefe"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"10b7d350be524b09462053b30b74a4827994cc8d","unresolved":false,"context_lines":[{"line_number":11,"context_line":"This commit adds json schema to validating the valid"},{"line_number":12,"context_line":"query parameters."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"There is no change in API behaviour and additionalProperty"},{"line_number":15,"context_line":"is kept True for backward compatibility."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Partially implements blueprint json-schema-validation-for-query-param"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ff82abbf_9792e8f5","line":14,"range":{"start_line":14,"start_character":40,"end_line":14,"end_character":58},"updated":"2017-11-22 16:10:50.000000000","message":"additionalProperties","commit_id":"2e88898bea014a7da6dd6a8b1e87c6b5fcbdaefe"}],"nova/api/openstack/compute/assisted_volume_snapshots.py":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"e410fc53cd6dd84453e575582ae07e507f603747","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        try:"},{"line_number":77,"context_line":"            delete_info \u003d jsonutils.loads(delete_metadata[\u0027delete_info\u0027])"},{"line_number":78,"context_line":"            volume_id \u003d delete_info[\u0027volume_id\u0027]"},{"line_number":79,"context_line":"        except (KeyError, ValueError) as e:"},{"line_number":80,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dsix.text_type(e))"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1f485f77_3368e2f3","line":78,"range":{"start_line":78,"start_character":12,"end_line":78,"end_character":48},"updated":"2017-11-13 08:43:18.000000000","message":"do we have a way to include this \u0027volume_id\u0027 into schema as well?","commit_id":"2e88898bea014a7da6dd6a8b1e87c6b5fcbdaefe"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2aad6db6f99fc4b945e4c4565847474da6d676d5","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"        try:"},{"line_number":77,"context_line":"            delete_info \u003d jsonutils.loads(delete_metadata[\u0027delete_info\u0027])"},{"line_number":78,"context_line":"            volume_id \u003d delete_info[\u0027volume_id\u0027]"},{"line_number":79,"context_line":"        except (KeyError, ValueError) as e:"},{"line_number":80,"context_line":"            raise exc.HTTPBadRequest(explanation\u003dsix.text_type(e))"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1f485f77_9c7cbe83","line":78,"range":{"start_line":78,"start_character":12,"end_line":78,"end_character":48},"in_reply_to":"1f485f77_3368e2f3","updated":"2017-11-17 07:07:13.000000000","message":"i tried to do that but then left as it is because it comes as string of dict where \u0027volume_id\u0027 is key in dict. \n\nschema for that will be little complex with pattern match and does not give much benefit to do that.","commit_id":"2e88898bea014a7da6dd6a8b1e87c6b5fcbdaefe"}],"nova/api/openstack/compute/schemas/assisted_volume_snapshots.py":[{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"945c94824874a4c3f7dd5a9a4f15c40d5de16bd6","unresolved":false,"context_lines":[{"line_number":54,"context_line":"delete_query \u003d {"},{"line_number":55,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":56,"context_line":"    \u0027properties\u0027: {"},{"line_number":57,"context_line":"        \u0027delete_info\u0027: parameter_types.multi_params({\u0027type\u0027: \u0027string\u0027})"},{"line_number":58,"context_line":"    },"},{"line_number":59,"context_line":"    # NOTE(gmann): This is kept True to keep backward compatibility."},{"line_number":60,"context_line":"    # As of now Schema validation stripped out the additional parameters and"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f485f77_492f65f6","line":57,"range":{"start_line":57,"start_character":23,"end_line":57,"end_character":71},"updated":"2017-11-09 09:07:03.000000000","message":"also try common_query_param.","commit_id":"2e88898bea014a7da6dd6a8b1e87c6b5fcbdaefe"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2aad6db6f99fc4b945e4c4565847474da6d676d5","unresolved":false,"context_lines":[{"line_number":54,"context_line":"delete_query \u003d {"},{"line_number":55,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":56,"context_line":"    \u0027properties\u0027: {"},{"line_number":57,"context_line":"        \u0027delete_info\u0027: parameter_types.multi_params({\u0027type\u0027: \u0027string\u0027})"},{"line_number":58,"context_line":"    },"},{"line_number":59,"context_line":"    # NOTE(gmann): This is kept True to keep backward compatibility."},{"line_number":60,"context_line":"    # As of now Schema validation stripped out the additional parameters and"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f485f77_c14db39a","line":57,"range":{"start_line":57,"start_character":23,"end_line":57,"end_character":71},"in_reply_to":"1f485f77_492f65f6","updated":"2017-11-17 07:07:13.000000000","message":"actually i intentionally did not use that as current one is more explicit and easy to read.","commit_id":"2e88898bea014a7da6dd6a8b1e87c6b5fcbdaefe"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"61d28075e0fd978f12ae1e66a9000e366da49a32","unresolved":false,"context_lines":[{"line_number":54,"context_line":"delete_query \u003d {"},{"line_number":55,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":56,"context_line":"    \u0027properties\u0027: {"},{"line_number":57,"context_line":"        \u0027delete_info\u0027: parameter_types.multi_params({\u0027type\u0027: \u0027string\u0027})"},{"line_number":58,"context_line":"    },"},{"line_number":59,"context_line":"    # NOTE(gmann): This is kept True to keep backward compatibility."},{"line_number":60,"context_line":"    # As of now Schema validation stripped out the additional parameters and"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff82abbf_809c996a","line":57,"range":{"start_line":57,"start_character":23,"end_line":57,"end_character":71},"in_reply_to":"1f485f77_c14db39a","updated":"2017-11-27 01:42:44.000000000","message":"OK.","commit_id":"2e88898bea014a7da6dd6a8b1e87c6b5fcbdaefe"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"36e5953f5b7af1a337d92b49a8f6ee34875e16da","unresolved":false,"context_lines":[{"line_number":54,"context_line":"delete_query \u003d {"},{"line_number":55,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":56,"context_line":"    \u0027properties\u0027: {"},{"line_number":57,"context_line":"        \u0027delete_info\u0027: parameter_types.multi_params({\u0027type\u0027: \u0027string\u0027})"},{"line_number":58,"context_line":"    },"},{"line_number":59,"context_line":"    # NOTE(gmann): This is kept True to keep backward compatibility."},{"line_number":60,"context_line":"    # As of now Schema validation stripped out the additional parameters and"}],"source_content_type":"text/x-python","patch_set":3,"id":"ff82abbf_58bd1ed6","line":57,"updated":"2017-11-27 15:22:02.000000000","message":"This is OK since delete_info is a serialized json dict with keys volume_id, type, merge_target_file and file_to_merge.","commit_id":"5baf7990cb93ce3c99e85624477fb26417adba2a"}],"nova/tests/unit/api/openstack/compute/test_volumes.py":[{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"e410fc53cd6dd84453e575582ae07e507f603747","unresolved":false,"context_lines":[{"line_number":953,"context_line":""},{"line_number":954,"context_line":"    def test_delete_additional_query_parameters(self):"},{"line_number":955,"context_line":"        params \u003d {"},{"line_number":956,"context_line":"            \u0027delete_info\u0027: jsonutils.dumps({\u0027volume_id\u0027: \u00271\u0027}),"},{"line_number":957,"context_line":"            \u0027additional\u0027: 123"},{"line_number":958,"context_line":"        }"},{"line_number":959,"context_line":"        req \u003d fakes.HTTPRequest.blank("}],"source_content_type":"text/x-python","patch_set":2,"id":"1f485f77_f33fead3","line":956,"range":{"start_line":956,"start_character":56,"end_line":956,"end_character":60},"updated":"2017-11-13 08:43:18.000000000","message":"should we add a case for int as we added the schema check?","commit_id":"2e88898bea014a7da6dd6a8b1e87c6b5fcbdaefe"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2aad6db6f99fc4b945e4c4565847474da6d676d5","unresolved":false,"context_lines":[{"line_number":953,"context_line":""},{"line_number":954,"context_line":"    def test_delete_additional_query_parameters(self):"},{"line_number":955,"context_line":"        params \u003d {"},{"line_number":956,"context_line":"            \u0027delete_info\u0027: jsonutils.dumps({\u0027volume_id\u0027: \u00271\u0027}),"},{"line_number":957,"context_line":"            \u0027additional\u0027: 123"},{"line_number":958,"context_line":"        }"},{"line_number":959,"context_line":"        req \u003d fakes.HTTPRequest.blank("}],"source_content_type":"text/x-python","patch_set":2,"id":"1f485f77_fc74d237","line":956,"range":{"start_line":956,"start_character":56,"end_line":956,"end_character":60},"in_reply_to":"1f485f77_f33fead3","updated":"2017-11-17 07:07:13.000000000","message":"schema does not check for value type for \u0027volume_id\u0027, its all string together.","commit_id":"2e88898bea014a7da6dd6a8b1e87c6b5fcbdaefe"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"e410fc53cd6dd84453e575582ae07e507f603747","unresolved":false,"context_lines":[{"line_number":960,"context_line":"                \u0027/v2/fake/os-assisted-volume-snapshots?%s\u0027 %"},{"line_number":961,"context_line":"                urllib.parse.urlencode(params))"},{"line_number":962,"context_line":"        req.method \u003d \u0027DELETE\u0027"},{"line_number":963,"context_line":"        self.controller.delete(req, \u00275\u0027)"},{"line_number":964,"context_line":""},{"line_number":965,"context_line":"    def test_delete_duplicate_query_parameters_validation(self):"},{"line_number":966,"context_line":"        params \u003d {"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f485f77_f34a4a7e","line":963,"updated":"2017-11-13 08:43:18.000000000","message":"can we add _check_status function as above test cases used?","commit_id":"2e88898bea014a7da6dd6a8b1e87c6b5fcbdaefe"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2aad6db6f99fc4b945e4c4565847474da6d676d5","unresolved":false,"context_lines":[{"line_number":960,"context_line":"                \u0027/v2/fake/os-assisted-volume-snapshots?%s\u0027 %"},{"line_number":961,"context_line":"                urllib.parse.urlencode(params))"},{"line_number":962,"context_line":"        req.method \u003d \u0027DELETE\u0027"},{"line_number":963,"context_line":"        self.controller.delete(req, \u00275\u0027)"},{"line_number":964,"context_line":""},{"line_number":965,"context_line":"    def test_delete_duplicate_query_parameters_validation(self):"},{"line_number":966,"context_line":"        params \u003d {"}],"source_content_type":"text/x-python","patch_set":2,"id":"1f485f77_3c294ae5","line":963,"in_reply_to":"1f485f77_f34a4a7e","updated":"2017-11-17 07:07:13.000000000","message":"actually i did not check that as these are just schema validation tests. no validation error means we are done.","commit_id":"2e88898bea014a7da6dd6a8b1e87c6b5fcbdaefe"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"36e5953f5b7af1a337d92b49a8f6ee34875e16da","unresolved":false,"context_lines":[{"line_number":982,"context_line":"                urllib.parse.urlencode(params))"},{"line_number":983,"context_line":""},{"line_number":984,"context_line":"        req.method \u003d \u0027DELETE\u0027"},{"line_number":985,"context_line":"        self.assertRaises(webob.exc.HTTPBadRequest, self.controller.delete,"},{"line_number":986,"context_line":"                req, \u00275\u0027)"},{"line_number":987,"context_line":""},{"line_number":988,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ff82abbf_b898ea74","line":985,"range":{"start_line":985,"start_character":36,"end_line":985,"end_character":50},"updated":"2017-11-27 15:22:02.000000000","message":"This is because of the KeyError, and if it were a schema validation this would be ValidationError, correct? It might be nice to check the actual failure here, e.g.:\n\nex \u003d self.assertRaises(webob.exc.HTTPBadRequest(...)\nself.assertIn(\u0027KeyError\u0027, six.text_type(ex))","commit_id":"5baf7990cb93ce3c99e85624477fb26417adba2a"}]}
