)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"07042ad409d7b88fad971542c35b6ccbee69f871","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d54b8f61_f366c890","updated":"2024-01-25 11:04:09.000000000","message":"**NOTE**: tested in https://review.opendev.org/c/openstack/neutron/+/906628:\n* openstack-tox-py311-with-sqlalchemy-master\n* neutron-ovn-tempest-with-sqlalchemy-master\n* neutron-ovs-tempest-with-sqlalchemy-master\n* neutron-functional-with-sqlalchemy-master","commit_id":"f098310eb9dbfc68e9e4a674a6ffa53e316aa7d7"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"7a9d8cd85e39a83f4b90ee4ba3c06415aa8db7aa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0d246433_279bc179","updated":"2024-01-31 09:34:58.000000000","message":"Thanks for taking care","commit_id":"7909696a9042f1624f73119b7431531dde3434e7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"1c78b8d45ee703cb5dff01bc583a7f6d41e5e706","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"512c16b7_9ecc0378","updated":"2024-01-31 14:50:15.000000000","message":"recheck neutron-tempest-plugin-openvswitch-enforce-scope-old-defaults","commit_id":"7909696a9042f1624f73119b7431531dde3434e7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4843851fd27a926b61e40c39f9fdf6a2786f3376","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"e4049257_4c1e78dd","updated":"2024-02-05 08:50:12.000000000","message":"recheck neutron-tempest-plugin-ovn","commit_id":"7909696a9042f1624f73119b7431531dde3434e7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"a44c4819405aed7e3fb1c127df40ec16984f9b13","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d26b24b4_a903a57d","updated":"2024-01-26 14:11:11.000000000","message":"recheck tempest-full-py3","commit_id":"7909696a9042f1624f73119b7431531dde3434e7"}],"neutron_lib/db/model_base.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a673d755787bdabeb135b856a1e5defb59dcf91a","unresolved":true,"context_lines":[{"line_number":15,"context_line":"import sqlalchemy as sa"},{"line_number":16,"context_line":"from sqlalchemy.ext import declarative"},{"line_number":17,"context_line":"from sqlalchemy import orm"},{"line_number":18,"context_line":"from sqlalchemy.orm import decl_api"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from neutron_lib.db import constants as db_const"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"92932d43_05701c93","line":18,"updated":"2024-01-25 15:33:02.000000000","message":"From reading https://docs.sqlalchemy.org/en/20/changelog/whatsnew_20.html#step-one-orm-declarative-base-is-superseded-by-orm-declarativebase I think they try to obfuscate decl_api, the recommended include is:\n\nfrom sqlalchemy.orm import DeclarativeBase\n\n(the __init__.py there handles the include)\n\nSo we probably don\u0027t need a new include and can just use orm.DeclarativeBase below","commit_id":"0f703b525fdacad34f7b1a8757b208974b371e47"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b363ee808e70b6f5352530d90e946e799beb91ec","unresolved":false,"context_lines":[{"line_number":15,"context_line":"import sqlalchemy as sa"},{"line_number":16,"context_line":"from sqlalchemy.ext import declarative"},{"line_number":17,"context_line":"from sqlalchemy import orm"},{"line_number":18,"context_line":"from sqlalchemy.orm import decl_api"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"from neutron_lib.db import constants as db_const"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"a052bb07_d947576c","line":18,"in_reply_to":"92932d43_05701c93","updated":"2024-01-26 07:18:06.000000000","message":"Done","commit_id":"0f703b525fdacad34f7b1a8757b208974b371e47"}],"neutron_lib/tests/unit/db/test_standard_attr.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a673d755787bdabeb135b856a1e5defb59dcf91a","unresolved":true,"context_lines":[{"line_number":15,"context_line":"import gc"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from sqlalchemy.ext import declarative"},{"line_number":18,"context_line":"from sqlalchemy.orm import decl_api"},{"line_number":19,"context_line":"import testtools"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from neutron_lib.db import standard_attr"}],"source_content_type":"text/x-python","patch_set":2,"id":"e7aeaa5b_9ae324bd","line":18,"updated":"2024-01-25 15:33:02.000000000","message":"Same comment","commit_id":"0f703b525fdacad34f7b1a8757b208974b371e47"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b363ee808e70b6f5352530d90e946e799beb91ec","unresolved":false,"context_lines":[{"line_number":15,"context_line":"import gc"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from sqlalchemy.ext import declarative"},{"line_number":18,"context_line":"from sqlalchemy.orm import decl_api"},{"line_number":19,"context_line":"import testtools"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from neutron_lib.db import standard_attr"}],"source_content_type":"text/x-python","patch_set":2,"id":"e642d1fc_0d59d3b0","line":18,"in_reply_to":"e7aeaa5b_9ae324bd","updated":"2024-01-26 07:18:06.000000000","message":"Done","commit_id":"0f703b525fdacad34f7b1a8757b208974b371e47"}],"neutron_lib/tests/unit/db/test_utils.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a673d755787bdabeb135b856a1e5defb59dcf91a","unresolved":true,"context_lines":[{"line_number":17,"context_line":"import sqlalchemy as sa"},{"line_number":18,"context_line":"from sqlalchemy.ext import declarative"},{"line_number":19,"context_line":"from sqlalchemy import orm"},{"line_number":20,"context_line":"from sqlalchemy.orm import decl_api"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from neutron_lib.api import attributes"},{"line_number":23,"context_line":"from neutron_lib import context"}],"source_content_type":"text/x-python","patch_set":2,"id":"fd6a655a_8b268a62","line":20,"updated":"2024-01-25 15:33:02.000000000","message":"Same comment","commit_id":"0f703b525fdacad34f7b1a8757b208974b371e47"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b363ee808e70b6f5352530d90e946e799beb91ec","unresolved":false,"context_lines":[{"line_number":17,"context_line":"import sqlalchemy as sa"},{"line_number":18,"context_line":"from sqlalchemy.ext import declarative"},{"line_number":19,"context_line":"from sqlalchemy import orm"},{"line_number":20,"context_line":"from sqlalchemy.orm import decl_api"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"from neutron_lib.api import attributes"},{"line_number":23,"context_line":"from neutron_lib import context"}],"source_content_type":"text/x-python","patch_set":2,"id":"f3c19be9_e3ebb3b4","line":20,"in_reply_to":"fd6a655a_8b268a62","updated":"2024-01-26 07:18:06.000000000","message":"Done","commit_id":"0f703b525fdacad34f7b1a8757b208974b371e47"}]}
