)]}'
{"ironic/drivers/modules/drac/raid.py":[{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"b17906b97f4511002a444898c8b52ee7635093fa","unresolved":false,"context_lines":[{"line_number":321,"context_line":"    be created."},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"    :param node: an ironic node object."},{"line_number":324,"context_line":"    :param controller_fqdd: the FQDD of the RAID setting."},{"line_number":325,"context_line":"    :param settings: a dictionary containing the proposed values, with"},{"line_number":326,"context_line":"                     each key being the name of attribute and the value"},{"line_number":327,"context_line":"                     being the proposed value."}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_6b5bb453","line":324,"updated":"2020-05-26 21:44:34.000000000","message":"nit: can you replace \"setting\" with \"controller\" in the line above?","commit_id":"4d465d866db8d1fa8bf55ae172bdec2c32e7594f"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"b0f594ea7161a03ba97af825f30376c67d3ee6e1","unresolved":false,"context_lines":[{"line_number":321,"context_line":"    be created."},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"    :param node: an ironic node object."},{"line_number":324,"context_line":"    :param controller_fqdd: the FQDD of the RAID setting."},{"line_number":325,"context_line":"    :param settings: a dictionary containing the proposed values, with"},{"line_number":326,"context_line":"                     each key being the name of attribute and the value"},{"line_number":327,"context_line":"                     being the proposed value."}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_3ffd68b1","line":324,"in_reply_to":"ff570b3c_6b5bb453","updated":"2020-06-03 18:26:11.000000000","message":"Sure","commit_id":"4d465d866db8d1fa8bf55ae172bdec2c32e7594f"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"b17906b97f4511002a444898c8b52ee7635093fa","unresolved":false,"context_lines":[{"line_number":359,"context_line":""},{"line_number":360,"context_line":"    :param node: an ironic node object."},{"line_number":361,"context_line":"    :returns: a dictionary with the RAID settings using InstanceID as the"},{"line_number":362,"context_line":"              key. The attributes are either RAIDEnumerableAttribute,"},{"line_number":363,"context_line":"              RAIDStringAttribute and RAIDIntegerAttribute objects."},{"line_number":364,"context_line":"    :raises: WSManRequestFailure on request failures"},{"line_number":365,"context_line":"    :raises: WSManInvalidResponse when receiving invalid response"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_3ae90480","line":362,"updated":"2020-05-26 21:44:34.000000000","message":"Nit: Can you remove the word \"either\" above?","commit_id":"4d465d866db8d1fa8bf55ae172bdec2c32e7594f"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"b0f594ea7161a03ba97af825f30376c67d3ee6e1","unresolved":false,"context_lines":[{"line_number":359,"context_line":""},{"line_number":360,"context_line":"    :param node: an ironic node object."},{"line_number":361,"context_line":"    :returns: a dictionary with the RAID settings using InstanceID as the"},{"line_number":362,"context_line":"              key. The attributes are either RAIDEnumerableAttribute,"},{"line_number":363,"context_line":"              RAIDStringAttribute and RAIDIntegerAttribute objects."},{"line_number":364,"context_line":"    :raises: WSManRequestFailure on request failures"},{"line_number":365,"context_line":"    :raises: WSManInvalidResponse when receiving invalid response"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_9f2d9448","line":362,"in_reply_to":"ff570b3c_3ae90480","updated":"2020-06-03 18:26:11.000000000","message":"Sure","commit_id":"4d465d866db8d1fa8bf55ae172bdec2c32e7594f"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"b17906b97f4511002a444898c8b52ee7635093fa","unresolved":false,"context_lines":[{"line_number":1025,"context_line":"            if \u0027is_ehba_mode\u0027 in controller and controller[\u0027is_ehba_mode\u0027]:"},{"line_number":1026,"context_line":"                ehba_controller \u003d _switch_to_raid_mode("},{"line_number":1027,"context_line":"                    node, controller[\u0027raid_controller\u0027])"},{"line_number":1028,"context_line":"                reboot \u003d (controller \u003d\u003d controllers[-1])"},{"line_number":1029,"context_line":"                job_details \u003d _create_config_job("},{"line_number":1030,"context_line":"                    node, controller\u003dehba_controller[\u0027raid_controller\u0027],"},{"line_number":1031,"context_line":"                    reboot\u003dreboot, realtime\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_224a76ab","line":1028,"updated":"2020-05-26 21:44:34.000000000","message":"Setting reboot this way above will only have a correct result if the last controller supports EHBA mode, and it is currently in EHBA mode.  If the last controller doesn\u0027t support EHBA mode, then this \"if\" clause will never be entered and reboot will never be set to True.  This will result in the pending jobs to switch to RAID mode never running.\n\nreboot should be set to True for the last controller that needs to be switched to RAID mode.  Unfortunately, we can\u0027t know that when we\u0027re in the middle of processing the controller list, so it looks like we will need to calculate that outside of this \"for\" loop.","commit_id":"4d465d866db8d1fa8bf55ae172bdec2c32e7594f"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"b0f594ea7161a03ba97af825f30376c67d3ee6e1","unresolved":false,"context_lines":[{"line_number":1025,"context_line":"            if \u0027is_ehba_mode\u0027 in controller and controller[\u0027is_ehba_mode\u0027]:"},{"line_number":1026,"context_line":"                ehba_controller \u003d _switch_to_raid_mode("},{"line_number":1027,"context_line":"                    node, controller[\u0027raid_controller\u0027])"},{"line_number":1028,"context_line":"                reboot \u003d (controller \u003d\u003d controllers[-1])"},{"line_number":1029,"context_line":"                job_details \u003d _create_config_job("},{"line_number":1030,"context_line":"                    node, controller\u003dehba_controller[\u0027raid_controller\u0027],"},{"line_number":1031,"context_line":"                    reboot\u003dreboot, realtime\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_df0d4c91","line":1028,"in_reply_to":"ff570b3c_224a76ab","updated":"2020-06-03 18:26:11.000000000","message":"You are right Chris. Let say we have two controllers:\n 1. Controller in EHBA mode\n 2. Controller in RAID mode\nThen at line-1028 reboot will only be True for last controller. which is wrong.\nSo considering the condition, i have change the implementation and it will only create configuration job for the realtime controllers and none of them are in ehba mode","commit_id":"4d465d866db8d1fa8bf55ae172bdec2c32e7594f"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"b17906b97f4511002a444898c8b52ee7635093fa","unresolved":false,"context_lines":[{"line_number":1031,"context_line":"                    reboot\u003dreboot, realtime\u003dFalse,"},{"line_number":1032,"context_line":"                    raid_config_job_ids\u003draid_config_job_ids)"},{"line_number":1033,"context_line":""},{"line_number":1034,"context_line":"    elif any_ehba_controllers:"},{"line_number":1035,"context_line":"        for controller in any_ehba_controllers:"},{"line_number":1036,"context_line":"            mix_controller \u003d controller[\u0027raid_controller\u0027]"},{"line_number":1037,"context_line":"            reboot \u003d (controller \u003d\u003d controllers[-1])"},{"line_number":1038,"context_line":"            realtime \u003d controller[\u0027is_reboot_required\u0027] \u003d\u003d optional"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_85270cb7","line":1035,"range":{"start_line":1034,"start_character":0,"end_line":1035,"end_character":47},"updated":"2020-05-26 21:44:34.000000000","message":"I don\u0027t think this is quite right.  This \"elif\" clause handles the case where not all controllers support realtime and at least one of them needs to switched from EHBA mode to RAID mode.  By looping through the controllers that need to be switched, we will never create config jobs for those controllers that do not need to be switched from EHBA mode to RAID mode.  Instead, I think we should loop through all controllers above.\nNote that the line that calculates reboot below will also not work unless the last controller in controllers also happens to need to be switch to RAID mode.  This will be fixed if we loop through controllers instead of any_ehba_controllers.","commit_id":"4d465d866db8d1fa8bf55ae172bdec2c32e7594f"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"b0f594ea7161a03ba97af825f30376c67d3ee6e1","unresolved":false,"context_lines":[{"line_number":1031,"context_line":"                    reboot\u003dreboot, realtime\u003dFalse,"},{"line_number":1032,"context_line":"                    raid_config_job_ids\u003draid_config_job_ids)"},{"line_number":1033,"context_line":""},{"line_number":1034,"context_line":"    elif any_ehba_controllers:"},{"line_number":1035,"context_line":"        for controller in any_ehba_controllers:"},{"line_number":1036,"context_line":"            mix_controller \u003d controller[\u0027raid_controller\u0027]"},{"line_number":1037,"context_line":"            reboot \u003d (controller \u003d\u003d controllers[-1])"},{"line_number":1038,"context_line":"            realtime \u003d controller[\u0027is_reboot_required\u0027] \u003d\u003d optional"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_1c863267","line":1035,"range":{"start_line":1034,"start_character":0,"end_line":1035,"end_character":47},"in_reply_to":"ff570b3c_85270cb7","updated":"2020-06-03 18:26:11.000000000","message":"Right. This could break the feature when we have RAID controller in raid mode and BOSS controller. I have changed the `any_ehba_controllers` condition as it will have the any controllers but atleast one ehba controller will exist. So it will only create single reboot job for the (last)ehba controller.","commit_id":"4d465d866db8d1fa8bf55ae172bdec2c32e7594f"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"b17906b97f4511002a444898c8b52ee7635093fa","unresolved":false,"context_lines":[{"line_number":1046,"context_line":"                    node, controller[\u0027raid_controller\u0027])"},{"line_number":1047,"context_line":"                job_details \u003d _create_config_job("},{"line_number":1048,"context_line":"                    node, controller\u003dehba_controller[\u0027raid_controller\u0027],"},{"line_number":1049,"context_line":"                    reboot\u003dFalse, realtime\u003dFalse,"},{"line_number":1050,"context_line":"                    raid_config_job_ids\u003draid_config_job_ids)"},{"line_number":1051,"context_line":""},{"line_number":1052,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_45bfb4fa","line":1049,"updated":"2020-05-26 21:44:34.000000000","message":"I\u0027m not quite sure if this is right.  Say the controller supports realtime mode and it needs to be switched to RAID mode.  In that case, the 1st call to _create_config_job will pass reboot\u003dFalse, and the call to _create_config_job above will also pass reboot\u003dFalse.  That said, we know that there is at least one controller that does not support realtime mode, so reboot will be passed as True at some point in the first call.  Is this one reboot sufficient, or should reboot be passed as True in the line above if the controller does not support realtime mode and it needs to be switched to RAID mode?","commit_id":"4d465d866db8d1fa8bf55ae172bdec2c32e7594f"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"b0f594ea7161a03ba97af825f30376c67d3ee6e1","unresolved":false,"context_lines":[{"line_number":1046,"context_line":"                    node, controller[\u0027raid_controller\u0027])"},{"line_number":1047,"context_line":"                job_details \u003d _create_config_job("},{"line_number":1048,"context_line":"                    node, controller\u003dehba_controller[\u0027raid_controller\u0027],"},{"line_number":1049,"context_line":"                    reboot\u003dFalse, realtime\u003dFalse,"},{"line_number":1050,"context_line":"                    raid_config_job_ids\u003draid_config_job_ids)"},{"line_number":1051,"context_line":""},{"line_number":1052,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_fcd6de4e","line":1049,"in_reply_to":"ff570b3c_45bfb4fa","updated":"2020-06-03 18:26:11.000000000","message":"Yes one reboot is sufficient if we have more than one controller. and in this condition(any_ehba_controllers) it will not create configuration job based on realtime.","commit_id":"4d465d866db8d1fa8bf55ae172bdec2c32e7594f"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"b17906b97f4511002a444898c8b52ee7635093fa","unresolved":false,"context_lines":[{"line_number":1058,"context_line":"                reboot\u003dreboot, realtime\u003dFalse,"},{"line_number":1059,"context_line":"                raid_config_job_ids\u003draid_config_job_ids,"},{"line_number":1060,"context_line":"                raid_config_parameters\u003draid_config_parameters)"},{"line_number":1061,"context_line":"            if controller[\u0027is_ehba_mode\u0027]:"},{"line_number":1062,"context_line":"                ehba_controller \u003d _switch_to_raid_mode("},{"line_number":1063,"context_line":"                    node, mix_controller[\u0027raid_controller\u0027])"},{"line_number":1064,"context_line":"                job_details \u003d _create_config_job("},{"line_number":1065,"context_line":"                    controller\u003dehba_controller[\u0027raid_controller\u0027],"},{"line_number":1066,"context_line":"                    reboot\u003dFalse, realtime\u003dFalse,"},{"line_number":1067,"context_line":"                    raid_config_job_ids\u003draid_config_job_ids)"},{"line_number":1068,"context_line":""},{"line_number":1069,"context_line":"    driver_internal_info[\u0027raid_config_job_ids\u0027].extend(job_details["},{"line_number":1070,"context_line":"        \u0027raid_config_job_ids\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_e2599e5b","line":1067,"range":{"start_line":1061,"start_character":0,"end_line":1067,"end_character":60},"updated":"2020-05-26 21:44:34.000000000","message":"I don\u0027t think we need this new code.  This \"else\" clause handles the case where not all the controllers support realtime mode AND any_ehba_controllers\u003d\u003dFalse, which means that none of the controllers need to be switched to RAID mode.","commit_id":"4d465d866db8d1fa8bf55ae172bdec2c32e7594f"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"b0f594ea7161a03ba97af825f30376c67d3ee6e1","unresolved":false,"context_lines":[{"line_number":1058,"context_line":"                reboot\u003dreboot, realtime\u003dFalse,"},{"line_number":1059,"context_line":"                raid_config_job_ids\u003draid_config_job_ids,"},{"line_number":1060,"context_line":"                raid_config_parameters\u003draid_config_parameters)"},{"line_number":1061,"context_line":"            if controller[\u0027is_ehba_mode\u0027]:"},{"line_number":1062,"context_line":"                ehba_controller \u003d _switch_to_raid_mode("},{"line_number":1063,"context_line":"                    node, mix_controller[\u0027raid_controller\u0027])"},{"line_number":1064,"context_line":"                job_details \u003d _create_config_job("},{"line_number":1065,"context_line":"                    controller\u003dehba_controller[\u0027raid_controller\u0027],"},{"line_number":1066,"context_line":"                    reboot\u003dFalse, realtime\u003dFalse,"},{"line_number":1067,"context_line":"                    raid_config_job_ids\u003draid_config_job_ids)"},{"line_number":1068,"context_line":""},{"line_number":1069,"context_line":"    driver_internal_info[\u0027raid_config_job_ids\u0027].extend(job_details["},{"line_number":1070,"context_line":"        \u0027raid_config_job_ids\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_360b8d2a","line":1067,"range":{"start_line":1061,"start_character":0,"end_line":1067,"end_character":60},"in_reply_to":"ff570b3c_e2599e5b","updated":"2020-06-03 18:26:11.000000000","message":"Yes you are right, this code block does not belong to this condition.Dont known why i added it here.Removed","commit_id":"4d465d866db8d1fa8bf55ae172bdec2c32e7594f"},{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"2555a5b6ba0ae251d1a9d280c48a812a68d6b3ca","unresolved":false,"context_lines":[{"line_number":1127,"context_line":""},{"line_number":1128,"context_line":"    if _EHBA_MODE in controller_mode.current_value:"},{"line_number":1129,"context_line":"        return True"},{"line_number":1130,"context_line":"    else:"},{"line_number":1131,"context_line":"        return False"},{"line_number":1132,"context_line":""},{"line_number":1133,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_4de1abfe","line":1130,"range":{"start_line":1130,"start_character":0,"end_line":1130,"end_character":4},"updated":"2020-05-26 11:43:10.000000000","message":"can be re-written as.\n\nIf _EHBA_MODE in controller_mode.current_value:\n    return True\nreturn False","commit_id":"4d465d866db8d1fa8bf55ae172bdec2c32e7594f"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"83d68409129786ebb5cf194ba1caf465923fd9d9","unresolved":false,"context_lines":[{"line_number":1006,"context_line":""},{"line_number":1007,"context_line":"    optional \u003d drac_constants.RebootRequired.optional"},{"line_number":1008,"context_line":"    all_realtime \u003d all(cntlr[\u0027is_reboot_required\u0027] \u003d\u003d optional"},{"line_number":1009,"context_line":"                       for cntlr in controllers)"},{"line_number":1010,"context_line":""},{"line_number":1011,"context_line":"    # all realtime controllers"},{"line_number":1012,"context_line":"    all_realtime \u003d all([(cntlr[\u0027is_reboot_required\u0027] \u003d\u003d optional) and not("}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_5107c482","line":1009,"updated":"2020-06-05 20:51:11.000000000","message":"Looks like the above 2 lines should be removed","commit_id":"36c49692edee601088049abc89874e007265e706"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"802712bf13a13a7da9fb9a1996831793cce8254d","unresolved":false,"context_lines":[{"line_number":321,"context_line":"    be created."},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"    :param node: an ironic node object."},{"line_number":324,"context_line":"    :param controller_fqdd: the FQDD of the RAID controller."},{"line_number":325,"context_line":"    :param settings: a dictionary containing the proposed values, with"},{"line_number":326,"context_line":"                     each key being the name of attribute and the value"},{"line_number":327,"context_line":"                     being the proposed value."}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_36ba4a09","line":324,"updated":"2020-06-23 22:09:03.000000000","message":"fqdd?","commit_id":"5959405d17a2fc82a3984cb07c6cc205ca7ce4f2"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"e604847378b0a8da5087d53224d705865029f7b1","unresolved":false,"context_lines":[{"line_number":321,"context_line":"    be created."},{"line_number":322,"context_line":""},{"line_number":323,"context_line":"    :param node: an ironic node object."},{"line_number":324,"context_line":"    :param controller_fqdd: the FQDD of the RAID controller."},{"line_number":325,"context_line":"    :param settings: a dictionary containing the proposed values, with"},{"line_number":326,"context_line":"                     each key being the name of attribute and the value"},{"line_number":327,"context_line":"                     being the proposed value."}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_9a4d2240","line":324,"in_reply_to":"bf51134e_36ba4a09","updated":"2020-06-25 07:41:33.000000000","message":"Changed to ID.","commit_id":"5959405d17a2fc82a3984cb07c6cc205ca7ce4f2"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"e1f4bcd3bcf8a4b5a6acc8c956cb7da47f4b8060","unresolved":false,"context_lines":[{"line_number":332,"context_line":"              - The is_reboot_required key with a RebootRequired enumerated"},{"line_number":333,"context_line":"              value indicating whether the server must be rebooted for the"},{"line_number":334,"context_line":"              values to be applied. Possible values are true and false."},{"line_number":335,"context_line":"    :raises: WSManRequestFailure on request failures"},{"line_number":336,"context_line":"    :raises: WSManInvalidResponse when receiving invalid response"},{"line_number":337,"context_line":"    :raises: DRACOperationFailed on error reported back by the DRAC"},{"line_number":338,"context_line":"             interface"},{"line_number":339,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_c511925f","line":336,"range":{"start_line":335,"start_character":4,"end_line":336,"end_character":65},"updated":"2020-06-24 07:32:41.000000000","message":"These exceptions needs to be handled and DracOperationError should be raised.","commit_id":"5959405d17a2fc82a3984cb07c6cc205ca7ce4f2"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"e604847378b0a8da5087d53224d705865029f7b1","unresolved":false,"context_lines":[{"line_number":332,"context_line":"              - The is_reboot_required key with a RebootRequired enumerated"},{"line_number":333,"context_line":"              value indicating whether the server must be rebooted for the"},{"line_number":334,"context_line":"              values to be applied. Possible values are true and false."},{"line_number":335,"context_line":"    :raises: WSManRequestFailure on request failures"},{"line_number":336,"context_line":"    :raises: WSManInvalidResponse when receiving invalid response"},{"line_number":337,"context_line":"    :raises: DRACOperationFailed on error reported back by the DRAC"},{"line_number":338,"context_line":"             interface"},{"line_number":339,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_1a63d2b3","line":336,"range":{"start_line":335,"start_character":4,"end_line":336,"end_character":65},"in_reply_to":"bf51134e_c511925f","updated":"2020-06-25 07:41:33.000000000","message":"Removed above exceptions as DracOperationError is already handled and raised.","commit_id":"5959405d17a2fc82a3984cb07c6cc205ca7ce4f2"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"e1f4bcd3bcf8a4b5a6acc8c956cb7da47f4b8060","unresolved":false,"context_lines":[{"line_number":361,"context_line":"    :returns: a dictionary with the RAID settings using InstanceID as the"},{"line_number":362,"context_line":"              key. The attributes are RAIDEnumerableAttribute,"},{"line_number":363,"context_line":"              RAIDStringAttribute and RAIDIntegerAttribute objects."},{"line_number":364,"context_line":"    :raises: WSManRequestFailure on request failures"},{"line_number":365,"context_line":"    :raises: WSManInvalidResponse when receiving invalid response"},{"line_number":366,"context_line":"    :raises: DRACOperationFailed on error reported back by the DRAC"},{"line_number":367,"context_line":"             interface"},{"line_number":368,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_050f0a37","line":365,"range":{"start_line":364,"start_character":4,"end_line":365,"end_character":65},"updated":"2020-06-24 07:32:41.000000000","message":"ditto","commit_id":"5959405d17a2fc82a3984cb07c6cc205ca7ce4f2"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"e604847378b0a8da5087d53224d705865029f7b1","unresolved":false,"context_lines":[{"line_number":361,"context_line":"    :returns: a dictionary with the RAID settings using InstanceID as the"},{"line_number":362,"context_line":"              key. The attributes are RAIDEnumerableAttribute,"},{"line_number":363,"context_line":"              RAIDStringAttribute and RAIDIntegerAttribute objects."},{"line_number":364,"context_line":"    :raises: WSManRequestFailure on request failures"},{"line_number":365,"context_line":"    :raises: WSManInvalidResponse when receiving invalid response"},{"line_number":366,"context_line":"    :raises: DRACOperationFailed on error reported back by the DRAC"},{"line_number":367,"context_line":"             interface"},{"line_number":368,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_5a59cafb","line":365,"range":{"start_line":364,"start_character":4,"end_line":365,"end_character":65},"in_reply_to":"bf51134e_050f0a37","updated":"2020-06-25 07:41:33.000000000","message":"Removed above exceptions as DracOperationError is already handled and raised.","commit_id":"5959405d17a2fc82a3984cb07c6cc205ca7ce4f2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"802712bf13a13a7da9fb9a1996831793cce8254d","unresolved":false,"context_lines":[{"line_number":946,"context_line":"    return logical_disks"},{"line_number":947,"context_line":""},{"line_number":948,"context_line":""},{"line_number":949,"context_line":"def _switch_to_raid_mode(node, controller_fqdd):"},{"line_number":950,"context_line":"    # wait for pending jobs to complete"},{"line_number":951,"context_line":"    drac_job.wait_for_job_completion(node)"},{"line_number":952,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_d63e6e89","line":949,"updated":"2020-06-23 22:09:03.000000000","message":"A docstring would still be a nice addition, even though it is not required.","commit_id":"5959405d17a2fc82a3984cb07c6cc205ca7ce4f2"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"e604847378b0a8da5087d53224d705865029f7b1","unresolved":false,"context_lines":[{"line_number":946,"context_line":"    return logical_disks"},{"line_number":947,"context_line":""},{"line_number":948,"context_line":""},{"line_number":949,"context_line":"def _switch_to_raid_mode(node, controller_fqdd):"},{"line_number":950,"context_line":"    # wait for pending jobs to complete"},{"line_number":951,"context_line":"    drac_job.wait_for_job_completion(node)"},{"line_number":952,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_3a5cd6eb","line":949,"in_reply_to":"bf51134e_d63e6e89","updated":"2020-06-25 07:41:33.000000000","message":"Added.. Thanks","commit_id":"5959405d17a2fc82a3984cb07c6cc205ca7ce4f2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"6411d3e380fa9efb0f7f71254c5fe9916cc0f7de","unresolved":false,"context_lines":[{"line_number":944,"context_line":""},{"line_number":945,"context_line":"def _switch_to_raid_mode(node, controller_fqdd):"},{"line_number":946,"context_line":"    \"\"\"Convert the controller mode from Enhanced HBA to RAID mode"},{"line_number":947,"context_line":"    "},{"line_number":948,"context_line":"    :param node: an ironic node object"},{"line_number":949,"context_line":"    :param controller_fqdd: the ID of the RAID controller."},{"line_number":950,"context_line":"    :returns: a dictionary containing"}],"source_content_type":"text/x-python","patch_set":4,"id":"bf51134e_2d114205","line":947,"updated":"2020-06-25 09:03:39.000000000","message":"pep8: W293 blank line contains whitespace","commit_id":"690985786033ca2dce592c847f4dbd6c45c43509"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"47bcc5f987a308985f439577446320ff1100ece3","unresolved":false,"context_lines":[{"line_number":960,"context_line":"    # wait for pending jobs to complete"},{"line_number":961,"context_line":"    drac_job.wait_for_job_completion(node)"},{"line_number":962,"context_line":""},{"line_number":963,"context_line":"    raid_attr \u003d \"{}:RAIDRequestedControllerMode\".format(controller_fqdd)"},{"line_number":964,"context_line":"    settings \u003d {raid_attr: \u0027RAID\u0027}"},{"line_number":965,"context_line":"    settings_results \u003d set_raid_settings("},{"line_number":966,"context_line":"        node, controller_fqdd, settings)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_074992b5","line":963,"range":{"start_line":963,"start_character":20,"end_line":963,"end_character":47},"updated":"2020-06-29 08:53:37.000000000","message":"nit: Convert to a constant (you use a similar constant below)?","commit_id":"1fd00910f98d743f6ce21cb175c896cda205084b"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"ee1b2ff2da2f4206dcca3c43d6331bd24b12d83d","unresolved":false,"context_lines":[{"line_number":960,"context_line":"    # wait for pending jobs to complete"},{"line_number":961,"context_line":"    drac_job.wait_for_job_completion(node)"},{"line_number":962,"context_line":""},{"line_number":963,"context_line":"    raid_attr \u003d \"{}:RAIDRequestedControllerMode\".format(controller_fqdd)"},{"line_number":964,"context_line":"    settings \u003d {raid_attr: \u0027RAID\u0027}"},{"line_number":965,"context_line":"    settings_results \u003d set_raid_settings("},{"line_number":966,"context_line":"        node, controller_fqdd, settings)"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_0d01b3af","line":963,"range":{"start_line":963,"start_character":20,"end_line":963,"end_character":47},"in_reply_to":"bf51134e_074992b5","updated":"2020-06-29 10:36:59.000000000","message":"Done.. Thanks.!","commit_id":"1fd00910f98d743f6ce21cb175c896cda205084b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"47bcc5f987a308985f439577446320ff1100ece3","unresolved":false,"context_lines":[{"line_number":1018,"context_line":""},{"line_number":1019,"context_line":"    # all realtime controllers"},{"line_number":1020,"context_line":"    all_realtime \u003d all([(cntlr[\u0027is_reboot_required\u0027] \u003d\u003d optional) and not("},{"line_number":1021,"context_line":"        cntlr.get(\u0027is_ehba_mode\u0027)) for cntlr in controllers])"},{"line_number":1022,"context_line":""},{"line_number":1023,"context_line":"    # check any controller with ehba mode"},{"line_number":1024,"context_line":"    any_ehba_controllers \u003d any("}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_c752fa66","line":1021,"updated":"2020-06-29 08:53:37.000000000","message":"nit: square brackets not needed\n\nI\u0027d also split it somehow else to increase readability\n\n all_realtime \u003d all(\n     ...\n     and not ...\n     for ...\n )","commit_id":"1fd00910f98d743f6ce21cb175c896cda205084b"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"ee1b2ff2da2f4206dcca3c43d6331bd24b12d83d","unresolved":false,"context_lines":[{"line_number":1018,"context_line":""},{"line_number":1019,"context_line":"    # all realtime controllers"},{"line_number":1020,"context_line":"    all_realtime \u003d all([(cntlr[\u0027is_reboot_required\u0027] \u003d\u003d optional) and not("},{"line_number":1021,"context_line":"        cntlr.get(\u0027is_ehba_mode\u0027)) for cntlr in controllers])"},{"line_number":1022,"context_line":""},{"line_number":1023,"context_line":"    # check any controller with ehba mode"},{"line_number":1024,"context_line":"    any_ehba_controllers \u003d any("}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_4d30cb9f","line":1021,"in_reply_to":"bf51134e_c752fa66","updated":"2020-06-29 10:36:59.000000000","message":"Done.. Thanks.!","commit_id":"1fd00910f98d743f6ce21cb175c896cda205084b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"47bcc5f987a308985f439577446320ff1100ece3","unresolved":false,"context_lines":[{"line_number":1022,"context_line":""},{"line_number":1023,"context_line":"    # check any controller with ehba mode"},{"line_number":1024,"context_line":"    any_ehba_controllers \u003d any("},{"line_number":1025,"context_line":"        [(cntrl.get(\u0027is_ehba_mode\u0027) is True) for cntrl in controllers])"},{"line_number":1026,"context_line":""},{"line_number":1027,"context_line":"    raid_config_job_ids \u003d []"},{"line_number":1028,"context_line":"    raid_config_parameters \u003d []"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_47670a4e","line":1025,"range":{"start_line":1025,"start_character":35,"end_line":1025,"end_character":43},"updated":"2020-06-29 08:53:37.000000000","message":"s/is True//","commit_id":"1fd00910f98d743f6ce21cb175c896cda205084b"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"ee1b2ff2da2f4206dcca3c43d6331bd24b12d83d","unresolved":false,"context_lines":[{"line_number":1022,"context_line":""},{"line_number":1023,"context_line":"    # check any controller with ehba mode"},{"line_number":1024,"context_line":"    any_ehba_controllers \u003d any("},{"line_number":1025,"context_line":"        [(cntrl.get(\u0027is_ehba_mode\u0027) is True) for cntrl in controllers])"},{"line_number":1026,"context_line":""},{"line_number":1027,"context_line":"    raid_config_job_ids \u003d []"},{"line_number":1028,"context_line":"    raid_config_parameters \u003d []"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_adf527cd","line":1025,"range":{"start_line":1025,"start_character":35,"end_line":1025,"end_character":43},"in_reply_to":"bf51134e_47670a4e","updated":"2020-06-29 10:36:59.000000000","message":"Done.. Thanks.!","commit_id":"1fd00910f98d743f6ce21cb175c896cda205084b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"47bcc5f987a308985f439577446320ff1100ece3","unresolved":false,"context_lines":[{"line_number":1133,"context_line":"    controller_mode \u003d raid_settings.get("},{"line_number":1134,"context_line":"        \u0027{}:{}\u0027.format(controller_fqdd, _CURRENT_RAID_CONTROLLER_MODE))"},{"line_number":1135,"context_line":""},{"line_number":1136,"context_line":"    if _EHBA_MODE in controller_mode.current_value:"},{"line_number":1137,"context_line":"        return True"},{"line_number":1138,"context_line":"    else:"},{"line_number":1139,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_87d2c2cf","line":1136,"updated":"2020-06-29 08:53:37.000000000","message":"nit:\n\n return _EHBA_MODE in controller_mode.current_value","commit_id":"1fd00910f98d743f6ce21cb175c896cda205084b"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"ee1b2ff2da2f4206dcca3c43d6331bd24b12d83d","unresolved":false,"context_lines":[{"line_number":1133,"context_line":"    controller_mode \u003d raid_settings.get("},{"line_number":1134,"context_line":"        \u0027{}:{}\u0027.format(controller_fqdd, _CURRENT_RAID_CONTROLLER_MODE))"},{"line_number":1135,"context_line":""},{"line_number":1136,"context_line":"    if _EHBA_MODE in controller_mode.current_value:"},{"line_number":1137,"context_line":"        return True"},{"line_number":1138,"context_line":"    else:"},{"line_number":1139,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_6d294f35","line":1136,"in_reply_to":"bf51134e_87d2c2cf","updated":"2020-06-29 10:36:59.000000000","message":"Done.. Thanks.!","commit_id":"1fd00910f98d743f6ce21cb175c896cda205084b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"47bcc5f987a308985f439577446320ff1100ece3","unresolved":false,"context_lines":[{"line_number":1145,"context_line":"    current_cntrl_mode \u003d settings.get(raid_cntrl_attr)"},{"line_number":1146,"context_line":"    if not current_cntrl_mode:"},{"line_number":1147,"context_line":"        return False"},{"line_number":1148,"context_line":"    elif _EHBA_MODE in current_cntrl_mode.possible_values:"},{"line_number":1149,"context_line":"        return True"},{"line_number":1150,"context_line":"    else:"},{"line_number":1151,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_e7dc5ee5","line":1148,"range":{"start_line":1148,"start_character":9,"end_line":1148,"end_character":58},"updated":"2020-06-29 08:53:37.000000000","message":"nit:\n\n else:\n    return _EHBA_MODE in current_cntrl_mode.possible_values","commit_id":"1fd00910f98d743f6ce21cb175c896cda205084b"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"ee1b2ff2da2f4206dcca3c43d6331bd24b12d83d","unresolved":false,"context_lines":[{"line_number":1145,"context_line":"    current_cntrl_mode \u003d settings.get(raid_cntrl_attr)"},{"line_number":1146,"context_line":"    if not current_cntrl_mode:"},{"line_number":1147,"context_line":"        return False"},{"line_number":1148,"context_line":"    elif _EHBA_MODE in current_cntrl_mode.possible_values:"},{"line_number":1149,"context_line":"        return True"},{"line_number":1150,"context_line":"    else:"},{"line_number":1151,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":5,"id":"bf51134e_cdfa1bbb","line":1148,"range":{"start_line":1148,"start_character":9,"end_line":1148,"end_character":58},"in_reply_to":"bf51134e_e7dc5ee5","updated":"2020-06-29 10:36:59.000000000","message":"Done.. Thanks.!","commit_id":"1fd00910f98d743f6ce21cb175c896cda205084b"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"832411e87d9746e07b01570f02d261e371d05cef","unresolved":false,"context_lines":[{"line_number":1027,"context_line":""},{"line_number":1028,"context_line":"    # check any controller with ehba mode"},{"line_number":1029,"context_line":"    any_ehba_controllers \u003d any("},{"line_number":1030,"context_line":"        cntrl.get(\u0027is_ehba_mode\u0027) is True for cntrl in controllers)"},{"line_number":1031,"context_line":""},{"line_number":1032,"context_line":"    raid_config_job_ids \u003d []"},{"line_number":1033,"context_line":"    raid_config_parameters \u003d []"}],"source_content_type":"text/x-python","patch_set":6,"id":"bf51134e_2089dc25","line":1030,"updated":"2020-07-02 21:29:22.000000000","message":"nit: as Dmitry pointed out, you could remove the \"is True\" in the line above","commit_id":"325f28043468472c2f97f659c66817192aba39f7"}],"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":"83d68409129786ebb5cf194ba1caf465923fd9d9","unresolved":false,"context_lines":[{"line_number":2076,"context_line":"                [mock.call(mock.ANY, raid_controller\u003d\u0027RAID.Integrated.1-1\u0027,"},{"line_number":2077,"context_line":"                           reboot\u003dFalse, realtime\u003dTrue),"},{"line_number":2078,"context_line":"                 mock.call(mock.ANY, raid_controller\u003d\u0027AHCI.Slot.3-1\u0027,"},{"line_number":2079,"context_line":"                           reboot\u003dFalse, realtime\u003dFalse)],"},{"line_number":2080,"context_line":"                any_order\u003dTrue)"},{"line_number":2081,"context_line":""},{"line_number":2082,"context_line":"        self.assertEqual(states.CLEANWAIT, return_value)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_1190acec","line":2079,"updated":"2020-06-05 20:51:11.000000000","message":"I think we should add another mock.call here for the call to commit the config job that reboots the server (line 1054 in raid.py)","commit_id":"36c49692edee601088049abc89874e007265e706"}],"ironic/tests/unit/drivers/modules/drac/utils.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"802712bf13a13a7da9fb9a1996831793cce8254d","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                              tuple_class\u003dtuple_class)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"def create_raid_setting(raid_settings_dict):"},{"line_number":102,"context_line":"    return dict_to_namedtuple(values\u003draid_settings_dict)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_d6578ec9","line":101,"updated":"2020-06-23 22:09:03.000000000","message":"docstring please :)","commit_id":"5959405d17a2fc82a3984cb07c6cc205ca7ce4f2"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"e604847378b0a8da5087d53224d705865029f7b1","unresolved":false,"context_lines":[{"line_number":98,"context_line":"                              tuple_class\u003dtuple_class)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"def create_raid_setting(raid_settings_dict):"},{"line_number":102,"context_line":"    return dict_to_namedtuple(values\u003draid_settings_dict)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf51134e_9a76c26f","line":101,"in_reply_to":"bf51134e_d6578ec9","updated":"2020-06-25 07:41:33.000000000","message":"Added.","commit_id":"5959405d17a2fc82a3984cb07c6cc205ca7ce4f2"}],"releasenotes/notes/idrac-add-ehba-support-10b90c92b8865364.yaml":[{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"2555a5b6ba0ae251d1a9d280c48a812a68d6b3ca","unresolved":false,"context_lines":[{"line_number":3,"context_line":"    PERC H740P controllers supports RAID mode and Enhanced HBA mode."},{"line_number":4,"context_line":"    When the controller is in Enhanced HBA, it creates single disk"},{"line_number":5,"context_line":"    RAID0 virtual disks of NON-RAID physical disks."},{"line_number":6,"context_line":"    Hence the user\u0027s request for VD creation with supported RAID"},{"line_number":7,"context_line":"    fails due to no available physical disk."},{"line_number":8,"context_line":"    This patch checks the Perc H740P controllers whether it supports"},{"line_number":9,"context_line":"    enhanced HBA mode and if controllers are found in enhanced HBA"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"ff570b3c_ed76bf3e","line":6,"range":{"start_line":6,"start_character":36,"end_line":6,"end_character":44},"updated":"2020-05-26 11:43:10.000000000","message":"You can rewrite sentence above sentence \"Hence the request of user for VD creation with supported RAID\"\n\nto avoid Red mark","commit_id":"4d465d866db8d1fa8bf55ae172bdec2c32e7594f"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"b17906b97f4511002a444898c8b52ee7635093fa","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    RAID0 virtual disks of NON-RAID physical disks."},{"line_number":6,"context_line":"    Hence the user\u0027s request for VD creation with supported RAID"},{"line_number":7,"context_line":"    fails due to no available physical disk."},{"line_number":8,"context_line":"    This patch checks the Perc H740P controllers whether it supports"},{"line_number":9,"context_line":"    enhanced HBA mode and if controllers are found in enhanced HBA"},{"line_number":10,"context_line":"    mode it converts back to RAID mode."},{"line_number":11,"context_line":"    See bug"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"ff570b3c_855f0ce4","line":8,"updated":"2020-05-26 21:44:34.000000000","message":"nit: can you change the above to:\nThis patch checks the RAID controllers to see whether they support","commit_id":"4d465d866db8d1fa8bf55ae172bdec2c32e7594f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"802712bf13a13a7da9fb9a1996831793cce8254d","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    RAID0 virtual disks of NON-RAID physical disks."},{"line_number":6,"context_line":"    Hence the request for VD creation with supported RAID"},{"line_number":7,"context_line":"    fails due to no available physical disk."},{"line_number":8,"context_line":"    This patch checks the RAID controllers to see whether they"},{"line_number":9,"context_line":"    supports enhanced HBA mode and if controllers are found in"},{"line_number":10,"context_line":"    enhanced HBA mode it converts back to RAID mode."},{"line_number":11,"context_line":"    See bug"},{"line_number":12,"context_line":"    `bug 2007711 \u003chttps://storyboard.openstack.org/#!/story/2007711\u003e`_"},{"line_number":13,"context_line":"    for more details"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"bf51134e_364fea34","line":10,"range":{"start_line":8,"start_character":1,"end_line":10,"end_character":52},"updated":"2020-06-23 22:09:03.000000000","message":"I\u0027d express the item being fixed before context about what specific card etc.","commit_id":"5959405d17a2fc82a3984cb07c6cc205ca7ce4f2"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"e604847378b0a8da5087d53224d705865029f7b1","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    RAID0 virtual disks of NON-RAID physical disks."},{"line_number":6,"context_line":"    Hence the request for VD creation with supported RAID"},{"line_number":7,"context_line":"    fails due to no available physical disk."},{"line_number":8,"context_line":"    This patch checks the RAID controllers to see whether they"},{"line_number":9,"context_line":"    supports enhanced HBA mode and if controllers are found in"},{"line_number":10,"context_line":"    enhanced HBA mode it converts back to RAID mode."},{"line_number":11,"context_line":"    See bug"},{"line_number":12,"context_line":"    `bug 2007711 \u003chttps://storyboard.openstack.org/#!/story/2007711\u003e`_"},{"line_number":13,"context_line":"    for more details"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"bf51134e_da6cba9d","line":10,"range":{"start_line":8,"start_character":1,"end_line":10,"end_character":52},"in_reply_to":"bf51134e_364fea34","updated":"2020-06-25 07:41:33.000000000","message":"changed to specific raid controller which is PERC H740P raid controller","commit_id":"5959405d17a2fc82a3984cb07c6cc205ca7ce4f2"}]}
