)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7806,"name":"Sushil Kumar","email":"skm.net@gmail.com","username":"sushilkm"},"change_message_id":"de9a13e7081aca3772b049ee68c2d453ab9604e8","unresolved":false,"context_lines":[{"line_number":11,"context_line":"volume size."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This fix actually now restricts the size to just positive integers"},{"line_number":14,"context_line":"before you could enter anything that had a number in it. Exmaples"},{"line_number":15,"context_line":"that were valid before this fix for the volume size: \"1a\", \"-1\","},{"line_number":16,"context_line":"\"aaaaaaaa1\", etc"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"fa963961_b3ac84ee","line":14,"updated":"2015-03-26 19:18:05.000000000","message":"s/before/earlier\n\ns/Exmaples/Examples","commit_id":"2d1c77ec670e660e65fa85ed97dda89e3030db8e"}],"trove/common/apischema.py":[{"author":{"_account_id":15321,"name":"Matthew Van Dijk","email":"mvandijk@tesora.com","username":"mvandijk"},"change_message_id":"73749a590f4aa540967ca5c5f5461e1056ebbd6a","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    \"type\": \"string\","},{"line_number":54,"context_line":"    \"maxLength\": 40,"},{"line_number":55,"context_line":"    \"minLength\": 1,"},{"line_number":56,"context_line":"    \"pattern\": \"^\\d$\""},{"line_number":57,"context_line":"}"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"configuration_non_empty_string \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6ced46_1fc26de9","line":56,"updated":"2015-03-23 19:37:37.000000000","message":"That would be a single digit. Add a \u0027+\u0027 after the \\d","commit_id":"5fdd3d3dd6d138063809f8067d0428bb2050d9f8"},{"author":{"_account_id":11783,"name":"Shayne Burgess","email":"shayne.burgess@hp.com","username":"shayne-burgess"},"change_message_id":"fe9cd3975400ed88c98a834ce3643e23826783ed","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    \"type\": \"string\","},{"line_number":54,"context_line":"    \"maxLength\": 40,"},{"line_number":55,"context_line":"    \"minLength\": 1,"},{"line_number":56,"context_line":"    \"pattern\": \"^\\d$\""},{"line_number":57,"context_line":"}"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"configuration_non_empty_string \u003d {"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a6ced46_b3f192cf","line":56,"in_reply_to":"1a6ced46_1fc26de9","updated":"2015-03-23 21:08:54.000000000","message":"Ugh - fixed, thanks. Done","commit_id":"5fdd3d3dd6d138063809f8067d0428bb2050d9f8"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"bd8718a212ae1efe2c9fe42df74428aeb826c033","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    \"pattern\": \"[0-9]+\""},{"line_number":50,"context_line":"}"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"configuration_positive_integer \u003d {"},{"line_number":53,"context_line":"    \"type\": \"string\","},{"line_number":54,"context_line":"    \"maxLength\": 40,"},{"line_number":55,"context_line":"    \"minLength\": 1,"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a6ced46_1c4dc93e","line":52,"updated":"2015-03-25 12:19:47.000000000","message":"is this needed? can\u0027t you just use configuration_integer_size above?","commit_id":"008b558c3165334b28d1f5eaa826908b878af616"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"77ae9f81fd9154a84dad4972b26de7521e18c60e","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    \"type\": \"string\","},{"line_number":54,"context_line":"    \"maxLength\": 40,"},{"line_number":55,"context_line":"    \"minLength\": 1,"},{"line_number":56,"context_line":"    \"pattern\": \"^\\d+$\""},{"line_number":57,"context_line":"}"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"configuration_non_empty_string \u003d {"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a6ced46_2db25194","line":56,"updated":"2015-03-25 13:46:37.000000000","message":"^\\d+$ \u003d\u003d ^[0-9]+$","commit_id":"008b558c3165334b28d1f5eaa826908b878af616"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"0cd560ac00337d01b1734566a7a0dcaa766c7039","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    \"type\": \"string\","},{"line_number":54,"context_line":"    \"maxLength\": 40,"},{"line_number":55,"context_line":"    \"minLength\": 1,"},{"line_number":56,"context_line":"    \"pattern\": \"^\\d+$\""},{"line_number":57,"context_line":"}"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"configuration_non_empty_string \u003d {"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a6ced46_6b4a6c27","line":56,"in_reply_to":"1a6ced46_2db25194","updated":"2015-03-25 15:53:07.000000000","message":"Not to be too pedantic but I believe that \n\n^[0-9]+$ ~ [0-9]+","commit_id":"008b558c3165334b28d1f5eaa826908b878af616"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"9637a600f02449e6578f3d444c8cb3d2bb36186c","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    \"type\": \"string\","},{"line_number":54,"context_line":"    \"maxLength\": 40,"},{"line_number":55,"context_line":"    \"minLength\": 1,"},{"line_number":56,"context_line":"    \"pattern\": \"^\\d+$\""},{"line_number":57,"context_line":"}"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"configuration_non_empty_string \u003d {"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a6ced46_c546ec4e","line":56,"in_reply_to":"1a6ced46_6b4a6c27","updated":"2015-03-25 16:42:51.000000000","message":"^ assert position at start of the string and $ assert position at end of the string. If we don\u0027t add ^, then strings like -1, -10, -100 are accepted. If we don\u0027t add $, then strings like 1a, 1aa, 1aaa are accepted. ^ and $ are needed to make sure that only digits are there.\n\nYou can try it here https://regex101.com/.","commit_id":"008b558c3165334b28d1f5eaa826908b878af616"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"e497ff2476a33e33c5757bde1843b617673fed80","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    \"type\": \"string\","},{"line_number":54,"context_line":"    \"maxLength\": 40,"},{"line_number":55,"context_line":"    \"minLength\": 1,"},{"line_number":56,"context_line":"    \"pattern\": \"^\\d+$\""},{"line_number":57,"context_line":"}"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"configuration_non_empty_string \u003d {"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a6ced46_ab60dfcf","line":56,"in_reply_to":"1a6ced46_a57f30aa","updated":"2015-03-25 17:17:41.000000000","message":"Well... I based my reply in http://json-schema.org/latest/json-schema-validation.html#anchor6.","commit_id":"008b558c3165334b28d1f5eaa826908b878af616"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"4ca715f81ef1f7af77650d996dcfb83e733c4853","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    \"type\": \"string\","},{"line_number":54,"context_line":"    \"maxLength\": 40,"},{"line_number":55,"context_line":"    \"minLength\": 1,"},{"line_number":56,"context_line":"    \"pattern\": \"^\\d+$\""},{"line_number":57,"context_line":"}"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"configuration_non_empty_string \u003d {"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a6ced46_a57f30aa","line":56,"in_reply_to":"1a6ced46_c546ec4e","updated":"2015-03-25 16:57:56.000000000","message":"Victoria, what you say is true if you are using semantics like grep. \"match any line that contains this regular expression\".\n\nHowever, in a formal grammar, when you say that a token is [0-9]+ you mean that the entire token is 1 or more numbers.\n\nThis is a formal grammar specification, see configuration_integer_size above, or url_ref\n\nIt says \"http:// ....\"\n\nBy your logic it should be ^http:// ...","commit_id":"008b558c3165334b28d1f5eaa826908b878af616"},{"author":{"_account_id":11783,"name":"Shayne Burgess","email":"shayne.burgess@hp.com","username":"shayne-burgess"},"change_message_id":"2ccf643e8501a3d2ce5b85588a555adbf3cdb15f","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    \"type\": \"string\","},{"line_number":54,"context_line":"    \"maxLength\": 40,"},{"line_number":55,"context_line":"    \"minLength\": 1,"},{"line_number":56,"context_line":"    \"pattern\": \"^\\d+$\""},{"line_number":57,"context_line":"}"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"configuration_non_empty_string \u003d {"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a6ced46_a5565028","line":56,"in_reply_to":"1a6ced46_c546ec4e","updated":"2015-03-25 17:01:55.000000000","message":"What Victoria is saying is correct in terms of what you see if you try this out - this is the reason for the bug in the first place. Is there a different bug that we are not using formal grammar and we should be?","commit_id":"008b558c3165334b28d1f5eaa826908b878af616"},{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"77ae9f81fd9154a84dad4972b26de7521e18c60e","unresolved":false,"context_lines":[{"line_number":77,"context_line":"            \"type\": \"integer\","},{"line_number":78,"context_line":"            \"minimum\": 0"},{"line_number":79,"context_line":"        },"},{"line_number":80,"context_line":"        configuration_positive_integer]"},{"line_number":81,"context_line":"}"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"host_string \u003d {"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a6ced46_6d7fe9ab","line":80,"updated":"2015-03-25 13:46:37.000000000","message":"Changing the pattern to be ^[0-9]+$ instead of [0-9]+ should do the trick. We don\u0027t need to specify another pattern.","commit_id":"008b558c3165334b28d1f5eaa826908b878af616"},{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"bd8718a212ae1efe2c9fe42df74428aeb826c033","unresolved":false,"context_lines":[{"line_number":77,"context_line":"            \"type\": \"integer\","},{"line_number":78,"context_line":"            \"minimum\": 0"},{"line_number":79,"context_line":"        },"},{"line_number":80,"context_line":"        configuration_positive_integer]"},{"line_number":81,"context_line":"}"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"host_string \u003d {"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a6ced46_bc3e758a","line":80,"updated":"2015-03-25 12:19:47.000000000","message":"why not just use configuration_integer_size?","commit_id":"008b558c3165334b28d1f5eaa826908b878af616"},{"author":{"_account_id":11783,"name":"Shayne Burgess","email":"shayne.burgess@hp.com","username":"shayne-burgess"},"change_message_id":"795c2e6205aeab15716d102a72f200e1aae30a7c","unresolved":false,"context_lines":[{"line_number":77,"context_line":"            \"type\": \"integer\","},{"line_number":78,"context_line":"            \"minimum\": 0"},{"line_number":79,"context_line":"        },"},{"line_number":80,"context_line":"        configuration_positive_integer]"},{"line_number":81,"context_line":"}"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"host_string \u003d {"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a6ced46_e8df3d0b","line":80,"in_reply_to":"1a6ced46_bc3e758a","updated":"2015-03-25 17:04:30.000000000","message":"Configuration_integer_size has the same bug. I can fix that pattern but that pattern is being used in a number of other places and I\u0027m not sure of all the downstream implications of changing that. I suspect the change would get rejected for being beyond the scope of the bug  and I don\u0027t think I would disagree. We could file another bug to fix configuration_integer_size.","commit_id":"008b558c3165334b28d1f5eaa826908b878af616"}],"trove/tests/unittests/instance/test_instance_controller.py":[{"author":{"_account_id":6413,"name":"Victoria Martinez de la Cruz","email":"victoria@redhat.com","username":"vkmc"},"change_message_id":"29b1697617babc2f835b903e152ecb7fa1823c7a","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        validator \u003d jsonschema.Draft4Validator(schema)"},{"line_number":166,"context_line":"        self.assertTrue(validator.is_valid(body))"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    def test_validate_resize_volume_string(self):"},{"line_number":169,"context_line":"        body \u003d {\"resize\": {\"volume\": {\"size\": \u0027-44.0\u0027}}}"},{"line_number":170,"context_line":"        schema \u003d self.controller.get_schema(\u0027action\u0027, body)"},{"line_number":171,"context_line":"        validator \u003d jsonschema.Draft4Validator(schema)"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa963961_a9cade4d","line":168,"updated":"2015-03-26 16:02:25.000000000","message":"This test should be a positive assertion. An invalid string volume size is tested in test_validate_resize_volume_invalid.","commit_id":"016f039bbd0d63d49bddc791055059a9b1da4269"},{"author":{"_account_id":11783,"name":"Shayne Burgess","email":"shayne.burgess@hp.com","username":"shayne-burgess"},"change_message_id":"50874e3e8bff1db13f115ab3c44efce4238260df","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        validator \u003d jsonschema.Draft4Validator(schema)"},{"line_number":166,"context_line":"        self.assertTrue(validator.is_valid(body))"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    def test_validate_resize_volume_string(self):"},{"line_number":169,"context_line":"        body \u003d {\"resize\": {\"volume\": {\"size\": \u0027-44.0\u0027}}}"},{"line_number":170,"context_line":"        schema \u003d self.controller.get_schema(\u0027action\u0027, body)"},{"line_number":171,"context_line":"        validator \u003d jsonschema.Draft4Validator(schema)"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa963961_bddb38ed","line":168,"in_reply_to":"fa963961_3d7968fd","updated":"2015-03-26 17:19:42.000000000","message":"Nevermind, I got it. Will add another test.","commit_id":"016f039bbd0d63d49bddc791055059a9b1da4269"},{"author":{"_account_id":11783,"name":"Shayne Burgess","email":"shayne.burgess@hp.com","username":"shayne-burgess"},"change_message_id":"4a9ccac483a7e0dbd6cb05b5f6cd98951a8eebbc","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        validator \u003d jsonschema.Draft4Validator(schema)"},{"line_number":166,"context_line":"        self.assertTrue(validator.is_valid(body))"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    def test_validate_resize_volume_string(self):"},{"line_number":169,"context_line":"        body \u003d {\"resize\": {\"volume\": {\"size\": \u0027-44.0\u0027}}}"},{"line_number":170,"context_line":"        schema \u003d self.controller.get_schema(\u0027action\u0027, body)"},{"line_number":171,"context_line":"        validator \u003d jsonschema.Draft4Validator(schema)"}],"source_content_type":"text/x-python","patch_set":8,"id":"fa963961_3d7968fd","line":168,"in_reply_to":"fa963961_a9cade4d","updated":"2015-03-26 17:18:58.000000000","message":"I\u0027m confused, sorry. -44.0 is a negative test - this is not a valid volume size. How do you want me to change this?","commit_id":"016f039bbd0d63d49bddc791055059a9b1da4269"}]}
