)]}'
{"cinder/api/contrib/consistencygroups.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"ab731531fa9db1c03bc18b9eeebccb2650835a7a","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":"            cg_body \u003d body[\u0027consistencygroup\u0027]"},{"line_number":164,"context_line":"            try:"},{"line_number":165,"context_line":"                force \u003d strutils.bool_from_string(cg_body.get(\u0027force\u0027, False),"},{"line_number":166,"context_line":"                                                  strict\u003dTrue)"},{"line_number":167,"context_line":"            except ValueError:"},{"line_number":168,"context_line":"                msg \u003d _(\"Invalid value \u0027%s\u0027 for force.\") % force"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_54e11829","line":165,"updated":"2015-05-29 13:12:03.000000000","message":"If the argument to bool_from_string is a string, then the default value in get should be \u0027False\u0027 and not False.","commit_id":"eafa7e3ffdba0ef32ffb4b63a003a1d04716cfd8"},{"author":{"_account_id":10300,"name":"Pranali Deore","email":"pranalideore@gmail.com","username":"PranaliDeore"},"change_message_id":"2ee6fc6e559c671306dda2f3e31c3a3f8b17682f","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":"            cg_body \u003d body[\u0027consistencygroup\u0027]"},{"line_number":164,"context_line":"            try:"},{"line_number":165,"context_line":"                force \u003d strutils.bool_from_string(cg_body.get(\u0027force\u0027, False),"},{"line_number":166,"context_line":"                                                  strict\u003dTrue)"},{"line_number":167,"context_line":"            except ValueError:"},{"line_number":168,"context_line":"                msg \u003d _(\"Invalid value \u0027%s\u0027 for force.\") % force"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_c9b2dc48","line":165,"in_reply_to":"7a016987_54e11829","updated":"2015-06-01 13:00:35.000000000","message":"Hi Vipin,\n\nbool_from_string() always converts the value to six.text_type if it is not of six.string_type .\n\nPlease refer,\nhttps://github.com/openstack/oslo.utils/blob/master/oslo_utils/strutils.py#L123","commit_id":"eafa7e3ffdba0ef32ffb4b63a003a1d04716cfd8"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"cef6e1c6df70fabf389239b0915e361017e772f1","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":"            cg_body \u003d body[\u0027consistencygroup\u0027]"},{"line_number":164,"context_line":"            try:"},{"line_number":165,"context_line":"                force \u003d strutils.bool_from_string(cg_body.get(\u0027force\u0027, False),"},{"line_number":166,"context_line":"                                                  strict\u003dTrue)"},{"line_number":167,"context_line":"            except ValueError:"},{"line_number":168,"context_line":"                msg \u003d _(\"Invalid value \u0027%s\u0027 for force.\") % force"}],"source_content_type":"text/x-python","patch_set":1,"id":"5afe65bd_63129a64","line":165,"in_reply_to":"7a016987_c9b2dc48","updated":"2015-06-02 13:19:57.000000000","message":"Why do we need to force that conversion? :)","commit_id":"eafa7e3ffdba0ef32ffb4b63a003a1d04716cfd8"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"52be7408617fb1a9c3e211fe8efa964466d5a8fb","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        force \u003d False"},{"line_number":157,"context_line":"        if body:"},{"line_number":158,"context_line":"            if not self.is_valid_body(body, \u0027consistencygroup\u0027):"},{"line_number":159,"context_line":"                msg \u003d _(\"Missing required element \u0027consistencygroup\u0027 in \""},{"line_number":160,"context_line":"                        \"request body.\")"},{"line_number":161,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_b03b08eb","line":159,"updated":"2015-06-03 11:44:25.000000000","message":"Element may not be missing but be of a different type that a dictionary.","commit_id":"6499cb0705dba384e95fdf0f8ae9aa49c180c550"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"52be7408617fb1a9c3e211fe8efa964466d5a8fb","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":"            cg_body \u003d body[\u0027consistencygroup\u0027]"},{"line_number":164,"context_line":"            try:"},{"line_number":165,"context_line":"                force \u003d strutils.bool_from_string(cg_body.get(\u0027force\u0027, False),"},{"line_number":166,"context_line":"                                                  strict\u003dTrue)"},{"line_number":167,"context_line":"            except ValueError:"},{"line_number":168,"context_line":"                msg \u003d _(\"Invalid value \u0027%s\u0027 for force.\") % force"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_9015ac4a","line":165,"updated":"2015-06-03 11:44:25.000000000","message":"s/False/\u0027False\u0027\n\nIt will work as it is, with False, but it looks weird to call a method that converts from a string and not pass a string if \u0027force\u0027 doesn\u0027t exist.","commit_id":"6499cb0705dba384e95fdf0f8ae9aa49c180c550"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"52be7408617fb1a9c3e211fe8efa964466d5a8fb","unresolved":false,"context_lines":[{"line_number":165,"context_line":"                force \u003d strutils.bool_from_string(cg_body.get(\u0027force\u0027, False),"},{"line_number":166,"context_line":"                                                  strict\u003dTrue)"},{"line_number":167,"context_line":"            except ValueError:"},{"line_number":168,"context_line":"                msg \u003d _(\"Invalid value \u0027%s\u0027 for force.\") % force"},{"line_number":169,"context_line":"                raise exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        LOG.info(_LI(\u0027Delete consistency group with id: %s\u0027), id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5afe65bd_c40c853d","line":168,"updated":"2015-06-03 11:44:25.000000000","message":"I would add \"in consistencygroup\" to give some additional context to the message.","commit_id":"6499cb0705dba384e95fdf0f8ae9aa49c180c550"}],"cinder/tests/unit/api/contrib/test_consistencygroups.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"ab731531fa9db1c03bc18b9eeebccb2650835a7a","unresolved":false,"context_lines":[{"line_number":455,"context_line":""},{"line_number":456,"context_line":"        self.assertEqual(400, res.status_int)"},{"line_number":457,"context_line":""},{"line_number":458,"context_line":"    def test_delete_consistencygroup_with_invalid_force_value_in_body(self):"},{"line_number":459,"context_line":"        consistencygroup_id \u003d self._create_consistencygroup(status\u003d\u0027available\u0027)"},{"line_number":460,"context_line":"        req \u003d webob.Request.blank(\u0027/v2/fake/consistencygroups/%s/delete\u0027 %"},{"line_number":461,"context_line":"                                  consistencygroup_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_b4b04c44","line":458,"updated":"2015-05-29 13:12:03.000000000","message":"Can you add a test case for empty \u0027force\u0027 field?","commit_id":"eafa7e3ffdba0ef32ffb4b63a003a1d04716cfd8"}]}
