)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"change_message_id":"90a59a2acce3184d63286f80de7c79c0385b072f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"857ce22a_b5a2147e","updated":"2024-07-12 17:47:31.000000000","message":"recheck - url connection timeout","commit_id":"fc69f9aad6eccdca59fc99609fc92e317257214b"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"0b26c42d81069d1d0ce493fb41ab80be7ffb9e14","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"9ee29e95_97ae2ae0","updated":"2024-07-12 17:52:30.000000000","message":"recheck curl: (28) Failed to connect to download.cirros-cloud.net port 80 after 131047 ms: Connection timed out","commit_id":"fc69f9aad6eccdca59fc99609fc92e317257214b"}],"ironic/drivers/modules/redfish/utils.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0d0d1961c300539d234da71b4d327ad27ff9ef6f","unresolved":true,"context_lines":[{"line_number":330,"context_line":"    \"\"\""},{"line_number":331,"context_line":"    try:"},{"line_number":332,"context_line":"        if storage.controllers:"},{"line_number":333,"context_line":"            return storage.controllers[0]"},{"line_number":334,"context_line":"    except AttributeError:"},{"line_number":335,"context_line":"        try:"},{"line_number":336,"context_line":"            if storage.storage_controllers:"}],"source_content_type":"text/x-python","patch_set":2,"id":"701de6e3_f80733ca","line":333,"updated":"2024-07-05 13:24:32.000000000","message":"The new Storage.controllers is not a list, it\u0027s a ControllerCollection object. You cannot index it. You may need something like storage.controllers.get_members()[0]. Check the sushy code for reference.","commit_id":"81bb8df721bc9a93bab0d8303cfeeb275b80821f"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0d0d1961c300539d234da71b4d327ad27ff9ef6f","unresolved":true,"context_lines":[{"line_number":331,"context_line":"    try:"},{"line_number":332,"context_line":"        if storage.controllers:"},{"line_number":333,"context_line":"            return storage.controllers[0]"},{"line_number":334,"context_line":"    except AttributeError:"},{"line_number":335,"context_line":"        try:"},{"line_number":336,"context_line":"            if storage.storage_controllers:"},{"line_number":337,"context_line":"                return storage.storage_controllers[0]"}],"source_content_type":"text/x-python","patch_set":2,"id":"897b70f3_c8a3445b","line":334,"updated":"2024-07-05 13:24:32.000000000","message":"Sushy resources raise MissingAttributeError, which unfortunately does not inherit AttributeError. In addition to that, you need to catch IndexError which may happen if the list is empty.","commit_id":"81bb8df721bc9a93bab0d8303cfeeb275b80821f"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0d0d1961c300539d234da71b4d327ad27ff9ef6f","unresolved":true,"context_lines":[{"line_number":335,"context_line":"        try:"},{"line_number":336,"context_line":"            if storage.storage_controllers:"},{"line_number":337,"context_line":"                return storage.storage_controllers[0]"},{"line_number":338,"context_line":"        except AttributeError:"},{"line_number":339,"context_line":"            pass"},{"line_number":340,"context_line":"    return None"},{"line_number":341,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"54e0163a_34984674","line":338,"updated":"2024-07-05 13:24:32.000000000","message":"Same here","commit_id":"81bb8df721bc9a93bab0d8303cfeeb275b80821f"}],"ironic/tests/unit/drivers/modules/redfish/test_raid.py":[{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"75de8e4933cf29ab2fedf52e0b2d8a776ff6ca4b","unresolved":true,"context_lines":[{"line_number":1179,"context_line":"            self.assertEqual(storage, self.mock_storage)"},{"line_number":1180,"context_line":"            nonraid_storage.drives.assert_not_called()"},{"line_number":1181,"context_line":""},{"line_number":1182,"context_line":"    def test__get_controller(self, mock_get_system):"},{"line_number":1183,"context_line":"        nonraid_controller \u003d mock.Mock()"},{"line_number":1184,"context_line":"        nonraid_controller.raid_types \u003d []"},{"line_number":1185,"context_line":"        nonraid_storage \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":5,"id":"069f6735_29a36101","line":1182,"updated":"2024-07-08 08:27:27.000000000","message":"you probably need at least 2-3 more tests:\none for the storage_controllers value and two negative to verify the raised exceptions","commit_id":"9922af65d7a5ad9a02935756da74fd0bd9b67b89"}]}
