)]}'
{"ironic/drivers/modules/drac/vendor_passthru.py":[{"author":{"_account_id":14760,"name":"John L. Villalovos","email":"openstack.org@sodarock.com","username":"jlvillal"},"change_message_id":"929e4e52eb83c5ed8d1e8e41663a706f821a5f63","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        \"\"\""},{"line_number":114,"context_line":"        drac_bios.abandon_config(task)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    @base.passthru([\u0027GET\u0027], async\u003dFalse)"},{"line_number":117,"context_line":"    def list_unfinished_jobs(self, task, **kwargs):"},{"line_number":118,"context_line":"        \"\"\"List unfinished config jobs of the node."},{"line_number":119,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_8150b10c","line":116,"updated":"2016-09-16 22:17:08.000000000","message":"Can: description\u003d\"some description\" be added?\n\nSee https://review.openstack.org/370469 for examples.","commit_id":"a2e3076623d3806fff8114ff739a2af043de46a8"},{"author":{"_account_id":18893,"name":"Miles Gould","email":"mgould@redhat.com","username":"pozorvlak"},"change_message_id":"f2812c8c5112dfd55c636d49929c42ba58ce047f","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        \"\"\""},{"line_number":114,"context_line":"        drac_bios.abandon_config(task)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    @base.passthru([\u0027GET\u0027], async\u003dFalse)"},{"line_number":117,"context_line":"    def list_unfinished_jobs(self, task, **kwargs):"},{"line_number":118,"context_line":"        \"\"\"List unfinished config jobs of the node."},{"line_number":119,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_0b2dd7a7","line":116,"in_reply_to":"7a8ec9b2_8150b10c","updated":"2016-09-21 14:47:10.000000000","message":"Done","commit_id":"a2e3076623d3806fff8114ff739a2af043de46a8"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"b7ce6c925a7e76c44711c33ccbb3cb04c312265c","unresolved":false,"context_lines":[{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        :param task: a TaskManager instance containing the node to act on."},{"line_number":121,"context_line":"        :param kwargs: not used."},{"line_number":122,"context_line":"        :returns: a dictionary containing the ``unfinished_jobs`` key with the"},{"line_number":123,"context_line":"                  Job objects from dracclient converted to dicts."},{"line_number":124,"context_line":"        :raises: DracOperationError on an error from python-dracclient."},{"line_number":125,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_cde915e8","line":122,"range":{"start_line":122,"start_character":70,"end_line":122,"end_character":78},"updated":"2016-09-13 14:10:12.000000000","message":"with the list of","commit_id":"a2e3076623d3806fff8114ff739a2af043de46a8"},{"author":{"_account_id":18893,"name":"Miles Gould","email":"mgould@redhat.com","username":"pozorvlak"},"change_message_id":"f2812c8c5112dfd55c636d49929c42ba58ce047f","unresolved":false,"context_lines":[{"line_number":119,"context_line":""},{"line_number":120,"context_line":"        :param task: a TaskManager instance containing the node to act on."},{"line_number":121,"context_line":"        :param kwargs: not used."},{"line_number":122,"context_line":"        :returns: a dictionary containing the ``unfinished_jobs`` key with the"},{"line_number":123,"context_line":"                  Job objects from dracclient converted to dicts."},{"line_number":124,"context_line":"        :raises: DracOperationError on an error from python-dracclient."},{"line_number":125,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_f63fb2b1","line":122,"in_reply_to":"9a89bdaa_cde915e8","updated":"2016-09-21 14:47:10.000000000","message":"This isn\u0027t quite right: the list of Jobs isn\u0027t converted, the individual Jobs are. I\u0027ve reworded the sentence accordingly - WDYT?","commit_id":"a2e3076623d3806fff8114ff739a2af043de46a8"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"c2db69265355776d92fb0a74c500c6b57854d552","unresolved":false,"context_lines":[{"line_number":124,"context_line":"        :raises: DracOperationError on an error from python-dracclient."},{"line_number":125,"context_line":"        \"\"\""},{"line_number":126,"context_line":"        jobs \u003d drac_job.list_unfinished_jobs(task.node)"},{"line_number":127,"context_line":"        return {\u0027unfinished_jobs\u0027: [job._asdict() for job in jobs]}"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_92968a4a","line":127,"updated":"2016-09-12 14:42:02.000000000","message":"why should generally avoid methods starting with _","commit_id":"a2e3076623d3806fff8114ff739a2af043de46a8"},{"author":{"_account_id":18893,"name":"Miles Gould","email":"mgould@redhat.com","username":"pozorvlak"},"change_message_id":"f2812c8c5112dfd55c636d49929c42ba58ce047f","unresolved":false,"context_lines":[{"line_number":124,"context_line":"        :raises: DracOperationError on an error from python-dracclient."},{"line_number":125,"context_line":"        \"\"\""},{"line_number":126,"context_line":"        jobs \u003d drac_job.list_unfinished_jobs(task.node)"},{"line_number":127,"context_line":"        return {\u0027unfinished_jobs\u0027: [job._asdict() for job in jobs]}"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_569ce6bf","line":127,"in_reply_to":"7a8ec9b2_0ee01e28","updated":"2016-09-21 14:47:10.000000000","message":"Done","commit_id":"a2e3076623d3806fff8114ff739a2af043de46a8"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"6e432289abb8697a56829924317fc8b46f63d5a8","unresolved":false,"context_lines":[{"line_number":124,"context_line":"        :raises: DracOperationError on an error from python-dracclient."},{"line_number":125,"context_line":"        \"\"\""},{"line_number":126,"context_line":"        jobs \u003d drac_job.list_unfinished_jobs(task.node)"},{"line_number":127,"context_line":"        return {\u0027unfinished_jobs\u0027: [job._asdict() for job in jobs]}"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a8ec9b2_0ee01e28","line":127,"in_reply_to":"9a89bdaa_101cf268","updated":"2016-09-19 11:38:57.000000000","message":"++ a fixme would be appreciated indeed","commit_id":"a2e3076623d3806fff8114ff739a2af043de46a8"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"b7ce6c925a7e76c44711c33ccbb3cb04c312265c","unresolved":false,"context_lines":[{"line_number":124,"context_line":"        :raises: DracOperationError on an error from python-dracclient."},{"line_number":125,"context_line":"        \"\"\""},{"line_number":126,"context_line":"        jobs \u003d drac_job.list_unfinished_jobs(task.node)"},{"line_number":127,"context_line":"        return {\u0027unfinished_jobs\u0027: [job._asdict() for job in jobs]}"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_101cf268","line":127,"in_reply_to":"9a89bdaa_17fa43bd","updated":"2016-09-13 14:10:12.000000000","message":"Please leave a comment at least.","commit_id":"a2e3076623d3806fff8114ff739a2af043de46a8"},{"author":{"_account_id":7419,"name":"Imre Farkas","email":"farkas.imre@gmail.com","username":"ifarkas"},"change_message_id":"8bafe649bc827d8be64c2c6958dff44c17eed48e","unresolved":false,"context_lines":[{"line_number":124,"context_line":"        :raises: DracOperationError on an error from python-dracclient."},{"line_number":125,"context_line":"        \"\"\""},{"line_number":126,"context_line":"        jobs \u003d drac_job.list_unfinished_jobs(task.node)"},{"line_number":127,"context_line":"        return {\u0027unfinished_jobs\u0027: [job._asdict() for job in jobs]}"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_17fa43bd","line":127,"in_reply_to":"9a89bdaa_92968a4a","updated":"2016-09-13 08:23:42.000000000","message":"+1 but I couldn\u0027t find another way to do that. do you have another suggestion?","commit_id":"a2e3076623d3806fff8114ff739a2af043de46a8"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"9a2528cd525d227a167a5008e745d30ccc192599","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    @base.passthru([\u0027GET\u0027], async\u003dFalse,"},{"line_number":117,"context_line":"                   description\u003d(\u0027List unfinished config jobs of the node. \u0027"},{"line_number":118,"context_line":"                                \u0027Required argument: a TaskManager instance \u0027"},{"line_number":119,"context_line":"                                \u0027containing the node to act on.\u0027))"},{"line_number":120,"context_line":"    def list_unfinished_jobs(self, task, **kwargs):"},{"line_number":121,"context_line":"        \"\"\"List unfinished config jobs of the node."},{"line_number":122,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_0c6b1fba","line":119,"updated":"2016-09-21 19:00:17.000000000","message":"the Required argument should be what is needed in the REST API for this passthru, ie, the kwargs stuff. Which is nothing here.\n\nI submitted https://review.openstack.org/374331 to fix it.","commit_id":"714a7cfda97c6e1ea1fe08a58ddec23e96dfd5bc"},{"author":{"_account_id":18893,"name":"Miles Gould","email":"mgould@redhat.com","username":"pozorvlak"},"change_message_id":"fd66d91e89d70f41bf1272eff76ef887ddaa6e29","unresolved":false,"context_lines":[{"line_number":116,"context_line":"    @base.passthru([\u0027GET\u0027], async\u003dFalse,"},{"line_number":117,"context_line":"                   description\u003d(\u0027List unfinished config jobs of the node. \u0027"},{"line_number":118,"context_line":"                                \u0027Required argument: a TaskManager instance \u0027"},{"line_number":119,"context_line":"                                \u0027containing the node to act on.\u0027))"},{"line_number":120,"context_line":"    def list_unfinished_jobs(self, task, **kwargs):"},{"line_number":121,"context_line":"        \"\"\"List unfinished config jobs of the node."},{"line_number":122,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5a8bc5a2_34d198ce","line":119,"in_reply_to":"7a8ec9b2_0c6b1fba","updated":"2016-09-22 13:52:27.000000000","message":"D\u0027oh, thanks!","commit_id":"714a7cfda97c6e1ea1fe08a58ddec23e96dfd5bc"}],"releasenotes/notes/drac-list-unfinished-jobs-10400419b6bc3c6e.yaml":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"4a1b61b8e8627bace378bb59a5c20506f59dc76f","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Adds ``list_unfinished_jobs`` method to the vendor-passthru interface of"},{"line_number":4,"context_line":"    the DRAC driver. It provides a way to check the status of the remote config"},{"line_number":5,"context_line":"    job after a BIOS configuration change was submitted using the"},{"line_number":6,"context_line":"    ``set_bios_config`` method."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7a8ec9b2_8d1814d5","line":5,"range":{"start_line":5,"start_character":16,"end_line":5,"end_character":20},"updated":"2016-09-21 16:29:05.000000000","message":"doesn\u0027t it work for raid?","commit_id":"714a7cfda97c6e1ea1fe08a58ddec23e96dfd5bc"}]}
