)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"3463e9a748244f2baac48a15bab6c690944ff87e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"6317a527_d60c9c60","updated":"2024-03-28 00:22:16.000000000","message":"LGTM, Thanks!","commit_id":"851dd597696c4693cb2de85960c0b3c2316a3651"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"a6c8936022c703aa689fa7eff467cae65dc484c7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"b742e9bc_6e9b1bed","updated":"2024-04-03 11:52:10.000000000","message":"recheck unrelated failure","commit_id":"851dd597696c4693cb2de85960c0b3c2316a3651"},{"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":"d3f65ba335a174e169f485ee6d591426878aefb3","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"41f1def4_76345455","updated":"2024-05-15 15:06:44.000000000","message":"Feel free to readd hashtag ironic-week-prio once comments are addressed.","commit_id":"bd959ebb24b3b4c880410800a36652ada2473d71"}],"examples/skip-custom-block-devices/example_skip_device.py":[{"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":"769b18b6e01c091def8e7df4cf6b0d42ba0772bc","unresolved":true,"context_lines":[{"line_number":41,"context_line":"    def evaluate_hardware_support(self):"},{"line_number":42,"context_line":"        \"\"\"Declare level of hardware support provided."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        Since this example covers a case of supporting a specific device,"},{"line_number":45,"context_line":"        for disk erasure, we\u0027re going to return SERVICE_PROVIDER statically,"},{"line_number":46,"context_line":"        and actually do disk detection in erase_device method."},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"edb31332_57376177","line":44,"updated":"2024-03-28 19:59:57.000000000","message":"This seems like it\u0027s not quite correctly describing what this HWM is for? Probably worth cleaning up in a follow-up since it\u0027s an example.","commit_id":"851dd597696c4693cb2de85960c0b3c2316a3651"},{"author":{"_account_id":31031,"name":"Daniel King","email":"openinfra@anewmind.me","username":"DanKingTech"},"change_message_id":"91214941f4205943504fecd1274c5971ed92e294","unresolved":true,"context_lines":[{"line_number":41,"context_line":"    def evaluate_hardware_support(self):"},{"line_number":42,"context_line":"        \"\"\"Declare level of hardware support provided."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        Since this example covers a case of supporting a specific device,"},{"line_number":45,"context_line":"        for disk erasure, we\u0027re going to return SERVICE_PROVIDER statically,"},{"line_number":46,"context_line":"        and actually do disk detection in erase_device method."},{"line_number":47,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"15108195_1080cf4e","line":44,"in_reply_to":"edb31332_57376177","updated":"2024-04-04 14:36:02.000000000","message":"I have made an update which I believe addresses this.","commit_id":"851dd597696c4693cb2de85960c0b3c2316a3651"}],"ironic_python_agent/hardware.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"06522493465c986e1305eb18e95975b81fe1398d","unresolved":false,"context_lines":[{"line_number":1556,"context_line":""},{"line_number":1557,"context_line":"        LOG.debug(\u0027Received additional skip list: %s\u0027, additional_skip_list)"},{"line_number":1558,"context_line":"        if skip_list_from_node is None:"},{"line_number":1559,"context_line":"            if len(additional_skip_list) \u003c 1:"},{"line_number":1560,"context_line":"                return None"},{"line_number":1561,"context_line":""},{"line_number":1562,"context_line":"            skip_list_from_node \u003d set()"}],"source_content_type":"text/x-python","patch_set":4,"id":"82872ef9_9b682648","line":1559,"updated":"2024-04-15 16:21:05.000000000","message":"nit: more idiomatic:\n\n if not additional_skip_list","commit_id":"bd959ebb24b3b4c880410800a36652ada2473d71"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"06522493465c986e1305eb18e95975b81fe1398d","unresolved":false,"context_lines":[{"line_number":1561,"context_line":""},{"line_number":1562,"context_line":"            skip_list_from_node \u003d set()"},{"line_number":1563,"context_line":""},{"line_number":1564,"context_line":"        skip_list \u003d skip_list_from_node.union(set(additional_skip_list))"},{"line_number":1565,"context_line":""},{"line_number":1566,"context_line":"        LOG.debug(\u0027Returning skip_list: %s\u0027, skip_list)"},{"line_number":1567,"context_line":"        return skip_list"}],"source_content_type":"text/x-python","patch_set":4,"id":"675df720_0784bb20","line":1564,"updated":"2024-04-15 16:21:05.000000000","message":"nit: set() is not required, any sequence will be accepted by union()","commit_id":"bd959ebb24b3b4c880410800a36652ada2473d71"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"06522493465c986e1305eb18e95975b81fe1398d","unresolved":false,"context_lines":[{"line_number":1563,"context_line":""},{"line_number":1564,"context_line":"        skip_list \u003d skip_list_from_node.union(set(additional_skip_list))"},{"line_number":1565,"context_line":""},{"line_number":1566,"context_line":"        LOG.debug(\u0027Returning skip_list: %s\u0027, skip_list)"},{"line_number":1567,"context_line":"        return skip_list"},{"line_number":1568,"context_line":""},{"line_number":1569,"context_line":"    def get_additional_skip_list(self, node, block_devices\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"df4fc993_d95d6b02","line":1566,"updated":"2024-04-15 16:21:05.000000000","message":"I\u0027d prefer the logging to avoid referring to internal names. Maybe more of \"The following skip list will be used to ignore block devices: %s\"","commit_id":"bd959ebb24b3b4c880410800a36652ada2473d71"}],"ironic_python_agent/tests/unit/test_hardware.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"06522493465c986e1305eb18e95975b81fe1398d","unresolved":false,"context_lines":[{"line_number":1125,"context_line":""},{"line_number":1126,"context_line":"    def test_get_additional_skip_list_returns_empty(self):"},{"line_number":1127,"context_line":"        node \u003d self.node"},{"line_number":1128,"context_line":"        expected_skip_list \u003d []"},{"line_number":1129,"context_line":""},{"line_number":1130,"context_line":"        skip_list \u003d self.hardware.get_additional_skip_list(node)"},{"line_number":1131,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"0ece7146_cc5bd066","line":1128,"updated":"2024-04-15 16:21:05.000000000","message":"nit: redundant variable","commit_id":"bd959ebb24b3b4c880410800a36652ada2473d71"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"06522493465c986e1305eb18e95975b81fe1398d","unresolved":false,"context_lines":[{"line_number":1144,"context_line":"            hardware.BlockDevice(\u0027/dev/sda\u0027, \u0027sata\u0027, 65535, False),"},{"line_number":1145,"context_line":"        ]"},{"line_number":1146,"context_line":"        node_skip_list \u003d set()"},{"line_number":1147,"context_line":"        expected_skip_list \u003d set()"},{"line_number":1148,"context_line":""},{"line_number":1149,"context_line":"        mock_get_skip_list_from_node.return_value \u003d node_skip_list"},{"line_number":1150,"context_line":"        node \u003d self.node"}],"source_content_type":"text/x-python","patch_set":4,"id":"91733ffa_93ec7c39","line":1147,"updated":"2024-04-15 16:21:05.000000000","message":"nit: same, you don\u0027t really need these variables","commit_id":"bd959ebb24b3b4c880410800a36652ada2473d71"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"06522493465c986e1305eb18e95975b81fe1398d","unresolved":false,"context_lines":[{"line_number":1171,"context_line":"            hardware.BlockDevice(\u0027/dev/hdaa\u0027, \u0027small\u0027, 65535, False),"},{"line_number":1172,"context_line":"            hardware.BlockDevice(\u0027/dev/sda\u0027, \u0027sata\u0027, 65535, False),"},{"line_number":1173,"context_line":"        ]"},{"line_number":1174,"context_line":"        node_skip_list \u003d set({\u0027/dev/sdj\u0027})"},{"line_number":1175,"context_line":"        expected_skip_list \u003d set({\u0027/dev/sdj\u0027})"},{"line_number":1176,"context_line":""},{"line_number":1177,"context_line":"        mock_get_skip_list_from_node.return_value \u003d node_skip_list"}],"source_content_type":"text/x-python","patch_set":4,"id":"d2caf521_126e24b5","line":1174,"updated":"2024-04-15 16:21:05.000000000","message":"nit: you\u0027re casing a set to a set, just remove the outer set() call","commit_id":"bd959ebb24b3b4c880410800a36652ada2473d71"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"06522493465c986e1305eb18e95975b81fe1398d","unresolved":false,"context_lines":[{"line_number":1172,"context_line":"            hardware.BlockDevice(\u0027/dev/sda\u0027, \u0027sata\u0027, 65535, False),"},{"line_number":1173,"context_line":"        ]"},{"line_number":1174,"context_line":"        node_skip_list \u003d set({\u0027/dev/sdj\u0027})"},{"line_number":1175,"context_line":"        expected_skip_list \u003d set({\u0027/dev/sdj\u0027})"},{"line_number":1176,"context_line":""},{"line_number":1177,"context_line":"        mock_get_skip_list_from_node.return_value \u003d node_skip_list"},{"line_number":1178,"context_line":"        node \u003d self.node"}],"source_content_type":"text/x-python","patch_set":4,"id":"051f8780_1556b7e6","line":1175,"updated":"2024-04-15 16:21:05.000000000","message":"same","commit_id":"bd959ebb24b3b4c880410800a36652ada2473d71"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"06522493465c986e1305eb18e95975b81fe1398d","unresolved":false,"context_lines":[{"line_number":1204,"context_line":"        ]"},{"line_number":1205,"context_line":"        node_skip_list \u003d set()"},{"line_number":1206,"context_line":"        additional_skip_list \u003d [\u0027/dev/hdaa\u0027]"},{"line_number":1207,"context_line":"        expected_skip_list \u003d set({\u0027/dev/hdaa\u0027})"},{"line_number":1208,"context_line":""},{"line_number":1209,"context_line":"        mock_skip_list_from_node.return_value \u003d node_skip_list"},{"line_number":1210,"context_line":"        mock_dispatch.return_value \u003d additional_skip_list"}],"source_content_type":"text/x-python","patch_set":4,"id":"af5045e6_1ab3d613","line":1207,"updated":"2024-04-15 16:21:05.000000000","message":"same comments here and elsewhere below","commit_id":"bd959ebb24b3b4c880410800a36652ada2473d71"}]}
