)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"005b00b23e76c25aa4b0c06fb205fc4d255141b8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"bad9cc4d_b7a8f980","updated":"2023-04-20 08:54:58.000000000","message":"Hi Iury, Dmitry and Riccardo. Here\u0027s the first iteration of the fix to the missing EthernetInterfaces attribute - I\u0027d appreciate your reviews. Thank you!","commit_id":"42030e407e447f897cbb8f81027372949a8f9da4"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"4b879919bab26ccb1e42705f98b91c102ce5cc4c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"e413588d_c9ce4df7","updated":"2023-04-20 13:23:48.000000000","message":"LGTM, but I think we need to think if MissingAttributeError will always be related to EthernetInterfaces","commit_id":"42030e407e447f897cbb8f81027372949a8f9da4"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"fdcc983cb488bc23b93ed1b7814fbe93342ac664","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3533536e_3a0c482a","updated":"2023-04-20 11:39:05.000000000","message":"nits can be taken care of in a follow up if needed","commit_id":"42030e407e447f897cbb8f81027372949a8f9da4"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"8625a0aa0de4e5008aecd40719c1f2179d012f29","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"00af5bd7_8c9436e6","updated":"2023-04-21 01:36:45.000000000","message":"recheck","commit_id":"42030e407e447f897cbb8f81027372949a8f9da4"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"aa058c6518ec80e54203416685d1ab2d82873391","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"1097ed84_36469d98","updated":"2023-04-20 06:52:18.000000000","message":"recheck","commit_id":"42030e407e447f897cbb8f81027372949a8f9da4"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"0f28caa63e091a296c9280a84161d14de236dd20","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"5c797cda_b591cb99","updated":"2023-04-20 13:28:39.000000000","message":"recheck","commit_id":"42030e407e447f897cbb8f81027372949a8f9da4"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"f20917711ee6b121f4148af9b9b86db8aa757465","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"716f714e_cfd0b94f","updated":"2023-04-21 03:35:08.000000000","message":"recheck","commit_id":"42030e407e447f897cbb8f81027372949a8f9da4"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"c4daded9dc3a781538cc3156eb893a1d38df6287","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"98427d06_1623c7a6","updated":"2023-04-21 07:21:41.000000000","message":"recheck grenade still unhappy?","commit_id":"42030e407e447f897cbb8f81027372949a8f9da4"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"b4a88a0d9a830d6266c8a45f69666ecc3a556e64","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"31a7de6d_cf0d61e9","updated":"2023-04-21 12:33:47.000000000","message":"Thank you Dmitry Iury and Riccardo. I uploaded a slightly revised patch incorporating your feedback. PTAL.","commit_id":"470f20f878dc894e3bcb764519f7e2bce3c0865c"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"4b001bdd30424d15a3b2a8c8053e668f516061cd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"4caac406_4bd4fe92","updated":"2023-04-25 03:43:30.000000000","message":"Thank you Riccardo.\n\nGiven we need CI re-runs I figured I may just as well fix these nits.","commit_id":"e601f62117d609a913a2ead39deddc53fcc98d92"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"acf3959d4b83832aca33fe78b6b2c4759a85a502","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"7cc55349_f9c6df5f","updated":"2023-04-25 09:25:12.000000000","message":"hmm failures now extend before initial Grenade problem\none more recheck to see if it\u0027s the same tests failing now\nmay need a more thorough investigation","commit_id":"e601f62117d609a913a2ead39deddc53fcc98d92"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"e71bbdc7a8d3647148955941d7d2c530a49cf099","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"430a5f52_29bdead7","updated":"2023-04-25 03:43:38.000000000","message":"recheck","commit_id":"e601f62117d609a913a2ead39deddc53fcc98d92"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"b7f2f150148269c187166d4fd959863866a6bf96","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"795af893_5c5996a0","updated":"2023-04-25 07:24:37.000000000","message":"recheck","commit_id":"e601f62117d609a913a2ead39deddc53fcc98d92"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"aef463b22fcff1c76a994ab8de3284bfe7d47773","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"c0ac7062_adece87f","updated":"2023-04-28 11:17:18.000000000","message":"recheck","commit_id":"e601f62117d609a913a2ead39deddc53fcc98d92"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"beb9f18fc76d932a055034006bcf3042423281c0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"ede4aa78_7d2e144c","updated":"2023-05-01 09:22:01.000000000","message":"recheck","commit_id":"e601f62117d609a913a2ead39deddc53fcc98d92"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"01501e32c56b5702349b9a32c7aeb644bae5d7f6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"f48a7ed7_dceedf3d","updated":"2023-04-25 09:25:21.000000000","message":"recheck","commit_id":"e601f62117d609a913a2ead39deddc53fcc98d92"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"a098de968420243213bfbf8a2d17778f59f3cd8d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"7432ff40_d12572c8","updated":"2023-05-05 07:29:26.000000000","message":"fix for the failing jobs is under review https://review.opendev.org/c/openstack/ironic-tempest-plugin/+/882288","commit_id":"f10958a542dd58ff301c386ce0981ec218e9eef6"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"2c781f098bfc495630fb9be2c3d1e2190c0d0d45","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"09c5c6ad_8f099960","updated":"2023-05-03 11:01:54.000000000","message":"recheck","commit_id":"f10958a542dd58ff301c386ce0981ec218e9eef6"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"020f8bff4756469b05b7ec6e28f343f0d0398c32","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"38d0ef39_013bb257","updated":"2023-05-04 04:35:57.000000000","message":"recheck","commit_id":"f10958a542dd58ff301c386ce0981ec218e9eef6"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"cee2542e5ca6dcb73f86f164411f1a3ecf635eac","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"764c01db_af605874","updated":"2023-05-05 06:33:48.000000000","message":"recheck","commit_id":"f10958a542dd58ff301c386ce0981ec218e9eef6"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"fb0bc1fdb3231ca6534c259254e0fc923147af3f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"eac899e1_e8f37841","updated":"2023-05-02 14:05:43.000000000","message":"recheck","commit_id":"f10958a542dd58ff301c386ce0981ec218e9eef6"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"c531678df0c8bbba05211b23443d3a73254707f8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"d14f78c7_61656c1e","updated":"2023-05-08 12:19:48.000000000","message":"recheck\n\nThe failing job is disabled, but grenade is in a bad shape still.","commit_id":"f10958a542dd58ff301c386ce0981ec218e9eef6"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"f5ee6a008bef2fcf2109235cc99b98f93cd29d94","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"453d3fe3_363e10eb","updated":"2023-05-05 11:38:12.000000000","message":"recheck should be now fixed","commit_id":"f10958a542dd58ff301c386ce0981ec218e9eef6"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"d2aaa5a9db8cbedb005aecbd3c01c494400607d3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"56b3d29b_98acb1b1","updated":"2023-05-04 07:59:31.000000000","message":"recheck this should be fixed now","commit_id":"f10958a542dd58ff301c386ce0981ec218e9eef6"}],"ironic/drivers/modules/redfish/management.py":[{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"4b879919bab26ccb1e42705f98b91c102ce5cc4c","unresolved":true,"context_lines":[{"line_number":1205,"context_line":"        # are missing EthernetInterfaces attribute yet could be provisioned"},{"line_number":1206,"context_line":"        # successfully if MAC information is provided manually AND this"},{"line_number":1207,"context_line":"        # exception is caught and handled accordingly."},{"line_number":1208,"context_line":"        except sushy.exceptions.MissingAttributeError as exc:"},{"line_number":1209,"context_line":"            msg \u003d (_(\u0027EthernetInterfaces attribute is missing on node\u0027"},{"line_number":1210,"context_line":"                     \u0027%(node)s: %(exc)s\u0027)"},{"line_number":1211,"context_line":"                   % {\u0027node\u0027: task.node.uuid, \u0027exc\u0027: exc})"}],"source_content_type":"text/x-python","patch_set":4,"id":"27194102_adcc43d8","line":1208,"range":{"start_line":1208,"start_character":32,"end_line":1208,"end_character":53},"updated":"2023-04-20 13:23:48.000000000","message":"I\u0027m wondering if all cases of MissingAttributeError would be related to not having EthernetInterfaces...\nI would try to log a warning based on the message we received from sushy and not create a new one (since it could potentially hide the real problem), thoughts?","commit_id":"42030e407e447f897cbb8f81027372949a8f9da4"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"cd11b92c364d0f6402e5392d1eaf47fde83da43a","unresolved":true,"context_lines":[{"line_number":1205,"context_line":"        # are missing EthernetInterfaces attribute yet could be provisioned"},{"line_number":1206,"context_line":"        # successfully if MAC information is provided manually AND this"},{"line_number":1207,"context_line":"        # exception is caught and handled accordingly."},{"line_number":1208,"context_line":"        except sushy.exceptions.MissingAttributeError as exc:"},{"line_number":1209,"context_line":"            msg \u003d (_(\u0027EthernetInterfaces attribute is missing on node\u0027"},{"line_number":1210,"context_line":"                     \u0027%(node)s: %(exc)s\u0027)"},{"line_number":1211,"context_line":"                   % {\u0027node\u0027: task.node.uuid, \u0027exc\u0027: exc})"}],"source_content_type":"text/x-python","patch_set":4,"id":"96b47a40_a414c6de","line":1208,"range":{"start_line":1208,"start_character":32,"end_line":1208,"end_character":53},"in_reply_to":"27194102_adcc43d8","updated":"2023-04-21 03:34:58.000000000","message":"Looking at https://opendev.org/openstack/ironic/src/branch/master/ironic/drivers/modules/redfish/utils.py#L432 I think that at this point in time we\u0027re only likely to see a MissingAttributeError if system.ethernet_interfaces and/or system.ethernet_interfaces.summary is missing. Having said that, would it be a good idea to check for presence of EthernetInterfaces in the MissingAttributeError exception\u0027s message, just to be extra careful (and in case the code base changes in the future)?","commit_id":"42030e407e447f897cbb8f81027372949a8f9da4"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"544bbff71d230a3e900922970ecaa69c7ee89143","unresolved":true,"context_lines":[{"line_number":1205,"context_line":"        # are missing EthernetInterfaces attribute yet could be provisioned"},{"line_number":1206,"context_line":"        # successfully if MAC information is provided manually AND this"},{"line_number":1207,"context_line":"        # exception is caught and handled accordingly."},{"line_number":1208,"context_line":"        except sushy.exceptions.MissingAttributeError as exc:"},{"line_number":1209,"context_line":"            msg \u003d (_(\u0027EthernetInterfaces attribute is missing on node\u0027"},{"line_number":1210,"context_line":"                     \u0027%(node)s: %(exc)s\u0027)"},{"line_number":1211,"context_line":"                   % {\u0027node\u0027: task.node.uuid, \u0027exc\u0027: exc})"}],"source_content_type":"text/x-python","patch_set":4,"id":"96ccce10_5eccd51e","line":1208,"range":{"start_line":1208,"start_character":32,"end_line":1208,"end_character":53},"in_reply_to":"96b47a40_a414c6de","updated":"2023-04-21 07:20:58.000000000","message":"I think we\u0027re good with this for the time being, considering that the get_enabled_macs function takes into consideration only the EthernetInterfaces attribute","commit_id":"42030e407e447f897cbb8f81027372949a8f9da4"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"b4a88a0d9a830d6266c8a45f69666ecc3a556e64","unresolved":false,"context_lines":[{"line_number":1205,"context_line":"        # are missing EthernetInterfaces attribute yet could be provisioned"},{"line_number":1206,"context_line":"        # successfully if MAC information is provided manually AND this"},{"line_number":1207,"context_line":"        # exception is caught and handled accordingly."},{"line_number":1208,"context_line":"        except sushy.exceptions.MissingAttributeError as exc:"},{"line_number":1209,"context_line":"            msg \u003d (_(\u0027EthernetInterfaces attribute is missing on node\u0027"},{"line_number":1210,"context_line":"                     \u0027%(node)s: %(exc)s\u0027)"},{"line_number":1211,"context_line":"                   % {\u0027node\u0027: task.node.uuid, \u0027exc\u0027: exc})"}],"source_content_type":"text/x-python","patch_set":4,"id":"aa81cf70_bb181397","line":1208,"range":{"start_line":1208,"start_character":32,"end_line":1208,"end_character":53},"in_reply_to":"96ccce10_5eccd51e","updated":"2023-04-21 12:33:47.000000000","message":"Thank you Iury and Riccardo. I moved things around a bit so that querying system happens outside try-except block to make a bit more neat.","commit_id":"42030e407e447f897cbb8f81027372949a8f9da4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6fc7fb52438e88280f365e93e460d776cef671af","unresolved":true,"context_lines":[{"line_number":1206,"context_line":"        # successfully if MAC information is provided manually AND this"},{"line_number":1207,"context_line":"        # exception is caught and handled accordingly."},{"line_number":1208,"context_line":"        except sushy.exceptions.MissingAttributeError as exc:"},{"line_number":1209,"context_line":"            msg \u003d (_(\u0027EthernetInterfaces attribute is missing on node\u0027"},{"line_number":1210,"context_line":"                     \u0027%(node)s: %(exc)s\u0027)"},{"line_number":1211,"context_line":"                   % {\u0027node\u0027: task.node.uuid, \u0027exc\u0027: exc})"},{"line_number":1212,"context_line":"            LOG.warning(msg)"}],"source_content_type":"text/x-python","patch_set":4,"id":"4db0b30d_14912100","line":1209,"updated":"2023-04-20 11:25:51.000000000","message":"nit: we don\u0027t translate log messages","commit_id":"42030e407e447f897cbb8f81027372949a8f9da4"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"b4a88a0d9a830d6266c8a45f69666ecc3a556e64","unresolved":false,"context_lines":[{"line_number":1206,"context_line":"        # successfully if MAC information is provided manually AND this"},{"line_number":1207,"context_line":"        # exception is caught and handled accordingly."},{"line_number":1208,"context_line":"        except sushy.exceptions.MissingAttributeError as exc:"},{"line_number":1209,"context_line":"            msg \u003d (_(\u0027EthernetInterfaces attribute is missing on node\u0027"},{"line_number":1210,"context_line":"                     \u0027%(node)s: %(exc)s\u0027)"},{"line_number":1211,"context_line":"                   % {\u0027node\u0027: task.node.uuid, \u0027exc\u0027: exc})"},{"line_number":1212,"context_line":"            LOG.warning(msg)"}],"source_content_type":"text/x-python","patch_set":4,"id":"cb509974_6265bb3d","line":1209,"in_reply_to":"4db0b30d_14912100","updated":"2023-04-21 12:33:47.000000000","message":"Done","commit_id":"42030e407e447f897cbb8f81027372949a8f9da4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"6fc7fb52438e88280f365e93e460d776cef671af","unresolved":true,"context_lines":[{"line_number":1209,"context_line":"            msg \u003d (_(\u0027EthernetInterfaces attribute is missing on node\u0027"},{"line_number":1210,"context_line":"                     \u0027%(node)s: %(exc)s\u0027)"},{"line_number":1211,"context_line":"                   % {\u0027node\u0027: task.node.uuid, \u0027exc\u0027: exc})"},{"line_number":1212,"context_line":"            LOG.warning(msg)"},{"line_number":1213,"context_line":"        # if the exception is not a MissingAttributeError, raise it"},{"line_number":1214,"context_line":"        except sushy.exceptions.SushyError as exc:"},{"line_number":1215,"context_line":"            msg \u003d (_(\u0027Failed to get network interface information on node \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"c3159e3e_0d1b806e","line":1212,"updated":"2023-04-20 11:25:51.000000000","message":"nit: it\u0027s a bit more natural not to pre-format the strings, but to path the template and the format argument separately","commit_id":"42030e407e447f897cbb8f81027372949a8f9da4"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"b4a88a0d9a830d6266c8a45f69666ecc3a556e64","unresolved":false,"context_lines":[{"line_number":1209,"context_line":"            msg \u003d (_(\u0027EthernetInterfaces attribute is missing on node\u0027"},{"line_number":1210,"context_line":"                     \u0027%(node)s: %(exc)s\u0027)"},{"line_number":1211,"context_line":"                   % {\u0027node\u0027: task.node.uuid, \u0027exc\u0027: exc})"},{"line_number":1212,"context_line":"            LOG.warning(msg)"},{"line_number":1213,"context_line":"        # if the exception is not a MissingAttributeError, raise it"},{"line_number":1214,"context_line":"        except sushy.exceptions.SushyError as exc:"},{"line_number":1215,"context_line":"            msg \u003d (_(\u0027Failed to get network interface information on node \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"838783c3_286a338e","line":1212,"in_reply_to":"c3159e3e_0d1b806e","updated":"2023-04-21 12:33:47.000000000","message":"Done","commit_id":"42030e407e447f897cbb8f81027372949a8f9da4"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"481910700435dca831ca16b0af73eb969e37abb3","unresolved":true,"context_lines":[{"line_number":1206,"context_line":"        # provisioned successfully if MAC information is provided manually AND"},{"line_number":1207,"context_line":"        # this exception is caught and handled accordingly."},{"line_number":1208,"context_line":"        except sushy.exceptions.MissingAttributeError as exc:"},{"line_number":1209,"context_line":"            msg \u003d (\u0027EthernetInterfaces attribute is missing on node\u0027"},{"line_number":1210,"context_line":"                   \u0027%(node)s: %(exc)s\u0027), {\u0027node\u0027: task.node.uuid, \u0027exc\u0027: exc}"},{"line_number":1211,"context_line":"            LOG.warning(msg)"},{"line_number":1212,"context_line":"        # if the exception is not a MissingAttributeError, raise it"}],"source_content_type":"text/x-python","patch_set":5,"id":"b6862a49_9fb95d96","line":1209,"updated":"2023-04-21 12:38:37.000000000","message":"You don\u0027t need so much details now, it will be contained in the exception. It\u0027s better to provide context, like \"Cannot get MAC addresses for node %(node)s: %(exc)s\". The exception should mention, which attribute is missing.","commit_id":"470f20f878dc894e3bcb764519f7e2bce3c0865c"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"a3e54268d6b1e015110b397839bda277b888d480","unresolved":false,"context_lines":[{"line_number":1206,"context_line":"        # provisioned successfully if MAC information is provided manually AND"},{"line_number":1207,"context_line":"        # this exception is caught and handled accordingly."},{"line_number":1208,"context_line":"        except sushy.exceptions.MissingAttributeError as exc:"},{"line_number":1209,"context_line":"            msg \u003d (\u0027EthernetInterfaces attribute is missing on node\u0027"},{"line_number":1210,"context_line":"                   \u0027%(node)s: %(exc)s\u0027), {\u0027node\u0027: task.node.uuid, \u0027exc\u0027: exc}"},{"line_number":1211,"context_line":"            LOG.warning(msg)"},{"line_number":1212,"context_line":"        # if the exception is not a MissingAttributeError, raise it"}],"source_content_type":"text/x-python","patch_set":5,"id":"c4dd830a_e3c2c254","line":1209,"in_reply_to":"b6862a49_9fb95d96","updated":"2023-04-25 03:44:35.000000000","message":"Done","commit_id":"470f20f878dc894e3bcb764519f7e2bce3c0865c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"481910700435dca831ca16b0af73eb969e37abb3","unresolved":true,"context_lines":[{"line_number":1208,"context_line":"        except sushy.exceptions.MissingAttributeError as exc:"},{"line_number":1209,"context_line":"            msg \u003d (\u0027EthernetInterfaces attribute is missing on node\u0027"},{"line_number":1210,"context_line":"                   \u0027%(node)s: %(exc)s\u0027), {\u0027node\u0027: task.node.uuid, \u0027exc\u0027: exc}"},{"line_number":1211,"context_line":"            LOG.warning(msg)"},{"line_number":1212,"context_line":"        # if the exception is not a MissingAttributeError, raise it"},{"line_number":1213,"context_line":"        except sushy.exceptions.SushyError as exc:"},{"line_number":1214,"context_line":"            msg \u003d (_(\u0027Failed to get network interface information on node \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"56cb9caa_011c8524","line":1211,"updated":"2023-04-21 12:38:37.000000000","message":"msg is a tuple now, not too separate arguments","commit_id":"470f20f878dc894e3bcb764519f7e2bce3c0865c"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"a3e54268d6b1e015110b397839bda277b888d480","unresolved":false,"context_lines":[{"line_number":1208,"context_line":"        except sushy.exceptions.MissingAttributeError as exc:"},{"line_number":1209,"context_line":"            msg \u003d (\u0027EthernetInterfaces attribute is missing on node\u0027"},{"line_number":1210,"context_line":"                   \u0027%(node)s: %(exc)s\u0027), {\u0027node\u0027: task.node.uuid, \u0027exc\u0027: exc}"},{"line_number":1211,"context_line":"            LOG.warning(msg)"},{"line_number":1212,"context_line":"        # if the exception is not a MissingAttributeError, raise it"},{"line_number":1213,"context_line":"        except sushy.exceptions.SushyError as exc:"},{"line_number":1214,"context_line":"            msg \u003d (_(\u0027Failed to get network interface information on node \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"856a08dc_5cfe5d67","line":1211,"in_reply_to":"56cb9caa_011c8524","updated":"2023-04-25 03:44:35.000000000","message":"Done","commit_id":"470f20f878dc894e3bcb764519f7e2bce3c0865c"}],"ironic/tests/unit/drivers/modules/redfish/test_management.py":[{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"26dc1b48b49e88c93ed4bb19cbb3dfdc5f98fe6a","unresolved":true,"context_lines":[{"line_number":1603,"context_line":"    @mock.patch.object(redfish_utils, \u0027get_system\u0027, autospec\u003dTrue)"},{"line_number":1604,"context_line":"    def test_get_mac_addresses_missing_attr(self, mock_get_system,"},{"line_number":1605,"context_line":"                                            mock_get_enabled_macs):"},{"line_number":1606,"context_line":"        redfish_utils.get_enabled_macs.side_effect \u003d\\"},{"line_number":1607,"context_line":"            sushy.exceptions.MissingAttributeError"},{"line_number":1608,"context_line":"        with task_manager.acquire(self.context, self.node.uuid,"},{"line_number":1609,"context_line":"                                  shared\u003dTrue) as task:"},{"line_number":1610,"context_line":"            self.assertIsNone(task.driver.management.get_mac_addresses(task))"}],"source_content_type":"text/x-python","patch_set":7,"id":"04f99aa4_6b208e40","line":1607,"range":{"start_line":1606,"start_character":51,"end_line":1607,"end_character":50},"updated":"2023-05-02 07:53:47.000000000","message":"we use () to split lines","commit_id":"e601f62117d609a913a2ead39deddc53fcc98d92"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"75cc175a4bca84a60b8fa4ae2be8ce1722c83dd5","unresolved":false,"context_lines":[{"line_number":1603,"context_line":"    @mock.patch.object(redfish_utils, \u0027get_system\u0027, autospec\u003dTrue)"},{"line_number":1604,"context_line":"    def test_get_mac_addresses_missing_attr(self, mock_get_system,"},{"line_number":1605,"context_line":"                                            mock_get_enabled_macs):"},{"line_number":1606,"context_line":"        redfish_utils.get_enabled_macs.side_effect \u003d\\"},{"line_number":1607,"context_line":"            sushy.exceptions.MissingAttributeError"},{"line_number":1608,"context_line":"        with task_manager.acquire(self.context, self.node.uuid,"},{"line_number":1609,"context_line":"                                  shared\u003dTrue) as task:"},{"line_number":1610,"context_line":"            self.assertIsNone(task.driver.management.get_mac_addresses(task))"}],"source_content_type":"text/x-python","patch_set":7,"id":"217cb1f9_bf933e43","line":1607,"range":{"start_line":1606,"start_character":51,"end_line":1607,"end_character":50},"in_reply_to":"04f99aa4_6b208e40","updated":"2023-05-02 12:10:05.000000000","message":"Done","commit_id":"e601f62117d609a913a2ead39deddc53fcc98d92"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"7d180fd5984f6c1d4cbbb6366c8c7845df06bb6c","unresolved":true,"context_lines":[{"line_number":1603,"context_line":"    @mock.patch.object(redfish_utils, \u0027get_system\u0027, autospec\u003dTrue)"},{"line_number":1604,"context_line":"    def test_get_mac_addresses_missing_attr(self, mock_get_system,"},{"line_number":1605,"context_line":"                                            mock_get_enabled_macs):"},{"line_number":1606,"context_line":"        redfish_utils.get_enabled_macs.side_effect \u003d (sushy.exceptions."},{"line_number":1607,"context_line":"                                                      MissingAttributeError)"},{"line_number":1608,"context_line":"        with task_manager.acquire(self.context, self.node.uuid,"},{"line_number":1609,"context_line":"                                  shared\u003dTrue) as task:"},{"line_number":1610,"context_line":"            self.assertIsNone(task.driver.management.get_mac_addresses(task))"}],"source_content_type":"text/x-python","patch_set":8,"id":"808a9fbc_8db21a87","line":1607,"range":{"start_line":1606,"start_character":54,"end_line":1607,"end_character":76},"updated":"2023-05-02 12:17:46.000000000","message":"nit: should be the entire call in the line after for better readability","commit_id":"f10958a542dd58ff301c386ce0981ec218e9eef6"}],"releasenotes/notes/handle-missing-ethernetinterfaces-attr-7e52f7259fe66762.yaml":[{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"dc776ef227131249667507ff3843b0d047ea2ad2","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    Fixes the bug where provisioning a Redfish managed node fails if the BMC"},{"line_number":5,"context_line":"    doesn\u0027t support EthernetInterfaces attribute, even if MAC address"},{"line_number":6,"context_line":"    information is provided manually. This is done by handling of"},{"line_number":7,"context_line":"    MissingAttributeError sushy exception in in get_mac_addresses() method."},{"line_number":8,"context_line":"    This fix is needed to successfull provision machines such as Cisco UCSB"},{"line_number":9,"context_line":"    and UCSX."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"474ef8a9_7313a68f","line":7,"range":{"start_line":7,"start_character":45,"end_line":7,"end_character":48},"updated":"2023-04-21 15:40:55.000000000","message":"nit: remove duplicate \"in\"","commit_id":"e0512929373c38fba00bce14f58d585d6a35b962"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"4b001bdd30424d15a3b2a8c8053e668f516061cd","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Fixes the bug where provisioning a Redfish managed node fails if the BMC"},{"line_number":5,"context_line":"    doesn\u0027t support EthernetInterfaces attribute, even if MAC address"},{"line_number":6,"context_line":"    information is provided manually. This is done by handling of"},{"line_number":7,"context_line":"    MissingAttributeError sushy exception in in get_mac_addresses() method."},{"line_number":8,"context_line":"    This fix is needed to successfull provision machines such as Cisco UCSB"},{"line_number":9,"context_line":"    and UCSX."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"03e43711_7cd51a96","line":7,"range":{"start_line":7,"start_character":45,"end_line":7,"end_character":48},"in_reply_to":"474ef8a9_7313a68f","updated":"2023-04-25 03:43:30.000000000","message":"Done","commit_id":"e0512929373c38fba00bce14f58d585d6a35b962"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"dc776ef227131249667507ff3843b0d047ea2ad2","unresolved":true,"context_lines":[{"line_number":5,"context_line":"    doesn\u0027t support EthernetInterfaces attribute, even if MAC address"},{"line_number":6,"context_line":"    information is provided manually. This is done by handling of"},{"line_number":7,"context_line":"    MissingAttributeError sushy exception in in get_mac_addresses() method."},{"line_number":8,"context_line":"    This fix is needed to successfull provision machines such as Cisco UCSB"},{"line_number":9,"context_line":"    and UCSX."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"38a39da2_4efabcb5","line":8,"range":{"start_line":8,"start_character":33,"end_line":8,"end_character":35},"updated":"2023-04-21 15:40:55.000000000","message":"nit: successfully","commit_id":"e0512929373c38fba00bce14f58d585d6a35b962"},{"author":{"_account_id":32177,"name":"Jacob Anders","email":"jacob-anders-dev@proton.me","username":"janders"},"change_message_id":"4b001bdd30424d15a3b2a8c8053e668f516061cd","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    doesn\u0027t support EthernetInterfaces attribute, even if MAC address"},{"line_number":6,"context_line":"    information is provided manually. This is done by handling of"},{"line_number":7,"context_line":"    MissingAttributeError sushy exception in in get_mac_addresses() method."},{"line_number":8,"context_line":"    This fix is needed to successfull provision machines such as Cisco UCSB"},{"line_number":9,"context_line":"    and UCSX."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"b5c3727f_4361b01d","line":8,"range":{"start_line":8,"start_character":33,"end_line":8,"end_character":35},"in_reply_to":"38a39da2_4efabcb5","updated":"2023-04-25 03:43:30.000000000","message":"Done","commit_id":"e0512929373c38fba00bce14f58d585d6a35b962"}]}
