)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9289d12985052396c1489b3bb8a442852a1fe17f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"86046a47_fd84b131","updated":"2025-01-29 17:34:40.000000000","message":"recheck timeout","commit_id":"2fa32781ad2a43778e697b2382a068b830b5de29"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"832c6dce49707bde04f57905ca6a823e10fde677","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"28a122f6_5fe8cc03","updated":"2025-06-10 17:45:09.000000000","message":"recheck","commit_id":"c918fcc58793f420944360cfc6665e5f1a05d47b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c6fe20b61192ab73208ef26277d56a99ccce1b7c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"809dda82_d808dfaa","updated":"2025-06-12 09:49:19.000000000","message":"recheck","commit_id":"c918fcc58793f420944360cfc6665e5f1a05d47b"}],"nova/api/openstack/compute/schemas/hypervisors.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ee4cee3bc7d99bb2755dc4a92e86022a851c2c98","unresolved":true,"context_lines":[{"line_number":313,"context_line":"            \u0027type\u0027: \u0027object\u0027,"},{"line_number":314,"context_line":"            \u0027properties\u0027: {"},{"line_number":315,"context_line":"                \u0027count\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":316,"context_line":"                \u0027current_workload\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":317,"context_line":"                \u0027disk_available_least\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":318,"context_line":"                \u0027free_disk_gb\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":319,"context_line":"                \u0027free_ram_mb\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":320,"context_line":"                \u0027local_gb\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":321,"context_line":"                \u0027local_gb_used\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":322,"context_line":"                \u0027memory_mb\u0027: {\u0027type\u0027: \u0027integer\u0027},"}],"source_content_type":"text/x-python","patch_set":10,"id":"b8d45c24_2d5fbf61","line":319,"range":{"start_line":316,"start_character":17,"end_line":319,"end_character":51},"updated":"2025-06-05 22:38:57.000000000","message":"same comment about nullable https://review.opendev.org/c/openstack/nova/+/937246/comment/c5740e8e_dabe8207/","commit_id":"c918fcc58793f420944360cfc6665e5f1a05d47b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"861c7dc54957c206e0fcb019a6b7291483d7318b","unresolved":false,"context_lines":[{"line_number":313,"context_line":"            \u0027type\u0027: \u0027object\u0027,"},{"line_number":314,"context_line":"            \u0027properties\u0027: {"},{"line_number":315,"context_line":"                \u0027count\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":316,"context_line":"                \u0027current_workload\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":317,"context_line":"                \u0027disk_available_least\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":318,"context_line":"                \u0027free_disk_gb\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":319,"context_line":"                \u0027free_ram_mb\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":320,"context_line":"                \u0027local_gb\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":321,"context_line":"                \u0027local_gb_used\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":322,"context_line":"                \u0027memory_mb\u0027: {\u0027type\u0027: \u0027integer\u0027},"}],"source_content_type":"text/x-python","patch_set":10,"id":"31f127aa_a0fd9600","line":319,"range":{"start_line":316,"start_character":17,"end_line":319,"end_character":51},"in_reply_to":"b8d45c24_2d5fbf61","updated":"2025-06-06 10:36:35.000000000","message":"Done in follow-up","commit_id":"c918fcc58793f420944360cfc6665e5f1a05d47b"}],"nova/db/main/api.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e0a39ba67727e292088e41c200658c97664be570","unresolved":true,"context_lines":[{"line_number":946,"context_line":"    # NOTE(jaypipes): This COALESCE() stuff is temporary while the data"},{"line_number":947,"context_line":"    # migration to the new resource providers inventories and allocations"},{"line_number":948,"context_line":"    # tables is completed."},{"line_number":949,"context_line":"    agg_cols \u003d ["},{"line_number":950,"context_line":"        func.count().label(\u0027count\u0027),"},{"line_number":951,"context_line":"        sql.func.sum("},{"line_number":952,"context_line":"            inner_sel.c.current_workload"},{"line_number":953,"context_line":"        ).label(\u0027current_workload\u0027),"},{"line_number":954,"context_line":"        sql.func.sum("},{"line_number":955,"context_line":"            inner_sel.c.disk_available_least"},{"line_number":956,"context_line":"        ).label(\u0027disk_available_least\u0027),"},{"line_number":957,"context_line":"        sql.func.sum("},{"line_number":958,"context_line":"            inner_sel.c.free_disk_gb"},{"line_number":959,"context_line":"        ).label(\u0027free_disk_gb\u0027),"},{"line_number":960,"context_line":"        sql.func.sum("},{"line_number":961,"context_line":"            inner_sel.c.free_ram_mb"},{"line_number":962,"context_line":"        ).label(\u0027free_ram_mb\u0027),"},{"line_number":963,"context_line":"        sql.func.sum("},{"line_number":964,"context_line":"            inner_sel.c.local_gb"},{"line_number":965,"context_line":"        ).label(\u0027local_gb\u0027),"},{"line_number":966,"context_line":"        sql.func.sum("},{"line_number":967,"context_line":"            inner_sel.c.local_gb_used"},{"line_number":968,"context_line":"        ).label(\u0027local_gb_used\u0027),"},{"line_number":969,"context_line":"        sql.func.sum("},{"line_number":970,"context_line":"            inner_sel.c.memory_mb"},{"line_number":971,"context_line":"        ).label(\u0027memory_mb\u0027),"},{"line_number":972,"context_line":"        sql.func.sum("},{"line_number":973,"context_line":"            inner_sel.c.memory_mb_used"},{"line_number":974,"context_line":"        ).label(\u0027memory_mb_used\u0027),"},{"line_number":975,"context_line":"        sql.func.sum("},{"line_number":976,"context_line":"            inner_sel.c.running_vms"},{"line_number":977,"context_line":"        ).label(\u0027running_vms\u0027),"},{"line_number":978,"context_line":"        sql.func.sum("},{"line_number":979,"context_line":"            inner_sel.c.vcpus"},{"line_number":980,"context_line":"        ).label(\u0027vcpus\u0027),"},{"line_number":981,"context_line":"        sql.func.sum("},{"line_number":982,"context_line":"            inner_sel.c.vcpus_used"},{"line_number":983,"context_line":"        ).label(\u0027vcpus_used\u0027),"},{"line_number":984,"context_line":"    ]"},{"line_number":985,"context_line":"    select \u003d sql.select(*agg_cols).select_from(j)"},{"line_number":986,"context_line":""},{"line_number":987,"context_line":"    with engine.connect() as conn, conn.begin():"},{"line_number":988,"context_line":"        results \u003d conn.execute(select).mappings().fetchone()"},{"line_number":989,"context_line":""},{"line_number":990,"context_line":"    # Build a dict of the info--making no assumptions about result"},{"line_number":991,"context_line":"    fields \u003d ("},{"line_number":992,"context_line":"        \u0027count\u0027, \u0027current_workload\u0027, \u0027disk_available_least\u0027, \u0027free_disk_gb\u0027,"},{"line_number":993,"context_line":"        \u0027free_ram_mb\u0027, \u0027local_gb\u0027, \u0027local_gb_used\u0027, \u0027memory_mb\u0027,"},{"line_number":994,"context_line":"        \u0027memory_mb_used\u0027, \u0027running_vms\u0027, \u0027vcpus\u0027, \u0027vcpus_used\u0027)"},{"line_number":995,"context_line":"    return {field: int(results[field] or 0) for field in fields}"},{"line_number":996,"context_line":""},{"line_number":997,"context_line":""},{"line_number":998,"context_line":"###################"}],"source_content_type":"text/x-python","patch_set":10,"id":"bb21c980_91f07944","line":995,"range":{"start_line":949,"start_character":4,"end_line":995,"end_character":64},"updated":"2025-05-26 13:54:15.000000000","message":"this is technillay unrelated as you are just putting these in alpabetical order for the most part.","commit_id":"c918fcc58793f420944360cfc6665e5f1a05d47b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ee4cee3bc7d99bb2755dc4a92e86022a851c2c98","unresolved":false,"context_lines":[{"line_number":946,"context_line":"    # NOTE(jaypipes): This COALESCE() stuff is temporary while the data"},{"line_number":947,"context_line":"    # migration to the new resource providers inventories and allocations"},{"line_number":948,"context_line":"    # tables is completed."},{"line_number":949,"context_line":"    agg_cols \u003d ["},{"line_number":950,"context_line":"        func.count().label(\u0027count\u0027),"},{"line_number":951,"context_line":"        sql.func.sum("},{"line_number":952,"context_line":"            inner_sel.c.current_workload"},{"line_number":953,"context_line":"        ).label(\u0027current_workload\u0027),"},{"line_number":954,"context_line":"        sql.func.sum("},{"line_number":955,"context_line":"            inner_sel.c.disk_available_least"},{"line_number":956,"context_line":"        ).label(\u0027disk_available_least\u0027),"},{"line_number":957,"context_line":"        sql.func.sum("},{"line_number":958,"context_line":"            inner_sel.c.free_disk_gb"},{"line_number":959,"context_line":"        ).label(\u0027free_disk_gb\u0027),"},{"line_number":960,"context_line":"        sql.func.sum("},{"line_number":961,"context_line":"            inner_sel.c.free_ram_mb"},{"line_number":962,"context_line":"        ).label(\u0027free_ram_mb\u0027),"},{"line_number":963,"context_line":"        sql.func.sum("},{"line_number":964,"context_line":"            inner_sel.c.local_gb"},{"line_number":965,"context_line":"        ).label(\u0027local_gb\u0027),"},{"line_number":966,"context_line":"        sql.func.sum("},{"line_number":967,"context_line":"            inner_sel.c.local_gb_used"},{"line_number":968,"context_line":"        ).label(\u0027local_gb_used\u0027),"},{"line_number":969,"context_line":"        sql.func.sum("},{"line_number":970,"context_line":"            inner_sel.c.memory_mb"},{"line_number":971,"context_line":"        ).label(\u0027memory_mb\u0027),"},{"line_number":972,"context_line":"        sql.func.sum("},{"line_number":973,"context_line":"            inner_sel.c.memory_mb_used"},{"line_number":974,"context_line":"        ).label(\u0027memory_mb_used\u0027),"},{"line_number":975,"context_line":"        sql.func.sum("},{"line_number":976,"context_line":"            inner_sel.c.running_vms"},{"line_number":977,"context_line":"        ).label(\u0027running_vms\u0027),"},{"line_number":978,"context_line":"        sql.func.sum("},{"line_number":979,"context_line":"            inner_sel.c.vcpus"},{"line_number":980,"context_line":"        ).label(\u0027vcpus\u0027),"},{"line_number":981,"context_line":"        sql.func.sum("},{"line_number":982,"context_line":"            inner_sel.c.vcpus_used"},{"line_number":983,"context_line":"        ).label(\u0027vcpus_used\u0027),"},{"line_number":984,"context_line":"    ]"},{"line_number":985,"context_line":"    select \u003d sql.select(*agg_cols).select_from(j)"},{"line_number":986,"context_line":""},{"line_number":987,"context_line":"    with engine.connect() as conn, conn.begin():"},{"line_number":988,"context_line":"        results \u003d conn.execute(select).mappings().fetchone()"},{"line_number":989,"context_line":""},{"line_number":990,"context_line":"    # Build a dict of the info--making no assumptions about result"},{"line_number":991,"context_line":"    fields \u003d ("},{"line_number":992,"context_line":"        \u0027count\u0027, \u0027current_workload\u0027, \u0027disk_available_least\u0027, \u0027free_disk_gb\u0027,"},{"line_number":993,"context_line":"        \u0027free_ram_mb\u0027, \u0027local_gb\u0027, \u0027local_gb_used\u0027, \u0027memory_mb\u0027,"},{"line_number":994,"context_line":"        \u0027memory_mb_used\u0027, \u0027running_vms\u0027, \u0027vcpus\u0027, \u0027vcpus_used\u0027)"},{"line_number":995,"context_line":"    return {field: int(results[field] or 0) for field in fields}"},{"line_number":996,"context_line":""},{"line_number":997,"context_line":""},{"line_number":998,"context_line":"###################"}],"source_content_type":"text/x-python","patch_set":10,"id":"9e7a3524_e0b42345","line":995,"range":{"start_line":949,"start_character":4,"end_line":995,"end_character":64},"in_reply_to":"b3f6e761_2c29c800","updated":"2025-06-05 22:38:57.000000000","message":"if you do these separate things in separate changes. this series can be reviewed/merged soon :)","commit_id":"c918fcc58793f420944360cfc6665e5f1a05d47b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4b4e6204bb60d0b5fd33da0d3eda3f3154a27ef6","unresolved":false,"context_lines":[{"line_number":946,"context_line":"    # NOTE(jaypipes): This COALESCE() stuff is temporary while the data"},{"line_number":947,"context_line":"    # migration to the new resource providers inventories and allocations"},{"line_number":948,"context_line":"    # tables is completed."},{"line_number":949,"context_line":"    agg_cols \u003d ["},{"line_number":950,"context_line":"        func.count().label(\u0027count\u0027),"},{"line_number":951,"context_line":"        sql.func.sum("},{"line_number":952,"context_line":"            inner_sel.c.current_workload"},{"line_number":953,"context_line":"        ).label(\u0027current_workload\u0027),"},{"line_number":954,"context_line":"        sql.func.sum("},{"line_number":955,"context_line":"            inner_sel.c.disk_available_least"},{"line_number":956,"context_line":"        ).label(\u0027disk_available_least\u0027),"},{"line_number":957,"context_line":"        sql.func.sum("},{"line_number":958,"context_line":"            inner_sel.c.free_disk_gb"},{"line_number":959,"context_line":"        ).label(\u0027free_disk_gb\u0027),"},{"line_number":960,"context_line":"        sql.func.sum("},{"line_number":961,"context_line":"            inner_sel.c.free_ram_mb"},{"line_number":962,"context_line":"        ).label(\u0027free_ram_mb\u0027),"},{"line_number":963,"context_line":"        sql.func.sum("},{"line_number":964,"context_line":"            inner_sel.c.local_gb"},{"line_number":965,"context_line":"        ).label(\u0027local_gb\u0027),"},{"line_number":966,"context_line":"        sql.func.sum("},{"line_number":967,"context_line":"            inner_sel.c.local_gb_used"},{"line_number":968,"context_line":"        ).label(\u0027local_gb_used\u0027),"},{"line_number":969,"context_line":"        sql.func.sum("},{"line_number":970,"context_line":"            inner_sel.c.memory_mb"},{"line_number":971,"context_line":"        ).label(\u0027memory_mb\u0027),"},{"line_number":972,"context_line":"        sql.func.sum("},{"line_number":973,"context_line":"            inner_sel.c.memory_mb_used"},{"line_number":974,"context_line":"        ).label(\u0027memory_mb_used\u0027),"},{"line_number":975,"context_line":"        sql.func.sum("},{"line_number":976,"context_line":"            inner_sel.c.running_vms"},{"line_number":977,"context_line":"        ).label(\u0027running_vms\u0027),"},{"line_number":978,"context_line":"        sql.func.sum("},{"line_number":979,"context_line":"            inner_sel.c.vcpus"},{"line_number":980,"context_line":"        ).label(\u0027vcpus\u0027),"},{"line_number":981,"context_line":"        sql.func.sum("},{"line_number":982,"context_line":"            inner_sel.c.vcpus_used"},{"line_number":983,"context_line":"        ).label(\u0027vcpus_used\u0027),"},{"line_number":984,"context_line":"    ]"},{"line_number":985,"context_line":"    select \u003d sql.select(*agg_cols).select_from(j)"},{"line_number":986,"context_line":""},{"line_number":987,"context_line":"    with engine.connect() as conn, conn.begin():"},{"line_number":988,"context_line":"        results \u003d conn.execute(select).mappings().fetchone()"},{"line_number":989,"context_line":""},{"line_number":990,"context_line":"    # Build a dict of the info--making no assumptions about result"},{"line_number":991,"context_line":"    fields \u003d ("},{"line_number":992,"context_line":"        \u0027count\u0027, \u0027current_workload\u0027, \u0027disk_available_least\u0027, \u0027free_disk_gb\u0027,"},{"line_number":993,"context_line":"        \u0027free_ram_mb\u0027, \u0027local_gb\u0027, \u0027local_gb_used\u0027, \u0027memory_mb\u0027,"},{"line_number":994,"context_line":"        \u0027memory_mb_used\u0027, \u0027running_vms\u0027, \u0027vcpus\u0027, \u0027vcpus_used\u0027)"},{"line_number":995,"context_line":"    return {field: int(results[field] or 0) for field in fields}"},{"line_number":996,"context_line":""},{"line_number":997,"context_line":""},{"line_number":998,"context_line":"###################"}],"source_content_type":"text/x-python","patch_set":10,"id":"b3f6e761_2c29c800","line":995,"range":{"start_line":949,"start_character":4,"end_line":995,"end_character":64},"in_reply_to":"bb21c980_91f07944","updated":"2025-05-26 15:07:29.000000000","message":"Yeah, I called it out in the commit message. I did this to make my life easier when diffing the list of fields returned here with what was in my schema.","commit_id":"c918fcc58793f420944360cfc6665e5f1a05d47b"}]}
