)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":34271,"name":"Miro Tomaska","display_name":"Miro Tomaska","email":"mtomaska@redhat.com","username":"mtomaska"},"change_message_id":"ed1461b527036e03320781d1654a22ad96bfd0b9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d4c4edae_576a3889","updated":"2023-06-09 21:10:05.000000000","message":"lgtm besides the comments that were left already","commit_id":"9ca0e34a5edeb0419d86117dfaabb3f7842bb347"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"d6a6c16403ea842138cff309fe16aa0302367cfb","unresolved":true,"context_lines":[{"line_number":139,"context_line":"            raise SystemExit(1)"},{"line_number":140,"context_line":"        self._setup_vif_port_bindings()"},{"line_number":141,"context_line":"        if impl_idl_ovn.OvsdbSbOvnIdl.schema_has_table(\u0027Chassis_Private\u0027):"},{"line_number":142,"context_line":"            self.agent_chassis_table \u003d \u0027Chassis_Private\u0027"},{"line_number":143,"context_line":"        else:"},{"line_number":144,"context_line":"            self.agent_chassis_table \u003d \u0027Chassis\u0027"},{"line_number":145,"context_line":"        self.subscribe()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5a503f67_bd27a815","line":142,"updated":"2023-06-09 15:32:45.000000000","message":"Had a question based on this below","commit_id":"9ca0e34a5edeb0419d86117dfaabb3f7842bb347"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"c9dad80a7016f286eab9ed2b6004214140863268","unresolved":false,"context_lines":[{"line_number":139,"context_line":"            raise SystemExit(1)"},{"line_number":140,"context_line":"        self._setup_vif_port_bindings()"},{"line_number":141,"context_line":"        if impl_idl_ovn.OvsdbSbOvnIdl.schema_has_table(\u0027Chassis_Private\u0027):"},{"line_number":142,"context_line":"            self.agent_chassis_table \u003d \u0027Chassis_Private\u0027"},{"line_number":143,"context_line":"        else:"},{"line_number":144,"context_line":"            self.agent_chassis_table \u003d \u0027Chassis\u0027"},{"line_number":145,"context_line":"        self.subscribe()"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fde48d4_eff8507c","line":142,"in_reply_to":"5a503f67_bd27a815","updated":"2023-06-12 16:34:29.000000000","message":"Done","commit_id":"9ca0e34a5edeb0419d86117dfaabb3f7842bb347"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"d6a6c16403ea842138cff309fe16aa0302367cfb","unresolved":true,"context_lines":[{"line_number":1400,"context_line":"    chassis_name \u003d agent[\u0027configurations\u0027][\u0027chassis_name\u0027]"},{"line_number":1401,"context_line":"    _driver.sb_ovn.chassis_del(chassis_name, if_exists\u003dTrue).execute("},{"line_number":1402,"context_line":"        check_error\u003dTrue)"},{"line_number":1403,"context_line":"    if _driver.sb_ovn.is_table_present(\u0027Chassis_Private\u0027):"},{"line_number":1404,"context_line":"        # TODO(ralonsoh): implement the corresponding chassis_private"},{"line_number":1405,"context_line":"        # commands in ovsdbapp."},{"line_number":1406,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"ab7ad2ec_3597fe03","line":1403,"updated":"2023-06-09 15:32:45.000000000","message":"Assuming _driver.agent_chassis_table is set, it might be this value, right? Do we only need to destroy it in that case?","commit_id":"9ca0e34a5edeb0419d86117dfaabb3f7842bb347"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"c9dad80a7016f286eab9ed2b6004214140863268","unresolved":false,"context_lines":[{"line_number":1400,"context_line":"    chassis_name \u003d agent[\u0027configurations\u0027][\u0027chassis_name\u0027]"},{"line_number":1401,"context_line":"    _driver.sb_ovn.chassis_del(chassis_name, if_exists\u003dTrue).execute("},{"line_number":1402,"context_line":"        check_error\u003dTrue)"},{"line_number":1403,"context_line":"    if _driver.sb_ovn.is_table_present(\u0027Chassis_Private\u0027):"},{"line_number":1404,"context_line":"        # TODO(ralonsoh): implement the corresponding chassis_private"},{"line_number":1405,"context_line":"        # commands in ovsdbapp."},{"line_number":1406,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":1,"id":"11f5539d_e1141a3f","line":1403,"in_reply_to":"ab7ad2ec_3597fe03","updated":"2023-06-12 16:34:29.000000000","message":"When we have an OVN version with \"Chassis_Private\", this OVN SB database will contain one \"Chassis\" register and a \"Chassis_Private\" one with a reference to the \"Chassis\" one. In that case, we need to delete both registers.\n\nThe \"Chassis_Private\" register belongs to a table that is only updated locally, in order to lower the pressure of the pubsub engine. Any newer ovn-controller will create both registers and we need to deleted both too.","commit_id":"9ca0e34a5edeb0419d86117dfaabb3f7842bb347"}]}
