)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"7d89ea75257736186f5f0224c1982e2348502b69","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This means that we cannot directly do things such as pass err\u003de,"},{"line_number":15,"context_line":"without first making it a dictionary object to carry the data"},{"line_number":16,"context_line":"through as a keyword argument."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"This patch addresses the methods that have been raising exception"},{"line_number":19,"context_line":"values randomly in CI unit tests, which is likely occuring due to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5fc1f717_a66598e3","line":16,"updated":"2019-03-20 12:30:56.000000000","message":"This doesn\u0027t sound right to me.","commit_id":"58a9d7ae2d9a5baf05b302e5199986cf663c116b"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"75b08ffd437e0e425fef4eae6587dc7aba02d6b3","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This means that we cannot directly do things such as pass err\u003de,"},{"line_number":15,"context_line":"without first making it a dictionary object to carry the data"},{"line_number":16,"context_line":"through as a keyword argument."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"This patch addresses the methods that have been raising exception"},{"line_number":19,"context_line":"values randomly in CI unit tests, which is likely occuring due to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5fc1f717_9179c030","line":16,"updated":"2019-03-20 06:50:20.000000000","message":"passing a dict as a kw argument? that sounds quite strange to me.","commit_id":"58a9d7ae2d9a5baf05b302e5199986cf663c116b"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"b9a4e0a638c225219e3aef8b08e8cb95d41f2d6b","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"This means that we cannot directly do things such as pass err\u003de,"},{"line_number":15,"context_line":"without first making it a dictionary object to carry the data"},{"line_number":16,"context_line":"through as a keyword argument."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"This patch addresses the methods that have been raising exception"},{"line_number":19,"context_line":"values randomly in CI unit tests, which is likely occuring due to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"5fc1f717_9ae550df","line":16,"in_reply_to":"5fc1f717_a66598e3","updated":"2019-03-20 13:38:01.000000000","message":"Open to suggestions because otherwise the base exception is randomly blowing up on some of these tests....","commit_id":"58a9d7ae2d9a5baf05b302e5199986cf663c116b"}],"ironic/drivers/modules/deploy_utils.py":[{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"75b08ffd437e0e425fef4eae6587dc7aba02d6b3","unresolved":false,"context_lines":[{"line_number":830,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":831,"context_line":"            \"Image %s can not be found.\") % image_href)"},{"line_number":832,"context_line":"    except exception.ImageRefValidationFailed as e:"},{"line_number":833,"context_line":"        raise exception.InvalidParameterValue(dict(err\u003de))"},{"line_number":834,"context_line":""},{"line_number":835,"context_line":"    missing_props \u003d []"},{"line_number":836,"context_line":"    for prop in properties:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_d19c285f","line":833,"range":{"start_line":833,"start_character":46,"end_line":833,"end_character":57},"updated":"2019-03-20 06:50:20.000000000","message":"this doesn\u0027t seem right to me, we turn a kwarg to dict arg, it will be treated as the first positional argument \"message\", we then end up with a exception message like \n{\u0027err\u0027: \u0027blah\u0027}\n\nMaybe there is an issue that I am not aware of?","commit_id":"58a9d7ae2d9a5baf05b302e5199986cf663c116b"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"029a5f19932ddf77a8c16acec1155df80aa7b497","unresolved":false,"context_lines":[{"line_number":830,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":831,"context_line":"            \"Image %s can not be found.\") % image_href)"},{"line_number":832,"context_line":"    except exception.ImageRefValidationFailed as e:"},{"line_number":833,"context_line":"        raise exception.InvalidParameterValue(dict(err\u003de))"},{"line_number":834,"context_line":""},{"line_number":835,"context_line":"    missing_props \u003d []"},{"line_number":836,"context_line":"    for prop in properties:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_ab4ea593","line":833,"range":{"start_line":833,"start_character":46,"end_line":833,"end_character":57},"in_reply_to":"5fc1f717_3a1d3cbd","updated":"2019-03-21 13:28:00.000000000","message":"Yeah, Lets go ahead and release ironic, I can backport this once sorted to stabilize unit tests. I\u0027ll go back and add better testing to validate the error is what we expect, so we know we\u0027re actually passing the value in in such a way that things are getting parsed reliably since all the current form is relying upon the default message and not actually passing an explicit message. Perhaps we should instead just change it to message\u003de...","commit_id":"58a9d7ae2d9a5baf05b302e5199986cf663c116b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"422498dd807672458451e21fdedead294e7546fc","unresolved":false,"context_lines":[{"line_number":830,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":831,"context_line":"            \"Image %s can not be found.\") % image_href)"},{"line_number":832,"context_line":"    except exception.ImageRefValidationFailed as e:"},{"line_number":833,"context_line":"        raise exception.InvalidParameterValue(dict(err\u003de))"},{"line_number":834,"context_line":""},{"line_number":835,"context_line":"    missing_props \u003d []"},{"line_number":836,"context_line":"    for prop in properties:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_3a1d3cbd","line":833,"range":{"start_line":833,"start_character":46,"end_line":833,"end_character":57},"in_reply_to":"5fc1f717_7a79842d","updated":"2019-03-20 13:41:12.000000000","message":"I\u0027m not sure why this line causes problems, since we use the same approach with out exceptions everywhere. But as folks mention, what you do here is passing a dict for a message.","commit_id":"58a9d7ae2d9a5baf05b302e5199986cf663c116b"},{"author":{"_account_id":18320,"name":"Dao Cong Tien","email":"tiendc@vn.fujitsu.com","username":"TienDC"},"change_message_id":"58d93590f9c0c9cd6a796b0a5b91d7c8da83c212","unresolved":false,"context_lines":[{"line_number":830,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":831,"context_line":"            \"Image %s can not be found.\") % image_href)"},{"line_number":832,"context_line":"    except exception.ImageRefValidationFailed as e:"},{"line_number":833,"context_line":"        raise exception.InvalidParameterValue(dict(err\u003de))"},{"line_number":834,"context_line":""},{"line_number":835,"context_line":"    missing_props \u003d []"},{"line_number":836,"context_line":"    for prop in properties:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_e0b948e9","line":833,"range":{"start_line":833,"start_character":46,"end_line":833,"end_character":57},"in_reply_to":"5fc1f717_d19c285f","updated":"2019-03-20 11:13:24.000000000","message":"++. I agree with Kaifeng, this will pass message\u003ddict(err\u003de) to the init function of the exception class.","commit_id":"58a9d7ae2d9a5baf05b302e5199986cf663c116b"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"b9a4e0a638c225219e3aef8b08e8cb95d41f2d6b","unresolved":false,"context_lines":[{"line_number":830,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":831,"context_line":"            \"Image %s can not be found.\") % image_href)"},{"line_number":832,"context_line":"    except exception.ImageRefValidationFailed as e:"},{"line_number":833,"context_line":"        raise exception.InvalidParameterValue(dict(err\u003de))"},{"line_number":834,"context_line":""},{"line_number":835,"context_line":"    missing_props \u003d []"},{"line_number":836,"context_line":"    for prop in properties:"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_7a79842d","line":833,"range":{"start_line":833,"start_character":46,"end_line":833,"end_character":57},"in_reply_to":"5fc1f717_e0b948e9","updated":"2019-03-20 13:38:01.000000000","message":"There is a slight problem with that, there are no positional arguments. They are all kw based as message has a default value of None... What we\u0027re seeing in the errors that are getting raised is python is essentially.","commit_id":"58a9d7ae2d9a5baf05b302e5199986cf663c116b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"47bf23ec5437052104529d1f11e353229d219651","unresolved":false,"context_lines":[{"line_number":830,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":831,"context_line":"            \"Image %s can not be found.\") % image_href)"},{"line_number":832,"context_line":"    except exception.ImageRefValidationFailed as e:"},{"line_number":833,"context_line":"        raise exception.InvalidParameterValue(e)"},{"line_number":834,"context_line":""},{"line_number":835,"context_line":"    missing_props \u003d []"},{"line_number":836,"context_line":"    for prop in properties:"}],"source_content_type":"text/x-python","patch_set":7,"id":"5fc1f717_ee954d33","line":833,"updated":"2019-03-25 10:19:27.000000000","message":"This is incorrect (you\u0027re reverting my fix). The first argument must be a string, use err\u003de to pass something else.","commit_id":"f13d838ad323062c02ea83b789e4629213253555"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"b957b2b2bd2924228caade4303ab8a4a39a84ffa","unresolved":false,"context_lines":[{"line_number":830,"context_line":"        raise exception.InvalidParameterValue(_("},{"line_number":831,"context_line":"            \"Image %s can not be found.\") % image_href)"},{"line_number":832,"context_line":"    except exception.ImageRefValidationFailed as e:"},{"line_number":833,"context_line":"        raise exception.InvalidParameterValue(e)"},{"line_number":834,"context_line":""},{"line_number":835,"context_line":"    missing_props \u003d []"},{"line_number":836,"context_line":"    for prop in properties:"}],"source_content_type":"text/x-python","patch_set":7,"id":"5fc1f717_9aa8a7d9","line":833,"in_reply_to":"5fc1f717_ee954d33","updated":"2019-04-04 18:31:37.000000000","message":"Except doesn\u0027t e get returned out as a string as an override and setting err to e just results in e being reset to the message in the class?","commit_id":"f13d838ad323062c02ea83b789e4629213253555"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"50306c1cd9461d701576a2f4433cfc3540509407","unresolved":false,"context_lines":[{"line_number":494,"context_line":"    if missing_info:"},{"line_number":495,"context_line":"        exc_msg \u003d _(\"%(error_msg)s. Missing are: %(missing_info)s\")"},{"line_number":496,"context_line":"        raise exception.MissingParameterValue("},{"line_number":497,"context_line":"            exc_msg % {\u0027error_msg\u0027: error_msg,"},{"line_number":498,"context_line":"                       \u0027missing_info\u0027: missing_info})"},{"line_number":499,"context_line":""},{"line_number":500,"context_line":""},{"line_number":501,"context_line":"def fetch_images(ctx, cache, images_info, force_raw\u003dTrue):"}],"source_content_type":"text/x-python","patch_set":8,"id":"5fc1f717_00b98277","line":498,"range":{"start_line":497,"start_character":12,"end_line":498,"end_character":53},"updated":"2019-04-08 06:19:28.000000000","message":"There is no change here.","commit_id":"7d0cd4c28667114ae1a5ed67b0efa7fa99154dba"}],"ironic/drivers/modules/pxe.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"7d89ea75257736186f5f0224c1982e2348502b69","unresolved":false,"context_lines":[{"line_number":318,"context_line":"            raise exception.InvalidParameterValue("},{"line_number":319,"context_line":"                message\u003d\u0027Invalid configuration: The boot interface \u0027"},{"line_number":320,"context_line":"                        \u0027must have the `ramdisk_boot` capability. \u0027"},{"line_number":321,"context_line":"                        \u0027You are using an incompatible boot interface.\u0027)"},{"line_number":322,"context_line":"        task.driver.boot.validate(task)"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"        # Validate node capabilities"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_4662b4da","line":321,"updated":"2019-03-20 12:30:56.000000000","message":"While you\u0027re on it, it\u0027s needs i18n","commit_id":"58a9d7ae2d9a5baf05b302e5199986cf663c116b"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"b9a4e0a638c225219e3aef8b08e8cb95d41f2d6b","unresolved":false,"context_lines":[{"line_number":318,"context_line":"            raise exception.InvalidParameterValue("},{"line_number":319,"context_line":"                message\u003d\u0027Invalid configuration: The boot interface \u0027"},{"line_number":320,"context_line":"                        \u0027must have the `ramdisk_boot` capability. \u0027"},{"line_number":321,"context_line":"                        \u0027You are using an incompatible boot interface.\u0027)"},{"line_number":322,"context_line":"        task.driver.boot.validate(task)"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"        # Validate node capabilities"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_9a97903b","line":321,"in_reply_to":"5fc1f717_4662b4da","updated":"2019-03-20 13:38:01.000000000","message":"good point, but is anyone actively translating ironic these days?","commit_id":"58a9d7ae2d9a5baf05b302e5199986cf663c116b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b2603056d1a19dcb93955b6de7426df71f461f03","unresolved":false,"context_lines":[{"line_number":316,"context_line":"    def validate(self, task):"},{"line_number":317,"context_line":"        if \u0027ramdisk_boot\u0027 not in task.driver.boot.capabilities:"},{"line_number":318,"context_line":"            raise exception.InvalidParameterValue("},{"line_number":319,"context_line":"                message\u003d_(\u0027Invalid configuration: The boot interface \u0027"},{"line_number":320,"context_line":"                          \u0027must have the `ramdisk_boot` capability. \u0027"},{"line_number":321,"context_line":"                          \u0027You are using an incompatible boot interface.\u0027))"},{"line_number":322,"context_line":"        task.driver.boot.validate(task)"}],"source_content_type":"text/x-python","patch_set":8,"id":"5fc1f717_aacd04b8","line":319,"updated":"2019-04-05 12:13:34.000000000","message":"nit: s/message\u003d// (we don\u0027t usually mention it explicitly)","commit_id":"7d0cd4c28667114ae1a5ed67b0efa7fa99154dba"}],"ironic/tests/unit/drivers/modules/test_deploy_utils.py":[{"author":{"_account_id":18320,"name":"Dao Cong Tien","email":"tiendc@vn.fujitsu.com","username":"TienDC"},"change_message_id":"58d93590f9c0c9cd6a796b0a5b91d7c8da83c212","unresolved":false,"context_lines":[{"line_number":1964,"context_line":"            \u0027root_gb\u0027: 100,"},{"line_number":1965,"context_line":"        }"},{"line_number":1966,"context_line":"        img_service_show_mock.side_effect \u003d exception.ImageRefValidationFailed("},{"line_number":1967,"context_line":"            dict(image_href\u003d\u0027http://ubuntu\u0027, reason\u003d\u0027HTTPError\u0027))"},{"line_number":1968,"context_line":"        node \u003d obj_utils.create_test_node("},{"line_number":1969,"context_line":"            self.context, boot_interface\u003d\u0027pxe\u0027,"},{"line_number":1970,"context_line":"            instance_info\u003dinstance_info,"}],"source_content_type":"text/x-python","patch_set":6,"id":"5fc1f717_e0ae2897","line":1967,"updated":"2019-03-20 11:13:24.000000000","message":"Same as above comment.","commit_id":"58a9d7ae2d9a5baf05b302e5199986cf663c116b"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"590d8c3086348c008b9f194d6690d4688292b012","unresolved":false,"context_lines":[{"line_number":1975,"context_line":"        expected_error \u003d (\u0027Validation of image href http://ubuntu \u0027"},{"line_number":1976,"context_line":"                          \u0027failed, reason: HTTPError\u0027)"},{"line_number":1977,"context_line":"        error \u003d self.assertRaises(exception.InvalidParameterValue,"},{"line_number":1978,"context_line":"                               utils.validate_image_properties, self.context,"},{"line_number":1979,"context_line":"                               inst_info, [\u0027kernel\u0027, \u0027ramdisk\u0027])"},{"line_number":1980,"context_line":"        self.assertEqual(expected_error, str(error))"},{"line_number":1981,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5fc1f717_063a1e97","line":1978,"updated":"2019-03-24 15:14:49.000000000","message":"I think pep8 is failing for indentation here and next line","commit_id":"f13d838ad323062c02ea83b789e4629213253555"}]}
