)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"f1fda530d7f3ab25d05a3f2ffcf55d0478ad8b17","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Need to fix a bug where baremetal server has multiple controllers and"},{"line_number":10,"context_line":"executes delete_configuration clean step in a such a way it should"},{"line_number":11,"context_line":"first create configuration job for the RAID controller which supports"},{"line_number":12,"context_line":"realtime and then for the other controllers"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Story: #2006502"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"5faad753_28937151","line":11,"updated":"2019-09-11 20:03:03.000000000","message":"I think you mean to say here that it will first create configuration jobs for controllers that do NOT support realtime and then create the jobs for the other controllers.","commit_id":"6e559ec16be16cf526de2358f826b7d3fd39eb83"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"c2c6ffe32b70d565b8b8aadbc41b3ac4acbaafbf","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Need to fix a bug where host has two controllers and executes"},{"line_number":10,"context_line":"delete_configuration cleaning step in a such a way it should"},{"line_number":11,"context_line":"first create configuration job for the controller which supports"},{"line_number":12,"context_line":"realtime and then for the other controllers."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Story: #2006502"},{"line_number":15,"context_line":"Task: #36480"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"3fa7e38b_fec23ae9","line":12,"updated":"2019-09-18 15:51:31.000000000","message":"Can you update the above to something like:\nThis fixes a bug where a race condition can occur on a host that has a mix of controllers where some support realtime mode and some do not.  The approach is to only use realtime mode if all controllers support realtime.  This removes the race condition.","commit_id":"d859fb16a33ae75d3cd028e43c250e0d532e0c32"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"5cba3b4a4753b51a42d188d96b0f20a300dfa689","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Need to fix a bug where host has two controllers and executes"},{"line_number":10,"context_line":"delete_configuration cleaning step in a such a way it should"},{"line_number":11,"context_line":"first create configuration job for the controller which supports"},{"line_number":12,"context_line":"realtime and then for the other controllers."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Story: #2006502"},{"line_number":15,"context_line":"Task: #36480"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"3fa7e38b_53724be5","line":12,"in_reply_to":"3fa7e38b_fec23ae9","updated":"2019-09-19 19:14:15.000000000","message":"Done","commit_id":"d859fb16a33ae75d3cd028e43c250e0d532e0c32"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"7d0fc91b2faae6e8e34767b82345d6995258d5af","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This fix a bug where a race condition can occur on a host that"},{"line_number":10,"context_line":"has a mix of controllers where some supports realtime mode and"},{"line_number":11,"context_line":"some do not. The approach is to use only realtime mode if all"},{"line_number":12,"context_line":"controllers supports realtime.This removes the race condition."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Story: #2006502"},{"line_number":15,"context_line":"Task: #36480"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"3fa7e38b_b43d70de","line":12,"updated":"2019-09-23 21:32:05.000000000","message":"nit: Can you add a space between \"realtime.\" and \"This\" in the line above?","commit_id":"1e224d655eb3108f7d558a393ca42d3cdd4dad1f"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"a4e909c06447c00cd6824ee543e7f0399112cff1","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This fix a bug where a race condition can occur on a host that"},{"line_number":10,"context_line":"has a mix of controllers where some supports realtime mode and"},{"line_number":11,"context_line":"some do not. The approach is to use only realtime mode if all"},{"line_number":12,"context_line":"controllers supports realtime.This removes the race condition."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Story: #2006502"},{"line_number":15,"context_line":"Task: #36480"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"3fa7e38b_91a15b97","line":12,"in_reply_to":"3fa7e38b_b43d70de","updated":"2019-09-24 10:35:47.000000000","message":"Done","commit_id":"1e224d655eb3108f7d558a393ca42d3cdd4dad1f"}],"ironic/drivers/modules/drac/raid.py":[{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"f1fda530d7f3ab25d05a3f2ffcf55d0478ad8b17","unresolved":false,"context_lines":[{"line_number":778,"context_line":"        raid_controller \u003d controller[\u0027raid_controller\u0027]"},{"line_number":779,"context_line":""},{"line_number":780,"context_line":"        realtime \u003d controller[\u0027is_reboot_required\u0027] \u003d\u003d optional"},{"line_number":781,"context_line":"        job_id \u003d commit_config(node, raid_controller\u003draid_controller,"},{"line_number":782,"context_line":"                               reboot\u003dFalse if realtime else True,"},{"line_number":783,"context_line":"                               realtime\u003drealtime)"},{"line_number":784,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5faad753_48782d29","line":781,"updated":"2019-09-11 20:03:03.000000000","message":"I don\u0027t think this change is right.  If you had 2 controllers that did not support realtime then 2 reboots would be issued, which I\u0027m not sure would work.  I would think the original code would work though, which is that it would request a reboot only on the last submitted job if any processed controller did not support realtime.","commit_id":"6e559ec16be16cf526de2358f826b7d3fd39eb83"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"a13a1ad306930bf34367c35570773106de29f756","unresolved":false,"context_lines":[{"line_number":778,"context_line":"        raid_controller \u003d controller[\u0027raid_controller\u0027]"},{"line_number":779,"context_line":""},{"line_number":780,"context_line":"        realtime \u003d controller[\u0027is_reboot_required\u0027] \u003d\u003d optional"},{"line_number":781,"context_line":"        job_id \u003d commit_config(node, raid_controller\u003draid_controller,"},{"line_number":782,"context_line":"                               reboot\u003dFalse if realtime else True,"},{"line_number":783,"context_line":"                               realtime\u003drealtime)"},{"line_number":784,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5faad753_f2653f46","line":781,"in_reply_to":"5faad753_48782d29","updated":"2019-09-12 08:57:09.000000000","message":"I totally agree with your scenario, we need only one reboot job if we have only non-realtime controllers.\nBut there is one more scenario in which current code will fail:\nLet say if we have two controllers (RAID and BOSS) , one supports realtime and another does not supports realtime then \noriginal code will not work because at line 776(original code)\nit will match last controller and execute commit_config() for the controller which supports realtime","commit_id":"6e559ec16be16cf526de2358f826b7d3fd39eb83"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"9f845147dd893042fea10b484b7c003f581f9295","unresolved":false,"context_lines":[{"line_number":788,"context_line":"                                   realtime\u003drealtime)"},{"line_number":789,"context_line":"        else:"},{"line_number":790,"context_line":"            job_id \u003d commit_config(node, raid_controller\u003draid_controller,"},{"line_number":791,"context_line":"                                   reboot\u003dFalse if realtime else True,"},{"line_number":792,"context_line":"                                   realtime\u003drealtime)"},{"line_number":793,"context_line":"        LOG.info(\u0027Change has been committed to RAID controller \u0027"},{"line_number":794,"context_line":"                 \u0027%(controller)s on node %(node)s. \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"5faad753_c2192c7a","line":791,"range":{"start_line":791,"start_character":0,"end_line":791,"end_character":70},"updated":"2019-09-13 15:23:39.000000000","message":"I don\u0027t think  this will work.. this will create one more reboot.","commit_id":"743fce848e049e322d24ddcbdad792ab81a6e52f"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"f1c7c2ffcfbec8923957a17640b861e4b3db95c7","unresolved":false,"context_lines":[{"line_number":788,"context_line":"                                   realtime\u003drealtime)"},{"line_number":789,"context_line":"        else:"},{"line_number":790,"context_line":"            job_id \u003d commit_config(node, raid_controller\u003draid_controller,"},{"line_number":791,"context_line":"                                   reboot\u003dFalse if realtime else True,"},{"line_number":792,"context_line":"                                   realtime\u003drealtime)"},{"line_number":793,"context_line":"        LOG.info(\u0027Change has been committed to RAID controller \u0027"},{"line_number":794,"context_line":"                 \u0027%(controller)s on node %(node)s. \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"5faad753_026bc4b6","line":791,"range":{"start_line":791,"start_character":0,"end_line":791,"end_character":70},"in_reply_to":"5faad753_c2192c7a","updated":"2019-09-13 15:26:01.000000000","message":"Above condition will not work when we have more than two controllers.","commit_id":"743fce848e049e322d24ddcbdad792ab81a6e52f"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"c2c6ffe32b70d565b8b8aadbc41b3ac4acbaafbf","unresolved":false,"context_lines":[{"line_number":15,"context_line":"DRAC RAID specific methods"},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from collections import deque"},{"line_number":19,"context_line":"import math"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from futurist import periodics"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_de05fe7b","line":18,"updated":"2019-09-18 15:51:31.000000000","message":"If we remove _filter_controllers() then we don\u0027t need this import.","commit_id":"d859fb16a33ae75d3cd028e43c250e0d532e0c32"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"5cba3b4a4753b51a42d188d96b0f20a300dfa689","unresolved":false,"context_lines":[{"line_number":15,"context_line":"DRAC RAID specific methods"},{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from collections import deque"},{"line_number":19,"context_line":"import math"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from futurist import periodics"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_137cd3b3","line":18,"in_reply_to":"3fa7e38b_de05fe7b","updated":"2019-09-19 19:14:15.000000000","message":"Done","commit_id":"d859fb16a33ae75d3cd028e43c250e0d532e0c32"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"c2c6ffe32b70d565b8b8aadbc41b3ac4acbaafbf","unresolved":false,"context_lines":[{"line_number":728,"context_line":"    return filtered_disks"},{"line_number":729,"context_line":""},{"line_number":730,"context_line":""},{"line_number":731,"context_line":"def _filter_controllers(controllers):"},{"line_number":732,"context_line":"    final_controllers \u003d deque()"},{"line_number":733,"context_line":""},{"line_number":734,"context_line":"    for controller in controllers:"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_1eacf68a","line":731,"updated":"2019-09-18 15:51:31.000000000","message":"I don\u0027t think we need this method any more because in the case where there is a mix of controllers that support realtime and don\u0027t support realtime, we will not run any of them in realtime mode.  This removes the race condition that was causing us problems.","commit_id":"d859fb16a33ae75d3cd028e43c250e0d532e0c32"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"5cba3b4a4753b51a42d188d96b0f20a300dfa689","unresolved":false,"context_lines":[{"line_number":728,"context_line":"    return filtered_disks"},{"line_number":729,"context_line":""},{"line_number":730,"context_line":""},{"line_number":731,"context_line":"def _filter_controllers(controllers):"},{"line_number":732,"context_line":"    final_controllers \u003d deque()"},{"line_number":733,"context_line":""},{"line_number":734,"context_line":"    for controller in controllers:"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_3360ef01","line":731,"in_reply_to":"3fa7e38b_1eacf68a","updated":"2019-09-19 19:14:15.000000000","message":"Done","commit_id":"d859fb16a33ae75d3cd028e43c250e0d532e0c32"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"c2c6ffe32b70d565b8b8aadbc41b3ac4acbaafbf","unresolved":false,"context_lines":[{"line_number":774,"context_line":"        driver_internal_info[\u0027raid_config_job_ids\u0027] \u003d []"},{"line_number":775,"context_line":""},{"line_number":776,"context_line":"    all_realtime \u003d all(cntlr for cntlr in controllers if"},{"line_number":777,"context_line":"                       cntlr[\u0027is_reboot_required\u0027] \u003d\u003d \"optional\")"},{"line_number":778,"context_line":"    raid_config_job_ids \u003d []"},{"line_number":779,"context_line":"    raid_config_parameters \u003d []"},{"line_number":780,"context_line":"    if all_realtime:"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_fe09dadc","line":777,"updated":"2019-09-18 15:51:31.000000000","message":"I don\u0027t think the above 2 lines are correct.  They build a list of only realtime controllers, and then all() will return true if there are any controllers in that list.  This means that all_realtime will be True in the scenario where you have a mix of realtime and non-realtime controllers (BOSS+PERC).\nI think you want something like:\nall_realtime \u003d all(cntlr[\u0027is_reboot_required]\u0027] \u003d\u003d \"optional\" for cntlr in controllers)\nI believe the above will create a list that contains 1 boolean value per controller indicating if the controller supports realtime.  all() will then return True only if all controllers support realtime.","commit_id":"d859fb16a33ae75d3cd028e43c250e0d532e0c32"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"5cba3b4a4753b51a42d188d96b0f20a300dfa689","unresolved":false,"context_lines":[{"line_number":774,"context_line":"        driver_internal_info[\u0027raid_config_job_ids\u0027] \u003d []"},{"line_number":775,"context_line":""},{"line_number":776,"context_line":"    all_realtime \u003d all(cntlr for cntlr in controllers if"},{"line_number":777,"context_line":"                       cntlr[\u0027is_reboot_required\u0027] \u003d\u003d \"optional\")"},{"line_number":778,"context_line":"    raid_config_job_ids \u003d []"},{"line_number":779,"context_line":"    raid_config_parameters \u003d []"},{"line_number":780,"context_line":"    if all_realtime:"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_33254fc3","line":777,"in_reply_to":"3fa7e38b_fe09dadc","updated":"2019-09-19 19:14:15.000000000","message":"Done","commit_id":"d859fb16a33ae75d3cd028e43c250e0d532e0c32"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"c2c6ffe32b70d565b8b8aadbc41b3ac4acbaafbf","unresolved":false,"context_lines":[{"line_number":934,"context_line":"                    \"is_reboot_required\"]"},{"line_number":935,"context_line":"                controllers.append(controller)"},{"line_number":936,"context_line":""},{"line_number":937,"context_line":"        _all_controllers \u003d _filter_controllers(controllers)"},{"line_number":938,"context_line":""},{"line_number":939,"context_line":"        return _commit_to_controllers(node, _all_controllers,"},{"line_number":940,"context_line":"                                      substep\u003d\"delete_foreign_config\")"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_7ecdea5b","line":937,"updated":"2019-09-18 15:51:31.000000000","message":"I think we can remove the call to _filter_controllers() since the race condition will be removed by not running any jobs in realtime mode if there are some controllers that don\u0027t support realtime mode.","commit_id":"d859fb16a33ae75d3cd028e43c250e0d532e0c32"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"5cba3b4a4753b51a42d188d96b0f20a300dfa689","unresolved":false,"context_lines":[{"line_number":934,"context_line":"                    \"is_reboot_required\"]"},{"line_number":935,"context_line":"                controllers.append(controller)"},{"line_number":936,"context_line":""},{"line_number":937,"context_line":"        _all_controllers \u003d _filter_controllers(controllers)"},{"line_number":938,"context_line":""},{"line_number":939,"context_line":"        return _commit_to_controllers(node, _all_controllers,"},{"line_number":940,"context_line":"                                      substep\u003d\"delete_foreign_config\")"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_f32ed7a3","line":937,"in_reply_to":"3fa7e38b_7ecdea5b","updated":"2019-09-19 19:14:15.000000000","message":"Done","commit_id":"d859fb16a33ae75d3cd028e43c250e0d532e0c32"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"ac6ad5d4564825071f83af904567ac4382a07fb4","unresolved":false,"context_lines":[{"line_number":767,"context_line":"    if all_realtime:"},{"line_number":768,"context_line":"        for controller in controllers:"},{"line_number":769,"context_line":"            realtime_controller \u003d controller[\u0027raid_controller\u0027]"},{"line_number":770,"context_line":"            job_id \u003d commit_config(node, raid_controller\u003drealtime_controller,"},{"line_number":771,"context_line":"                                   reboot\u003dFalse,"},{"line_number":772,"context_line":"                                   realtime\u003dTrue)"},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"            raid_config_job_ids.append(job_id)"},{"line_number":775,"context_line":"            if controller not in raid_config_parameters:"},{"line_number":776,"context_line":"                raid_config_parameters.append(realtime_controller)"},{"line_number":777,"context_line":""},{"line_number":778,"context_line":"            LOG.info(\u0027Change has been committed to RAID controller \u0027"},{"line_number":779,"context_line":"                     \u0027%(controller)s on node %(node)s. \u0027"},{"line_number":780,"context_line":"                     \u0027DRAC job id: %(job_id)s\u0027,"},{"line_number":781,"context_line":"                     {\u0027controller\u0027: controller, \u0027node\u0027: node.uuid,"},{"line_number":782,"context_line":"                      \u0027job_id\u0027: job_id})"},{"line_number":783,"context_line":""},{"line_number":784,"context_line":"    else:"},{"line_number":785,"context_line":"        for controller in controllers:"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_f38fa82b","line":782,"range":{"start_line":770,"start_character":0,"end_line":782,"end_character":40},"updated":"2019-09-20 14:13:41.000000000","message":"I think we could factor out the above highlighted code into a separate method, then we could call that method from this location as well as the one in the else clause below to help eliminate code duplication.","commit_id":"d8ae19b5f3ea240b3964eb6ecca3e5ea672db2ab"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"c1617c78ca776fcdd444ea95e3f5ecd5fc0372ba","unresolved":false,"context_lines":[{"line_number":767,"context_line":"    if all_realtime:"},{"line_number":768,"context_line":"        for controller in controllers:"},{"line_number":769,"context_line":"            realtime_controller \u003d controller[\u0027raid_controller\u0027]"},{"line_number":770,"context_line":"            job_id \u003d commit_config(node, raid_controller\u003drealtime_controller,"},{"line_number":771,"context_line":"                                   reboot\u003dFalse,"},{"line_number":772,"context_line":"                                   realtime\u003dTrue)"},{"line_number":773,"context_line":""},{"line_number":774,"context_line":"            raid_config_job_ids.append(job_id)"},{"line_number":775,"context_line":"            if controller not in raid_config_parameters:"},{"line_number":776,"context_line":"                raid_config_parameters.append(realtime_controller)"},{"line_number":777,"context_line":""},{"line_number":778,"context_line":"            LOG.info(\u0027Change has been committed to RAID controller \u0027"},{"line_number":779,"context_line":"                     \u0027%(controller)s on node %(node)s. \u0027"},{"line_number":780,"context_line":"                     \u0027DRAC job id: %(job_id)s\u0027,"},{"line_number":781,"context_line":"                     {\u0027controller\u0027: controller, \u0027node\u0027: node.uuid,"},{"line_number":782,"context_line":"                      \u0027job_id\u0027: job_id})"},{"line_number":783,"context_line":""},{"line_number":784,"context_line":"    else:"},{"line_number":785,"context_line":"        for controller in controllers:"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_171ed06f","line":782,"range":{"start_line":770,"start_character":0,"end_line":782,"end_character":40},"in_reply_to":"3fa7e38b_f38fa82b","updated":"2019-09-23 13:05:51.000000000","message":"Yes much need code refactor. Done","commit_id":"d8ae19b5f3ea240b3964eb6ecca3e5ea672db2ab"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"ac6ad5d4564825071f83af904567ac4382a07fb4","unresolved":false,"context_lines":[{"line_number":785,"context_line":"        for controller in controllers:"},{"line_number":786,"context_line":"            mix_controller \u003d controller[\u0027raid_controller\u0027]"},{"line_number":787,"context_line":"            reboot \u003d True if controller \u003d\u003d controllers[-1] else False"},{"line_number":788,"context_line":"            job_id \u003d commit_config("},{"line_number":789,"context_line":"                node, raid_controller\u003dmix_controller,"},{"line_number":790,"context_line":"                reboot\u003dreboot,"},{"line_number":791,"context_line":"                realtime\u003dFalse)"},{"line_number":792,"context_line":""},{"line_number":793,"context_line":"            raid_config_job_ids.append(job_id)"},{"line_number":794,"context_line":"            if controller not in raid_config_parameters:"},{"line_number":795,"context_line":"                raid_config_parameters.append(mix_controller)"},{"line_number":796,"context_line":""},{"line_number":797,"context_line":"            LOG.info(\u0027Change has been committed to RAID controller \u0027"},{"line_number":798,"context_line":"                     \u0027%(controller)s on node %(node)s. \u0027"},{"line_number":799,"context_line":"                     \u0027DRAC job id: %(job_id)s\u0027,"},{"line_number":800,"context_line":"                     {\u0027controller\u0027: controller, \u0027node\u0027: node.uuid,"},{"line_number":801,"context_line":"                      \u0027job_id\u0027: job_id})"},{"line_number":802,"context_line":""},{"line_number":803,"context_line":"    driver_internal_info[\u0027raid_config_job_ids\u0027] \u003d raid_config_job_ids"},{"line_number":804,"context_line":"    driver_internal_info[\u0027raid_config_parameters\u0027] \u003d raid_config_parameters"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_d37dcc1c","line":801,"range":{"start_line":788,"start_character":0,"end_line":801,"end_character":40},"updated":"2019-09-20 14:13:41.000000000","message":"This highlighted code is the other place where we could factor this code into a separate method and call it to reduce code duplication.","commit_id":"d8ae19b5f3ea240b3964eb6ecca3e5ea672db2ab"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"c1617c78ca776fcdd444ea95e3f5ecd5fc0372ba","unresolved":false,"context_lines":[{"line_number":785,"context_line":"        for controller in controllers:"},{"line_number":786,"context_line":"            mix_controller \u003d controller[\u0027raid_controller\u0027]"},{"line_number":787,"context_line":"            reboot \u003d True if controller \u003d\u003d controllers[-1] else False"},{"line_number":788,"context_line":"            job_id \u003d commit_config("},{"line_number":789,"context_line":"                node, raid_controller\u003dmix_controller,"},{"line_number":790,"context_line":"                reboot\u003dreboot,"},{"line_number":791,"context_line":"                realtime\u003dFalse)"},{"line_number":792,"context_line":""},{"line_number":793,"context_line":"            raid_config_job_ids.append(job_id)"},{"line_number":794,"context_line":"            if controller not in raid_config_parameters:"},{"line_number":795,"context_line":"                raid_config_parameters.append(mix_controller)"},{"line_number":796,"context_line":""},{"line_number":797,"context_line":"            LOG.info(\u0027Change has been committed to RAID controller \u0027"},{"line_number":798,"context_line":"                     \u0027%(controller)s on node %(node)s. \u0027"},{"line_number":799,"context_line":"                     \u0027DRAC job id: %(job_id)s\u0027,"},{"line_number":800,"context_line":"                     {\u0027controller\u0027: controller, \u0027node\u0027: node.uuid,"},{"line_number":801,"context_line":"                      \u0027job_id\u0027: job_id})"},{"line_number":802,"context_line":""},{"line_number":803,"context_line":"    driver_internal_info[\u0027raid_config_job_ids\u0027] \u003d raid_config_job_ids"},{"line_number":804,"context_line":"    driver_internal_info[\u0027raid_config_parameters\u0027] \u003d raid_config_parameters"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_b7149c4f","line":801,"range":{"start_line":788,"start_character":0,"end_line":801,"end_character":40},"in_reply_to":"3fa7e38b_d37dcc1c","updated":"2019-09-23 13:05:51.000000000","message":"Done","commit_id":"d8ae19b5f3ea240b3964eb6ecca3e5ea672db2ab"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"7d0fc91b2faae6e8e34767b82345d6995258d5af","unresolved":false,"context_lines":[{"line_number":734,"context_line":"       which supports realtime mode and some do not supports realtime"},{"line_number":735,"context_line":"       mode."},{"line_number":736,"context_line":""},{"line_number":737,"context_line":"       :param node:an ironic node object"},{"line_number":738,"context_line":"       :param controller: controller fqdd"},{"line_number":739,"context_line":"       :param reboot: indicates whether a reboot job should be automatically"},{"line_number":740,"context_line":"                      created with the config job."}],"source_content_type":"text/x-python","patch_set":14,"id":"3fa7e38b_f420c8ae","line":737,"updated":"2019-09-23 21:32:05.000000000","message":"nit: Can you add a space between \"node:\" and \"an\" in the line above","commit_id":"1e224d655eb3108f7d558a393ca42d3cdd4dad1f"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"a4e909c06447c00cd6824ee543e7f0399112cff1","unresolved":false,"context_lines":[{"line_number":734,"context_line":"       which supports realtime mode and some do not supports realtime"},{"line_number":735,"context_line":"       mode."},{"line_number":736,"context_line":""},{"line_number":737,"context_line":"       :param node:an ironic node object"},{"line_number":738,"context_line":"       :param controller: controller fqdd"},{"line_number":739,"context_line":"       :param reboot: indicates whether a reboot job should be automatically"},{"line_number":740,"context_line":"                      created with the config job."}],"source_content_type":"text/x-python","patch_set":14,"id":"3fa7e38b_51a763a8","line":737,"in_reply_to":"3fa7e38b_f420c8ae","updated":"2019-09-24 10:35:47.000000000","message":"Done","commit_id":"1e224d655eb3108f7d558a393ca42d3cdd4dad1f"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"7d0fc91b2faae6e8e34767b82345d6995258d5af","unresolved":false,"context_lines":[{"line_number":735,"context_line":"       mode."},{"line_number":736,"context_line":""},{"line_number":737,"context_line":"       :param node:an ironic node object"},{"line_number":738,"context_line":"       :param controller: controller fqdd"},{"line_number":739,"context_line":"       :param reboot: indicates whether a reboot job should be automatically"},{"line_number":740,"context_line":"                      created with the config job."},{"line_number":741,"context_line":"                      (optional, defaults to False)"}],"source_content_type":"text/x-python","patch_set":14,"id":"3fa7e38b_740cd840","line":738,"updated":"2019-09-23 21:32:05.000000000","message":"Need to sync up these param statements with what\u0027s actually passed in.","commit_id":"1e224d655eb3108f7d558a393ca42d3cdd4dad1f"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"a4e909c06447c00cd6824ee543e7f0399112cff1","unresolved":false,"context_lines":[{"line_number":735,"context_line":"       mode."},{"line_number":736,"context_line":""},{"line_number":737,"context_line":"       :param node:an ironic node object"},{"line_number":738,"context_line":"       :param controller: controller fqdd"},{"line_number":739,"context_line":"       :param reboot: indicates whether a reboot job should be automatically"},{"line_number":740,"context_line":"                      created with the config job."},{"line_number":741,"context_line":"                      (optional, defaults to False)"}],"source_content_type":"text/x-python","patch_set":14,"id":"3fa7e38b_11bfabb0","line":738,"in_reply_to":"3fa7e38b_740cd840","updated":"2019-09-24 10:35:47.000000000","message":"Done","commit_id":"1e224d655eb3108f7d558a393ca42d3cdd4dad1f"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"7d0fc91b2faae6e8e34767b82345d6995258d5af","unresolved":false,"context_lines":[{"line_number":810,"context_line":"                \u0027raid_config_job_ids\u0027: raid_config_job_ids,"},{"line_number":811,"context_line":"                \u0027raid_config_parameters\u0027: raid_config_parameters}"},{"line_number":812,"context_line":""},{"line_number":813,"context_line":"            job_details \u003d _create_config_job(node, **controller_details)"},{"line_number":814,"context_line":""},{"line_number":815,"context_line":"    else:"},{"line_number":816,"context_line":"        for controller in controllers:"}],"source_content_type":"text/x-python","patch_set":14,"id":"3fa7e38b_976dd6cd","line":813,"updated":"2019-09-23 21:32:05.000000000","message":"nit: it seems like it would be simpler to just pass the individual parameters in to _create_config_job.","commit_id":"1e224d655eb3108f7d558a393ca42d3cdd4dad1f"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"a4e909c06447c00cd6824ee543e7f0399112cff1","unresolved":false,"context_lines":[{"line_number":810,"context_line":"                \u0027raid_config_job_ids\u0027: raid_config_job_ids,"},{"line_number":811,"context_line":"                \u0027raid_config_parameters\u0027: raid_config_parameters}"},{"line_number":812,"context_line":""},{"line_number":813,"context_line":"            job_details \u003d _create_config_job(node, **controller_details)"},{"line_number":814,"context_line":""},{"line_number":815,"context_line":"    else:"},{"line_number":816,"context_line":"        for controller in controllers:"}],"source_content_type":"text/x-python","patch_set":14,"id":"3fa7e38b_d1b4b3d3","line":813,"in_reply_to":"3fa7e38b_976dd6cd","updated":"2019-09-24 10:35:47.000000000","message":"Done","commit_id":"1e224d655eb3108f7d558a393ca42d3cdd4dad1f"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"7d0fc91b2faae6e8e34767b82345d6995258d5af","unresolved":false,"context_lines":[{"line_number":822,"context_line":"                \u0027raid_config_job_ids\u0027: raid_config_job_ids,"},{"line_number":823,"context_line":"                \u0027raid_config_parameters\u0027: raid_config_parameters}"},{"line_number":824,"context_line":""},{"line_number":825,"context_line":"            job_details \u003d _create_config_job(node, **controller_details)"},{"line_number":826,"context_line":""},{"line_number":827,"context_line":"    driver_internal_info[\u0027raid_config_job_ids\u0027] \u003d job_details["},{"line_number":828,"context_line":"        \u0027raid_config_job_ids\u0027]"}],"source_content_type":"text/x-python","patch_set":14,"id":"3fa7e38b_d777ce9f","line":825,"updated":"2019-09-23 21:32:05.000000000","message":"same here","commit_id":"1e224d655eb3108f7d558a393ca42d3cdd4dad1f"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"a4e909c06447c00cd6824ee543e7f0399112cff1","unresolved":false,"context_lines":[{"line_number":822,"context_line":"                \u0027raid_config_job_ids\u0027: raid_config_job_ids,"},{"line_number":823,"context_line":"                \u0027raid_config_parameters\u0027: raid_config_parameters}"},{"line_number":824,"context_line":""},{"line_number":825,"context_line":"            job_details \u003d _create_config_job(node, **controller_details)"},{"line_number":826,"context_line":""},{"line_number":827,"context_line":"    driver_internal_info[\u0027raid_config_job_ids\u0027] \u003d job_details["},{"line_number":828,"context_line":"        \u0027raid_config_job_ids\u0027]"}],"source_content_type":"text/x-python","patch_set":14,"id":"3fa7e38b_b1afb77b","line":825,"in_reply_to":"3fa7e38b_d777ce9f","updated":"2019-09-24 10:35:47.000000000","message":"Done","commit_id":"1e224d655eb3108f7d558a393ca42d3cdd4dad1f"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"c9decb3f13cc529d5535e452570f0fea5890ea4f","unresolved":false,"context_lines":[{"line_number":727,"context_line":"    return filtered_disks"},{"line_number":728,"context_line":""},{"line_number":729,"context_line":""},{"line_number":730,"context_line":"def _create_config_job(node, controller,"},{"line_number":731,"context_line":"                       reboot\u003dFalse, realtime\u003dFalse,"},{"line_number":732,"context_line":"                       raid_config_job_ids\u003d[],"},{"line_number":733,"context_line":"                       raid_config_parameters\u003d[]):"}],"source_content_type":"text/x-python","patch_set":16,"id":"3fa7e38b_580ddfe5","line":730,"updated":"2019-09-30 15:02:10.000000000","message":"you can probably save a couple of lines rearranging the arguments in fewer lines","commit_id":"88e3c987e5270a58b661af61ecf61379bbde6b8c"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"c9decb3f13cc529d5535e452570f0fea5890ea4f","unresolved":false,"context_lines":[{"line_number":731,"context_line":"                       reboot\u003dFalse, realtime\u003dFalse,"},{"line_number":732,"context_line":"                       raid_config_job_ids\u003d[],"},{"line_number":733,"context_line":"                       raid_config_parameters\u003d[]):"},{"line_number":734,"context_line":"    job_id \u003d commit_config(node, raid_controller\u003dcontroller,"},{"line_number":735,"context_line":"                           reboot\u003dreboot,"},{"line_number":736,"context_line":"                           realtime\u003drealtime)"},{"line_number":737,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"3fa7e38b_7810db00","line":734,"updated":"2019-09-30 15:02:10.000000000","message":"ditto","commit_id":"88e3c987e5270a58b661af61ecf61379bbde6b8c"}],"ironic/tests/unit/drivers/modules/drac/test_raid.py":[{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"f1fda530d7f3ab25d05a3f2ffcf55d0478ad8b17","unresolved":false,"context_lines":[{"line_number":438,"context_line":""},{"line_number":439,"context_line":"        _filter_controllers \u003d drac_raid._filter_controllers(controllers)"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"        self.assertNotEqual(controllers[0][\u0027is_reboot_required\u0027],"},{"line_number":442,"context_line":"                            _filter_controllers[0][\u0027is_reboot_required\u0027])"},{"line_number":443,"context_line":""},{"line_number":444,"context_line":"    def test__calculate_spans_for_2_disk_and_raid_level_1(self):"}],"source_content_type":"text/x-python","patch_set":7,"id":"5faad753_88cce56a","line":441,"updated":"2019-09-11 20:03:03.000000000","message":"I think this could be more clearly written as:\nself.assertEqual(_filter_controllers[0][\u0027is_reboot_required\u0027], \u0027true\u0027)","commit_id":"6e559ec16be16cf526de2358f826b7d3fd39eb83"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"c2c6ffe32b70d565b8b8aadbc41b3ac4acbaafbf","unresolved":false,"context_lines":[{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        self.assertEqual(0, len(logical_disks))"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":"    def test__filter_controllers(self):"},{"line_number":434,"context_line":"        controllers \u003d [{\u0027is_reboot_required\u0027: \u0027optional\u0027,"},{"line_number":435,"context_line":"                        \u0027raid_controller\u0027: \u0027RAID.Integrated.1-1\u0027},"},{"line_number":436,"context_line":"                       {\u0027is_reboot_required\u0027: \u0027true\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_1e80768b","line":433,"updated":"2019-09-18 15:51:31.000000000","message":"I think this test case can be removed.","commit_id":"d859fb16a33ae75d3cd028e43c250e0d532e0c32"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"5cba3b4a4753b51a42d188d96b0f20a300dfa689","unresolved":false,"context_lines":[{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        self.assertEqual(0, len(logical_disks))"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":"    def test__filter_controllers(self):"},{"line_number":434,"context_line":"        controllers \u003d [{\u0027is_reboot_required\u0027: \u0027optional\u0027,"},{"line_number":435,"context_line":"                        \u0027raid_controller\u0027: \u0027RAID.Integrated.1-1\u0027},"},{"line_number":436,"context_line":"                       {\u0027is_reboot_required\u0027: \u0027true\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"3fa7e38b_d31ddb73","line":433,"in_reply_to":"3fa7e38b_1e80768b","updated":"2019-09-19 19:14:15.000000000","message":"Done","commit_id":"d859fb16a33ae75d3cd028e43c250e0d532e0c32"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"ac6ad5d4564825071f83af904567ac4382a07fb4","unresolved":false,"context_lines":[{"line_number":1491,"context_line":"                           {\u0027id\u0027: \u0027RAID.Integrated.1-1\u0027,"},{"line_number":1492,"context_line":"                            \u0027description\u0027: \u0027Integrated RAID Controller 1\u0027,"},{"line_number":1493,"context_line":"                            \u0027manufacturer\u0027: \u0027DELL\u0027,"},{"line_number":1494,"context_line":"                            \u0027model\u0027: \u0027PERC H710 Mini\u0027,"},{"line_number":1495,"context_line":"                            \u0027primary_status\u0027: \u0027ok\u0027,"},{"line_number":1496,"context_line":"                            \u0027firmware_version\u0027: \u002721.3.0-0009\u0027,"},{"line_number":1497,"context_line":"                            \u0027bus\u0027: \u00271\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_135cc47c","line":1494,"updated":"2019-09-20 14:13:41.000000000","message":"nit: I\u0027m not sure if the H710 supports realtime or not.  Would you mind changing the PERC model to an H730 or H740?  I know either of those support realtime.","commit_id":"d8ae19b5f3ea240b3964eb6ecca3e5ea672db2ab"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"c1617c78ca776fcdd444ea95e3f5ecd5fc0372ba","unresolved":false,"context_lines":[{"line_number":1491,"context_line":"                           {\u0027id\u0027: \u0027RAID.Integrated.1-1\u0027,"},{"line_number":1492,"context_line":"                            \u0027description\u0027: \u0027Integrated RAID Controller 1\u0027,"},{"line_number":1493,"context_line":"                            \u0027manufacturer\u0027: \u0027DELL\u0027,"},{"line_number":1494,"context_line":"                            \u0027model\u0027: \u0027PERC H710 Mini\u0027,"},{"line_number":1495,"context_line":"                            \u0027primary_status\u0027: \u0027ok\u0027,"},{"line_number":1496,"context_line":"                            \u0027firmware_version\u0027: \u002721.3.0-0009\u0027,"},{"line_number":1497,"context_line":"                            \u0027bus\u0027: \u00271\u0027,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_092c7897","line":1494,"in_reply_to":"3fa7e38b_135cc47c","updated":"2019-09-23 13:05:51.000000000","message":"U were right. Done","commit_id":"d8ae19b5f3ea240b3964eb6ecca3e5ea672db2ab"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"ac6ad5d4564825071f83af904567ac4382a07fb4","unresolved":false,"context_lines":[{"line_number":1516,"context_line":""},{"line_number":1517,"context_line":"            mock_commit_config.assert_has_calls("},{"line_number":1518,"context_line":"                [mock.call(mock.ANY, raid_controller\u003d\u0027AHCI.Slot.3-1\u0027,"},{"line_number":1519,"context_line":"                           reboot\u003dmock.ANY, realtime\u003dmock.ANY),"},{"line_number":1520,"context_line":"                 mock.call(mock.ANY, raid_controller\u003d\u0027RAID.Integrated.1-1\u0027,"},{"line_number":1521,"context_line":"                           reboot\u003dmock.ANY, realtime\u003dmock.ANY)],"},{"line_number":1522,"context_line":"                any_order\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_05dd5b6f","line":1519,"updated":"2019-09-20 14:13:41.000000000","message":"Can we change this to assert that the first call was with reboot\u003dFalse and realtime\u003dFalse for the first call and reboot\u003dTrue and realtime\u003dFalse for the second call?","commit_id":"d8ae19b5f3ea240b3964eb6ecca3e5ea672db2ab"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"c1617c78ca776fcdd444ea95e3f5ecd5fc0372ba","unresolved":false,"context_lines":[{"line_number":1516,"context_line":""},{"line_number":1517,"context_line":"            mock_commit_config.assert_has_calls("},{"line_number":1518,"context_line":"                [mock.call(mock.ANY, raid_controller\u003d\u0027AHCI.Slot.3-1\u0027,"},{"line_number":1519,"context_line":"                           reboot\u003dmock.ANY, realtime\u003dmock.ANY),"},{"line_number":1520,"context_line":"                 mock.call(mock.ANY, raid_controller\u003d\u0027RAID.Integrated.1-1\u0027,"},{"line_number":1521,"context_line":"                           reboot\u003dmock.ANY, realtime\u003dmock.ANY)],"},{"line_number":1522,"context_line":"                any_order\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_c92500ad","line":1519,"in_reply_to":"3fa7e38b_05dd5b6f","updated":"2019-09-23 13:05:51.000000000","message":"Done","commit_id":"d8ae19b5f3ea240b3964eb6ecca3e5ea672db2ab"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"ac6ad5d4564825071f83af904567ac4382a07fb4","unresolved":false,"context_lines":[{"line_number":1521,"context_line":"                           reboot\u003dmock.ANY, realtime\u003dmock.ANY)],"},{"line_number":1522,"context_line":"                any_order\u003dTrue)"},{"line_number":1523,"context_line":""},{"line_number":1524,"context_line":"        self.assertEqual(2, mock_commit_config.call_count)"},{"line_number":1525,"context_line":"        self.assertEqual(states.CLEANWAIT, return_value)"},{"line_number":1526,"context_line":"        self.node.refresh()"},{"line_number":1527,"context_line":"        self.assertEqual(expected_raid_config_params,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_c5bf43f9","line":1524,"updated":"2019-09-20 14:13:41.000000000","message":"nit: I don\u0027t think we need the above line since the prior assert_has_calls() makes sure it was called twice.","commit_id":"d8ae19b5f3ea240b3964eb6ecca3e5ea672db2ab"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"c1617c78ca776fcdd444ea95e3f5ecd5fc0372ba","unresolved":false,"context_lines":[{"line_number":1521,"context_line":"                           reboot\u003dmock.ANY, realtime\u003dmock.ANY)],"},{"line_number":1522,"context_line":"                any_order\u003dTrue)"},{"line_number":1523,"context_line":""},{"line_number":1524,"context_line":"        self.assertEqual(2, mock_commit_config.call_count)"},{"line_number":1525,"context_line":"        self.assertEqual(states.CLEANWAIT, return_value)"},{"line_number":1526,"context_line":"        self.node.refresh()"},{"line_number":1527,"context_line":"        self.assertEqual(expected_raid_config_params,"}],"source_content_type":"text/x-python","patch_set":13,"id":"3fa7e38b_893708e4","line":1524,"in_reply_to":"3fa7e38b_c5bf43f9","updated":"2019-09-23 13:05:51.000000000","message":"Done","commit_id":"d8ae19b5f3ea240b3964eb6ecca3e5ea672db2ab"}],"releasenotes/notes/fix-delete_configuration-with-multiple-controllers-06fc3fca94ba870f.yaml":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6ec9c0a7d20da8306a97f94f5421a4b4d2b0888e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    Fixed a bug in hardware type iDRAC, where configuration job for "},{"line_number":4,"context_line":"    ``delete_configuration`` cleaning step get executed first for the"},{"line_number":5,"context_line":"    controller which supports realtime w.r.t multiple controllers. "}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5faad753_f07b36bb","line":3,"range":{"start_line":3,"start_character":64,"end_line":3,"end_character":68},"updated":"2019-09-10 05:39:43.000000000","message":"Need to remove these extra spaces.","commit_id":"ee6f7f5c8c0e9ce79238136b2285faa43356324d"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6ec9c0a7d20da8306a97f94f5421a4b4d2b0888e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    Fixed a bug in hardware type iDRAC, where configuration job for "},{"line_number":4,"context_line":"    ``delete_configuration`` cleaning step get executed first for the"},{"line_number":5,"context_line":"    controller which supports realtime w.r.t multiple controllers. "}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5faad753_901a027b","line":4,"range":{"start_line":4,"start_character":29,"end_line":4,"end_character":37},"updated":"2019-09-10 05:39:43.000000000","message":"s/ cleaning / clean /","commit_id":"ee6f7f5c8c0e9ce79238136b2285faa43356324d"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6ec9c0a7d20da8306a97f94f5421a4b4d2b0888e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    Fixed a bug in hardware type iDRAC, where configuration job for "},{"line_number":4,"context_line":"    ``delete_configuration`` cleaning step get executed first for the"},{"line_number":5,"context_line":"    controller which supports realtime w.r.t multiple controllers. "}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5faad753_70498689","line":4,"range":{"start_line":4,"start_character":43,"end_line":4,"end_character":46},"updated":"2019-09-10 05:39:43.000000000","message":"s/ get / gets /","commit_id":"ee6f7f5c8c0e9ce79238136b2285faa43356324d"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6ec9c0a7d20da8306a97f94f5421a4b4d2b0888e","unresolved":false,"context_lines":[{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    Fixed a bug in hardware type iDRAC, where configuration job for "},{"line_number":4,"context_line":"    ``delete_configuration`` cleaning step get executed first for the"},{"line_number":5,"context_line":"    controller which supports realtime w.r.t multiple controllers. "}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5faad753_3020eeb0","line":5,"range":{"start_line":5,"start_character":39,"end_line":5,"end_character":65},"updated":"2019-09-10 05:39:43.000000000","message":"Can this be:\ns/ w.r.t multiple controllers/ when bare metal has multiple RAID controllers. /","commit_id":"ee6f7f5c8c0e9ce79238136b2285faa43356324d"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6ec9c0a7d20da8306a97f94f5421a4b4d2b0888e","unresolved":false,"context_lines":[{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    Fixed a bug in hardware type iDRAC, where configuration job for "},{"line_number":4,"context_line":"    ``delete_configuration`` cleaning step get executed first for the"},{"line_number":5,"context_line":"    controller which supports realtime w.r.t multiple controllers. "}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5faad753_b04ffe90","line":5,"range":{"start_line":5,"start_character":66,"end_line":5,"end_character":67},"updated":"2019-09-10 05:39:43.000000000","message":"Ditto. Also it would be useful to add link to the story.","commit_id":"ee6f7f5c8c0e9ce79238136b2285faa43356324d"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"6ec9c0a7d20da8306a97f94f5421a4b4d2b0888e","unresolved":false,"context_lines":[{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    Fixed a bug in hardware type iDRAC, where configuration job for "},{"line_number":4,"context_line":"    ``delete_configuration`` cleaning step get executed first for the"},{"line_number":5,"context_line":"    controller which supports realtime w.r.t multiple controllers. "}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5faad753_10605201","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":14},"updated":"2019-09-10 05:39:43.000000000","message":"s/ controller / RAID controller /","commit_id":"ee6f7f5c8c0e9ce79238136b2285faa43356324d"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"c2c6ffe32b70d565b8b8aadbc41b3ac4acbaafbf","unresolved":false,"context_lines":[{"line_number":3,"context_line":"    Fixed a bug in hardware type iDRAC, where configuration job for"},{"line_number":4,"context_line":"    ``delete_configuration`` clean step gets executed first for the"},{"line_number":5,"context_line":"    RAID controller which supports realtime when baremetal has"},{"line_number":6,"context_line":"    multiple controllers."},{"line_number":7,"context_line":"    See bug `2006502 https://storyboard.openstack.org/#!/story/2006502`"},{"line_number":8,"context_line":"    for details"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"3fa7e38b_3ea8d21d","line":6,"updated":"2019-09-18 15:51:31.000000000","message":"Can you update the above text to reflect the changes that I requested in the commit message?","commit_id":"d859fb16a33ae75d3cd028e43c250e0d532e0c32"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"5cba3b4a4753b51a42d188d96b0f20a300dfa689","unresolved":false,"context_lines":[{"line_number":3,"context_line":"    Fixed a bug in hardware type iDRAC, where configuration job for"},{"line_number":4,"context_line":"    ``delete_configuration`` clean step gets executed first for the"},{"line_number":5,"context_line":"    RAID controller which supports realtime when baremetal has"},{"line_number":6,"context_line":"    multiple controllers."},{"line_number":7,"context_line":"    See bug `2006502 https://storyboard.openstack.org/#!/story/2006502`"},{"line_number":8,"context_line":"    for details"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"3fa7e38b_93176352","line":6,"in_reply_to":"3fa7e38b_3ea8d21d","updated":"2019-09-19 19:14:15.000000000","message":"Done","commit_id":"d859fb16a33ae75d3cd028e43c250e0d532e0c32"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"ac6ad5d4564825071f83af904567ac4382a07fb4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    Fixed a bug in hardware type iDRAC, where a race condition can "},{"line_number":4,"context_line":"    occur on a host that has a mix of controllers where some supports"},{"line_number":5,"context_line":"    realtime mode and some do not. The approach is to use only realtime"},{"line_number":6,"context_line":"    mode if all controllers supports realtime.This removes the race"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"3fa7e38b_3803df75","line":3,"updated":"2019-09-20 14:13:41.000000000","message":"nit: Can you remove the trailing space on the above line?","commit_id":"d8ae19b5f3ea240b3964eb6ecca3e5ea672db2ab"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"c1617c78ca776fcdd444ea95e3f5ecd5fc0372ba","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    Fixed a bug in hardware type iDRAC, where a race condition can "},{"line_number":4,"context_line":"    occur on a host that has a mix of controllers where some supports"},{"line_number":5,"context_line":"    realtime mode and some do not. The approach is to use only realtime"},{"line_number":6,"context_line":"    mode if all controllers supports realtime.This removes the race"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"3fa7e38b_e94d5c72","line":3,"in_reply_to":"3fa7e38b_3803df75","updated":"2019-09-23 13:05:51.000000000","message":"Done","commit_id":"d8ae19b5f3ea240b3964eb6ecca3e5ea672db2ab"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"ac6ad5d4564825071f83af904567ac4382a07fb4","unresolved":false,"context_lines":[{"line_number":3,"context_line":"    Fixed a bug in hardware type iDRAC, where a race condition can "},{"line_number":4,"context_line":"    occur on a host that has a mix of controllers where some supports"},{"line_number":5,"context_line":"    realtime mode and some do not. The approach is to use only realtime"},{"line_number":6,"context_line":"    mode if all controllers supports realtime.This removes the race"},{"line_number":7,"context_line":"    condition."},{"line_number":8,"context_line":"    See bug `2006502 https://storyboard.openstack.org/#!/story/2006502`"},{"line_number":9,"context_line":"    for details"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"3fa7e38b_782e37fb","line":6,"updated":"2019-09-20 14:13:41.000000000","message":"nit: Can you add a space between the two sentences on the above line?","commit_id":"d8ae19b5f3ea240b3964eb6ecca3e5ea672db2ab"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"c1617c78ca776fcdd444ea95e3f5ecd5fc0372ba","unresolved":false,"context_lines":[{"line_number":3,"context_line":"    Fixed a bug in hardware type iDRAC, where a race condition can "},{"line_number":4,"context_line":"    occur on a host that has a mix of controllers where some supports"},{"line_number":5,"context_line":"    realtime mode and some do not. The approach is to use only realtime"},{"line_number":6,"context_line":"    mode if all controllers supports realtime.This removes the race"},{"line_number":7,"context_line":"    condition."},{"line_number":8,"context_line":"    See bug `2006502 https://storyboard.openstack.org/#!/story/2006502`"},{"line_number":9,"context_line":"    for details"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"3fa7e38b_0951d80e","line":6,"in_reply_to":"3fa7e38b_782e37fb","updated":"2019-09-23 13:05:51.000000000","message":"Done","commit_id":"d8ae19b5f3ea240b3964eb6ecca3e5ea672db2ab"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"c9decb3f13cc529d5535e452570f0fea5890ea4f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    Fixed a bug in hardware type iDRAC, where a race condition can"},{"line_number":4,"context_line":"    occur on a host that has a mix of controllers where some supports"},{"line_number":5,"context_line":"    realtime mode and some do not. The approach is to use only realtime"},{"line_number":6,"context_line":"    mode if all controllers supports realtime. This removes the race"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3fa7e38b_78cd3bb5","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":9},"updated":"2019-09-30 15:02:10.000000000","message":"nit: Fixes","commit_id":"88e3c987e5270a58b661af61ecf61379bbde6b8c"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"c9decb3f13cc529d5535e452570f0fea5890ea4f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    Fixed a bug in hardware type iDRAC, where a race condition can"},{"line_number":4,"context_line":"    occur on a host that has a mix of controllers where some supports"},{"line_number":5,"context_line":"    realtime mode and some do not. The approach is to use only realtime"},{"line_number":6,"context_line":"    mode if all controllers supports realtime. This removes the race"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3fa7e38b_f8b84b11","line":3,"range":{"start_line":3,"start_character":38,"end_line":3,"end_character":39},"updated":"2019-09-30 15:02:10.000000000","message":"nit: no need for comma here","commit_id":"88e3c987e5270a58b661af61ecf61379bbde6b8c"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"c9decb3f13cc529d5535e452570f0fea5890ea4f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    Fixed a bug in hardware type iDRAC, where a race condition can"},{"line_number":4,"context_line":"    occur on a host that has a mix of controllers where some supports"},{"line_number":5,"context_line":"    realtime mode and some do not. The approach is to use only realtime"},{"line_number":6,"context_line":"    mode if all controllers supports realtime. This removes the race"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3fa7e38b_d8bd4f02","line":3,"range":{"start_line":3,"start_character":19,"end_line":3,"end_character":38},"updated":"2019-09-30 15:02:10.000000000","message":"the ``idrac`` hardware type","commit_id":"88e3c987e5270a58b661af61ecf61379bbde6b8c"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"8fc56eeb1fb1e4022d477c0136bd35a48d70cc03","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    Fixed a bug in hardware type iDRAC, where a race condition can"},{"line_number":4,"context_line":"    occur on a host that has a mix of controllers where some supports"},{"line_number":5,"context_line":"    realtime mode and some do not. The approach is to use only realtime"},{"line_number":6,"context_line":"    mode if all controllers supports realtime. This removes the race"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3fa7e38b_73a9b58e","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":9},"in_reply_to":"3fa7e38b_78cd3bb5","updated":"2019-10-02 17:16:45.000000000","message":"Done","commit_id":"88e3c987e5270a58b661af61ecf61379bbde6b8c"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"8fc56eeb1fb1e4022d477c0136bd35a48d70cc03","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    Fixed a bug in hardware type iDRAC, where a race condition can"},{"line_number":4,"context_line":"    occur on a host that has a mix of controllers where some supports"},{"line_number":5,"context_line":"    realtime mode and some do not. The approach is to use only realtime"},{"line_number":6,"context_line":"    mode if all controllers supports realtime. This removes the race"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3fa7e38b_93aeb196","line":3,"range":{"start_line":3,"start_character":19,"end_line":3,"end_character":38},"in_reply_to":"3fa7e38b_d8bd4f02","updated":"2019-10-02 17:16:45.000000000","message":"done","commit_id":"88e3c987e5270a58b661af61ecf61379bbde6b8c"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"8fc56eeb1fb1e4022d477c0136bd35a48d70cc03","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    Fixed a bug in hardware type iDRAC, where a race condition can"},{"line_number":4,"context_line":"    occur on a host that has a mix of controllers where some supports"},{"line_number":5,"context_line":"    realtime mode and some do not. The approach is to use only realtime"},{"line_number":6,"context_line":"    mode if all controllers supports realtime. This removes the race"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3fa7e38b_5390394f","line":3,"range":{"start_line":3,"start_character":38,"end_line":3,"end_character":39},"in_reply_to":"3fa7e38b_f8b84b11","updated":"2019-10-02 17:16:45.000000000","message":"Done","commit_id":"88e3c987e5270a58b661af61ecf61379bbde6b8c"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"c9decb3f13cc529d5535e452570f0fea5890ea4f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    Fixed a bug in hardware type iDRAC, where a race condition can"},{"line_number":4,"context_line":"    occur on a host that has a mix of controllers where some supports"},{"line_number":5,"context_line":"    realtime mode and some do not. The approach is to use only realtime"},{"line_number":6,"context_line":"    mode if all controllers supports realtime. This removes the race"},{"line_number":7,"context_line":"    condition."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3fa7e38b_b83c1393","line":4,"range":{"start_line":4,"start_character":61,"end_line":4,"end_character":69},"updated":"2019-09-30 15:02:10.000000000","message":"support","commit_id":"88e3c987e5270a58b661af61ecf61379bbde6b8c"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"8fc56eeb1fb1e4022d477c0136bd35a48d70cc03","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fixes:"},{"line_number":2,"context_line":"  - |"},{"line_number":3,"context_line":"    Fixed a bug in hardware type iDRAC, where a race condition can"},{"line_number":4,"context_line":"    occur on a host that has a mix of controllers where some supports"},{"line_number":5,"context_line":"    realtime mode and some do not. The approach is to use only realtime"},{"line_number":6,"context_line":"    mode if all controllers supports realtime. This removes the race"},{"line_number":7,"context_line":"    condition."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3fa7e38b_f39cc56b","line":4,"range":{"start_line":4,"start_character":61,"end_line":4,"end_character":69},"in_reply_to":"3fa7e38b_b83c1393","updated":"2019-10-02 17:16:45.000000000","message":"Done","commit_id":"88e3c987e5270a58b661af61ecf61379bbde6b8c"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"c9decb3f13cc529d5535e452570f0fea5890ea4f","unresolved":false,"context_lines":[{"line_number":3,"context_line":"    Fixed a bug in hardware type iDRAC, where a race condition can"},{"line_number":4,"context_line":"    occur on a host that has a mix of controllers where some supports"},{"line_number":5,"context_line":"    realtime mode and some do not. The approach is to use only realtime"},{"line_number":6,"context_line":"    mode if all controllers supports realtime. This removes the race"},{"line_number":7,"context_line":"    condition."},{"line_number":8,"context_line":"    See bug `2006502 https://storyboard.openstack.org/#!/story/2006502`"},{"line_number":9,"context_line":"    for details"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3fa7e38b_58587ff8","line":6,"range":{"start_line":6,"start_character":28,"end_line":6,"end_character":36},"updated":"2019-09-30 15:02:10.000000000","message":"support","commit_id":"88e3c987e5270a58b661af61ecf61379bbde6b8c"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"8fc56eeb1fb1e4022d477c0136bd35a48d70cc03","unresolved":false,"context_lines":[{"line_number":3,"context_line":"    Fixed a bug in hardware type iDRAC, where a race condition can"},{"line_number":4,"context_line":"    occur on a host that has a mix of controllers where some supports"},{"line_number":5,"context_line":"    realtime mode and some do not. The approach is to use only realtime"},{"line_number":6,"context_line":"    mode if all controllers supports realtime. This removes the race"},{"line_number":7,"context_line":"    condition."},{"line_number":8,"context_line":"    See bug `2006502 https://storyboard.openstack.org/#!/story/2006502`"},{"line_number":9,"context_line":"    for details"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3fa7e38b_139ac16d","line":6,"range":{"start_line":6,"start_character":28,"end_line":6,"end_character":36},"in_reply_to":"3fa7e38b_58587ff8","updated":"2019-10-02 17:16:45.000000000","message":"Done","commit_id":"88e3c987e5270a58b661af61ecf61379bbde6b8c"}]}
