)]}'
{"tempest/services/volume/xml/volumes_client.py":[{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"3cd293218961eec7e14374fbc3dbdde27c2567fc","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        body \u003d self._parse_volume(etree.fromstring(body))"},{"line_number":92,"context_line":"        if body[\u0027bootable\u0027] \u003d\u003d \u0027True\u0027:"},{"line_number":93,"context_line":"            body[\u0027bootable\u0027] \u003d True"},{"line_number":94,"context_line":"        else:"},{"line_number":95,"context_line":"            body[\u0027bootable\u0027] \u003d False"},{"line_number":96,"context_line":"        return resp, body"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAASn%2F%2F9Gc%3D","line":94,"updated":"2013-08-27 15:44:32.000000000","message":"The \u0027False\u0027 string should be validated, if it is \u0027False\u0027.\n\nWe should not assume all not \u0027True\u0027 is \u0027False\u0027.\n\nMay be an exception can be raised here.","commit_id":"8516dc4c5f70d508efc9124daca0bcec733f3149"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"0834d0278236165bb83cde7fb0966c5962abda4a","unresolved":false,"context_lines":[{"line_number":105,"context_line":"            except Exception as exc:"},{"line_number":106,"context_line":"                LOG.info(\u0027Exception raised while converting\u0027"},{"line_number":107,"context_line":"                         \u0027 bootable flag for %s\u0027 % v[\u0027id\u0027])"},{"line_number":108,"context_line":"                LOG.exception(exc)"},{"line_number":109,"context_line":"        return resp, volumes"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def get_volume(self, volume_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAASn%2F%2FzdI%3D","line":108,"updated":"2013-08-29 10:49:17.000000000","message":"IMHO the exception should be raised.","commit_id":"b91f49bae4665a1fee94c266bf72cae96ca9aa23"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"80ebeb49904f6e85da80a3296fb8726920e0354e","unresolved":false,"context_lines":[{"line_number":74,"context_line":"            elif v[\u0027bootable\u0027] \u003d\u003d \u0027False\u0027:"},{"line_number":75,"context_line":"                v[\u0027bootable\u0027] \u003d False"},{"line_number":76,"context_line":"            else:"},{"line_number":77,"context_line":"                raise Exception(\u0027Exception raised while converting\u0027"},{"line_number":78,"context_line":"                                \u0027 bootable flag %s\u0027 % v[\u0027id\u0027])"},{"line_number":79,"context_line":"        return resp, volumes"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAASn%2F%2FYBI%3D","line":77,"updated":"2013-09-05 14:24:45.000000000","message":"A more specific exception class would be better.","commit_id":"f38f660a0d61b3caf0f82c2b4fb85e1171f79787"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"fdbe559d47e97ff02ee66f4a8baab0976110bbdc","unresolved":false,"context_lines":[{"line_number":74,"context_line":"            elif v[\u0027bootable\u0027] \u003d\u003d \u0027False\u0027:"},{"line_number":75,"context_line":"                v[\u0027bootable\u0027] \u003d False"},{"line_number":76,"context_line":"            else:"},{"line_number":77,"context_line":"                raise Exception(\u0027Exception raised while converting\u0027"},{"line_number":78,"context_line":"                                \u0027 bootable flag %s\u0027 % v[\u0027id\u0027])"},{"line_number":79,"context_line":"        return resp, volumes"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAASn%2F%2FVb0%3D","line":77,"in_reply_to":"AAAASn%2F%2FYBI%3D","updated":"2013-09-06 05:37:45.000000000","message":"Done","commit_id":"f38f660a0d61b3caf0f82c2b4fb85e1171f79787"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"7383e053c881901ce8a62cdd8bf75a42f7915c69","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                v[\u0027bootable\u0027] \u003d False"},{"line_number":76,"context_line":"            else:"},{"line_number":77,"context_line":"                raise ValueError(\u0027bootable flag is supposed to\u0027"},{"line_number":78,"context_line":"                                 \u0027 be either True or False for %s\u0027 % v[\u0027id\u0027])"},{"line_number":79,"context_line":"        return resp, volumes"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def list_volumes_with_detail(self, params\u003dNone):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAASn%2F%2FUXw%3D","line":78,"updated":"2013-09-06 13:31:34.000000000","message":"I think it is better to output the value of v[\u0027bootable\u0027] also in the above message, because its value is the reason of this exception and the volume would be removed when tempest finishes.","commit_id":"3ec5f88f9df89c0942c0ab121f4bf0cd58f84642"},{"author":{"_account_id":6455,"name":"Harika Vakadi","email":"harika_vakadi@persistent.co.in","username":"harika-vakadi"},"change_message_id":"630807965fc97fd151da89b95a4a9f6e87123705","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                v[\u0027bootable\u0027] \u003d False"},{"line_number":76,"context_line":"            else:"},{"line_number":77,"context_line":"                raise ValueError(\u0027bootable flag is supposed to\u0027"},{"line_number":78,"context_line":"                                 \u0027 be either True or False for %s\u0027 % v[\u0027id\u0027])"},{"line_number":79,"context_line":"        return resp, volumes"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    def list_volumes_with_detail(self, params\u003dNone):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAASn%2F%2FUKU%3D","line":78,"in_reply_to":"AAAASn%2F%2FUXw%3D","updated":"2013-09-06 14:12:48.000000000","message":"Done","commit_id":"3ec5f88f9df89c0942c0ab121f4bf0cd58f84642"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"adf081da22df12acdd68220a0161b6e415d02ff1","unresolved":false,"context_lines":[{"line_number":68,"context_line":"        volumes \u003d []"},{"line_number":69,"context_line":"        if body is not None:"},{"line_number":70,"context_line":"            volumes +\u003d [self._parse_volume(vol) for vol in list(body)]"},{"line_number":71,"context_line":"        for v in volumes:"},{"line_number":72,"context_line":"            if v[\u0027bootable\u0027] \u003d\u003d \u0027True\u0027:"},{"line_number":73,"context_line":"                v[\u0027bootable\u0027] \u003d True"},{"line_number":74,"context_line":"            elif v[\u0027bootable\u0027] \u003d\u003d \u0027False\u0027:"}],"source_content_type":"text/x-python","patch_set":9,"id":"AAAASn%2F%2FL3Q%3D","line":71,"updated":"2013-09-10 12:33:55.000000000","message":"please extract this into a common method, having this much copy and paste in the code is something we want to avoid.","commit_id":"d28a283b6c3d99c537be0fccd09e02e7ef572fe4"}]}
