)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"4831b149e76baeb9f90673fc5d48f2dd10aba5f8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9fb8cfa7_22cd8d65","line":16,"updated":"2019-06-12 10:40:20.000000000","message":"Can you please link this to the RFE?","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"}],"ironic/drivers/modules/drac/raid.py":[{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"e7eb2dcae91355df6b6d25e9cc035a398e90c037","unresolved":false,"context_lines":[{"line_number":33,"context_line":"from ironic.drivers import base"},{"line_number":34,"context_line":"from ironic.drivers.modules.drac import common as drac_common"},{"line_number":35,"context_line":"from ironic.drivers.modules.drac import job as drac_job"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"drac_exceptions \u003d importutils.try_import(\u0027dracclient.exceptions\u0027)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_cbd3775f","line":36,"updated":"2019-06-11 22:13:13.000000000","message":"Please consider following the example at https://opendev.org/openstack/ironic/src/commit/7d204b656895b0512069ba3b3a23ec5bc394a727/ironic/drivers/modules/drac/power.py#L29 by trying to import \u0027dracclient.constants\u0027 immediately following this empty line.\n\n    drac_constants \u003d importutils.try_import(\u0027dracclient.constants\u0027)","commit_id":"6650a66f5f5102496343fdfd63094e035a8a9487"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"91807893406e4a59711c7b0450c6a11ad0ed0d2a","unresolved":false,"context_lines":[{"line_number":33,"context_line":"from ironic.drivers import base"},{"line_number":34,"context_line":"from ironic.drivers.modules.drac import common as drac_common"},{"line_number":35,"context_line":"from ironic.drivers.modules.drac import job as drac_job"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"drac_exceptions \u003d importutils.try_import(\u0027dracclient.exceptions\u0027)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_6211455d","line":36,"in_reply_to":"9fb8cfa7_cbd3775f","updated":"2019-06-12 11:04:44.000000000","message":"Done thanks..!","commit_id":"6650a66f5f5102496343fdfd63094e035a8a9487"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"e0cd03b7158fa2dfea880b8d98d1b0f52db23059","unresolved":false,"context_lines":[{"line_number":253,"context_line":"                  \u0027and unassign all hotspares \u0027"},{"line_number":254,"context_line":"                  \u0027for node %(node_uuid)s. \u0027"},{"line_number":255,"context_line":"                  \u0027Reason: %(error)s.\u0027,"},{"line_number":256,"context_line":"                  {\u0027raid_controller_fqdd\u0027: raid_controller,"},{"line_number":257,"context_line":"                   \u0027node_uuid\u0027: node.uuid,"},{"line_number":258,"context_line":"                   \u0027error\u0027: exc})"},{"line_number":259,"context_line":"        raise exception.DracOperationError(error\u003dexc)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_a1c2e932","line":256,"updated":"2019-06-11 21:50:44.000000000","message":"I think you can remove the raid_controller_fqdd parameter on the line above since it appears to not be used.","commit_id":"6650a66f5f5102496343fdfd63094e035a8a9487"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"91807893406e4a59711c7b0450c6a11ad0ed0d2a","unresolved":false,"context_lines":[{"line_number":253,"context_line":"                  \u0027and unassign all hotspares \u0027"},{"line_number":254,"context_line":"                  \u0027for node %(node_uuid)s. \u0027"},{"line_number":255,"context_line":"                  \u0027Reason: %(error)s.\u0027,"},{"line_number":256,"context_line":"                  {\u0027raid_controller_fqdd\u0027: raid_controller,"},{"line_number":257,"context_line":"                   \u0027node_uuid\u0027: node.uuid,"},{"line_number":258,"context_line":"                   \u0027error\u0027: exc})"},{"line_number":259,"context_line":"        raise exception.DracOperationError(error\u003dexc)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_c2efd11b","line":256,"in_reply_to":"9fb8cfa7_a1c2e932","updated":"2019-06-12 11:04:44.000000000","message":"Done","commit_id":"6650a66f5f5102496343fdfd63094e035a8a9487"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"e0cd03b7158fa2dfea880b8d98d1b0f52db23059","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        LOG.error(\u0027DRAC driver failed to free foreign driver \u0027"},{"line_number":284,"context_line":"                  \u0027for node %(node_uuid)s. \u0027"},{"line_number":285,"context_line":"                  \u0027Reason: %(error)s.\u0027,"},{"line_number":286,"context_line":"                  {\u0027raid_controller_fqdd\u0027: raid_controller,"},{"line_number":287,"context_line":"                   \u0027node_uuid\u0027: node.uuid,"},{"line_number":288,"context_line":"                   \u0027error\u0027: exc})"},{"line_number":289,"context_line":"        raise exception.DracOperationError(error\u003dexc)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_a1d749ee","line":286,"updated":"2019-06-11 21:50:44.000000000","message":"I think you can remove the raid_controller_fqdd parameter on the line above since it appears to not be used.","commit_id":"6650a66f5f5102496343fdfd63094e035a8a9487"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"91807893406e4a59711c7b0450c6a11ad0ed0d2a","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        LOG.error(\u0027DRAC driver failed to free foreign driver \u0027"},{"line_number":284,"context_line":"                  \u0027for node %(node_uuid)s. \u0027"},{"line_number":285,"context_line":"                  \u0027Reason: %(error)s.\u0027,"},{"line_number":286,"context_line":"                  {\u0027raid_controller_fqdd\u0027: raid_controller,"},{"line_number":287,"context_line":"                   \u0027node_uuid\u0027: node.uuid,"},{"line_number":288,"context_line":"                   \u0027error\u0027: exc})"},{"line_number":289,"context_line":"        raise exception.DracOperationError(error\u003dexc)"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_82f559ef","line":286,"in_reply_to":"9fb8cfa7_a1d749ee","updated":"2019-06-12 11:04:44.000000000","message":"Removed thanks.!!!","commit_id":"6650a66f5f5102496343fdfd63094e035a8a9487"},{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"e7eb2dcae91355df6b6d25e9cc035a398e90c037","unresolved":false,"context_lines":[{"line_number":748,"context_line":"        # is triggered when the configuration is committed to the last"},{"line_number":749,"context_line":"        # controller."},{"line_number":750,"context_line":"        realtime \u003d controller[\u0027is_reboot_required\u0027] \u003d\u003d \\"},{"line_number":751,"context_line":"            drac_common.drac_constants.RebootRequired().optional"},{"line_number":752,"context_line":"        all_realtime \u003d all_realtime and realtime"},{"line_number":753,"context_line":"        if controller \u003d\u003d controllers[-1]:"},{"line_number":754,"context_line":"            job_id \u003d commit_config(node, raid_controller\u003draid_controller,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_cb3857a1","line":751,"range":{"start_line":751,"start_character":12,"end_line":751,"end_character":24},"updated":"2019-06-11 22:13:13.000000000","message":"With the import suggested above, the reference to \u0027drac_common\u0027 can be removed. Also, the parentheses are unnecessary. It can simply be\n\n    drac_constants.RebootRequired.optional","commit_id":"6650a66f5f5102496343fdfd63094e035a8a9487"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"91807893406e4a59711c7b0450c6a11ad0ed0d2a","unresolved":false,"context_lines":[{"line_number":748,"context_line":"        # is triggered when the configuration is committed to the last"},{"line_number":749,"context_line":"        # controller."},{"line_number":750,"context_line":"        realtime \u003d controller[\u0027is_reboot_required\u0027] \u003d\u003d \\"},{"line_number":751,"context_line":"            drac_common.drac_constants.RebootRequired().optional"},{"line_number":752,"context_line":"        all_realtime \u003d all_realtime and realtime"},{"line_number":753,"context_line":"        if controller \u003d\u003d controllers[-1]:"},{"line_number":754,"context_line":"            job_id \u003d commit_config(node, raid_controller\u003draid_controller,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_2226edcf","line":751,"range":{"start_line":751,"start_character":12,"end_line":751,"end_character":24},"in_reply_to":"9fb8cfa7_cb3857a1","updated":"2019-06-12 11:04:44.000000000","message":"Done","commit_id":"6650a66f5f5102496343fdfd63094e035a8a9487"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"e0cd03b7158fa2dfea880b8d98d1b0f52db23059","unresolved":false,"context_lines":[{"line_number":999,"context_line":"                    if not jobs_required:"},{"line_number":1000,"context_line":"                        LOG.info("},{"line_number":1001,"context_line":"                            \"No foreign drives detected, so \""},{"line_number":1002,"context_line":"                            \"perform next substep or resume cleaning\")"},{"line_number":1003,"context_line":"                        self._clear_raid_substep(node)"},{"line_number":1004,"context_line":"                        self._resume_cleaning(task)"},{"line_number":1005,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_a8164954","line":1002,"updated":"2019-06-11 21:50:44.000000000","message":"Can you change the line above to:\n\"resume cleaning\")\nsince there is no next substep?","commit_id":"6650a66f5f5102496343fdfd63094e035a8a9487"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"91807893406e4a59711c7b0450c6a11ad0ed0d2a","unresolved":false,"context_lines":[{"line_number":999,"context_line":"                    if not jobs_required:"},{"line_number":1000,"context_line":"                        LOG.info("},{"line_number":1001,"context_line":"                            \"No foreign drives detected, so \""},{"line_number":1002,"context_line":"                            \"perform next substep or resume cleaning\")"},{"line_number":1003,"context_line":"                        self._clear_raid_substep(node)"},{"line_number":1004,"context_line":"                        self._resume_cleaning(task)"},{"line_number":1005,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_02296999","line":1002,"in_reply_to":"9fb8cfa7_a8164954","updated":"2019-06-12 11:04:44.000000000","message":"Done","commit_id":"6650a66f5f5102496343fdfd63094e035a8a9487"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"e0cd03b7158fa2dfea880b8d98d1b0f52db23059","unresolved":false,"context_lines":[{"line_number":1024,"context_line":"        driver_internal_info \u003d node.driver_internal_info"},{"line_number":1025,"context_line":"        if \u0027raid_config_substep\u0027 in driver_internal_info:"},{"line_number":1026,"context_line":"            del driver_internal_info[\u0027raid_config_substep\u0027]"},{"line_number":1027,"context_line":"            del driver_internal_info[\u0027raid_config_parameters\u0027]"},{"line_number":1028,"context_line":"            node.driver_internal_info \u003d driver_internal_info"},{"line_number":1029,"context_line":"            node.save()"},{"line_number":1030,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_c1491db7","line":1027,"updated":"2019-06-11 21:50:44.000000000","message":"On the line above, it would probably be a good idea to check to see if raid_config_parameters exists before deleting it.","commit_id":"6650a66f5f5102496343fdfd63094e035a8a9487"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"91807893406e4a59711c7b0450c6a11ad0ed0d2a","unresolved":false,"context_lines":[{"line_number":1024,"context_line":"        driver_internal_info \u003d node.driver_internal_info"},{"line_number":1025,"context_line":"        if \u0027raid_config_substep\u0027 in driver_internal_info:"},{"line_number":1026,"context_line":"            del driver_internal_info[\u0027raid_config_substep\u0027]"},{"line_number":1027,"context_line":"            del driver_internal_info[\u0027raid_config_parameters\u0027]"},{"line_number":1028,"context_line":"            node.driver_internal_info \u003d driver_internal_info"},{"line_number":1029,"context_line":"            node.save()"},{"line_number":1030,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_e22bf591","line":1027,"in_reply_to":"9fb8cfa7_c1491db7","updated":"2019-06-12 11:04:44.000000000","message":"Done","commit_id":"6650a66f5f5102496343fdfd63094e035a8a9487"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"4831b149e76baeb9f90673fc5d48f2dd10aba5f8","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        return client.is_raid_controller(raid_controller_fqdd,"},{"line_number":154,"context_line":"                                         raid_controllers)"},{"line_number":155,"context_line":"    except drac_exceptions.BaseClientException as exc:"},{"line_number":156,"context_line":"        LOG.error(\u0027DRAC driver failed to get the list of raid controller \u0027"},{"line_number":157,"context_line":"                  \u0027for node %(node_uuid)s. Reason: %(error)s.\u0027,"},{"line_number":158,"context_line":"                  {\u0027node_uuid\u0027: node.uuid, \u0027error\u0027: exc})"},{"line_number":159,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_82e9d9b7","line":156,"updated":"2019-06-12 10:40:20.000000000","message":"This error necessarily doesn\u0027t mean that the failure is on getting the list of raids. It can some different error as well.\nRight?","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"4dd864f9010e50d85b15edf2754f9d1d95952b1f","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        return client.is_raid_controller(raid_controller_fqdd,"},{"line_number":154,"context_line":"                                         raid_controllers)"},{"line_number":155,"context_line":"    except drac_exceptions.BaseClientException as exc:"},{"line_number":156,"context_line":"        LOG.error(\u0027DRAC driver failed to get the list of raid controller \u0027"},{"line_number":157,"context_line":"                  \u0027for node %(node_uuid)s. Reason: %(error)s.\u0027,"},{"line_number":158,"context_line":"                  {\u0027node_uuid\u0027: node.uuid, \u0027error\u0027: exc})"},{"line_number":159,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_a4c3a988","line":156,"in_reply_to":"9fb8cfa7_82e9d9b7","updated":"2019-06-13 19:36:49.000000000","message":"Well, the only operation that would raise an exception would be during a call to list_raid_controllers().  This could happen for a variety of reasons.\n\nWhy don\u0027t we change the error message to:\n\u0027Unable to determine if controller %(raid_controller_fqdd)s on node %(node_uuid)s is a RAID controller.  Reason: %(error)s.\u0027","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"ca3b771f103d8931f8a66eb96b9462af08dfc4ba","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        return client.is_raid_controller(raid_controller_fqdd,"},{"line_number":154,"context_line":"                                         raid_controllers)"},{"line_number":155,"context_line":"    except drac_exceptions.BaseClientException as exc:"},{"line_number":156,"context_line":"        LOG.error(\u0027DRAC driver failed to get the list of raid controller \u0027"},{"line_number":157,"context_line":"                  \u0027for node %(node_uuid)s. Reason: %(error)s.\u0027,"},{"line_number":158,"context_line":"                  {\u0027node_uuid\u0027: node.uuid, \u0027error\u0027: exc})"},{"line_number":159,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_1be0cf25","line":156,"in_reply_to":"9fb8cfa7_a4c3a988","updated":"2019-06-13 21:10:54.000000000","message":"Added.","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"4831b149e76baeb9f90673fc5d48f2dd10aba5f8","unresolved":false,"context_lines":[{"line_number":154,"context_line":"                                         raid_controllers)"},{"line_number":155,"context_line":"    except drac_exceptions.BaseClientException as exc:"},{"line_number":156,"context_line":"        LOG.error(\u0027DRAC driver failed to get the list of raid controller \u0027"},{"line_number":157,"context_line":"                  \u0027for node %(node_uuid)s. Reason: %(error)s.\u0027,"},{"line_number":158,"context_line":"                  {\u0027node_uuid\u0027: node.uuid, \u0027error\u0027: exc})"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        raise exception.DracOperationError(error\u003dexc)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_e2d775ed","line":157,"updated":"2019-06-12 10:40:20.000000000","message":"Also useful if we mention the raid_controller_fqdd in the log.","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"86109cd01845b0d082edaf440d0150d471959b2f","unresolved":false,"context_lines":[{"line_number":154,"context_line":"                                         raid_controllers)"},{"line_number":155,"context_line":"    except drac_exceptions.BaseClientException as exc:"},{"line_number":156,"context_line":"        LOG.error(\u0027DRAC driver failed to get the list of raid controller \u0027"},{"line_number":157,"context_line":"                  \u0027for node %(node_uuid)s. Reason: %(error)s.\u0027,"},{"line_number":158,"context_line":"                  {\u0027node_uuid\u0027: node.uuid, \u0027error\u0027: exc})"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        raise exception.DracOperationError(error\u003dexc)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_1fec5b28","line":157,"in_reply_to":"9fb8cfa7_5dc980a9","updated":"2019-06-12 13:45:11.000000000","message":"Ignore my above comment.","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"78a435046e273964767922a651385e972d0ad36c","unresolved":false,"context_lines":[{"line_number":154,"context_line":"                                         raid_controllers)"},{"line_number":155,"context_line":"    except drac_exceptions.BaseClientException as exc:"},{"line_number":156,"context_line":"        LOG.error(\u0027DRAC driver failed to get the list of raid controller \u0027"},{"line_number":157,"context_line":"                  \u0027for node %(node_uuid)s. Reason: %(error)s.\u0027,"},{"line_number":158,"context_line":"                  {\u0027node_uuid\u0027: node.uuid, \u0027error\u0027: exc})"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"        raise exception.DracOperationError(error\u003dexc)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_5dc980a9","line":157,"in_reply_to":"9fb8cfa7_e2d775ed","updated":"2019-06-12 11:17:32.000000000","message":"I tried to put raid_controller_fqdd in log but zul doc test was failing here giving indentation error..","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"4831b149e76baeb9f90673fc5d48f2dd10aba5f8","unresolved":false,"context_lines":[{"line_number":242,"context_line":"               reset configuration."},{"line_number":243,"context_line":"    :raises: DracOperationError on an error from python-dracclient."},{"line_number":244,"context_line":"    \"\"\""},{"line_number":245,"context_line":"    drac_job.validate_job_queue(node)"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    client \u003d drac_common.get_drac_client(node)"},{"line_number":248,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_c231115c","line":245,"updated":"2019-06-12 10:40:20.000000000","message":"This call can raise an error. So better to include in a try block.","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"ca3b771f103d8931f8a66eb96b9462af08dfc4ba","unresolved":false,"context_lines":[{"line_number":242,"context_line":"               reset configuration."},{"line_number":243,"context_line":"    :raises: DracOperationError on an error from python-dracclient."},{"line_number":244,"context_line":"    \"\"\""},{"line_number":245,"context_line":"    drac_job.validate_job_queue(node)"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    client \u003d drac_common.get_drac_client(node)"},{"line_number":248,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_7bca2ba1","line":245,"in_reply_to":"9fb8cfa7_24c2595a","updated":"2019-06-13 21:10:54.000000000","message":"Moved.","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"4dd864f9010e50d85b15edf2754f9d1d95952b1f","unresolved":false,"context_lines":[{"line_number":242,"context_line":"               reset configuration."},{"line_number":243,"context_line":"    :raises: DracOperationError on an error from python-dracclient."},{"line_number":244,"context_line":"    \"\"\""},{"line_number":245,"context_line":"    drac_job.validate_job_queue(node)"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    client \u003d drac_common.get_drac_client(node)"},{"line_number":248,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_24c2595a","line":245,"in_reply_to":"9fb8cfa7_c231115c","updated":"2019-06-13 19:36:49.000000000","message":"Let\u0027s move these 2 lines of code inside the try block.  The error message logged below is appropriate as it is if the validate method throws an exception.","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"4831b149e76baeb9f90673fc5d48f2dd10aba5f8","unresolved":false,"context_lines":[{"line_number":249,"context_line":"    try:"},{"line_number":250,"context_line":"        return client.reset_raid_config(raid_controller)"},{"line_number":251,"context_line":"    except drac_exceptions.BaseClientException as exc:"},{"line_number":252,"context_line":"        LOG.error(\u0027DRAC driver failed to delete all virtual disk \u0027"},{"line_number":253,"context_line":"                  \u0027and unassign all hotspares \u0027"},{"line_number":254,"context_line":"                  \u0027for node %(node_uuid)s. \u0027"},{"line_number":255,"context_line":"                  \u0027Reason: %(error)s.\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_423d2129","line":252,"updated":"2019-06-12 10:40:20.000000000","message":"include raid_controller in log.","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"4dd864f9010e50d85b15edf2754f9d1d95952b1f","unresolved":false,"context_lines":[{"line_number":249,"context_line":"    try:"},{"line_number":250,"context_line":"        return client.reset_raid_config(raid_controller)"},{"line_number":251,"context_line":"    except drac_exceptions.BaseClientException as exc:"},{"line_number":252,"context_line":"        LOG.error(\u0027DRAC driver failed to delete all virtual disk \u0027"},{"line_number":253,"context_line":"                  \u0027and unassign all hotspares \u0027"},{"line_number":254,"context_line":"                  \u0027for node %(node_uuid)s. \u0027"},{"line_number":255,"context_line":"                  \u0027Reason: %(error)s.\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_5dd9641f","line":252,"in_reply_to":"9fb8cfa7_423d2129","updated":"2019-06-13 19:36:49.000000000","message":"I agree that it would be a good idea to include the RAID controller FQDD in the log message.","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"ca3b771f103d8931f8a66eb96b9462af08dfc4ba","unresolved":false,"context_lines":[{"line_number":249,"context_line":"    try:"},{"line_number":250,"context_line":"        return client.reset_raid_config(raid_controller)"},{"line_number":251,"context_line":"    except drac_exceptions.BaseClientException as exc:"},{"line_number":252,"context_line":"        LOG.error(\u0027DRAC driver failed to delete all virtual disk \u0027"},{"line_number":253,"context_line":"                  \u0027and unassign all hotspares \u0027"},{"line_number":254,"context_line":"                  \u0027for node %(node_uuid)s. \u0027"},{"line_number":255,"context_line":"                  \u0027Reason: %(error)s.\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_3bc833a4","line":252,"in_reply_to":"9fb8cfa7_5dd9641f","updated":"2019-06-13 21:10:54.000000000","message":"Done","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"4831b149e76baeb9f90673fc5d48f2dd10aba5f8","unresolved":false,"context_lines":[{"line_number":272,"context_line":"               clear foreign configuration."},{"line_number":273,"context_line":"    :raises: DracOperationError on an error from python-dracclient."},{"line_number":274,"context_line":"    \"\"\""},{"line_number":275,"context_line":"    drac_job.validate_job_queue(node)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"    client \u003d drac_common.get_drac_client(node)"},{"line_number":278,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_8237994d","line":275,"updated":"2019-06-12 10:40:20.000000000","message":"Ditto","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"4dd864f9010e50d85b15edf2754f9d1d95952b1f","unresolved":false,"context_lines":[{"line_number":272,"context_line":"               clear foreign configuration."},{"line_number":273,"context_line":"    :raises: DracOperationError on an error from python-dracclient."},{"line_number":274,"context_line":"    \"\"\""},{"line_number":275,"context_line":"    drac_job.validate_job_queue(node)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"    client \u003d drac_common.get_drac_client(node)"},{"line_number":278,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_e4b761f4","line":275,"in_reply_to":"9fb8cfa7_8237994d","updated":"2019-06-13 19:36:49.000000000","message":"Ditto","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"ca3b771f103d8931f8a66eb96b9462af08dfc4ba","unresolved":false,"context_lines":[{"line_number":272,"context_line":"               clear foreign configuration."},{"line_number":273,"context_line":"    :raises: DracOperationError on an error from python-dracclient."},{"line_number":274,"context_line":"    \"\"\""},{"line_number":275,"context_line":"    drac_job.validate_job_queue(node)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"    client \u003d drac_common.get_drac_client(node)"},{"line_number":278,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_5bc3a789","line":275,"in_reply_to":"9fb8cfa7_e4b761f4","updated":"2019-06-13 21:10:54.000000000","message":"Done","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"4831b149e76baeb9f90673fc5d48f2dd10aba5f8","unresolved":false,"context_lines":[{"line_number":279,"context_line":"    try:"},{"line_number":280,"context_line":"        return client.clear_foreign_config(raid_controller)"},{"line_number":281,"context_line":"    except drac_exceptions.BaseClientException as exc:"},{"line_number":282,"context_line":"        LOG.error(\u0027DRAC driver failed to free foreign driver \u0027"},{"line_number":283,"context_line":"                  \u0027for node %(node_uuid)s. \u0027"},{"line_number":284,"context_line":"                  \u0027Reason: %(error)s.\u0027,"},{"line_number":285,"context_line":"                  {\u0027node_uuid\u0027: node.uuid,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_0243a9b0","line":282,"updated":"2019-06-12 10:40:20.000000000","message":"Please include raid_controller in the log.","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"4dd864f9010e50d85b15edf2754f9d1d95952b1f","unresolved":false,"context_lines":[{"line_number":279,"context_line":"    try:"},{"line_number":280,"context_line":"        return client.clear_foreign_config(raid_controller)"},{"line_number":281,"context_line":"    except drac_exceptions.BaseClientException as exc:"},{"line_number":282,"context_line":"        LOG.error(\u0027DRAC driver failed to free foreign driver \u0027"},{"line_number":283,"context_line":"                  \u0027for node %(node_uuid)s. \u0027"},{"line_number":284,"context_line":"                  \u0027Reason: %(error)s.\u0027,"},{"line_number":285,"context_line":"                  {\u0027node_uuid\u0027: node.uuid,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_dde554dd","line":282,"in_reply_to":"9fb8cfa7_0243a9b0","updated":"2019-06-13 19:36:49.000000000","message":"I agree that it would be a good idea to include the RAID controller FQDD in the log message.","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"ca3b771f103d8931f8a66eb96b9462af08dfc4ba","unresolved":false,"context_lines":[{"line_number":279,"context_line":"    try:"},{"line_number":280,"context_line":"        return client.clear_foreign_config(raid_controller)"},{"line_number":281,"context_line":"    except drac_exceptions.BaseClientException as exc:"},{"line_number":282,"context_line":"        LOG.error(\u0027DRAC driver failed to free foreign driver \u0027"},{"line_number":283,"context_line":"                  \u0027for node %(node_uuid)s. \u0027"},{"line_number":284,"context_line":"                  \u0027Reason: %(error)s.\u0027,"},{"line_number":285,"context_line":"                  {\u0027node_uuid\u0027: node.uuid,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_1bb9af13","line":282,"in_reply_to":"9fb8cfa7_dde554dd","updated":"2019-06-13 21:10:54.000000000","message":"Done","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"4831b149e76baeb9f90673fc5d48f2dd10aba5f8","unresolved":false,"context_lines":[{"line_number":671,"context_line":"        for disks_count in range(min_disks, candidate_max_disks + 1):"},{"line_number":672,"context_line":"            if (\u0027number_of_physical_disks\u0027 in logical_disk"},{"line_number":673,"context_line":"                    and logical_disk["},{"line_number":674,"context_line":"                        \u0027number_of_physical_disks\u0027] !\u003d disks_count):"},{"line_number":675,"context_line":"                continue"},{"line_number":676,"context_line":""},{"line_number":677,"context_line":"            # skip invalid disks_count"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_42268117","line":674,"updated":"2019-06-12 10:40:20.000000000","message":"The change starting L344 until here seems unrelated.\nMaybe better to submit another patch.","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"78a435046e273964767922a651385e972d0ad36c","unresolved":false,"context_lines":[{"line_number":671,"context_line":"        for disks_count in range(min_disks, candidate_max_disks + 1):"},{"line_number":672,"context_line":"            if (\u0027number_of_physical_disks\u0027 in logical_disk"},{"line_number":673,"context_line":"                    and logical_disk["},{"line_number":674,"context_line":"                        \u0027number_of_physical_disks\u0027] !\u003d disks_count):"},{"line_number":675,"context_line":"                continue"},{"line_number":676,"context_line":""},{"line_number":677,"context_line":"            # skip invalid disks_count"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_bda19cfa","line":674,"in_reply_to":"9fb8cfa7_42268117","updated":"2019-06-12 11:17:32.000000000","message":"Hi Madhuri, Thanks for reviewing patch. Can you please elaborate what seems unrelated?","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"6b40e4cd695eab76f26839af0694940f0ce78601","unresolved":false,"context_lines":[{"line_number":671,"context_line":"        for disks_count in range(min_disks, candidate_max_disks + 1):"},{"line_number":672,"context_line":"            if (\u0027number_of_physical_disks\u0027 in logical_disk"},{"line_number":673,"context_line":"                    and logical_disk["},{"line_number":674,"context_line":"                        \u0027number_of_physical_disks\u0027] !\u003d disks_count):"},{"line_number":675,"context_line":"                continue"},{"line_number":676,"context_line":""},{"line_number":677,"context_line":"            # skip invalid disks_count"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_ed019439","line":674,"in_reply_to":"9fb8cfa7_bda19cfa","updated":"2019-06-13 07:27:11.000000000","message":"The changes starting from L344 are not changing any functionality whereas it\u0027s only changing indentation which is not related to the patch.","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"536a1dd8f8e09f672e9e796602fba7c6e3ea9e68","unresolved":false,"context_lines":[{"line_number":671,"context_line":"        for disks_count in range(min_disks, candidate_max_disks + 1):"},{"line_number":672,"context_line":"            if (\u0027number_of_physical_disks\u0027 in logical_disk"},{"line_number":673,"context_line":"                    and logical_disk["},{"line_number":674,"context_line":"                        \u0027number_of_physical_disks\u0027] !\u003d disks_count):"},{"line_number":675,"context_line":"                continue"},{"line_number":676,"context_line":""},{"line_number":677,"context_line":"            # skip invalid disks_count"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_0e92d44c","line":674,"in_reply_to":"9fb8cfa7_ed019439","updated":"2019-06-13 17:53:22.000000000","message":"Hi Madhuri, I have removed additional changes related to indentation from L344 to L674 .","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"d69461c8a7a6b36946fe050965c8e83fa454d32d","unresolved":false,"context_lines":[{"line_number":671,"context_line":"        for disks_count in range(min_disks, candidate_max_disks + 1):"},{"line_number":672,"context_line":"            if (\u0027number_of_physical_disks\u0027 in logical_disk"},{"line_number":673,"context_line":"                    and logical_disk["},{"line_number":674,"context_line":"                        \u0027number_of_physical_disks\u0027] !\u003d disks_count):"},{"line_number":675,"context_line":"                continue"},{"line_number":676,"context_line":""},{"line_number":677,"context_line":"            # skip invalid disks_count"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_716c9ecd","line":674,"in_reply_to":"9fb8cfa7_ed019439","updated":"2019-06-13 07:40:05.000000000","message":"I did these changes because it was against pep8 convension guide and was giving me pep8 error. i think its not necessary to create another patch just to change and fix this convensions","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"4831b149e76baeb9f90673fc5d48f2dd10aba5f8","unresolved":false,"context_lines":[{"line_number":722,"context_line":""},{"line_number":723,"context_line":""},{"line_number":724,"context_line":"def _commit_to_controllers(node, controllers, substep\u003d\"completed\"):"},{"line_number":725,"context_line":"    \"\"\"Commit changes to RAID controllers on the node.\"\"\""},{"line_number":726,"context_line":""},{"line_number":727,"context_line":"    if not controllers:"},{"line_number":728,"context_line":"        LOG.debug(\u0027No changes on any of the controllers on node %s\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_e21e95b9","line":725,"updated":"2019-06-12 10:40:20.000000000","message":"Missing param definition.","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"ca3b771f103d8931f8a66eb96b9462af08dfc4ba","unresolved":false,"context_lines":[{"line_number":722,"context_line":""},{"line_number":723,"context_line":""},{"line_number":724,"context_line":"def _commit_to_controllers(node, controllers, substep\u003d\"completed\"):"},{"line_number":725,"context_line":"    \"\"\"Commit changes to RAID controllers on the node.\"\"\""},{"line_number":726,"context_line":""},{"line_number":727,"context_line":"    if not controllers:"},{"line_number":728,"context_line":"        LOG.debug(\u0027No changes on any of the controllers on node %s\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_9b427f0e","line":725,"in_reply_to":"9fb8cfa7_2990f249","updated":"2019-06-13 21:10:54.000000000","message":"I have added remaining sections to doc string. Please let me know if it seems correct or else i will remove it.","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"ca3b771f103d8931f8a66eb96b9462af08dfc4ba","unresolved":false,"context_lines":[{"line_number":722,"context_line":""},{"line_number":723,"context_line":""},{"line_number":724,"context_line":"def _commit_to_controllers(node, controllers, substep\u003d\"completed\"):"},{"line_number":725,"context_line":"    \"\"\"Commit changes to RAID controllers on the node.\"\"\""},{"line_number":726,"context_line":""},{"line_number":727,"context_line":"    if not controllers:"},{"line_number":728,"context_line":"        LOG.debug(\u0027No changes on any of the controllers on node %s\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_69534a3a","line":725,"in_reply_to":"9fb8cfa7_e21e95b9","updated":"2019-06-13 21:10:54.000000000","message":"Done in PS-9","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"4dd864f9010e50d85b15edf2754f9d1d95952b1f","unresolved":false,"context_lines":[{"line_number":722,"context_line":""},{"line_number":723,"context_line":""},{"line_number":724,"context_line":"def _commit_to_controllers(node, controllers, substep\u003d\"completed\"):"},{"line_number":725,"context_line":"    \"\"\"Commit changes to RAID controllers on the node.\"\"\""},{"line_number":726,"context_line":""},{"line_number":727,"context_line":"    if not controllers:"},{"line_number":728,"context_line":"        LOG.debug(\u0027No changes on any of the controllers on node %s\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_2990f249","line":725,"in_reply_to":"9fb8cfa7_e21e95b9","updated":"2019-06-13 19:36:49.000000000","message":"I don\u0027t think there\u0027s a requirement to document internal methods.  We seem to be somewhat inconsistent about that in the iDRAC driver.  Could you either remove the above comment Rachit or add in the remaining sections to the doc string?","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"4831b149e76baeb9f90673fc5d48f2dd10aba5f8","unresolved":false,"context_lines":[{"line_number":974,"context_line":"        task.upgrade_lock()"},{"line_number":975,"context_line":"        self._delete_cached_config_job_id(node, finished_job_ids)"},{"line_number":976,"context_line":""},{"line_number":977,"context_line":"        if not node.driver_internal_info.get(\u0027raid_config_job_failure\u0027,"},{"line_number":978,"context_line":"                                             False):"},{"line_number":979,"context_line":"            if \u0027raid_config_substep\u0027 in node.driver_internal_info:"},{"line_number":980,"context_line":"                if node.driver_internal_info[\u0027raid_config_substep\u0027] \u003d\u003d \\"},{"line_number":981,"context_line":"                        \u0027delete_foreign_config\u0027:"},{"line_number":982,"context_line":"                    controllers \u003d list()"},{"line_number":983,"context_line":"                    jobs_required \u003d False"},{"line_number":984,"context_line":"                    for controller_id in \\"},{"line_number":985,"context_line":"                            node.driver_internal_info["},{"line_number":986,"context_line":"                                \u0027raid_config_parameters\u0027]:"},{"line_number":987,"context_line":"                        controller_cap \u003d clear_foreign_config("},{"line_number":988,"context_line":"                            node, controller_id)"},{"line_number":989,"context_line":"                        controller \u003d {\u0027raid_controller\u0027: controller_id,"},{"line_number":990,"context_line":"                                      \u0027is_reboot_required\u0027:"},{"line_number":991,"context_line":"                                          controller_cap["},{"line_number":992,"context_line":"                                              \u0027is_reboot_required\u0027]}"},{"line_number":993,"context_line":"                        controllers.append(controller)"},{"line_number":994,"context_line":"                        jobs_required \u003d jobs_required or controller_cap["},{"line_number":995,"context_line":"                            \u0027is_commit_required\u0027]"},{"line_number":996,"context_line":""},{"line_number":997,"context_line":"                    if not jobs_required:"},{"line_number":998,"context_line":"                        LOG.info("},{"line_number":999,"context_line":"                            \"No foreign drives detected, so \""},{"line_number":1000,"context_line":"                            \"resume cleaning\")"},{"line_number":1001,"context_line":"                        self._clear_raid_substep(node)"},{"line_number":1002,"context_line":"                        self._resume_cleaning(task)"},{"line_number":1003,"context_line":""},{"line_number":1004,"context_line":"                    else:"},{"line_number":1005,"context_line":"                        _commit_to_controllers("},{"line_number":1006,"context_line":"                            node,"},{"line_number":1007,"context_line":"                            controllers,"},{"line_number":1008,"context_line":"                            substep\u003d\u0027completed\u0027)"},{"line_number":1009,"context_line":"                elif node.driver_internal_info[\u0027raid_config_substep\u0027] \u003d\u003d \\"},{"line_number":1010,"context_line":"                        \u0027completed\u0027:"},{"line_number":1011,"context_line":"                    self._clear_raid_substep(node)"},{"line_number":1012,"context_line":"                    self._resume_cleaning(task)"},{"line_number":1013,"context_line":"            else:"},{"line_number":1014,"context_line":"                self._clear_raid_substep(node)"},{"line_number":1015,"context_line":"                self._resume_cleaning(task)"},{"line_number":1016,"context_line":"        else:"},{"line_number":1017,"context_line":"            self._clear_raid_substep(node)"},{"line_number":1018,"context_line":"            self._clear_raid_config_job_failure(node)"},{"line_number":1019,"context_line":"            self._set_clean_failed(task, config_job)"},{"line_number":1020,"context_line":""},{"line_number":1021,"context_line":"    def _clear_raid_substep(self, node):"},{"line_number":1022,"context_line":"        driver_internal_info \u003d node.driver_internal_info"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_c2cd9131","line":1019,"range":{"start_line":977,"start_character":1,"end_line":1019,"end_character":52},"updated":"2019-06-12 10:40:20.000000000","message":"Can we try to simplify this code? break this in methods, etc?\nToo deep nested if else. Just a thought.","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"4dd864f9010e50d85b15edf2754f9d1d95952b1f","unresolved":false,"context_lines":[{"line_number":974,"context_line":"        task.upgrade_lock()"},{"line_number":975,"context_line":"        self._delete_cached_config_job_id(node, finished_job_ids)"},{"line_number":976,"context_line":""},{"line_number":977,"context_line":"        if not node.driver_internal_info.get(\u0027raid_config_job_failure\u0027,"},{"line_number":978,"context_line":"                                             False):"},{"line_number":979,"context_line":"            if \u0027raid_config_substep\u0027 in node.driver_internal_info:"},{"line_number":980,"context_line":"                if node.driver_internal_info[\u0027raid_config_substep\u0027] \u003d\u003d \\"},{"line_number":981,"context_line":"                        \u0027delete_foreign_config\u0027:"},{"line_number":982,"context_line":"                    controllers \u003d list()"},{"line_number":983,"context_line":"                    jobs_required \u003d False"},{"line_number":984,"context_line":"                    for controller_id in \\"},{"line_number":985,"context_line":"                            node.driver_internal_info["},{"line_number":986,"context_line":"                                \u0027raid_config_parameters\u0027]:"},{"line_number":987,"context_line":"                        controller_cap \u003d clear_foreign_config("},{"line_number":988,"context_line":"                            node, controller_id)"},{"line_number":989,"context_line":"                        controller \u003d {\u0027raid_controller\u0027: controller_id,"},{"line_number":990,"context_line":"                                      \u0027is_reboot_required\u0027:"},{"line_number":991,"context_line":"                                          controller_cap["},{"line_number":992,"context_line":"                                              \u0027is_reboot_required\u0027]}"},{"line_number":993,"context_line":"                        controllers.append(controller)"},{"line_number":994,"context_line":"                        jobs_required \u003d jobs_required or controller_cap["},{"line_number":995,"context_line":"                            \u0027is_commit_required\u0027]"},{"line_number":996,"context_line":""},{"line_number":997,"context_line":"                    if not jobs_required:"},{"line_number":998,"context_line":"                        LOG.info("},{"line_number":999,"context_line":"                            \"No foreign drives detected, so \""},{"line_number":1000,"context_line":"                            \"resume cleaning\")"},{"line_number":1001,"context_line":"                        self._clear_raid_substep(node)"},{"line_number":1002,"context_line":"                        self._resume_cleaning(task)"},{"line_number":1003,"context_line":""},{"line_number":1004,"context_line":"                    else:"},{"line_number":1005,"context_line":"                        _commit_to_controllers("},{"line_number":1006,"context_line":"                            node,"},{"line_number":1007,"context_line":"                            controllers,"},{"line_number":1008,"context_line":"                            substep\u003d\u0027completed\u0027)"},{"line_number":1009,"context_line":"                elif node.driver_internal_info[\u0027raid_config_substep\u0027] \u003d\u003d \\"},{"line_number":1010,"context_line":"                        \u0027completed\u0027:"},{"line_number":1011,"context_line":"                    self._clear_raid_substep(node)"},{"line_number":1012,"context_line":"                    self._resume_cleaning(task)"},{"line_number":1013,"context_line":"            else:"},{"line_number":1014,"context_line":"                self._clear_raid_substep(node)"},{"line_number":1015,"context_line":"                self._resume_cleaning(task)"},{"line_number":1016,"context_line":"        else:"},{"line_number":1017,"context_line":"            self._clear_raid_substep(node)"},{"line_number":1018,"context_line":"            self._clear_raid_config_job_failure(node)"},{"line_number":1019,"context_line":"            self._set_clean_failed(task, config_job)"},{"line_number":1020,"context_line":""},{"line_number":1021,"context_line":"    def _clear_raid_substep(self, node):"},{"line_number":1022,"context_line":"        driver_internal_info \u003d node.driver_internal_info"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_c4825d00","line":1019,"range":{"start_line":977,"start_character":1,"end_line":1019,"end_character":52},"in_reply_to":"9fb8cfa7_c2cd9131","updated":"2019-06-13 19:36:49.000000000","message":"Rachit, could you create a new method to handle the delete_foreign_config case?  All the code from 982-1008 would go into that method.  We could also create a method for the \"completed\" case too.  This should help to simplify things a little.","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"ca3b771f103d8931f8a66eb96b9462af08dfc4ba","unresolved":false,"context_lines":[{"line_number":974,"context_line":"        task.upgrade_lock()"},{"line_number":975,"context_line":"        self._delete_cached_config_job_id(node, finished_job_ids)"},{"line_number":976,"context_line":""},{"line_number":977,"context_line":"        if not node.driver_internal_info.get(\u0027raid_config_job_failure\u0027,"},{"line_number":978,"context_line":"                                             False):"},{"line_number":979,"context_line":"            if \u0027raid_config_substep\u0027 in node.driver_internal_info:"},{"line_number":980,"context_line":"                if node.driver_internal_info[\u0027raid_config_substep\u0027] \u003d\u003d \\"},{"line_number":981,"context_line":"                        \u0027delete_foreign_config\u0027:"},{"line_number":982,"context_line":"                    controllers \u003d list()"},{"line_number":983,"context_line":"                    jobs_required \u003d False"},{"line_number":984,"context_line":"                    for controller_id in \\"},{"line_number":985,"context_line":"                            node.driver_internal_info["},{"line_number":986,"context_line":"                                \u0027raid_config_parameters\u0027]:"},{"line_number":987,"context_line":"                        controller_cap \u003d clear_foreign_config("},{"line_number":988,"context_line":"                            node, controller_id)"},{"line_number":989,"context_line":"                        controller \u003d {\u0027raid_controller\u0027: controller_id,"},{"line_number":990,"context_line":"                                      \u0027is_reboot_required\u0027:"},{"line_number":991,"context_line":"                                          controller_cap["},{"line_number":992,"context_line":"                                              \u0027is_reboot_required\u0027]}"},{"line_number":993,"context_line":"                        controllers.append(controller)"},{"line_number":994,"context_line":"                        jobs_required \u003d jobs_required or controller_cap["},{"line_number":995,"context_line":"                            \u0027is_commit_required\u0027]"},{"line_number":996,"context_line":""},{"line_number":997,"context_line":"                    if not jobs_required:"},{"line_number":998,"context_line":"                        LOG.info("},{"line_number":999,"context_line":"                            \"No foreign drives detected, so \""},{"line_number":1000,"context_line":"                            \"resume cleaning\")"},{"line_number":1001,"context_line":"                        self._clear_raid_substep(node)"},{"line_number":1002,"context_line":"                        self._resume_cleaning(task)"},{"line_number":1003,"context_line":""},{"line_number":1004,"context_line":"                    else:"},{"line_number":1005,"context_line":"                        _commit_to_controllers("},{"line_number":1006,"context_line":"                            node,"},{"line_number":1007,"context_line":"                            controllers,"},{"line_number":1008,"context_line":"                            substep\u003d\u0027completed\u0027)"},{"line_number":1009,"context_line":"                elif node.driver_internal_info[\u0027raid_config_substep\u0027] \u003d\u003d \\"},{"line_number":1010,"context_line":"                        \u0027completed\u0027:"},{"line_number":1011,"context_line":"                    self._clear_raid_substep(node)"},{"line_number":1012,"context_line":"                    self._resume_cleaning(task)"},{"line_number":1013,"context_line":"            else:"},{"line_number":1014,"context_line":"                self._clear_raid_substep(node)"},{"line_number":1015,"context_line":"                self._resume_cleaning(task)"},{"line_number":1016,"context_line":"        else:"},{"line_number":1017,"context_line":"            self._clear_raid_substep(node)"},{"line_number":1018,"context_line":"            self._clear_raid_config_job_failure(node)"},{"line_number":1019,"context_line":"            self._set_clean_failed(task, config_job)"},{"line_number":1020,"context_line":""},{"line_number":1021,"context_line":"    def _clear_raid_substep(self, node):"},{"line_number":1022,"context_line":"        driver_internal_info \u003d node.driver_internal_info"}],"source_content_type":"text/x-python","patch_set":3,"id":"9fb8cfa7_5b48872b","line":1019,"range":{"start_line":977,"start_character":1,"end_line":1019,"end_character":52},"in_reply_to":"9fb8cfa7_c4825d00","updated":"2019-06-13 21:10:54.000000000","message":"Simplified the scattered the nested statements in method calls","commit_id":"b1e8d2ac45ff158ce1702b4323eb4de0ed15c47b"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"5e68cb197bef052113d01b28309cb6e22f2cccd6","unresolved":false,"context_lines":[{"line_number":265,"context_line":"    :param node: an ironic node object."},{"line_number":266,"context_line":"    :param raid_controller: id of the RAID controller."},{"line_number":267,"context_line":"    :returns: a dictionary containing"},{"line_number":268,"context_line":"             - The is_commit_required needed key with a"},{"line_number":269,"context_line":"               boolean value indicating whether a config job must be created"},{"line_number":270,"context_line":"               for the values to be applied."},{"line_number":271,"context_line":"             - The is_reboot_required key with a RebootRequired enumerated"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_3434defb","line":268,"updated":"2019-06-12 19:39:33.000000000","message":"I think to get the docs test to pass, you\u0027ll have to remove the indenting of the lines after the \"-\" line so it looks like this:\n\n    :returns: a dictionary containing\n              - The is_commit_required needed key with a\n              boolean value indicating whether a config job must be created\n              for the values to be applied.\n\nThis will need to be done for the is_reboot_required comment below and make the same changes in the reset_raid_config() doc string too.","commit_id":"2e6546cecdff8c15fe9b27db8dd6026bcb335659"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"368274baade96ca9c082123d372e9166765070d9","unresolved":false,"context_lines":[{"line_number":265,"context_line":"    :param node: an ironic node object."},{"line_number":266,"context_line":"    :param raid_controller: id of the RAID controller."},{"line_number":267,"context_line":"    :returns: a dictionary containing"},{"line_number":268,"context_line":"             - The is_commit_required needed key with a"},{"line_number":269,"context_line":"               boolean value indicating whether a config job must be created"},{"line_number":270,"context_line":"               for the values to be applied."},{"line_number":271,"context_line":"             - The is_reboot_required key with a RebootRequired enumerated"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_5ae08f26","line":268,"in_reply_to":"9fb8cfa7_3434defb","updated":"2019-06-13 10:22:55.000000000","message":"Thanks chris for pointing out..!","commit_id":"2e6546cecdff8c15fe9b27db8dd6026bcb335659"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"7b8ba72769c37a930de0e2d282c70d648b58cb89","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        raise exception.DracOperationError(error\u003dexc)"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"def is_raid_controller(node, raid_controller_fqdd, raid_controllers\u003dNone):"},{"line_number":139,"context_line":"    \"\"\"Find out if object\u0027s fqdd is for a raid controller or not"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    :param node: an ironic node object"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fb8cfa7_b5150c4b","line":138,"range":{"start_line":138,"start_character":4,"end_line":138,"end_character":22},"updated":"2019-06-14 07:27:54.000000000","message":"This method is private to this module. Can be named as \u0027_is_raid_controller\u0027","commit_id":"b59b30d3372937fa77be69e32df09987a2bddbdd"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"761bec38631881f6a1d08d3678418df0ebe7550d","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        raise exception.DracOperationError(error\u003dexc)"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"def is_raid_controller(node, raid_controller_fqdd, raid_controllers\u003dNone):"},{"line_number":139,"context_line":"    \"\"\"Find out if object\u0027s fqdd is for a raid controller or not"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    :param node: an ironic node object"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fb8cfa7_133acf33","line":138,"range":{"start_line":138,"start_character":4,"end_line":138,"end_character":22},"in_reply_to":"9fb8cfa7_b5150c4b","updated":"2019-06-17 13:50:12.000000000","message":"Done","commit_id":"b59b30d3372937fa77be69e32df09987a2bddbdd"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"7b8ba72769c37a930de0e2d282c70d648b58cb89","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        raise exception.DracOperationError(error\u003dexc)"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"def reset_raid_config(node, raid_controller):"},{"line_number":235,"context_line":"    \"\"\"Delete all virtual disk and unassign all hotspares physical disk"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"    :param node: an ironic node object."}],"source_content_type":"text/x-python","patch_set":9,"id":"9fb8cfa7_55105057","line":234,"range":{"start_line":234,"start_character":4,"end_line":234,"end_character":21},"updated":"2019-06-14 07:27:54.000000000","message":"This method is private to this module. Can be named as \u0027_reset_raid_config\u0027","commit_id":"b59b30d3372937fa77be69e32df09987a2bddbdd"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"761bec38631881f6a1d08d3678418df0ebe7550d","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        raise exception.DracOperationError(error\u003dexc)"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"def reset_raid_config(node, raid_controller):"},{"line_number":235,"context_line":"    \"\"\"Delete all virtual disk and unassign all hotspares physical disk"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"    :param node: an ironic node object."}],"source_content_type":"text/x-python","patch_set":9,"id":"9fb8cfa7_d343d7ae","line":234,"range":{"start_line":234,"start_character":4,"end_line":234,"end_character":21},"in_reply_to":"9fb8cfa7_55105057","updated":"2019-06-17 13:50:12.000000000","message":"Done.","commit_id":"b59b30d3372937fa77be69e32df09987a2bddbdd"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"7b8ba72769c37a930de0e2d282c70d648b58cb89","unresolved":false,"context_lines":[{"line_number":256,"context_line":"                  \u0027and unassign all hotspares \u0027"},{"line_number":257,"context_line":"                  \u0027for node %(node_uuid)s. \u0027"},{"line_number":258,"context_line":"                  \u0027Reason: %(error)s.\u0027,"},{"line_number":259,"context_line":"                  {\u0027raid_controller_fqdd\u0027: raid_controller,"},{"line_number":260,"context_line":"                   \u0027node_uuid\u0027: node.uuid,"},{"line_number":261,"context_line":"                   \u0027error\u0027: exc})"},{"line_number":262,"context_line":"        raise exception.DracOperationError(error\u003dexc)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fb8cfa7_35ed9cb6","line":259,"range":{"start_line":259,"start_character":19,"end_line":259,"end_character":58},"updated":"2019-06-14 07:27:54.000000000","message":"This is not used in message.","commit_id":"b59b30d3372937fa77be69e32df09987a2bddbdd"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"bbb0a83c069f7cd636f3cd87547054ad0fd5d8d9","unresolved":false,"context_lines":[{"line_number":256,"context_line":"                  \u0027and unassign all hotspares \u0027"},{"line_number":257,"context_line":"                  \u0027for node %(node_uuid)s. \u0027"},{"line_number":258,"context_line":"                  \u0027Reason: %(error)s.\u0027,"},{"line_number":259,"context_line":"                  {\u0027raid_controller_fqdd\u0027: raid_controller,"},{"line_number":260,"context_line":"                   \u0027node_uuid\u0027: node.uuid,"},{"line_number":261,"context_line":"                   \u0027error\u0027: exc})"},{"line_number":262,"context_line":"        raise exception.DracOperationError(error\u003dexc)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fb8cfa7_5c84ebd2","line":259,"range":{"start_line":259,"start_character":19,"end_line":259,"end_character":58},"in_reply_to":"9fb8cfa7_35ed9cb6","updated":"2019-06-14 21:03:59.000000000","message":"Can you add logging the RAID controller FQDD into the log message?","commit_id":"b59b30d3372937fa77be69e32df09987a2bddbdd"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"761bec38631881f6a1d08d3678418df0ebe7550d","unresolved":false,"context_lines":[{"line_number":256,"context_line":"                  \u0027and unassign all hotspares \u0027"},{"line_number":257,"context_line":"                  \u0027for node %(node_uuid)s. \u0027"},{"line_number":258,"context_line":"                  \u0027Reason: %(error)s.\u0027,"},{"line_number":259,"context_line":"                  {\u0027raid_controller_fqdd\u0027: raid_controller,"},{"line_number":260,"context_line":"                   \u0027node_uuid\u0027: node.uuid,"},{"line_number":261,"context_line":"                   \u0027error\u0027: exc})"},{"line_number":262,"context_line":"        raise exception.DracOperationError(error\u003dexc)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fb8cfa7_93179fa4","line":259,"range":{"start_line":259,"start_character":19,"end_line":259,"end_character":58},"in_reply_to":"9fb8cfa7_5c84ebd2","updated":"2019-06-17 13:50:12.000000000","message":"Done","commit_id":"b59b30d3372937fa77be69e32df09987a2bddbdd"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"7b8ba72769c37a930de0e2d282c70d648b58cb89","unresolved":false,"context_lines":[{"line_number":286,"context_line":"        LOG.error(\u0027DRAC driver failed to free foreign driver \u0027"},{"line_number":287,"context_line":"                  \u0027for node %(node_uuid)s. \u0027"},{"line_number":288,"context_line":"                  \u0027Reason: %(error)s.\u0027,"},{"line_number":289,"context_line":"                  {\u0027raid_controller_fqdd\u0027: raid_controller,"},{"line_number":290,"context_line":"                   \u0027node_uuid\u0027: node.uuid,"},{"line_number":291,"context_line":"                   \u0027error\u0027: exc})"},{"line_number":292,"context_line":"        raise exception.DracOperationError(error\u003dexc)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fb8cfa7_95332862","line":289,"range":{"start_line":289,"start_character":19,"end_line":289,"end_character":58},"updated":"2019-06-14 07:27:54.000000000","message":"This is not used in message.","commit_id":"b59b30d3372937fa77be69e32df09987a2bddbdd"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"bbb0a83c069f7cd636f3cd87547054ad0fd5d8d9","unresolved":false,"context_lines":[{"line_number":286,"context_line":"        LOG.error(\u0027DRAC driver failed to free foreign driver \u0027"},{"line_number":287,"context_line":"                  \u0027for node %(node_uuid)s. \u0027"},{"line_number":288,"context_line":"                  \u0027Reason: %(error)s.\u0027,"},{"line_number":289,"context_line":"                  {\u0027raid_controller_fqdd\u0027: raid_controller,"},{"line_number":290,"context_line":"                   \u0027node_uuid\u0027: node.uuid,"},{"line_number":291,"context_line":"                   \u0027error\u0027: exc})"},{"line_number":292,"context_line":"        raise exception.DracOperationError(error\u003dexc)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fb8cfa7_bc7407ff","line":289,"range":{"start_line":289,"start_character":19,"end_line":289,"end_character":58},"in_reply_to":"9fb8cfa7_95332862","updated":"2019-06-14 21:03:59.000000000","message":"Can you add logging the RAID controller FQDD into the log message?","commit_id":"b59b30d3372937fa77be69e32df09987a2bddbdd"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"761bec38631881f6a1d08d3678418df0ebe7550d","unresolved":false,"context_lines":[{"line_number":286,"context_line":"        LOG.error(\u0027DRAC driver failed to free foreign driver \u0027"},{"line_number":287,"context_line":"                  \u0027for node %(node_uuid)s. \u0027"},{"line_number":288,"context_line":"                  \u0027Reason: %(error)s.\u0027,"},{"line_number":289,"context_line":"                  {\u0027raid_controller_fqdd\u0027: raid_controller,"},{"line_number":290,"context_line":"                   \u0027node_uuid\u0027: node.uuid,"},{"line_number":291,"context_line":"                   \u0027error\u0027: exc})"},{"line_number":292,"context_line":"        raise exception.DracOperationError(error\u003dexc)"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fb8cfa7_1323af07","line":289,"range":{"start_line":289,"start_character":19,"end_line":289,"end_character":58},"in_reply_to":"9fb8cfa7_bc7407ff","updated":"2019-06-17 13:50:12.000000000","message":"Done","commit_id":"b59b30d3372937fa77be69e32df09987a2bddbdd"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"726ec13aad3520281686f022146b87ee1da254d2","unresolved":false,"context_lines":[{"line_number":767,"context_line":"        # controller without real time support. In that case the reboot"},{"line_number":768,"context_line":"        # is triggered when the configuration is committed to the last"},{"line_number":769,"context_line":"        # controller."},{"line_number":770,"context_line":"        realtime \u003d controller[\u0027is_reboot_required\u0027] \u003d\u003d \\"},{"line_number":771,"context_line":"            drac_constants.RebootRequired.optional"},{"line_number":772,"context_line":"        all_realtime \u003d all_realtime and realtime"},{"line_number":773,"context_line":"        if controller \u003d\u003d controllers[-1]:"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fb8cfa7_bb64234b","line":770,"range":{"start_line":770,"start_character":55,"end_line":770,"end_character":56},"updated":"2019-06-13 21:59:58.000000000","message":"We generally try not to use do this to wrap lines. It would be fine to use an intermediate variable since this is ultimately just going to return true or false.","commit_id":"b59b30d3372937fa77be69e32df09987a2bddbdd"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"761bec38631881f6a1d08d3678418df0ebe7550d","unresolved":false,"context_lines":[{"line_number":767,"context_line":"        # controller without real time support. In that case the reboot"},{"line_number":768,"context_line":"        # is triggered when the configuration is committed to the last"},{"line_number":769,"context_line":"        # controller."},{"line_number":770,"context_line":"        realtime \u003d controller[\u0027is_reboot_required\u0027] \u003d\u003d \\"},{"line_number":771,"context_line":"            drac_constants.RebootRequired.optional"},{"line_number":772,"context_line":"        all_realtime \u003d all_realtime and realtime"},{"line_number":773,"context_line":"        if controller \u003d\u003d controllers[-1]:"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fb8cfa7_f3537b6b","line":770,"range":{"start_line":770,"start_character":55,"end_line":770,"end_character":56},"in_reply_to":"9fb8cfa7_bb64234b","updated":"2019-06-17 13:50:12.000000000","message":"I think it will set a better example for mocking an enum which will be used by community to apply in future. Let me know your thoughts.","commit_id":"b59b30d3372937fa77be69e32df09987a2bddbdd"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"c1e1a83d2bc0f7fa4fe880ca63d11672eccccf68","unresolved":false,"context_lines":[{"line_number":767,"context_line":"        # controller without real time support. In that case the reboot"},{"line_number":768,"context_line":"        # is triggered when the configuration is committed to the last"},{"line_number":769,"context_line":"        # controller."},{"line_number":770,"context_line":"        realtime \u003d controller[\u0027is_reboot_required\u0027] \u003d\u003d \\"},{"line_number":771,"context_line":"            drac_constants.RebootRequired.optional"},{"line_number":772,"context_line":"        all_realtime \u003d all_realtime and realtime"},{"line_number":773,"context_line":"        if controller \u003d\u003d controllers[-1]:"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fb8cfa7_ffa7b5a6","line":770,"range":{"start_line":770,"start_character":55,"end_line":770,"end_character":56},"in_reply_to":"9fb8cfa7_f3537b6b","updated":"2019-06-17 20:18:41.000000000","message":"Hey Rachit, let\u0027s split this into 2 lines so we don\u0027t have to use the \u0027\\\u0027.  Something like this:\n\noptional \u003d drac_constants.RebootRequired.optional\nrealtime \u003d controller[\u0027is_reboot_required\u0027] \u003d\u003d optional","commit_id":"b59b30d3372937fa77be69e32df09987a2bddbdd"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"7161705a71246a23616b6d9090188eae634b2bac","unresolved":false,"context_lines":[{"line_number":767,"context_line":"        # controller without real time support. In that case the reboot"},{"line_number":768,"context_line":"        # is triggered when the configuration is committed to the last"},{"line_number":769,"context_line":"        # controller."},{"line_number":770,"context_line":"        realtime \u003d controller[\u0027is_reboot_required\u0027] \u003d\u003d \\"},{"line_number":771,"context_line":"            drac_constants.RebootRequired.optional"},{"line_number":772,"context_line":"        all_realtime \u003d all_realtime and realtime"},{"line_number":773,"context_line":"        if controller \u003d\u003d controllers[-1]:"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fb8cfa7_87d427bf","line":770,"range":{"start_line":770,"start_character":55,"end_line":770,"end_character":56},"in_reply_to":"9fb8cfa7_f3537b6b","updated":"2019-06-18 12:09:14.000000000","message":"Please ignore above comment","commit_id":"b59b30d3372937fa77be69e32df09987a2bddbdd"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"7161705a71246a23616b6d9090188eae634b2bac","unresolved":false,"context_lines":[{"line_number":767,"context_line":"        # controller without real time support. In that case the reboot"},{"line_number":768,"context_line":"        # is triggered when the configuration is committed to the last"},{"line_number":769,"context_line":"        # controller."},{"line_number":770,"context_line":"        realtime \u003d controller[\u0027is_reboot_required\u0027] \u003d\u003d \\"},{"line_number":771,"context_line":"            drac_constants.RebootRequired.optional"},{"line_number":772,"context_line":"        all_realtime \u003d all_realtime and realtime"},{"line_number":773,"context_line":"        if controller \u003d\u003d controllers[-1]:"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fb8cfa7_47d62fc6","line":770,"range":{"start_line":770,"start_character":55,"end_line":770,"end_character":56},"in_reply_to":"9fb8cfa7_ffa7b5a6","updated":"2019-06-18 12:09:14.000000000","message":"Done","commit_id":"b59b30d3372937fa77be69e32df09987a2bddbdd"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"7b8ba72769c37a930de0e2d282c70d648b58cb89","unresolved":false,"context_lines":[{"line_number":1044,"context_line":""},{"line_number":1045,"context_line":"    def _clear_raid_substep(self, node):"},{"line_number":1046,"context_line":"        driver_internal_info \u003d node.driver_internal_info"},{"line_number":1047,"context_line":"        if \u0027raid_config_substep\u0027 in driver_internal_info:"},{"line_number":1048,"context_line":"            del driver_internal_info[\u0027raid_config_substep\u0027]"},{"line_number":1049,"context_line":"        if \u0027raid_config_parameters\u0027 in driver_internal_info:"},{"line_number":1050,"context_line":"            del driver_internal_info[\u0027raid_config_parameters\u0027]"},{"line_number":1051,"context_line":""},{"line_number":1052,"context_line":"        node.driver_internal_info \u003d driver_internal_info"},{"line_number":1053,"context_line":"        node.save()"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fb8cfa7_358cbcd5","line":1050,"range":{"start_line":1047,"start_character":8,"end_line":1050,"end_character":62},"updated":"2019-06-14 07:27:54.000000000","message":"You can just pop them\ndriver_internal_info.pop(\u0027raid_config_substep\u0027, None)\ndriver_internal_info.pop(\u0027raid_config_parameters\u0027, None)","commit_id":"b59b30d3372937fa77be69e32df09987a2bddbdd"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"761bec38631881f6a1d08d3678418df0ebe7550d","unresolved":false,"context_lines":[{"line_number":1044,"context_line":""},{"line_number":1045,"context_line":"    def _clear_raid_substep(self, node):"},{"line_number":1046,"context_line":"        driver_internal_info \u003d node.driver_internal_info"},{"line_number":1047,"context_line":"        if \u0027raid_config_substep\u0027 in driver_internal_info:"},{"line_number":1048,"context_line":"            del driver_internal_info[\u0027raid_config_substep\u0027]"},{"line_number":1049,"context_line":"        if \u0027raid_config_parameters\u0027 in driver_internal_info:"},{"line_number":1050,"context_line":"            del driver_internal_info[\u0027raid_config_parameters\u0027]"},{"line_number":1051,"context_line":""},{"line_number":1052,"context_line":"        node.driver_internal_info \u003d driver_internal_info"},{"line_number":1053,"context_line":"        node.save()"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fb8cfa7_b34d03c6","line":1050,"range":{"start_line":1047,"start_character":8,"end_line":1050,"end_character":62},"in_reply_to":"9fb8cfa7_358cbcd5","updated":"2019-06-17 13:50:12.000000000","message":"Thanks..Done!","commit_id":"b59b30d3372937fa77be69e32df09987a2bddbdd"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"c1e1a83d2bc0f7fa4fe880ca63d11672eccccf68","unresolved":false,"context_lines":[{"line_number":769,"context_line":"        # controller without real time support. In that case the reboot"},{"line_number":770,"context_line":"        # is triggered when the configuration is committed to the last"},{"line_number":771,"context_line":"        # controller."},{"line_number":772,"context_line":"        realtime \u003d controller[\u0027is_reboot_required\u0027] \u003d\u003d \\"},{"line_number":773,"context_line":"            drac_constants.RebootRequired.optional"},{"line_number":774,"context_line":"        all_realtime \u003d all_realtime and realtime"},{"line_number":775,"context_line":"        if controller \u003d\u003d controllers[-1]:"}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_7feae5ac","line":772,"updated":"2019-06-17 20:18:41.000000000","message":"Hey Rachit, let\u0027s split this into 2 lines so we don\u0027t have to use the \u0027\\\u0027. Something like this:\n\noptional \u003d drac_constants.RebootRequired.optional\nrealtime \u003d controller[\u0027is_reboot_required\u0027] \u003d\u003d optional","commit_id":"302ffaee01e7f3ec75e8f0072bf311e67daa5728"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"7161705a71246a23616b6d9090188eae634b2bac","unresolved":false,"context_lines":[{"line_number":769,"context_line":"        # controller without real time support. In that case the reboot"},{"line_number":770,"context_line":"        # is triggered when the configuration is committed to the last"},{"line_number":771,"context_line":"        # controller."},{"line_number":772,"context_line":"        realtime \u003d controller[\u0027is_reboot_required\u0027] \u003d\u003d \\"},{"line_number":773,"context_line":"            drac_constants.RebootRequired.optional"},{"line_number":774,"context_line":"        all_realtime \u003d all_realtime and realtime"},{"line_number":775,"context_line":"        if controller \u003d\u003d controllers[-1]:"}],"source_content_type":"text/x-python","patch_set":10,"id":"9fb8cfa7_27545b54","line":772,"in_reply_to":"9fb8cfa7_7feae5ac","updated":"2019-06-18 12:09:14.000000000","message":"Done","commit_id":"302ffaee01e7f3ec75e8f0072bf311e67daa5728"},{"author":{"_account_id":10206,"name":"Madhuri Kumari","email":"madhuri.kumari@intel.com","username":"Madhuri"},"change_message_id":"819e8038cb871552b7a2050c8730fd5e7e7c2b7b","unresolved":false,"context_lines":[{"line_number":154,"context_line":"        return client.is_raid_controller(raid_controller_fqdd,"},{"line_number":155,"context_line":"                                         raid_controllers)"},{"line_number":156,"context_line":"    except drac_exceptions.BaseClientException as exc:"},{"line_number":157,"context_line":"        LOG.error(\u0027Unable to determine if controller %(raid_controller_fqdd)s\u0027"},{"line_number":158,"context_line":"                  \u0027on node %(node_uuid)s is a RAID controller.\u0027"},{"line_number":159,"context_line":"                  \u0027Reason: %(error)s.\u0027,"},{"line_number":160,"context_line":"                  {\u0027raid_controller_fqdd\u0027: raid_controller_fqdd,"},{"line_number":161,"context_line":"                   \u0027node_uuid\u0027: node.uuid, \u0027error\u0027: exc})"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9fb8cfa7_3117a7f0","line":159,"range":{"start_line":157,"start_character":18,"end_line":159,"end_character":39},"updated":"2019-06-19 04:40:04.000000000","message":"Missing space at new lines. Include space at the end of line or before the start of the next line.","commit_id":"0192a843d7450beeacf41a66d206e2b628f0cff4"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"ef6817d20774fd4b5de989b0617254dd573239ea","unresolved":false,"context_lines":[{"line_number":154,"context_line":"        return client.is_raid_controller(raid_controller_fqdd,"},{"line_number":155,"context_line":"                                         raid_controllers)"},{"line_number":156,"context_line":"    except drac_exceptions.BaseClientException as exc:"},{"line_number":157,"context_line":"        LOG.error(\u0027Unable to determine if controller %(raid_controller_fqdd)s\u0027"},{"line_number":158,"context_line":"                  \u0027on node %(node_uuid)s is a RAID controller.\u0027"},{"line_number":159,"context_line":"                  \u0027Reason: %(error)s.\u0027,"},{"line_number":160,"context_line":"                  {\u0027raid_controller_fqdd\u0027: raid_controller_fqdd,"},{"line_number":161,"context_line":"                   \u0027node_uuid\u0027: node.uuid, \u0027error\u0027: exc})"},{"line_number":162,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"9fb8cfa7_d5c71645","line":159,"range":{"start_line":157,"start_character":18,"end_line":159,"end_character":39},"in_reply_to":"9fb8cfa7_3117a7f0","updated":"2019-06-19 06:25:35.000000000","message":"Done","commit_id":"0192a843d7450beeacf41a66d206e2b628f0cff4"}],"ironic/tests/unit/drivers/modules/drac/releasenotes/notes/upgrade-delete_configuration-0f0bb43c57278734.yaml":[{"author":{"_account_id":8580,"name":"Digambar","email":"digambarpatil15@yahoo.co.in","username":"digambar"},"change_message_id":"bf545c715ccc96849dae30f84f03af2f9053c1c9","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Foreign drives and global and dedicated hot spares will be freed"},{"line_number":5,"context_line":"    up during the RAID ``delete_configuration`` cleaning step."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9fb8cfa7_9a162355","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":6},"updated":"2019-06-12 05:32:24.000000000","message":"You created releasenotes under wrong path, please move it under ironic/releasenotes/notes","commit_id":"6650a66f5f5102496343fdfd63094e035a8a9487"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"91807893406e4a59711c7b0450c6a11ad0ed0d2a","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Foreign drives and global and dedicated hot spares will be freed"},{"line_number":5,"context_line":"    up during the RAID ``delete_configuration`` cleaning step."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9fb8cfa7_8216b954","line":5,"range":{"start_line":5,"start_character":4,"end_line":5,"end_character":6},"in_reply_to":"9fb8cfa7_9a162355","updated":"2019-06-12 11:04:44.000000000","message":"Done","commit_id":"6650a66f5f5102496343fdfd63094e035a8a9487"}],"ironic/tests/unit/drivers/modules/drac/test_raid.py":[{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"e7eb2dcae91355df6b6d25e9cc035a398e90c037","unresolved":false,"context_lines":[{"line_number":621,"context_line":"        mock_list_physical_disks.return_value \u003d physical_disks"},{"line_number":622,"context_line":"        mock_commit_config.return_value \u003d \u002742\u0027"},{"line_number":623,"context_line":"        mock_client.create_virtual_disk.return_value \u003d {"},{"line_number":624,"context_line":"            \u0027is_reboot_required\u0027: constants.RebootRequired().optional,"},{"line_number":625,"context_line":"            \u0027is_commit_required\u0027: True}"},{"line_number":626,"context_line":""},{"line_number":627,"context_line":"        with task_manager.acquire(self.context, self.node.uuid,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_ebe3dbd7","line":624,"range":{"start_line":624,"start_character":58,"end_line":624,"end_character":60},"updated":"2019-06-11 22:13:13.000000000","message":"The parentheses are unnecessary. Please remove them.\n\nThis applies to all of the similar occurrences in this module.","commit_id":"6650a66f5f5102496343fdfd63094e035a8a9487"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"91807893406e4a59711c7b0450c6a11ad0ed0d2a","unresolved":false,"context_lines":[{"line_number":621,"context_line":"        mock_list_physical_disks.return_value \u003d physical_disks"},{"line_number":622,"context_line":"        mock_commit_config.return_value \u003d \u002742\u0027"},{"line_number":623,"context_line":"        mock_client.create_virtual_disk.return_value \u003d {"},{"line_number":624,"context_line":"            \u0027is_reboot_required\u0027: constants.RebootRequired().optional,"},{"line_number":625,"context_line":"            \u0027is_commit_required\u0027: True}"},{"line_number":626,"context_line":""},{"line_number":627,"context_line":"        with task_manager.acquire(self.context, self.node.uuid,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_420c4140","line":624,"range":{"start_line":624,"start_character":58,"end_line":624,"end_character":60},"in_reply_to":"9fb8cfa7_ebe3dbd7","updated":"2019-06-12 11:04:44.000000000","message":"Removed","commit_id":"6650a66f5f5102496343fdfd63094e035a8a9487"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"e0cd03b7158fa2dfea880b8d98d1b0f52db23059","unresolved":false,"context_lines":[{"line_number":1424,"context_line":"        mock_client \u003d mock.Mock()"},{"line_number":1425,"context_line":"        mock_get_drac_client.return_value \u003d mock_client"},{"line_number":1426,"context_line":"        mock_list_raid_controllers.return_value \u003d []"},{"line_number":1427,"context_line":"        mock_reset_raid_config.return_value \u003d {"},{"line_number":1428,"context_line":"            \u0027is_reboot_required\u0027: constants.RebootRequired().optional,"},{"line_number":1429,"context_line":"            \u0027is_commit_required\u0027: True}"},{"line_number":1430,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_4b99c7c1","line":1427,"updated":"2019-06-11 21:50:44.000000000","message":"Since the assertEqual below checks to make sure that reset_raid_config was not call, it seems like we don\u0027t need to set mock_reset_raid_config.return_value, and it doesn\u0027t seem like we need mock_reset_raid_config at all.","commit_id":"6650a66f5f5102496343fdfd63094e035a8a9487"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"91807893406e4a59711c7b0450c6a11ad0ed0d2a","unresolved":false,"context_lines":[{"line_number":1424,"context_line":"        mock_client \u003d mock.Mock()"},{"line_number":1425,"context_line":"        mock_get_drac_client.return_value \u003d mock_client"},{"line_number":1426,"context_line":"        mock_list_raid_controllers.return_value \u003d []"},{"line_number":1427,"context_line":"        mock_reset_raid_config.return_value \u003d {"},{"line_number":1428,"context_line":"            \u0027is_reboot_required\u0027: constants.RebootRequired().optional,"},{"line_number":1429,"context_line":"            \u0027is_commit_required\u0027: True}"},{"line_number":1430,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_bd051c13","line":1427,"in_reply_to":"9fb8cfa7_4b99c7c1","updated":"2019-06-12 11:04:44.000000000","message":"Removed","commit_id":"6650a66f5f5102496343fdfd63094e035a8a9487"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"5e68cb197bef052113d01b28309cb6e22f2cccd6","unresolved":false,"context_lines":[{"line_number":1414,"context_line":"                       autospec\u003dTrue)"},{"line_number":1415,"context_line":"    @mock.patch.object(drac_raid, \u0027commit_config\u0027, spec_set\u003dTrue,"},{"line_number":1416,"context_line":"                       autospec\u003dTrue)"},{"line_number":1417,"context_line":"    @mock.patch.object(drac_raid, \u0027reset_raid_config\u0027, spec_set\u003dTrue,"},{"line_number":1418,"context_line":"                       autospec\u003dTrue)"},{"line_number":1419,"context_line":"    def test_delete_configuration_no_change(self, mock_reset_raid_config,"},{"line_number":1420,"context_line":"                                            mock_commit_config,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_143d1adc","line":1417,"updated":"2019-06-12 19:39:33.000000000","message":"I think you can remove the reset_raid_config mock on the lines above and below.","commit_id":"2e6546cecdff8c15fe9b27db8dd6026bcb335659"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"368274baade96ca9c082123d372e9166765070d9","unresolved":false,"context_lines":[{"line_number":1414,"context_line":"                       autospec\u003dTrue)"},{"line_number":1415,"context_line":"    @mock.patch.object(drac_raid, \u0027commit_config\u0027, spec_set\u003dTrue,"},{"line_number":1416,"context_line":"                       autospec\u003dTrue)"},{"line_number":1417,"context_line":"    @mock.patch.object(drac_raid, \u0027reset_raid_config\u0027, spec_set\u003dTrue,"},{"line_number":1418,"context_line":"                       autospec\u003dTrue)"},{"line_number":1419,"context_line":"    def test_delete_configuration_no_change(self, mock_reset_raid_config,"},{"line_number":1420,"context_line":"                                            mock_commit_config,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_3a903b95","line":1417,"in_reply_to":"9fb8cfa7_143d1adc","updated":"2019-06-13 10:22:55.000000000","message":"Done","commit_id":"2e6546cecdff8c15fe9b27db8dd6026bcb335659"},{"author":{"_account_id":10250,"name":"Christopher Dearborn","email":"Christopher.Dearborn@dell.com","username":"cdearbor"},"change_message_id":"5e68cb197bef052113d01b28309cb6e22f2cccd6","unresolved":false,"context_lines":[{"line_number":1416,"context_line":"                       autospec\u003dTrue)"},{"line_number":1417,"context_line":"    @mock.patch.object(drac_raid, \u0027reset_raid_config\u0027, spec_set\u003dTrue,"},{"line_number":1418,"context_line":"                       autospec\u003dTrue)"},{"line_number":1419,"context_line":"    def test_delete_configuration_no_change(self, mock_reset_raid_config,"},{"line_number":1420,"context_line":"                                            mock_commit_config,"},{"line_number":1421,"context_line":"                                            mock_validate_job_queue,"},{"line_number":1422,"context_line":"                                            mock_list_raid_controllers,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_f43966f1","line":1419,"updated":"2019-06-12 19:39:33.000000000","message":"I think you can remove mock_reset_raid_config on the line above.","commit_id":"2e6546cecdff8c15fe9b27db8dd6026bcb335659"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"368274baade96ca9c082123d372e9166765070d9","unresolved":false,"context_lines":[{"line_number":1416,"context_line":"                       autospec\u003dTrue)"},{"line_number":1417,"context_line":"    @mock.patch.object(drac_raid, \u0027reset_raid_config\u0027, spec_set\u003dTrue,"},{"line_number":1418,"context_line":"                       autospec\u003dTrue)"},{"line_number":1419,"context_line":"    def test_delete_configuration_no_change(self, mock_reset_raid_config,"},{"line_number":1420,"context_line":"                                            mock_commit_config,"},{"line_number":1421,"context_line":"                                            mock_validate_job_queue,"},{"line_number":1422,"context_line":"                                            mock_list_raid_controllers,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_faeb830f","line":1419,"in_reply_to":"9fb8cfa7_f43966f1","updated":"2019-06-13 10:22:55.000000000","message":"Done","commit_id":"2e6546cecdff8c15fe9b27db8dd6026bcb335659"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"726ec13aad3520281686f022146b87ee1da254d2","unresolved":false,"context_lines":[{"line_number":1414,"context_line":"                       autospec\u003dTrue)"},{"line_number":1415,"context_line":"    @mock.patch.object(drac_raid, \u0027commit_config\u0027, spec_set\u003dTrue,"},{"line_number":1416,"context_line":"                       autospec\u003dTrue)"},{"line_number":1417,"context_line":"    def test_delete_configuration_no_change(self, mock_commit_config,"},{"line_number":1418,"context_line":"                                            mock_validate_job_queue,"},{"line_number":1419,"context_line":"                                            mock_list_raid_controllers,"},{"line_number":1420,"context_line":"                                            mock_get_drac_client):"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fb8cfa7_3b7913c7","line":1417,"updated":"2019-06-13 21:59:58.000000000","message":"It seems you\u0027ve added some new methods, and it would be good to add some unit tests, even if it is just a simple test of the expected method calls so that we can identify if something breaks those new methods later on. I believe this is reset_raid_config, clean_foreign_config, _execute_cleaning_foreign_drives, _complete_raid_cleaning_substep","commit_id":"b59b30d3372937fa77be69e32df09987a2bddbdd"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"761bec38631881f6a1d08d3678418df0ebe7550d","unresolved":false,"context_lines":[{"line_number":1414,"context_line":"                       autospec\u003dTrue)"},{"line_number":1415,"context_line":"    @mock.patch.object(drac_raid, \u0027commit_config\u0027, spec_set\u003dTrue,"},{"line_number":1416,"context_line":"                       autospec\u003dTrue)"},{"line_number":1417,"context_line":"    def test_delete_configuration_no_change(self, mock_commit_config,"},{"line_number":1418,"context_line":"                                            mock_validate_job_queue,"},{"line_number":1419,"context_line":"                                            mock_list_raid_controllers,"},{"line_number":1420,"context_line":"                                            mock_get_drac_client):"}],"source_content_type":"text/x-python","patch_set":9,"id":"9fb8cfa7_33cfd32a","line":1417,"in_reply_to":"9fb8cfa7_3b7913c7","updated":"2019-06-17 13:50:12.000000000","message":"Added test cases for reset_raid_config and foreign_config..Thanks","commit_id":"b59b30d3372937fa77be69e32df09987a2bddbdd"}],"releasenotes/notes/upgrade-delete_configuration-0f0bb43c57278734.yaml":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"726ec13aad3520281686f022146b87ee1da254d2","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":"    Foreign drives and global and dedicated hot spares will be freed"},{"line_number":5,"context_line":"    up during the RAID ``delete_configuration`` cleaning step."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fb8cfa7_fb461bc0","line":4,"range":{"start_line":4,"start_character":64,"end_line":4,"end_character":68},"updated":"2019-06-13 21:59:58.000000000","message":"Could you clarifiy by freed? Is data actually wiped from the disk? Is any sort of secure erase performed?","commit_id":"b59b30d3372937fa77be69e32df09987a2bddbdd"},{"author":{"_account_id":29405,"name":"Rachit Kapadia","email":"kapadiarachit007@gmail.com","username":"rachit7194"},"change_message_id":"761bec38631881f6a1d08d3678418df0ebe7550d","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":"    Foreign drives and global and dedicated hot spares will be freed"},{"line_number":5,"context_line":"    up during the RAID ``delete_configuration`` cleaning step."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fb8cfa7_4603a774","line":4,"range":{"start_line":4,"start_character":64,"end_line":4,"end_character":68},"in_reply_to":"9fb8cfa7_fb461bc0","updated":"2019-06-17 13:50:12.000000000","message":"``delete_configuration`` cleaning step will call ``ResetConfig`` call which deletes all data(raid configuration) on virtual disk and will get unassign all spares physical disk","commit_id":"b59b30d3372937fa77be69e32df09987a2bddbdd"}]}
