)]}'
{"ironic/drivers/modules/drac/raid.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a7f1a6e2a8ba2f7fd70d83b527eabc49f66ce5f4","unresolved":false,"context_lines":[{"line_number":321,"context_line":"        return client.change_physical_disk_state(mode)"},{"line_number":322,"context_line":"    except drac_exceptions.BaseClientException as exc:"},{"line_number":323,"context_line":"        LOG.error(\u0027DRAC driver failed to change physical drives \u0027"},{"line_number":324,"context_line":"                  \u0027on %(raid_controller_fqdd)s \u0027"},{"line_number":325,"context_line":"                  \u0027for node %(node_uuid)s. \u0027"},{"line_number":326,"context_line":"                  \u0027Reason: %(error)s.\u0027,"},{"line_number":327,"context_line":"                  {\u0027node_uuid\u0027: node.uuid,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_0eeac4d6","line":324,"updated":"2019-07-19 11:01:04.000000000","message":"this variable is not set below","commit_id":"b1d86e2e533ef7212a42e161130ff30742fb557b"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"b42891ae0ad9d79a19cdc3e241a250ce70acefc6","unresolved":false,"context_lines":[{"line_number":321,"context_line":"        return client.change_physical_disk_state(mode)"},{"line_number":322,"context_line":"    except drac_exceptions.BaseClientException as exc:"},{"line_number":323,"context_line":"        LOG.error(\u0027DRAC driver failed to change physical drives \u0027"},{"line_number":324,"context_line":"                  \u0027on %(raid_controller_fqdd)s \u0027"},{"line_number":325,"context_line":"                  \u0027for node %(node_uuid)s. \u0027"},{"line_number":326,"context_line":"                  \u0027Reason: %(error)s.\u0027,"},{"line_number":327,"context_line":"                  {\u0027node_uuid\u0027: node.uuid,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_d5c9865a","line":324,"in_reply_to":"7faddb67_0eeac4d6","updated":"2019-07-22 08:37:12.000000000","message":"done","commit_id":"b1d86e2e533ef7212a42e161130ff30742fb557b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a7f1a6e2a8ba2f7fd70d83b527eabc49f66ce5f4","unresolved":false,"context_lines":[{"line_number":785,"context_line":""},{"line_number":786,"context_line":"    controllers \u003d list()"},{"line_number":787,"context_line":"    conversion_results \u003d change_disk_state[\u0027conversion_results\u0027]"},{"line_number":788,"context_line":"    for controller_id, result in \\"},{"line_number":789,"context_line":"            conversion_results.items():"},{"line_number":790,"context_line":"        controller \u003d {\u0027raid_controller\u0027: controller_id,"},{"line_number":791,"context_line":"                      \u0027is_reboot_required\u0027: result[\u0027is_reboot_required\u0027]}"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_aebe10d2","line":788,"updated":"2019-07-19 11:01:04.000000000","message":"nit: we prefer to avoid \\ for continuation, use () or better just shorter variable names","commit_id":"b1d86e2e533ef7212a42e161130ff30742fb557b"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"b42891ae0ad9d79a19cdc3e241a250ce70acefc6","unresolved":false,"context_lines":[{"line_number":785,"context_line":""},{"line_number":786,"context_line":"    controllers \u003d list()"},{"line_number":787,"context_line":"    conversion_results \u003d change_disk_state[\u0027conversion_results\u0027]"},{"line_number":788,"context_line":"    for controller_id, result in \\"},{"line_number":789,"context_line":"            conversion_results.items():"},{"line_number":790,"context_line":"        controller \u003d {\u0027raid_controller\u0027: controller_id,"},{"line_number":791,"context_line":"                      \u0027is_reboot_required\u0027: result[\u0027is_reboot_required\u0027]}"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_f5c6024a","line":788,"in_reply_to":"7faddb67_aebe10d2","updated":"2019-07-22 08:37:12.000000000","message":"Done","commit_id":"b1d86e2e533ef7212a42e161130ff30742fb557b"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"500a78d81d277785627e264ba9dc18938beb54ab","unresolved":false,"context_lines":[{"line_number":294,"context_line":"        raise exception.DracOperationError(error\u003dexc)"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"def change_physical_disk_state(node, mode):"},{"line_number":298,"context_line":"    \"\"\"Convert disks RAID status"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"    :param node: an ironic node object."}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_5bb627df","line":297,"range":{"start_line":297,"start_character":37,"end_line":297,"end_character":41},"updated":"2019-07-22 10:41:07.000000000","message":"should this be initiated to None ?","commit_id":"97738e792c9c33926c45f80b9a0c7dcfa97dc530"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"609e4690105aac406d520948e68ee1ffd6a01ff0","unresolved":false,"context_lines":[{"line_number":294,"context_line":"        raise exception.DracOperationError(error\u003dexc)"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"def change_physical_disk_state(node, mode):"},{"line_number":298,"context_line":"    \"\"\"Convert disks RAID status"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"    :param node: an ironic node object."}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_2db68e8c","line":297,"range":{"start_line":297,"start_character":37,"end_line":297,"end_character":41},"in_reply_to":"7faddb67_5bb627df","updated":"2019-07-22 12:10:10.000000000","message":"Done","commit_id":"97738e792c9c33926c45f80b9a0c7dcfa97dc530"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"500a78d81d277785627e264ba9dc18938beb54ab","unresolved":false,"context_lines":[{"line_number":314,"context_line":"             exception message does not contain NOT_SUPPORTED_MSG constant."},{"line_number":315,"context_line":"    \"\"\""},{"line_number":316,"context_line":"    try:"},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"        drac_job.validate_job_queue(node)"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"        client \u003d drac_common.get_drac_client(node)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_fb78332c","line":317,"updated":"2019-07-22 10:41:07.000000000","message":"nit: no need for blank line here","commit_id":"97738e792c9c33926c45f80b9a0c7dcfa97dc530"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"609e4690105aac406d520948e68ee1ffd6a01ff0","unresolved":false,"context_lines":[{"line_number":314,"context_line":"             exception message does not contain NOT_SUPPORTED_MSG constant."},{"line_number":315,"context_line":"    \"\"\""},{"line_number":316,"context_line":"    try:"},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"        drac_job.validate_job_queue(node)"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"        client \u003d drac_common.get_drac_client(node)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_ada91e25","line":317,"in_reply_to":"7faddb67_fb78332c","updated":"2019-07-22 12:10:10.000000000","message":"Done","commit_id":"97738e792c9c33926c45f80b9a0c7dcfa97dc530"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"500a78d81d277785627e264ba9dc18938beb54ab","unresolved":false,"context_lines":[{"line_number":769,"context_line":"    :param node: an ironic node object."},{"line_number":770,"context_line":"    :param mode: enumeration that indicates the mode"},{"line_number":771,"context_line":"                     to change the disks to."},{"line_number":772,"context_line":"    :return: a dictionary containing:"},{"line_number":773,"context_line":"             - conversion_results, a dictionary that maps controller ids"},{"line_number":774,"context_line":"              to the conversion results for that controller.  The"},{"line_number":775,"context_line":"              conversion results are a dict that contains:"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_1bb0afdd","line":772,"updated":"2019-07-22 10:41:07.000000000","message":"it doesn\u0027t look like this is the only thing that the function returns\nalso controllers seems to be a list of dicts","commit_id":"97738e792c9c33926c45f80b9a0c7dcfa97dc530"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"609e4690105aac406d520948e68ee1ffd6a01ff0","unresolved":false,"context_lines":[{"line_number":769,"context_line":"    :param node: an ironic node object."},{"line_number":770,"context_line":"    :param mode: enumeration that indicates the mode"},{"line_number":771,"context_line":"                     to change the disks to."},{"line_number":772,"context_line":"    :return: a dictionary containing:"},{"line_number":773,"context_line":"             - conversion_results, a dictionary that maps controller ids"},{"line_number":774,"context_line":"              to the conversion results for that controller.  The"},{"line_number":775,"context_line":"              conversion results are a dict that contains:"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_8d66a229","line":772,"in_reply_to":"7faddb67_1bb0afdd","updated":"2019-07-22 12:10:10.000000000","message":"done","commit_id":"97738e792c9c33926c45f80b9a0c7dcfa97dc530"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"500a78d81d277785627e264ba9dc18938beb54ab","unresolved":false,"context_lines":[{"line_number":779,"context_line":"              - The is_reboot_required key with a RebootRequired"},{"line_number":780,"context_line":"              enumerated value indicating whether the server must be"},{"line_number":781,"context_line":"              rebooted to complete disk conversion."},{"line_number":782,"context_line":"    :raises: DRACOperationFailed on error reported back by the DRAC and the"},{"line_number":783,"context_line":"             exception message does not contain NOT_SUPPORTED_MSG constant."},{"line_number":784,"context_line":"    \"\"\""},{"line_number":785,"context_line":"    change_disk_state \u003d change_physical_disk_state(node, mode)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_3bb56bce","line":782,"updated":"2019-07-22 10:41:07.000000000","message":"no raise statement in the function, this looks from \"change_physical_disk_state\" instead","commit_id":"97738e792c9c33926c45f80b9a0c7dcfa97dc530"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"609e4690105aac406d520948e68ee1ffd6a01ff0","unresolved":false,"context_lines":[{"line_number":779,"context_line":"              - The is_reboot_required key with a RebootRequired"},{"line_number":780,"context_line":"              enumerated value indicating whether the server must be"},{"line_number":781,"context_line":"              rebooted to complete disk conversion."},{"line_number":782,"context_line":"    :raises: DRACOperationFailed on error reported back by the DRAC and the"},{"line_number":783,"context_line":"             exception message does not contain NOT_SUPPORTED_MSG constant."},{"line_number":784,"context_line":"    \"\"\""},{"line_number":785,"context_line":"    change_disk_state \u003d change_physical_disk_state(node, mode)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_ed74f6d2","line":782,"in_reply_to":"7faddb67_3bb56bce","updated":"2019-07-22 12:10:10.000000000","message":"changed.","commit_id":"97738e792c9c33926c45f80b9a0c7dcfa97dc530"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"8f92d463d086a5723e9e5c077fb12b1a128db5eb","unresolved":false,"context_lines":[{"line_number":294,"context_line":"        raise exception.DracOperationError(error\u003dexc)"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"def change_physical_disk_state(node, mode\u003dNone):"},{"line_number":298,"context_line":"    \"\"\"Convert disks RAID status"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"    :param node: an ironic node object."}],"source_content_type":"text/x-python","patch_set":11,"id":"7faddb67_3ec8dd72","line":297,"updated":"2019-07-23 18:19:38.000000000","message":"Seems logical. I kind of wonder if it would be useful as an exposed cleaning step, but this is being obscured by delete_configuration presently which I guess is okay.","commit_id":"861602a2ad941df38f3b740218ef2891b07f4535"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"b45243be68f2d02d3fae01267ae2d347c9a523ff","unresolved":false,"context_lines":[{"line_number":1192,"context_line":"            if \u0027raid_config_substep\u0027 in node.driver_internal_info:"},{"line_number":1193,"context_line":"                if node.driver_internal_info[\u0027raid_config_substep\u0027] \u003d\u003d \\"},{"line_number":1194,"context_line":"                        \u0027delete_foreign_config\u0027:"},{"line_number":1195,"context_line":"                    foreign_drives \u003d self._execute_cleaning_foreign_drives("},{"line_number":1196,"context_line":"                        task, node)"},{"line_number":1197,"context_line":"                    if foreign_drives is None:"},{"line_number":1198,"context_line":"                        LOG.debug("}],"source_content_type":"text/x-python","patch_set":18,"id":"3fa7e38b_31ced55b","line":1195,"updated":"2019-10-18 21:10:21.000000000","message":"It looks like the rebase isn\u0027t quite right.  _execute_cleaning_foreign_drives() method does not exist, but _execute_foreign_drives() does.","commit_id":"fe4553e537cc668a12a75c38f295add2106d335d"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"9b637b7caaea2621c4d3befaf7b402457628a48e","unresolved":false,"context_lines":[{"line_number":1192,"context_line":"            if \u0027raid_config_substep\u0027 in node.driver_internal_info:"},{"line_number":1193,"context_line":"                if node.driver_internal_info[\u0027raid_config_substep\u0027] \u003d\u003d \\"},{"line_number":1194,"context_line":"                        \u0027delete_foreign_config\u0027:"},{"line_number":1195,"context_line":"                    foreign_drives \u003d self._execute_cleaning_foreign_drives("},{"line_number":1196,"context_line":"                        task, node)"},{"line_number":1197,"context_line":"                    if foreign_drives is None:"},{"line_number":1198,"context_line":"                        LOG.debug("}],"source_content_type":"text/x-python","patch_set":18,"id":"3fa7e38b_68869fbd","line":1195,"in_reply_to":"3fa7e38b_31ced55b","updated":"2019-10-19 14:20:19.000000000","message":"Done. Thanks for the catch.","commit_id":"fe4553e537cc668a12a75c38f295add2106d335d"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"b45243be68f2d02d3fae01267ae2d347c9a523ff","unresolved":false,"context_lines":[{"line_number":1209,"context_line":"                        LOG.debug(\"Controllers does not supports drives \""},{"line_number":1210,"context_line":"                                  \"conversion on %(node_uuid)s\","},{"line_number":1211,"context_line":"                                  {\u0027node_uuid\u0027: node.uuid})"},{"line_number":1212,"context_line":"                        self._complete_raid_cleaning_substep(task, node)"},{"line_number":1213,"context_line":"                elif node.driver_internal_info[\u0027raid_config_substep\u0027] \u003d\u003d \\"},{"line_number":1214,"context_line":"                        \u0027completed\u0027:"},{"line_number":1215,"context_line":"                    self._complete_raid_substep(task, node)"}],"source_content_type":"text/x-python","patch_set":18,"id":"3fa7e38b_d108a192","line":1212,"updated":"2019-10-18 21:10:21.000000000","message":"_complete_raid_cleaning_substep() does not exist, but _complete_raid_substep() does.","commit_id":"fe4553e537cc668a12a75c38f295add2106d335d"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"9b637b7caaea2621c4d3befaf7b402457628a48e","unresolved":false,"context_lines":[{"line_number":1209,"context_line":"                        LOG.debug(\"Controllers does not supports drives \""},{"line_number":1210,"context_line":"                                  \"conversion on %(node_uuid)s\","},{"line_number":1211,"context_line":"                                  {\u0027node_uuid\u0027: node.uuid})"},{"line_number":1212,"context_line":"                        self._complete_raid_cleaning_substep(task, node)"},{"line_number":1213,"context_line":"                elif node.driver_internal_info[\u0027raid_config_substep\u0027] \u003d\u003d \\"},{"line_number":1214,"context_line":"                        \u0027completed\u0027:"},{"line_number":1215,"context_line":"                    self._complete_raid_substep(task, node)"}],"source_content_type":"text/x-python","patch_set":18,"id":"3fa7e38b_8883dba9","line":1212,"in_reply_to":"3fa7e38b_d108a192","updated":"2019-10-19 14:20:19.000000000","message":"Done","commit_id":"fe4553e537cc668a12a75c38f295add2106d335d"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"78f13881f1a30b573bd23f54de453eda2569a0de","unresolved":false,"context_lines":[{"line_number":1198,"context_line":"                        LOG.debug("},{"line_number":1199,"context_line":"                            \"Controllers does not supports clear foreign \""},{"line_number":1200,"context_line":"                            \"configuration operation on %(node_uuid)s : \","},{"line_number":1201,"context_line":"                            {\u0027node_uuid\u0027: node.uuid})"},{"line_number":1202,"context_line":"                        self._complete_raid_substep(task, node)"},{"line_number":1203,"context_line":"                elif node.driver_internal_info[\u0027raid_config_substep\u0027] \u003d\u003d \\"},{"line_number":1204,"context_line":"                        \u0027physical_disk_conversion\u0027:"}],"source_content_type":"text/x-python","patch_set":19,"id":"3fa7e38b_e148445d","line":1201,"updated":"2019-10-22 20:10:02.000000000","message":"Let\u0027s call into _change_physical_disk_mode() here instead of inside the _execute_foreign_drives() method.  That keeps all of the logic of what to call when in this method.","commit_id":"ef819cdfa708bbbe69509831f1c982f55735c338"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"78f13881f1a30b573bd23f54de453eda2569a0de","unresolved":false,"context_lines":[{"line_number":1202,"context_line":"                        self._complete_raid_substep(task, node)"},{"line_number":1203,"context_line":"                elif node.driver_internal_info[\u0027raid_config_substep\u0027] \u003d\u003d \\"},{"line_number":1204,"context_line":"                        \u0027physical_disk_conversion\u0027:"},{"line_number":1205,"context_line":"                    jbod \u003d drac_constants.RaidStatus.jbod"},{"line_number":1206,"context_line":"                    drives_results \u003d _change_physical_disk_mode("},{"line_number":1207,"context_line":"                        node, mode\u003djbod)"},{"line_number":1208,"context_line":"                    if drives_results is None:"}],"source_content_type":"text/x-python","patch_set":19,"id":"3fa7e38b_21c41c92","line":1205,"updated":"2019-10-22 20:10:02.000000000","message":"I think you could factor out line 1205-1212 into a separate method and just call it from here and above.","commit_id":"ef819cdfa708bbbe69509831f1c982f55735c338"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"78f13881f1a30b573bd23f54de453eda2569a0de","unresolved":false,"context_lines":[{"line_number":1240,"context_line":"                \"No foreign drives detected, so \""},{"line_number":1241,"context_line":"                \"resume next raid sub step\")"},{"line_number":1242,"context_line":"            jbod \u003d drac_constants.RaidStatus.jbod"},{"line_number":1243,"context_line":"            return _change_physical_disk_mode(node, mode\u003djbod)"},{"line_number":1244,"context_line":"        else:"},{"line_number":1245,"context_line":"            _commit_to_controllers("},{"line_number":1246,"context_line":"                node,"}],"source_content_type":"text/x-python","patch_set":19,"id":"3fa7e38b_868406d5","line":1243,"updated":"2019-10-22 20:10:02.000000000","message":"Instead of calling into _change_physical_disk_mode() here, let\u0027s just return None, and let the caller deal with the logic of what to call next.","commit_id":"ef819cdfa708bbbe69509831f1c982f55735c338"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"78f13881f1a30b573bd23f54de453eda2569a0de","unresolved":false,"context_lines":[{"line_number":1242,"context_line":"            jbod \u003d drac_constants.RaidStatus.jbod"},{"line_number":1243,"context_line":"            return _change_physical_disk_mode(node, mode\u003djbod)"},{"line_number":1244,"context_line":"        else:"},{"line_number":1245,"context_line":"            _commit_to_controllers("},{"line_number":1246,"context_line":"                node,"},{"line_number":1247,"context_line":"                controllers,"},{"line_number":1248,"context_line":"                substep\u003d\u0027physical_disk_conversion\u0027)"}],"source_content_type":"text/x-python","patch_set":19,"id":"3fa7e38b_e674da00","line":1245,"updated":"2019-10-22 20:10:02.000000000","message":"I think we need a return in front of this","commit_id":"ef819cdfa708bbbe69509831f1c982f55735c338"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"79e878baac353ef9812a68a6ab3a1ebe0103e428","unresolved":false,"context_lines":[{"line_number":1195,"context_line":"                    foreign_drives \u003d self._execute_foreign_drives("},{"line_number":1196,"context_line":"                        task, node)"},{"line_number":1197,"context_line":"                    if foreign_drives is None:"},{"line_number":1198,"context_line":"                        LOG.info("},{"line_number":1199,"context_line":"                            \"No foreign drives detected, so \""},{"line_number":1200,"context_line":"                            \"resume next raid sub step\")"},{"line_number":1201,"context_line":"                        jbod \u003d drac_constants.RaidStatus.jbod"}],"source_content_type":"text/x-python","patch_set":20,"id":"3fa7e38b_25f2be70","line":1198,"updated":"2019-10-24 20:06:48.000000000","message":"Let\u0027s remove this logging statement since there\u0027s one that already logs for this condition on line 1233.","commit_id":"ea164da4090add5d43e10369c7567da63d598f4a"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"79e878baac353ef9812a68a6ab3a1ebe0103e428","unresolved":false,"context_lines":[{"line_number":1199,"context_line":"                            \"No foreign drives detected, so \""},{"line_number":1200,"context_line":"                            \"resume next raid sub step\")"},{"line_number":1201,"context_line":"                        jbod \u003d drac_constants.RaidStatus.jbod"},{"line_number":1202,"context_line":"                        return _change_physical_disk_mode(node, mode\u003djbod)"},{"line_number":1203,"context_line":"                elif node.driver_internal_info[\u0027raid_config_substep\u0027] \u003d\u003d \\"},{"line_number":1204,"context_line":"                        \u0027physical_disk_conversion\u0027:"},{"line_number":1205,"context_line":"                    jbod \u003d drac_constants.RaidStatus.jbod"}],"source_content_type":"text/x-python","patch_set":20,"id":"3fa7e38b_48583155","line":1202,"updated":"2019-10-24 20:06:48.000000000","message":"Shouldn\u0027t we replace the line above with:\nreturn _convert_drives()?  I\u0027m thinking that the case where there are no foreign drive and the case where the controller does not support changing disks modes may fail otherwise.","commit_id":"ea164da4090add5d43e10369c7567da63d598f4a"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"79e878baac353ef9812a68a6ab3a1ebe0103e428","unresolved":false,"context_lines":[{"line_number":1202,"context_line":"                        return _change_physical_disk_mode(node, mode\u003djbod)"},{"line_number":1203,"context_line":"                elif node.driver_internal_info[\u0027raid_config_substep\u0027] \u003d\u003d \\"},{"line_number":1204,"context_line":"                        \u0027physical_disk_conversion\u0027:"},{"line_number":1205,"context_line":"                    jbod \u003d drac_constants.RaidStatus.jbod"},{"line_number":1206,"context_line":"                    self._convert_drives(task, node, mode\u003djbod)"},{"line_number":1207,"context_line":"                elif node.driver_internal_info[\u0027raid_config_substep\u0027] \u003d\u003d \\"},{"line_number":1208,"context_line":"                        \u0027completed\u0027:"}],"source_content_type":"text/x-python","patch_set":20,"id":"3fa7e38b_0819d986","line":1205,"updated":"2019-10-24 20:06:48.000000000","message":"You could move the line above into _convert_drives()","commit_id":"ea164da4090add5d43e10369c7567da63d598f4a"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"79e878baac353ef9812a68a6ab3a1ebe0103e428","unresolved":false,"context_lines":[{"line_number":1252,"context_line":"                      \"conversion on %(node_uuid)s\","},{"line_number":1253,"context_line":"                      {\u0027node_uuid\u0027: node.uuid})"},{"line_number":1254,"context_line":"            self._complete_raid_substep(task, node)"},{"line_number":1255,"context_line":"        return drives_results"},{"line_number":1256,"context_line":""},{"line_number":1257,"context_line":"    def _clear_raid_substep(self, node):"},{"line_number":1258,"context_line":"        driver_internal_info \u003d node.driver_internal_info"}],"source_content_type":"text/x-python","patch_set":20,"id":"3fa7e38b_cb0c1b96","line":1255,"updated":"2019-10-24 20:06:48.000000000","message":"If the calling code isn\u0027t using drives_results, then we should just remove the line above.","commit_id":"ea164da4090add5d43e10369c7567da63d598f4a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"11571974c26401d31ea559c9adb5ad7d01a4ddc0","unresolved":false,"context_lines":[{"line_number":1190,"context_line":"        if not node.driver_internal_info.get(\u0027raid_config_job_failure\u0027,"},{"line_number":1191,"context_line":"                                             False):"},{"line_number":1192,"context_line":"            if \u0027raid_config_substep\u0027 in node.driver_internal_info:"},{"line_number":1193,"context_line":"                if node.driver_internal_info[\u0027raid_config_substep\u0027] \u003d\u003d \\"},{"line_number":1194,"context_line":"                        \u0027delete_foreign_config\u0027:"},{"line_number":1195,"context_line":"                    foreign_drives \u003d self._execute_foreign_drives("},{"line_number":1196,"context_line":"                        task, node)"}],"source_content_type":"text/x-python","patch_set":21,"id":"3fa7e38b_033a0897","line":1193,"updated":"2019-12-05 15:26:18.000000000","message":"Totally just a nit, and no action really required, but if there is any way we can not wrap with \"\\\", it would be appreciated.","commit_id":"29e344e014cec297fe74d807b3d9bd32ff5fa901"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"9e9e8fe753a0b20c45624824c644b978c6545d98","unresolved":false,"context_lines":[{"line_number":1190,"context_line":"        if not node.driver_internal_info.get(\u0027raid_config_job_failure\u0027,"},{"line_number":1191,"context_line":"                                             False):"},{"line_number":1192,"context_line":"            if \u0027raid_config_substep\u0027 in node.driver_internal_info:"},{"line_number":1193,"context_line":"                if node.driver_internal_info[\u0027raid_config_substep\u0027] \u003d\u003d \\"},{"line_number":1194,"context_line":"                        \u0027delete_foreign_config\u0027:"},{"line_number":1195,"context_line":"                    foreign_drives \u003d self._execute_foreign_drives("},{"line_number":1196,"context_line":"                        task, node)"}],"source_content_type":"text/x-python","patch_set":21,"id":"3fa7e38b_b536b8e6","line":1193,"in_reply_to":"3fa7e38b_033a0897","updated":"2019-12-06 13:01:54.000000000","message":"Done","commit_id":"29e344e014cec297fe74d807b3d9bd32ff5fa901"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"876861ee02e7142488ccf8b6737f9ee9f964c4be","unresolved":false,"context_lines":[{"line_number":1244,"context_line":"        drives_results \u003d _change_physical_disk_mode("},{"line_number":1245,"context_line":"            node, mode\u003djbod)"},{"line_number":1246,"context_line":"        if drives_results is None:"},{"line_number":1247,"context_line":"            LOG.debug(\"Controllers does not supports drives \""},{"line_number":1248,"context_line":"                      \"conversion on %(node_uuid)s\","},{"line_number":1249,"context_line":"                      {\u0027node_uuid\u0027: node.uuid})"},{"line_number":1250,"context_line":"            self._complete_raid_substep(task, node)"}],"source_content_type":"text/x-python","patch_set":21,"id":"3fa7e38b_23b94415","line":1247,"range":{"start_line":1247,"start_character":16,"end_line":1247,"end_character":21},"updated":"2019-12-05 15:26:11.000000000","message":"Should it be a warning or is it completely okay?","commit_id":"29e344e014cec297fe74d807b3d9bd32ff5fa901"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"e73342d39fde296d4c4462ff4fee82e88b8bf701","unresolved":false,"context_lines":[{"line_number":1244,"context_line":"        drives_results \u003d _change_physical_disk_mode("},{"line_number":1245,"context_line":"            node, mode\u003djbod)"},{"line_number":1246,"context_line":"        if drives_results is None:"},{"line_number":1247,"context_line":"            LOG.debug(\"Controllers does not supports drives \""},{"line_number":1248,"context_line":"                      \"conversion on %(node_uuid)s\","},{"line_number":1249,"context_line":"                      {\u0027node_uuid\u0027: node.uuid})"},{"line_number":1250,"context_line":"            self._complete_raid_substep(task, node)"}],"source_content_type":"text/x-python","patch_set":21,"id":"3fa7e38b_e732dcf3","line":1247,"range":{"start_line":1247,"start_character":16,"end_line":1247,"end_character":21},"in_reply_to":"3fa7e38b_23b94415","updated":"2019-12-13 20:59:36.000000000","message":"It really is completely ok.  The PERC H730P RAID controller supports drive conversion, while the PERC H740P RAID controller does not.  The code here just tries to convert the drives, and if the RAID controller does not support it, then no drive conversion is necessary, so the code just moves on to the next step.","commit_id":"29e344e014cec297fe74d807b3d9bd32ff5fa901"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"43cbdf61c9d5a2a4d25324bdb08067cf6fb1798d","unresolved":false,"context_lines":[{"line_number":1194,"context_line":""},{"line_number":1195,"context_line":"                if substep \u003d\u003d \u0027delete_foreign_config\u0027:"},{"line_number":1196,"context_line":"                    foreign_drives \u003d self._execute_foreign_drives("},{"line_number":1197,"context_line":"                        task, node)"},{"line_number":1198,"context_line":"                    if foreign_drives is None:"},{"line_number":1199,"context_line":"                        return self._convert_drives(task, node)"},{"line_number":1200,"context_line":"                elif substep \u003d\u003d \u0027physical_disk_conversion\u0027:"}],"source_content_type":"text/x-python","patch_set":22,"id":"3fa7e38b_b840da33","line":1197,"updated":"2019-12-09 10:32:18.000000000","message":"nit: no need to break the line","commit_id":"32a9131650a2df2946d93f844d262295214095d5"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"d657df4d509923eeda6d5a6b3a09e9d293b809f1","unresolved":false,"context_lines":[{"line_number":1194,"context_line":""},{"line_number":1195,"context_line":"                if substep \u003d\u003d \u0027delete_foreign_config\u0027:"},{"line_number":1196,"context_line":"                    foreign_drives \u003d self._execute_foreign_drives("},{"line_number":1197,"context_line":"                        task, node)"},{"line_number":1198,"context_line":"                    if foreign_drives is None:"},{"line_number":1199,"context_line":"                        return self._convert_drives(task, node)"},{"line_number":1200,"context_line":"                elif substep \u003d\u003d \u0027physical_disk_conversion\u0027:"}],"source_content_type":"text/x-python","patch_set":22,"id":"3fa7e38b_a59e6366","line":1197,"in_reply_to":"3fa7e38b_b840da33","updated":"2019-12-10 11:26:03.000000000","message":"Done","commit_id":"32a9131650a2df2946d93f844d262295214095d5"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"b4417173856ef3794274a20058556342bba1ed11","unresolved":false,"context_lines":[{"line_number":1243,"context_line":"        drives_results \u003d _change_physical_disk_mode("},{"line_number":1244,"context_line":"            node, mode\u003djbod)"},{"line_number":1245,"context_line":"        if drives_results is None:"},{"line_number":1246,"context_line":"            LOG.debug(\"Controllers does not supports drives \""},{"line_number":1247,"context_line":"                      \"conversion on %(node_uuid)s\","},{"line_number":1248,"context_line":"                      {\u0027node_uuid\u0027: node.uuid})"},{"line_number":1249,"context_line":"            self._complete_raid_substep(task, node)"}],"source_content_type":"text/x-python","patch_set":22,"id":"3fa7e38b_782a627e","line":1246,"range":{"start_line":1246,"start_character":23,"end_line":1246,"end_character":34},"updated":"2019-12-09 10:29:19.000000000","message":"nit: Controller","commit_id":"32a9131650a2df2946d93f844d262295214095d5"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"b4417173856ef3794274a20058556342bba1ed11","unresolved":false,"context_lines":[{"line_number":1243,"context_line":"        drives_results \u003d _change_physical_disk_mode("},{"line_number":1244,"context_line":"            node, mode\u003djbod)"},{"line_number":1245,"context_line":"        if drives_results is None:"},{"line_number":1246,"context_line":"            LOG.debug(\"Controllers does not supports drives \""},{"line_number":1247,"context_line":"                      \"conversion on %(node_uuid)s\","},{"line_number":1248,"context_line":"                      {\u0027node_uuid\u0027: node.uuid})"},{"line_number":1249,"context_line":"            self._complete_raid_substep(task, node)"}],"source_content_type":"text/x-python","patch_set":22,"id":"3fa7e38b_d83836d5","line":1246,"range":{"start_line":1246,"start_character":44,"end_line":1246,"end_character":52},"updated":"2019-12-09 10:29:19.000000000","message":"nit: support","commit_id":"32a9131650a2df2946d93f844d262295214095d5"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"d657df4d509923eeda6d5a6b3a09e9d293b809f1","unresolved":false,"context_lines":[{"line_number":1243,"context_line":"        drives_results \u003d _change_physical_disk_mode("},{"line_number":1244,"context_line":"            node, mode\u003djbod)"},{"line_number":1245,"context_line":"        if drives_results is None:"},{"line_number":1246,"context_line":"            LOG.debug(\"Controllers does not supports drives \""},{"line_number":1247,"context_line":"                      \"conversion on %(node_uuid)s\","},{"line_number":1248,"context_line":"                      {\u0027node_uuid\u0027: node.uuid})"},{"line_number":1249,"context_line":"            self._complete_raid_substep(task, node)"}],"source_content_type":"text/x-python","patch_set":22,"id":"3fa7e38b_85a9e78f","line":1246,"range":{"start_line":1246,"start_character":23,"end_line":1246,"end_character":34},"in_reply_to":"3fa7e38b_782a627e","updated":"2019-12-10 11:26:03.000000000","message":"Done","commit_id":"32a9131650a2df2946d93f844d262295214095d5"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"d657df4d509923eeda6d5a6b3a09e9d293b809f1","unresolved":false,"context_lines":[{"line_number":1243,"context_line":"        drives_results \u003d _change_physical_disk_mode("},{"line_number":1244,"context_line":"            node, mode\u003djbod)"},{"line_number":1245,"context_line":"        if drives_results is None:"},{"line_number":1246,"context_line":"            LOG.debug(\"Controllers does not supports drives \""},{"line_number":1247,"context_line":"                      \"conversion on %(node_uuid)s\","},{"line_number":1248,"context_line":"                      {\u0027node_uuid\u0027: node.uuid})"},{"line_number":1249,"context_line":"            self._complete_raid_substep(task, node)"}],"source_content_type":"text/x-python","patch_set":22,"id":"3fa7e38b_25927359","line":1246,"range":{"start_line":1246,"start_character":44,"end_line":1246,"end_character":52},"in_reply_to":"3fa7e38b_d83836d5","updated":"2019-12-10 11:26:03.000000000","message":"Done","commit_id":"32a9131650a2df2946d93f844d262295214095d5"}],"ironic/tests/unit/drivers/modules/drac/test_raid.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a7f1a6e2a8ba2f7fd70d83b527eabc49f66ce5f4","unresolved":false,"context_lines":[{"line_number":313,"context_line":"                                              mock_change_physical_disk_state,"},{"line_number":314,"context_line":"                                              mock_get_drac_client):"},{"line_number":315,"context_line":"        mock_client \u003d mock.Mock()"},{"line_number":316,"context_line":"        mock_get_drac_client.return_value \u003d mock_client"},{"line_number":317,"context_line":"        mock_commit_config.return_value \u003d \u002742\u0027"},{"line_number":318,"context_line":"        mock_change_physical_disk_state.return_value \u003d {"},{"line_number":319,"context_line":"            \u0027is_reboot_required\u0027: constants.RebootRequired.optional,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_cec10c56","line":316,"updated":"2019-07-19 11:01:04.000000000","message":"not needed, it\u0027s already a mock","commit_id":"b1d86e2e533ef7212a42e161130ff30742fb557b"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"b42891ae0ad9d79a19cdc3e241a250ce70acefc6","unresolved":false,"context_lines":[{"line_number":313,"context_line":"                                              mock_change_physical_disk_state,"},{"line_number":314,"context_line":"                                              mock_get_drac_client):"},{"line_number":315,"context_line":"        mock_client \u003d mock.Mock()"},{"line_number":316,"context_line":"        mock_get_drac_client.return_value \u003d mock_client"},{"line_number":317,"context_line":"        mock_commit_config.return_value \u003d \u002742\u0027"},{"line_number":318,"context_line":"        mock_change_physical_disk_state.return_value \u003d {"},{"line_number":319,"context_line":"            \u0027is_reboot_required\u0027: constants.RebootRequired.optional,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_95fb0e46","line":316,"in_reply_to":"7faddb67_cec10c56","updated":"2019-07-22 08:37:12.000000000","message":"Done","commit_id":"b1d86e2e533ef7212a42e161130ff30742fb557b"}],"ironic/tests/unit/drivers/third_party_driver_mock_specs.py":[{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"5328219a499043e6523f1c470bb66bd326d701e2","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    def get_status(self, uuid):"},{"line_number":63,"context_line":"        pass"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"\u003e\u003e\u003e\u003e\u003e\u003e\u003e 54ed2f52c... DRAC: Drives conversion from raid to jbod"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"# proliantutils"},{"line_number":68,"context_line":"PROLIANTUTILS_SPEC \u003d ("}],"source_content_type":"text/x-python","patch_set":13,"id":"7faddb67_e89fae4e","line":65,"range":{"start_line":65,"start_character":0,"end_line":65,"end_character":62},"updated":"2019-08-28 08:59:21.000000000","message":"This seems like a left-over from a merge conflict ... ?","commit_id":"6738d3033c9a1ce0e71e1e358ac0f2878db328e6"}],"releasenotes/notes/idrac-drives-conversion-raid-to-jbod-de10755d1ec094ea.yaml":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a7f1a6e2a8ba2f7fd70d83b527eabc49f66ce5f4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    It converts physical drives from raid to jbod after RAID"},{"line_number":5,"context_line":"    ``delete_configuration`` cleaning step."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"7faddb67_eeee48eb","line":4,"updated":"2019-07-19 11:01:04.000000000","message":"s/It // and please mention the iDrac hardware type somehow","commit_id":"b1d86e2e533ef7212a42e161130ff30742fb557b"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"b42891ae0ad9d79a19cdc3e241a250ce70acefc6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    It converts physical drives from raid to jbod after RAID"},{"line_number":5,"context_line":"    ``delete_configuration`` cleaning step."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"7faddb67_d58666bb","line":4,"in_reply_to":"7faddb67_eeee48eb","updated":"2019-07-22 08:37:12.000000000","message":"Done","commit_id":"b1d86e2e533ef7212a42e161130ff30742fb557b"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"8f92d463d086a5723e9e5c077fb12b1a128db5eb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds physical drives conversion from ``RAID`` to ``JBOD``"},{"line_number":5,"context_line":"    after RAID ``delete_configuration`` cleaning step in"},{"line_number":6,"context_line":"    hardware type ``idrac``."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7faddb67_5e9a796e","line":4,"updated":"2019-07-23 18:19:38.000000000","message":"Lets swap this around so we state the hardware type upfront so users understand the behavior change.","commit_id":"861602a2ad941df38f3b740218ef2891b07f4535"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"5180bff62199ecf824eda7cddb403c186a023705","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds physical drives conversion from ``RAID`` to ``JBOD``"},{"line_number":5,"context_line":"    after RAID ``delete_configuration`` cleaning step in"},{"line_number":6,"context_line":"    hardware type ``idrac``."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7faddb67_7b5bbc53","line":4,"in_reply_to":"7faddb67_5e9a796e","updated":"2019-07-24 09:23:59.000000000","message":"Done","commit_id":"861602a2ad941df38f3b740218ef2891b07f4535"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"6d9ec4942481b43d72a93bb3efab0ccdd07e3351","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Hardware type ``idrac`` converts physical drives from"},{"line_number":5,"context_line":"    ``RAID`` to ``JBOD`` mode after RAID ``delete_configuration``"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"3fa7e38b_ee8c732f","line":2,"updated":"2019-12-05 16:22:20.000000000","message":"Please change the above to \"fixes\"\n\nLet\u0027s add to the text below:\n\nThis ensures that the individual disks freed by deleting the virtual disks are visible to the OS.","commit_id":"29e344e014cec297fe74d807b3d9bd32ff5fa901"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"9e9e8fe753a0b20c45624824c644b978c6545d98","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Hardware type ``idrac`` converts physical drives from"},{"line_number":5,"context_line":"    ``RAID`` to ``JBOD`` mode after RAID ``delete_configuration``"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"3fa7e38b_555d0414","line":2,"in_reply_to":"3fa7e38b_ee8c732f","updated":"2019-12-06 13:01:54.000000000","message":"Done","commit_id":"29e344e014cec297fe74d807b3d9bd32ff5fa901"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"11571974c26401d31ea559c9adb5ad7d01a4ddc0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Hardware type ``idrac`` converts physical drives from"},{"line_number":5,"context_line":"    ``RAID`` to ``JBOD`` mode after RAID ``delete_configuration``"},{"line_number":6,"context_line":"    cleaning step."}],"source_content_type":"text/x-yaml","patch_set":21,"id":"3fa7e38b_4388006a","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":28},"updated":"2019-12-05 15:26:18.000000000","message":"In addition to the hardware type in general, this should indicate the raid_interface name because the hardware type has multiple option, and agent can also now offer software raid.","commit_id":"29e344e014cec297fe74d807b3d9bd32ff5fa901"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"9e9e8fe753a0b20c45624824c644b978c6545d98","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Hardware type ``idrac`` converts physical drives from"},{"line_number":5,"context_line":"    ``RAID`` to ``JBOD`` mode after RAID ``delete_configuration``"},{"line_number":6,"context_line":"    cleaning step."}],"source_content_type":"text/x-yaml","patch_set":21,"id":"3fa7e38b_755a801e","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":28},"in_reply_to":"3fa7e38b_4388006a","updated":"2019-12-06 13:01:54.000000000","message":"Done","commit_id":"29e344e014cec297fe74d807b3d9bd32ff5fa901"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"67346a12322f954863e058469325512dbce729d7","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Hardware type ``idrac`` converts physical drives from"},{"line_number":5,"context_line":"    ``RAID`` to ``JBOD`` mode after RAID ``delete_configuration``"},{"line_number":6,"context_line":"    cleaning step through raid interface. This ensures that the"},{"line_number":7,"context_line":"    individual disks freed by deleting the virtual disks that"},{"line_number":8,"context_line":"    are visible by OS."}],"source_content_type":"text/x-yaml","patch_set":22,"id":"3fa7e38b_38070a1a","line":7,"range":{"start_line":7,"start_character":57,"end_line":7,"end_character":61},"updated":"2019-12-09 10:27:14.000000000","message":"nit: remove \u0027that\u0027","commit_id":"32a9131650a2df2946d93f844d262295214095d5"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"d657df4d509923eeda6d5a6b3a09e9d293b809f1","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Hardware type ``idrac`` converts physical drives from"},{"line_number":5,"context_line":"    ``RAID`` to ``JBOD`` mode after RAID ``delete_configuration``"},{"line_number":6,"context_line":"    cleaning step through raid interface. This ensures that the"},{"line_number":7,"context_line":"    individual disks freed by deleting the virtual disks that"},{"line_number":8,"context_line":"    are visible by OS."}],"source_content_type":"text/x-yaml","patch_set":22,"id":"3fa7e38b_459d2f55","line":7,"range":{"start_line":7,"start_character":57,"end_line":7,"end_character":61},"in_reply_to":"3fa7e38b_38070a1a","updated":"2019-12-10 11:26:03.000000000","message":"Done","commit_id":"32a9131650a2df2946d93f844d262295214095d5"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"67346a12322f954863e058469325512dbce729d7","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    ``RAID`` to ``JBOD`` mode after RAID ``delete_configuration``"},{"line_number":6,"context_line":"    cleaning step through raid interface. This ensures that the"},{"line_number":7,"context_line":"    individual disks freed by deleting the virtual disks that"},{"line_number":8,"context_line":"    are visible by OS."}],"source_content_type":"text/x-yaml","patch_set":22,"id":"3fa7e38b_9815de40","line":8,"range":{"start_line":8,"start_character":16,"end_line":8,"end_character":18},"updated":"2019-12-09 10:27:14.000000000","message":"nit: s/by/to the/","commit_id":"32a9131650a2df2946d93f844d262295214095d5"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"d657df4d509923eeda6d5a6b3a09e9d293b809f1","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    ``RAID`` to ``JBOD`` mode after RAID ``delete_configuration``"},{"line_number":6,"context_line":"    cleaning step through raid interface. This ensures that the"},{"line_number":7,"context_line":"    individual disks freed by deleting the virtual disks that"},{"line_number":8,"context_line":"    are visible by OS."}],"source_content_type":"text/x-yaml","patch_set":22,"id":"3fa7e38b_e5a53ba1","line":8,"range":{"start_line":8,"start_character":16,"end_line":8,"end_character":18},"in_reply_to":"3fa7e38b_9815de40","updated":"2019-12-10 11:26:03.000000000","message":"Done","commit_id":"32a9131650a2df2946d93f844d262295214095d5"}]}
