)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"aa360abf165fd6a4f0175e24fac411d7fd168dc4","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Aija Jauntēva \u003caija.jaunteva@dell.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-08-02 10:55:18 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add OEM Storage controller extension"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Can determine controller\u0027s mode and convert to RAID mode for"},{"line_number":10,"context_line":"eligible controllers (PERC 9 and PERC 10)."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"055bba8e_7f11e4a6","line":7,"range":{"start_line":7,"start_character":8,"end_line":7,"end_character":15},"updated":"2022-08-31 00:04:26.000000000","message":"nit: lowercase\n\n    Add OEM storage controller extension","commit_id":"e1f91e56f9061367f303564960cd445cad8fcb32"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"9afb17939e3a690b1650e8b04f83d49bd551c16d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Aija Jauntēva \u003caija.jaunteva@dell.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-08-02 10:55:18 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add OEM Storage controller extension"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Can determine controller\u0027s mode and convert to RAID mode for"},{"line_number":10,"context_line":"eligible controllers (PERC 9 and PERC 10)."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"51950747_a3fb262c","line":7,"range":{"start_line":7,"start_character":8,"end_line":7,"end_character":15},"in_reply_to":"055bba8e_7f11e4a6","updated":"2022-08-31 07:45:36.000000000","message":"Done","commit_id":"e1f91e56f9061367f303564960cd445cad8fcb32"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"aa360abf165fd6a4f0175e24fac411d7fd168dc4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"16a407dc_f9e9ab44","updated":"2022-08-31 00:04:26.000000000","message":"Thank you, Aija! This looks very strong.\n\nOther than several nits, I have a question about the factoring of the classes in sushy_oem_idrac/resources/system/storage/controller.py. I have also suggested adding a test case for newer PERC controllers, which only support the RAID controller mode.","commit_id":"e1f91e56f9061367f303564960cd445cad8fcb32"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"afafe971db394e48315de6eb4920fd71bcee9c09","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9bb3e8eb_cb5a11ba","updated":"2022-08-30 06:58:04.000000000","message":"recheck sushy 4.3.0 released with new controllers property.","commit_id":"e1f91e56f9061367f303564960cd445cad8fcb32"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"8062584529c7b32186ea01517e1b6e5155047291","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"dfb0a037_1914c498","updated":"2022-08-02 14:56:18.000000000","message":"unit tests will fail until sushy with dependent patch released","commit_id":"e1f91e56f9061367f303564960cd445cad8fcb32"},{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"e729ba5051f2972886c3b3656993df5aca71cd6f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"6e824440_3275cba9","updated":"2022-09-01 02:58:00.000000000","message":"Here are a couple of more questions, one of which is in-line.\n\nWill this be treated as a bug and backported?","commit_id":"da9a0e4042acd76d7c9a3c867a2ae5e104e4929f"},{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"1c9972b11857b588ebba3adacddcf1fd7d69b944","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3520d2cb_c897aff4","updated":"2022-08-31 23:11:18.000000000","message":"I have a couple of new in-line questions about the convert_to_raid() method.","commit_id":"da9a0e4042acd76d7c9a3c867a2ae5e104e4929f"},{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"b8095d6dc116ae361a9d5682144b8169ff69172e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"1dc50cb4_5fa7ccfb","updated":"2022-09-01 22:21:35.000000000","message":"Looks great to me! Thank you, Aija!","commit_id":"da9a0e4042acd76d7c9a3c867a2ae5e104e4929f"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"9afb17939e3a690b1650e8b04f83d49bd551c16d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"8c7ea703_a4bd9e9c","updated":"2022-08-31 07:45:36.000000000","message":"thank you for the review, Richard.","commit_id":"da9a0e4042acd76d7c9a3c867a2ae5e104e4929f"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"5bc259a24c8372df26ae10387dada0178c70b872","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a8547e74_2087f850","in_reply_to":"6e824440_3275cba9","updated":"2022-09-01 07:12:35.000000000","message":"No, this can\u0027t be backported as it depends on Sushy change that is a new addition.","commit_id":"da9a0e4042acd76d7c9a3c867a2ae5e104e4929f"}],"setup.cfg":[{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"aa360abf165fd6a4f0175e24fac411d7fd168dc4","unresolved":true,"context_lines":[{"line_number":32,"context_line":"    dell \u003d sushy_oem_idrac.resources.system.system:get_extension"},{"line_number":33,"context_line":"sushy.resources.task.oems \u003d"},{"line_number":34,"context_line":"    dell \u003d sushy_oem_idrac.resources.taskservice.task:get_extension"},{"line_number":35,"context_line":"sushy.resources.storage_controller.oems \u003d"},{"line_number":36,"context_line":"    dell \u003d sushy_oem_idrac.resources.system.storage.controller:get_extension"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"[build_sphinx]"},{"line_number":39,"context_line":"source-dir \u003d doc/source"},{"line_number":40,"context_line":"build-dir \u003d doc/build"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"c53b10e5_6e73b4a8","line":37,"range":{"start_line":35,"start_character":0,"end_line":37,"end_character":0},"updated":"2022-08-31 00:04:26.000000000","message":"nit: Prior to this change, it appears the entry points were listed in alphabetical order.","commit_id":"e1f91e56f9061367f303564960cd445cad8fcb32"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"9afb17939e3a690b1650e8b04f83d49bd551c16d","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    dell \u003d sushy_oem_idrac.resources.system.system:get_extension"},{"line_number":33,"context_line":"sushy.resources.task.oems \u003d"},{"line_number":34,"context_line":"    dell \u003d sushy_oem_idrac.resources.taskservice.task:get_extension"},{"line_number":35,"context_line":"sushy.resources.storage_controller.oems \u003d"},{"line_number":36,"context_line":"    dell \u003d sushy_oem_idrac.resources.system.storage.controller:get_extension"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"[build_sphinx]"},{"line_number":39,"context_line":"source-dir \u003d doc/source"},{"line_number":40,"context_line":"build-dir \u003d doc/build"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"138cc60c_e17b8a1e","line":37,"range":{"start_line":35,"start_character":0,"end_line":37,"end_character":0},"in_reply_to":"c53b10e5_6e73b4a8","updated":"2022-08-31 07:45:36.000000000","message":"Done","commit_id":"e1f91e56f9061367f303564960cd445cad8fcb32"}],"sushy_oem_idrac/__init__.py":[{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"aa360abf165fd6a4f0175e24fac411d7fd168dc4","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2021 Dell Inc. or its subsidiaries."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":1,"id":"64fed443_8fdb10b9","line":1,"range":{"start_line":1,"start_character":16,"end_line":1,"end_character":20},"updated":"2022-08-31 00:04:26.000000000","message":"nit: Please update this to include 2022.","commit_id":"e1f91e56f9061367f303564960cd445cad8fcb32"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"9afb17939e3a690b1650e8b04f83d49bd551c16d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2021 Dell Inc. or its subsidiaries."},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"# not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":1,"id":"2bc4a16d_26a79019","line":1,"range":{"start_line":1,"start_character":16,"end_line":1,"end_character":20},"in_reply_to":"64fed443_8fdb10b9","updated":"2022-08-31 07:45:36.000000000","message":"Done","commit_id":"e1f91e56f9061367f303564960cd445cad8fcb32"}],"sushy_oem_idrac/resources/system/storage/constants.py":[{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"aa360abf165fd6a4f0175e24fac411d7fd168dc4","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"class ControllerMode(enum.Enum):"},{"line_number":19,"context_line":"    \"\"\"RAID Controller mode\"\"\""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    RAID \u003d \"RAID\""},{"line_number":22,"context_line":"    \"\"\"RAID mode\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"7e900689_5c187380","line":19,"range":{"start_line":19,"start_character":12,"end_line":19,"end_character":27},"updated":"2022-08-31 00:04:26.000000000","message":"nit: lowercase and plural\n\n    controller modes","commit_id":"e1f91e56f9061367f303564960cd445cad8fcb32"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"9afb17939e3a690b1650e8b04f83d49bd551c16d","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"class ControllerMode(enum.Enum):"},{"line_number":19,"context_line":"    \"\"\"RAID Controller mode\"\"\""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    RAID \u003d \"RAID\""},{"line_number":22,"context_line":"    \"\"\"RAID mode\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"f70c04b6_d8fa868d","line":19,"range":{"start_line":19,"start_character":12,"end_line":19,"end_character":27},"in_reply_to":"7e900689_5c187380","updated":"2022-08-31 07:45:36.000000000","message":"Done","commit_id":"e1f91e56f9061367f303564960cd445cad8fcb32"},{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"aa360abf165fd6a4f0175e24fac411d7fd168dc4","unresolved":true,"context_lines":[{"line_number":19,"context_line":"    \"\"\"RAID Controller mode\"\"\""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    RAID \u003d \"RAID\""},{"line_number":22,"context_line":"    \"\"\"RAID mode\"\"\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    HBA \u003d \"HBA\""},{"line_number":25,"context_line":"    \"\"\"HBA/Passthru mode. Does not support RAID. For PERC 9 controllers.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"136f9485_cf5baaab","line":22,"range":{"start_line":22,"start_character":12,"end_line":22,"end_character":16},"updated":"2022-08-31 00:04:26.000000000","message":"nit: Add a period.\n\n    \"\"\"RAID mode.\"\"\"","commit_id":"e1f91e56f9061367f303564960cd445cad8fcb32"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"9afb17939e3a690b1650e8b04f83d49bd551c16d","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    \"\"\"RAID Controller mode\"\"\""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"    RAID \u003d \"RAID\""},{"line_number":22,"context_line":"    \"\"\"RAID mode\"\"\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    HBA \u003d \"HBA\""},{"line_number":25,"context_line":"    \"\"\"HBA/Passthru mode. Does not support RAID. For PERC 9 controllers.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"4e36ba3d_7ee874ca","line":22,"range":{"start_line":22,"start_character":12,"end_line":22,"end_character":16},"in_reply_to":"136f9485_cf5baaab","updated":"2022-08-31 07:45:36.000000000","message":"Done","commit_id":"e1f91e56f9061367f303564960cd445cad8fcb32"}],"sushy_oem_idrac/resources/system/storage/controller.py":[{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"aa360abf165fd6a4f0175e24fac411d7fd168dc4","unresolved":true,"context_lines":[{"line_number":19,"context_line":"from sushy_oem_idrac.resources.system.storage import constants as s_cons"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class DellStorageController(base.CompositeField):"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    controller_mode \u003d base.MappedField(\u0027ControllerMode\u0027, s_cons.ControllerMode)"},{"line_number":25,"context_line":"    \"\"\"Mode of RAID controller\"\"\""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class DellStorageControllerExtension(oem_base.OEMResourceBase):"},{"line_number":29,"context_line":"    dell_storage_controller \u003d DellStorageController(\u0027DellStorageController\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ad440208_2f7419be","line":26,"range":{"start_line":22,"start_character":0,"end_line":26,"end_character":0},"updated":"2022-08-31 00:04:26.000000000","message":"Could this be folded into the class below, DellStorageControllerExtension? In other words, why is it factored this way?","commit_id":"e1f91e56f9061367f303564960cd445cad8fcb32"},{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"1c9972b11857b588ebba3adacddcf1fd7d69b944","unresolved":false,"context_lines":[{"line_number":19,"context_line":"from sushy_oem_idrac.resources.system.storage import constants as s_cons"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class DellStorageController(base.CompositeField):"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    controller_mode \u003d base.MappedField(\u0027ControllerMode\u0027, s_cons.ControllerMode)"},{"line_number":25,"context_line":"    \"\"\"Mode of RAID controller\"\"\""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class DellStorageControllerExtension(oem_base.OEMResourceBase):"},{"line_number":29,"context_line":"    dell_storage_controller \u003d DellStorageController(\u0027DellStorageController\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"29d6b66f_c88893ca","line":26,"range":{"start_line":22,"start_character":0,"end_line":26,"end_character":0},"in_reply_to":"0f770c56_77704ce4","updated":"2022-08-31 23:11:18.000000000","message":"Thank you for the thorough explanation. I overlooked that additional level in the JSON. Too many \u0027controller\u0027 s 😊 I also found the schemas [1][2] helpful.\n\n[1] https://downloads.dell.com/redfish/bmc/schemas/DellOemStorageController.json\n[2] https://downloads.dell.com/redfish/bmc/schemas/DellOemStorageController.v1_0_0.json","commit_id":"e1f91e56f9061367f303564960cd445cad8fcb32"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"9afb17939e3a690b1650e8b04f83d49bd551c16d","unresolved":true,"context_lines":[{"line_number":19,"context_line":"from sushy_oem_idrac.resources.system.storage import constants as s_cons"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"class DellStorageController(base.CompositeField):"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"    controller_mode \u003d base.MappedField(\u0027ControllerMode\u0027, s_cons.ControllerMode)"},{"line_number":25,"context_line":"    \"\"\"Mode of RAID controller\"\"\""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class DellStorageControllerExtension(oem_base.OEMResourceBase):"},{"line_number":29,"context_line":"    dell_storage_controller \u003d DellStorageController(\u0027DellStorageController\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"0f770c56_77704ce4","line":26,"range":{"start_line":22,"start_character":0,"end_line":26,"end_character":0},"in_reply_to":"ad440208_2f7419be","updated":"2022-08-31 07:45:36.000000000","message":"No, this is because of the way how iDRAC has structured this extension (indeed it is different from other extensions).\n\nSee sample/test JSON, currently, it is:\n\n    \"Oem\": {\n        \"Dell\": {\n            \"@odata.type\": \"#DellOemStorageController.v1_0_0.DellOemStorageController\",\n            \"DellStorageController\": {\n                \"ControllerMode\": \"EnhancedHBA\"\n            }\n        }\n    },\n\nIn order to avoid this, it should have been like below (there is no `DellStorageController` element), but it\u0027s too late to get it changed in iDRAC as this is already released:\n\n    \"Oem\": {\n        \"Dell\": {\n            \"@odata.type\": \"#DellOemStorageController.v1_0_0.DellOemStorageController\",\n            \"ControllerMode\": \"EnhancedHBA\"\n\n        }\n    },","commit_id":"e1f91e56f9061367f303564960cd445cad8fcb32"},{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"1c9972b11857b588ebba3adacddcf1fd7d69b944","unresolved":true,"context_lines":[{"line_number":28,"context_line":"class DellStorageControllerExtension(oem_base.OEMResourceBase):"},{"line_number":29,"context_line":"    dell_storage_controller \u003d DellStorageController(\u0027DellStorageController\u0027)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def convert_to_raid(self):"},{"line_number":32,"context_line":"        \"\"\"Converts to RAID mode if applicable"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"        If PERC 9 or PERC 10 controller is in non-RAID mode, then convert"}],"source_content_type":"text/x-python","patch_set":2,"id":"37b59ff0_caad028b","line":31,"range":{"start_line":31,"start_character":8,"end_line":31,"end_character":23},"updated":"2022-08-31 23:11:18.000000000","message":"This method name could be misleading. It sets, rather than converts, the controller\u0027s mode to RAID.\n\n    def set_mode_to_raid(self):\n    \nWas there some rationale behind choosing \u0027convert\u0027?","commit_id":"da9a0e4042acd76d7c9a3c867a2ae5e104e4929f"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"5bc259a24c8372df26ae10387dada0178c70b872","unresolved":true,"context_lines":[{"line_number":28,"context_line":"class DellStorageControllerExtension(oem_base.OEMResourceBase):"},{"line_number":29,"context_line":"    dell_storage_controller \u003d DellStorageController(\u0027DellStorageController\u0027)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def convert_to_raid(self):"},{"line_number":32,"context_line":"        \"\"\"Converts to RAID mode if applicable"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"        If PERC 9 or PERC 10 controller is in non-RAID mode, then convert"}],"source_content_type":"text/x-python","patch_set":2,"id":"d66bbd96_3ec1affa","line":31,"range":{"start_line":31,"start_character":8,"end_line":31,"end_character":23},"in_reply_to":"37b59ff0_caad028b","updated":"2022-09-01 07:12:35.000000000","message":"the term is used elsewhere to denote this action and that\u0027s how users identify it, e.g., https://www.youtube.com/watch?v\u003dsDw8jYr4puE \n\nWhile could say that the setting is set like with many other settings, I would avoid \u0027set\u0027 as it is too generic. Could use \u0027switch_to_raid_mode\u0027 like it is in Ws-Man Ironic and iDRAC UI, but in description it still uses \u0027convert\u0027, see https://opendev.org/openstack/ironic/src/commit/7f15710bc40db402fba33c74034d31ad939776bf/ironic/drivers/modules/drac/raid.py#L953","commit_id":"da9a0e4042acd76d7c9a3c867a2ae5e104e4929f"},{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"b8095d6dc116ae361a9d5682144b8169ff69172e","unresolved":false,"context_lines":[{"line_number":28,"context_line":"class DellStorageControllerExtension(oem_base.OEMResourceBase):"},{"line_number":29,"context_line":"    dell_storage_controller \u003d DellStorageController(\u0027DellStorageController\u0027)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def convert_to_raid(self):"},{"line_number":32,"context_line":"        \"\"\"Converts to RAID mode if applicable"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"        If PERC 9 or PERC 10 controller is in non-RAID mode, then convert"}],"source_content_type":"text/x-python","patch_set":2,"id":"785c5071_239f5aff","line":31,"range":{"start_line":31,"start_character":8,"end_line":31,"end_character":23},"in_reply_to":"d66bbd96_3ec1affa","updated":"2022-09-01 22:21:35.000000000","message":"Ack","commit_id":"da9a0e4042acd76d7c9a3c867a2ae5e104e4929f"},{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"e729ba5051f2972886c3b3656993df5aca71cd6f","unresolved":true,"context_lines":[{"line_number":38,"context_line":"        :returns: TaskMonitor if controller mode changes applied and need to"},{"line_number":39,"context_line":"            reboot, otherwise None"},{"line_number":40,"context_line":"        \"\"\""},{"line_number":41,"context_line":"        controller_mode \u003d self.dell_storage_controller.controller_mode"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        # BOSS will have this empty, PERC will have something assigned"},{"line_number":44,"context_line":"        if controller_mode and controller_mode !\u003d s_cons.ControllerMode.RAID:"}],"source_content_type":"text/x-python","patch_set":2,"id":"eee8ac80_475dd852","line":41,"range":{"start_line":41,"start_character":31,"end_line":41,"end_character":54},"updated":"2022-09-01 02:58:00.000000000","message":"Could this be None?","commit_id":"da9a0e4042acd76d7c9a3c867a2ae5e104e4929f"},{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"b8095d6dc116ae361a9d5682144b8169ff69172e","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        :returns: TaskMonitor if controller mode changes applied and need to"},{"line_number":39,"context_line":"            reboot, otherwise None"},{"line_number":40,"context_line":"        \"\"\""},{"line_number":41,"context_line":"        controller_mode \u003d self.dell_storage_controller.controller_mode"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        # BOSS will have this empty, PERC will have something assigned"},{"line_number":44,"context_line":"        if controller_mode and controller_mode !\u003d s_cons.ControllerMode.RAID:"}],"source_content_type":"text/x-python","patch_set":2,"id":"c786bbe0_95f9a86b","line":41,"range":{"start_line":41,"start_character":31,"end_line":41,"end_character":54},"in_reply_to":"e5cc2b69_7ea8da04","updated":"2022-09-01 22:21:35.000000000","message":"Ack, following our off-line discussion.","commit_id":"da9a0e4042acd76d7c9a3c867a2ae5e104e4929f"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"5bc259a24c8372df26ae10387dada0178c70b872","unresolved":true,"context_lines":[{"line_number":38,"context_line":"        :returns: TaskMonitor if controller mode changes applied and need to"},{"line_number":39,"context_line":"            reboot, otherwise None"},{"line_number":40,"context_line":"        \"\"\""},{"line_number":41,"context_line":"        controller_mode \u003d self.dell_storage_controller.controller_mode"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        # BOSS will have this empty, PERC will have something assigned"},{"line_number":44,"context_line":"        if controller_mode and controller_mode !\u003d s_cons.ControllerMode.RAID:"}],"source_content_type":"text/x-python","patch_set":2,"id":"e5cc2b69_7ea8da04","line":41,"range":{"start_line":41,"start_character":31,"end_line":41,"end_character":54},"in_reply_to":"eee8ac80_475dd852","updated":"2022-09-01 07:12:35.000000000","message":"Maybe according to the scheme, but practically I don\u0027t know such systems and what would that setup mean. Currently, it\u0027s all or nothing - once there is OEM extension, there is `DellStorageController`. In case of unlike event that such system appears, missing `DellStorageController` will raise MissingAttributeError that caller can handle.","commit_id":"da9a0e4042acd76d7c9a3c867a2ae5e104e4929f"},{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"1c9972b11857b588ebba3adacddcf1fd7d69b944","unresolved":true,"context_lines":[{"line_number":49,"context_line":"                            \"ControllerMode\":"},{"line_number":50,"context_line":"                                s_cons.ControllerMode.RAID.value}}}}"},{"line_number":51,"context_line":"            return self._parent_resource.update("},{"line_number":52,"context_line":"                patch, apply_time\u003dsushy.ApplyTime.ON_RESET)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"def get_extension(*args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"10540b08_63485374","line":52,"range":{"start_line":52,"start_character":34,"end_line":52,"end_character":58},"updated":"2022-08-31 23:11:18.000000000","message":"Might applying the change immediately be useful to Ironic workflows? If supported by the StorageController resource, the need for an additional system reboot could be eliminated.","commit_id":"da9a0e4042acd76d7c9a3c867a2ae5e104e4929f"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"5bc259a24c8372df26ae10387dada0178c70b872","unresolved":true,"context_lines":[{"line_number":49,"context_line":"                            \"ControllerMode\":"},{"line_number":50,"context_line":"                                s_cons.ControllerMode.RAID.value}}}}"},{"line_number":51,"context_line":"            return self._parent_resource.update("},{"line_number":52,"context_line":"                patch, apply_time\u003dsushy.ApplyTime.ON_RESET)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"def get_extension(*args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"29d77ddd_8803e7bb","line":52,"range":{"start_line":52,"start_character":34,"end_line":52,"end_character":58},"in_reply_to":"10540b08_63485374","updated":"2022-09-01 07:12:35.000000000","message":"While StorageController reports supporting Immediate, it does not support it for this action. There is no way how to apply this change without reboot. Trying to do so, gives back an error about unsupported apply time. Same in iDRAC Web UI.","commit_id":"da9a0e4042acd76d7c9a3c867a2ae5e104e4929f"},{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"b8095d6dc116ae361a9d5682144b8169ff69172e","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                            \"ControllerMode\":"},{"line_number":50,"context_line":"                                s_cons.ControllerMode.RAID.value}}}}"},{"line_number":51,"context_line":"            return self._parent_resource.update("},{"line_number":52,"context_line":"                patch, apply_time\u003dsushy.ApplyTime.ON_RESET)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"def get_extension(*args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3ff91014_c3c83b0d","line":52,"range":{"start_line":52,"start_character":34,"end_line":52,"end_character":58},"in_reply_to":"29d77ddd_8803e7bb","updated":"2022-09-01 22:21:35.000000000","message":"Ack, following our off-line discussion.","commit_id":"da9a0e4042acd76d7c9a3c867a2ae5e104e4929f"}],"sushy_oem_idrac/tests/unit/resources/system/storage/test_controller.py":[{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"aa360abf165fd6a4f0175e24fac411d7fd168dc4","unresolved":true,"context_lines":[{"line_number":49,"context_line":"            ctrl_cons.ControllerMode.EHBA,"},{"line_number":50,"context_line":"            self.oem_controller.dell_storage_controller.controller_mode)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def test_convert_to_raid(self):"},{"line_number":53,"context_line":"        mock_controller \u003d mock.Mock()"},{"line_number":54,"context_line":"        mock_task_monitor \u003d mock.Mock()"},{"line_number":55,"context_line":"        mock_controller.update.return_value \u003d mock_task_monitor"}],"source_content_type":"text/x-python","patch_set":1,"id":"59c29236_5b96f59e","line":52,"updated":"2022-08-31 00:04:26.000000000","message":"Please consider adding a test case for the latest PERC models which do not support modes other than RAID.","commit_id":"e1f91e56f9061367f303564960cd445cad8fcb32"},{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"9afb17939e3a690b1650e8b04f83d49bd551c16d","unresolved":false,"context_lines":[{"line_number":49,"context_line":"            ctrl_cons.ControllerMode.EHBA,"},{"line_number":50,"context_line":"            self.oem_controller.dell_storage_controller.controller_mode)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def test_convert_to_raid(self):"},{"line_number":53,"context_line":"        mock_controller \u003d mock.Mock()"},{"line_number":54,"context_line":"        mock_task_monitor \u003d mock.Mock()"},{"line_number":55,"context_line":"        mock_controller.update.return_value \u003d mock_task_monitor"}],"source_content_type":"text/x-python","patch_set":1,"id":"e2d5b549_26fd5c32","line":52,"in_reply_to":"59c29236_5b96f59e","updated":"2022-08-31 07:45:36.000000000","message":"Done","commit_id":"e1f91e56f9061367f303564960cd445cad8fcb32"},{"author":{"_account_id":23847,"name":"Richard G. Pioso","email":"richard.pioso@gmail.com","username":"richard.pioso"},"change_message_id":"1c9972b11857b588ebba3adacddcf1fd7d69b944","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    def test_convert_to_raid_already_raid(self):"},{"line_number":67,"context_line":"        mock_controller \u003d mock.Mock()"},{"line_number":68,"context_line":"        self.oem_controller._parent_resource \u003d mock_controller"},{"line_number":69,"context_line":"        json \u003d self.oem_controller.json"},{"line_number":70,"context_line":"        json[\u0027Oem\u0027][\u0027Dell\u0027][\u0027DellStorageController\u0027][\u0027ControllerMode\u0027] \u003d \u0027RAID\u0027"},{"line_number":71,"context_line":"        self.oem_controller.refresh()"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"        res \u003d self.oem_controller.convert_to_raid()"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"333121da_5faeb4f9","line":71,"range":{"start_line":69,"start_character":0,"end_line":71,"end_character":37},"updated":"2022-08-31 23:11:18.000000000","message":"Gotta love Python references!","commit_id":"da9a0e4042acd76d7c9a3c867a2ae5e104e4929f"}]}
