)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":35133,"name":"Jan Jasek","email":"jjasek@redhat.com","username":"janjasek"},"change_message_id":"2a565d01ca9800b943ba77f7e48681e2a68a6285","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4a4506df_6b8d2da0","updated":"2024-08-20 07:49:59.000000000","message":"LGTM, Thank you!","commit_id":"929cc1a1a57181a271964f6b80da3612c85764af"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"31ca1f4581be402811dab4125e205c097fe928db","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"f5ef1b5a_b8eb0a7b","updated":"2024-08-21 12:15:56.000000000","message":"I\u0027m hesitant to wipe out +2 by a trivial change but adding the closes-bug tag helps us to track the status of bug fix (especially when we have to consider backports)","commit_id":"30888edfd52bfaadad241aa2fcdf44151d0aed96"},{"author":{"_account_id":31542,"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","username":"andrewbonney"},"change_message_id":"4df73419bf9bbe1de10f37de463777ca4abbf5b2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"4651f49d_d0fd1d8e","updated":"2024-08-22 08:01:35.000000000","message":"I\u0027ve just deployed this patch and get the error: \"Error: Unable to retrieve providers information. Details\u0027vcpus_ar\u0027\". It looks like","commit_id":"30888edfd52bfaadad241aa2fcdf44151d0aed96"}],"openstack_dashboard/api/placement.py":[{"author":{"_account_id":8648,"name":"Radomir Dopieralski","email":"openstack@dopieralski.pl","username":"thesheep"},"change_message_id":"d3972562c725ae3bda1f7abdb35d28ddd3e564af","unresolved":true,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        p[\u0027memory_mb_used\u0027] \u003d usages.get(\u0027MEMORY_MB\u0027)"},{"line_number":129,"context_line":"        p[\u0027memory_mb_reserved\u0027] \u003d memory[\u0027reserved\u0027] \\"},{"line_number":130,"context_line":"            if memory is not None else None"},{"line_number":131,"context_line":"        p[\u0027memory_mb\u0027] \u003d memory[\u0027total\u0027] if memory is not None else None"},{"line_number":132,"context_line":"        p[\u0027memory_mb_ar\u0027] \u003d memory[\u0027allocation_ratio\u0027] \\"},{"line_number":133,"context_line":"            if memory is not None else None"}],"source_content_type":"text/x-python","patch_set":1,"id":"85aaac06_f747140c","line":130,"updated":"2024-08-13 15:27:53.000000000","message":"Can you put parens around the expressions instead of using backslashes? Backslashes are very fragile and tricky to edit.","commit_id":"e9662e48844e81699ea28a0982cef19cd07705df"},{"author":{"_account_id":6914,"name":"Tatiana Ovchinnikova","email":"t.v.ovtchinnikova@gmail.com","username":"tmazur"},"change_message_id":"bedc5dfd8ffe405754046808f92fc21886164086","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        p[\u0027memory_mb_used\u0027] \u003d usages.get(\u0027MEMORY_MB\u0027)"},{"line_number":129,"context_line":"        p[\u0027memory_mb_reserved\u0027] \u003d memory[\u0027reserved\u0027] \\"},{"line_number":130,"context_line":"            if memory is not None else None"},{"line_number":131,"context_line":"        p[\u0027memory_mb\u0027] \u003d memory[\u0027total\u0027] if memory is not None else None"},{"line_number":132,"context_line":"        p[\u0027memory_mb_ar\u0027] \u003d memory[\u0027allocation_ratio\u0027] \\"},{"line_number":133,"context_line":"            if memory is not None else None"}],"source_content_type":"text/x-python","patch_set":1,"id":"409fd74f_6973354f","line":130,"in_reply_to":"85aaac06_f747140c","updated":"2024-08-19 15:01:10.000000000","message":"Done","commit_id":"e9662e48844e81699ea28a0982cef19cd07705df"},{"author":{"_account_id":35133,"name":"Jan Jasek","email":"jjasek@redhat.com","username":"janjasek"},"change_message_id":"1bd8f2825a04f55733dd54cba7a38d39d3dd2fe5","unresolved":true,"context_lines":[{"line_number":131,"context_line":"        p[\u0027memory_mb\u0027] \u003d memory[\u0027total\u0027] if memory is not None else None"},{"line_number":132,"context_line":"        p[\u0027memory_mb_ar\u0027] \u003d memory[\u0027allocation_ratio\u0027] \\"},{"line_number":133,"context_line":"            if memory is not None else None"},{"line_number":134,"context_line":"        p[\u0027memory_mb_capacity\u0027] \u003d p[\u0027memory_mb_ar\u0027] * p[\u0027memory_mb\u0027] \\"},{"line_number":135,"context_line":"            if memory is not None else None"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        p[\u0027disk_gb_used\u0027] \u003d usages.get(\u0027DISK_GB\u0027)"},{"line_number":138,"context_line":"        p[\u0027disk_gb_reserved\u0027] \u003d disk[\u0027reserved\u0027] if disk is not None else None"}],"source_content_type":"text/x-python","patch_set":1,"id":"b4e239bc_af4e7563","line":135,"range":{"start_line":134,"start_character":0,"end_line":135,"end_character":43},"updated":"2024-08-13 09:45:39.000000000","message":"As there are many \"if memory is not None else None\" statements, is not more clear way to use one if/else with assignment block inside? (Just a suggestion :-)).\n\nif memory is None:\n    p.update({\u0027memory_mb_reserved\u0027: None,\n              \u0027memory_mb\u0027: None,\n              \u0027memory_mb_ar\u0027: None,\n              \u0027memory_mb_capacity\u0027: None})\nelse:\n    p[\u0027memory_mb_reserved\u0027] \u003d memory[\u0027reserved\u0027]\n    p[\u0027memory_mb\u0027] \u003d memory[\u0027total\u0027]\n    p[\u0027memory_mb_ar\u0027] \u003d memory[\u0027allocation_ratio\u0027]\n    p[\u0027memory_mb_capacity\u0027] \u003d p[\u0027memory_mb_ar\u0027] * p[\u0027memory_mb\u0027]","commit_id":"e9662e48844e81699ea28a0982cef19cd07705df"},{"author":{"_account_id":6914,"name":"Tatiana Ovchinnikova","email":"t.v.ovtchinnikova@gmail.com","username":"tmazur"},"change_message_id":"bedc5dfd8ffe405754046808f92fc21886164086","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        p[\u0027memory_mb\u0027] \u003d memory[\u0027total\u0027] if memory is not None else None"},{"line_number":132,"context_line":"        p[\u0027memory_mb_ar\u0027] \u003d memory[\u0027allocation_ratio\u0027] \\"},{"line_number":133,"context_line":"            if memory is not None else None"},{"line_number":134,"context_line":"        p[\u0027memory_mb_capacity\u0027] \u003d p[\u0027memory_mb_ar\u0027] * p[\u0027memory_mb\u0027] \\"},{"line_number":135,"context_line":"            if memory is not None else None"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        p[\u0027disk_gb_used\u0027] \u003d usages.get(\u0027DISK_GB\u0027)"},{"line_number":138,"context_line":"        p[\u0027disk_gb_reserved\u0027] \u003d disk[\u0027reserved\u0027] if disk is not None else None"}],"source_content_type":"text/x-python","patch_set":1,"id":"614a1636_1745136c","line":135,"range":{"start_line":134,"start_character":0,"end_line":135,"end_character":43},"in_reply_to":"8339cb1f_095147c6","updated":"2024-08-19 15:01:10.000000000","message":"Done","commit_id":"e9662e48844e81699ea28a0982cef19cd07705df"},{"author":{"_account_id":6914,"name":"Tatiana Ovchinnikova","email":"t.v.ovtchinnikova@gmail.com","username":"tmazur"},"change_message_id":"437c0a333300ec6050c4d209dff6ceadeab0b977","unresolved":true,"context_lines":[{"line_number":131,"context_line":"        p[\u0027memory_mb\u0027] \u003d memory[\u0027total\u0027] if memory is not None else None"},{"line_number":132,"context_line":"        p[\u0027memory_mb_ar\u0027] \u003d memory[\u0027allocation_ratio\u0027] \\"},{"line_number":133,"context_line":"            if memory is not None else None"},{"line_number":134,"context_line":"        p[\u0027memory_mb_capacity\u0027] \u003d p[\u0027memory_mb_ar\u0027] * p[\u0027memory_mb\u0027] \\"},{"line_number":135,"context_line":"            if memory is not None else None"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"        p[\u0027disk_gb_used\u0027] \u003d usages.get(\u0027DISK_GB\u0027)"},{"line_number":138,"context_line":"        p[\u0027disk_gb_reserved\u0027] \u003d disk[\u0027reserved\u0027] if disk is not None else None"}],"source_content_type":"text/x-python","patch_set":1,"id":"8339cb1f_095147c6","line":135,"range":{"start_line":134,"start_character":0,"end_line":135,"end_character":43},"in_reply_to":"b4e239bc_af4e7563","updated":"2024-08-13 15:08:56.000000000","message":"I don\u0027t like these multiple conditions either! I\u0027m afraid it will look ugly anyway.","commit_id":"e9662e48844e81699ea28a0982cef19cd07705df"},{"author":{"_account_id":31542,"name":"Andrew Bonney","email":"andrew.bonney@bbc.co.uk","username":"andrewbonney"},"change_message_id":"4df73419bf9bbe1de10f37de463777ca4abbf5b2","unresolved":true,"context_lines":[{"line_number":116,"context_line":"            p.update(vcpus_reserved\u003dvcpus[\u0027reserved\u0027],"},{"line_number":117,"context_line":"                     vcpus\u003dvcpus[\u0027total\u0027],"},{"line_number":118,"context_line":"                     vcpus_ar\u003dvcpus[\u0027allocation_ratio\u0027],"},{"line_number":119,"context_line":"                     vcpus_capacity\u003dint(p[\u0027vcpus_ar\u0027] * p[\u0027vcpus\u0027]))"},{"line_number":120,"context_line":"        else:"},{"line_number":121,"context_line":"            p.update(vcpus_reserved\u003dNone, vcpus\u003dNone,"},{"line_number":122,"context_line":"                     vcpus_ar\u003dNone, vcpus_capacity\u003dNone)"}],"source_content_type":"text/x-python","patch_set":3,"id":"8d7f4758_93b291a8","line":119,"updated":"2024-08-22 08:01:35.000000000","message":"I\u0027ve just deployed this patch and get the error: \"Error: Unable to retrieve providers information. Details \u0027vcpus_ar\u0027\". It looks like p[\u0027vcpus_ar\u0027] and p[\u0027vcpus\u0027] is being referenced before assignment here. There are similar cases in each of the following if statements.","commit_id":"30888edfd52bfaadad241aa2fcdf44151d0aed96"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"5ca0efe3ff3985a26116c4a9bbd106b8d0063f0c","unresolved":true,"context_lines":[{"line_number":116,"context_line":"            p.update(vcpus_reserved\u003dvcpus[\u0027reserved\u0027],"},{"line_number":117,"context_line":"                     vcpus\u003dvcpus[\u0027total\u0027],"},{"line_number":118,"context_line":"                     vcpus_ar\u003dvcpus[\u0027allocation_ratio\u0027],"},{"line_number":119,"context_line":"                     vcpus_capacity\u003dint(p[\u0027vcpus_ar\u0027] * p[\u0027vcpus\u0027]))"},{"line_number":120,"context_line":"        else:"},{"line_number":121,"context_line":"            p.update(vcpus_reserved\u003dNone, vcpus\u003dNone,"},{"line_number":122,"context_line":"                     vcpus_ar\u003dNone, vcpus_capacity\u003dNone)"}],"source_content_type":"text/x-python","patch_set":3,"id":"4ce7b7cd_a23c811f","line":119,"in_reply_to":"8d7f4758_93b291a8","updated":"2024-08-22 08:44:49.000000000","message":"We should seriously consider adding unit tests for this. For now https://review.opendev.org/c/openstack/horizon/+/926883 may resolve that problem. Good catch...","commit_id":"30888edfd52bfaadad241aa2fcdf44151d0aed96"}]}
