)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"a1097b13c0d673976abe467bdc91264af774d283","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"827df7e5_1008645d","updated":"2023-09-01 12:14:36.000000000","message":"recheck \n\nAFICT the failing jobs are not failing because of this change.","commit_id":"e09e6b9f374097594522f5ad90e590c4d6e4c89a"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"78f3488e077dc1da6c919cd8f7b4aad2cb4e00d4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"30aa15e2_1158a4d3","updated":"2023-09-05 16:51:43.000000000","message":"LGTM, Thanks","commit_id":"16ac21f0da4f1b83963c4beb876f8494d9594b7a"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"163c8445658a546cbdcf7ba6ec955d50a924fbea","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"0253d29b_881f5568","updated":"2023-09-07 09:06:45.000000000","message":"Thanks for this addition.","commit_id":"16ac21f0da4f1b83963c4beb876f8494d9594b7a"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"1a65db07a2b72e012da727ab0de8369db2033160","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"49fdf9a2_1ae6d598","updated":"2023-09-12 07:18:44.000000000","message":"lgtm","commit_id":"16ac21f0da4f1b83963c4beb876f8494d9594b7a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"19ca27acb4874e3c737a4ab7f0d5c6377c16a1eb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"e6d6b1a6_bc9a1e58","updated":"2023-09-06 17:37:02.000000000","message":"lgtm, thanks","commit_id":"16ac21f0da4f1b83963c4beb876f8494d9594b7a"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"3e2fc935f7e8d736a75fe08b8f3fc4b8fd481c4e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"01cc923a_775fa219","updated":"2023-09-04 18:20:09.000000000","message":"recheck\n\nShould pass now that focal job was removed in:\nhttps://review.opendev.org/c/openstack/devstack/+/885468","commit_id":"16ac21f0da4f1b83963c4beb876f8494d9594b7a"}],"lib/neutron_plugins/ovn_agent":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"931c05e5189b9b740f75e35e89d88d19d5a2d0c1","unresolved":true,"context_lines":[{"line_number":291,"context_line":"    # Create the public bridge that OVN will use"},{"line_number":292,"context_line":"    for bridge_mapping in ${OVN_BRIDGE_MAPPINGS//,/ }; do"},{"line_number":293,"context_line":"        # ${bridge_mapping#*:} \u003d\u003d Everyting after colon separator in mapping e.g \"public:br-ex\" -\u003e \"br-ex\""},{"line_number":294,"context_line":"        sudo ovs-vsctl --may-exist add-br ${bridge_mapping#*:} -- set bridge ${bridge_mapping#*:} protocols\u003dOpenFlow13,OpenFlow15"},{"line_number":295,"context_line":"    done"},{"line_number":296,"context_line":"    sudo ovs-vsctl set open . external-ids:ovn-bridge-mappings\u003d${OVN_BRIDGE_MAPPINGS}"},{"line_number":297,"context_line":"    _configure_public_network_connectivity"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"a936a980_8af379a5","line":294,"updated":"2023-08-31 16:24:40.000000000","message":"This seems to be returning an empty string in the logs. I see the cinder code does a similar loop for backends, but it loads the name before the call, and uses \"large left string\" ##, which really shouldn\u0027t matter.","commit_id":"b6304c1c9245323657be652a57db203b14a08ce6"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"d947ebfc48bb49b8963bd7b7bc7816b63f04523d","unresolved":false,"context_lines":[{"line_number":291,"context_line":"    # Create the public bridge that OVN will use"},{"line_number":292,"context_line":"    for bridge_mapping in ${OVN_BRIDGE_MAPPINGS//,/ }; do"},{"line_number":293,"context_line":"        # ${bridge_mapping#*:} \u003d\u003d Everyting after colon separator in mapping e.g \"public:br-ex\" -\u003e \"br-ex\""},{"line_number":294,"context_line":"        sudo ovs-vsctl --may-exist add-br ${bridge_mapping#*:} -- set bridge ${bridge_mapping#*:} protocols\u003dOpenFlow13,OpenFlow15"},{"line_number":295,"context_line":"    done"},{"line_number":296,"context_line":"    sudo ovs-vsctl set open . external-ids:ovn-bridge-mappings\u003d${OVN_BRIDGE_MAPPINGS}"},{"line_number":297,"context_line":"    _configure_public_network_connectivity"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"0c7a3831_323bff20","line":294,"in_reply_to":"64937bb6_26592346","updated":"2023-09-01 07:56:38.000000000","message":"That did the trick ... \n\n| + lib/neutron_plugins/ovn_agent:create_public_bridge:290 :   OVN_BRIDGE_MAPPINGS\u003dpublic:br-ex\n| + lib/neutron_plugins/ovn_agent:create_public_bridge:291 :   for bridge_mapping in ${OVN_BRIDGE_MAPPINGS//,/ }\n| + lib/neutron_plugins/ovn_agent:create_public_bridge:293 :   sudo ovs-vsctl --may-exist add-br br-ex -- set bridge br-ex protocols\u003dOpenFlow13,OpenFlow15\n| + lib/neutron_plugins/ovn_agent:create_public_bridge:295 :   sudo ovs-vsctl set open . external-ids:ovn-bridge-mappings\u003dpublic:br-ex\n\n\nI updated to patch againt to initialize OVN_BRIDGE_MAPPINGS in lib/neutron after sourcing services/l3 which initializes PUBLIC_BRIDGE. I think that should work as well, and the var will also be available before calling the function to create public bridge in case it becomes used elsewhere in the future.","commit_id":"b6304c1c9245323657be652a57db203b14a08ce6"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"5388a41fceac94582b0981312c3c505e238fcb03","unresolved":true,"context_lines":[{"line_number":291,"context_line":"    # Create the public bridge that OVN will use"},{"line_number":292,"context_line":"    for bridge_mapping in ${OVN_BRIDGE_MAPPINGS//,/ }; do"},{"line_number":293,"context_line":"        # ${bridge_mapping#*:} \u003d\u003d Everyting after colon separator in mapping e.g \"public:br-ex\" -\u003e \"br-ex\""},{"line_number":294,"context_line":"        sudo ovs-vsctl --may-exist add-br ${bridge_mapping#*:} -- set bridge ${bridge_mapping#*:} protocols\u003dOpenFlow13,OpenFlow15"},{"line_number":295,"context_line":"    done"},{"line_number":296,"context_line":"    sudo ovs-vsctl set open . external-ids:ovn-bridge-mappings\u003d${OVN_BRIDGE_MAPPINGS}"},{"line_number":297,"context_line":"    _configure_public_network_connectivity"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"64937bb6_26592346","line":294,"in_reply_to":"a936a980_8af379a5","updated":"2023-09-01 05:43:14.000000000","message":"Hmm, I wonder if PUBLIC_BRIDGE was not initialized when ovn_agent is sourced or something causing the empty string. Trying to move the initialization of OVN_BRIDGE_MAPPINGS inside the create_public_bridge function to see if that helps.","commit_id":"b6304c1c9245323657be652a57db203b14a08ce6"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"a222e07fbe66f7d8e80c9ec08f7dfda71be2d476","unresolved":true,"context_lines":[{"line_number":287,"context_line":""},{"line_number":288,"context_line":"function create_public_bridge {"},{"line_number":289,"context_line":"    # Create the public bridge that OVN will use"},{"line_number":290,"context_line":"    for bridge_mapping in ${OVN_BRIDGE_MAPPINGS//,/ }; do"},{"line_number":291,"context_line":"        # ${bridge_mapping##*:} \u003d\u003d Everyting after colon separator in mapping e.g \"public:br-ex\" -\u003e \"br-ex\""},{"line_number":292,"context_line":"        sudo ovs-vsctl --may-exist add-br ${bridge_mapping##*:} -- set bridge ${bridge_mapping##*:} protocols\u003dOpenFlow13,OpenFlow15"},{"line_number":293,"context_line":"    done"},{"line_number":294,"context_line":"    sudo ovs-vsctl set open . external-ids:ovn-bridge-mappings\u003d${OVN_BRIDGE_MAPPINGS}"},{"line_number":295,"context_line":"    _configure_public_network_connectivity"},{"line_number":296,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"25e951c1_b627367d","line":293,"range":{"start_line":290,"start_character":4,"end_line":293,"end_character":8},"updated":"2023-09-04 11:43:35.000000000","message":"I\u0027ll change this, the additional bridge was not created like this when using OVS. In fact the \"brbm\" bridge used by ironic is created by the ironic devstack plug-in anyway. Setting the ovn-bridge-mappings on the next line is sufficient.","commit_id":"e09e6b9f374097594522f5ad90e590c4d6e4c89a"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"02e3eadd311b538aac9782ff39d5c01213df8c7c","unresolved":false,"context_lines":[{"line_number":287,"context_line":""},{"line_number":288,"context_line":"function create_public_bridge {"},{"line_number":289,"context_line":"    # Create the public bridge that OVN will use"},{"line_number":290,"context_line":"    for bridge_mapping in ${OVN_BRIDGE_MAPPINGS//,/ }; do"},{"line_number":291,"context_line":"        # ${bridge_mapping##*:} \u003d\u003d Everyting after colon separator in mapping e.g \"public:br-ex\" -\u003e \"br-ex\""},{"line_number":292,"context_line":"        sudo ovs-vsctl --may-exist add-br ${bridge_mapping##*:} -- set bridge ${bridge_mapping##*:} protocols\u003dOpenFlow13,OpenFlow15"},{"line_number":293,"context_line":"    done"},{"line_number":294,"context_line":"    sudo ovs-vsctl set open . external-ids:ovn-bridge-mappings\u003d${OVN_BRIDGE_MAPPINGS}"},{"line_number":295,"context_line":"    _configure_public_network_connectivity"},{"line_number":296,"context_line":"}"}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"0de36edc_a7f74ab6","line":293,"range":{"start_line":290,"start_character":4,"end_line":293,"end_character":8},"in_reply_to":"25e951c1_b627367d","updated":"2023-09-04 11:45:52.000000000","message":"Done","commit_id":"e09e6b9f374097594522f5ad90e590c4d6e4c89a"}],"lib/neutron_plugins/services/l3":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"931c05e5189b9b740f75e35e89d88d19d5a2d0c1","unresolved":true,"context_lines":[{"line_number":47,"context_line":"# used for the network.  In case of ofagent, you should add the"},{"line_number":48,"context_line":"# corresponding entry to your OFAGENT_PHYSICAL_INTERFACE_MAPPINGS."},{"line_number":49,"context_line":"# For openvswitch agent, you should add the corresponding entry to"},{"line_number":50,"context_line":"# your OVS_BRIDGE_MAPPINGS and for OVN add the correcponding entry"},{"line_number":51,"context_line":"# to yuor OVN_BRIDGE_MAPPINGS."},{"line_number":52,"context_line":"#"},{"line_number":53,"context_line":"# eg.  (ofagent)"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"da24695d_039303d7","line":50,"range":{"start_line":50,"start_character":47,"end_line":50,"end_character":60},"updated":"2023-08-31 16:24:40.000000000","message":"nit: corresponding","commit_id":"b6304c1c9245323657be652a57db203b14a08ce6"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"5388a41fceac94582b0981312c3c505e238fcb03","unresolved":false,"context_lines":[{"line_number":47,"context_line":"# used for the network.  In case of ofagent, you should add the"},{"line_number":48,"context_line":"# corresponding entry to your OFAGENT_PHYSICAL_INTERFACE_MAPPINGS."},{"line_number":49,"context_line":"# For openvswitch agent, you should add the corresponding entry to"},{"line_number":50,"context_line":"# your OVS_BRIDGE_MAPPINGS and for OVN add the correcponding entry"},{"line_number":51,"context_line":"# to yuor OVN_BRIDGE_MAPPINGS."},{"line_number":52,"context_line":"#"},{"line_number":53,"context_line":"# eg.  (ofagent)"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"bd58a8d2_93348dd1","line":50,"range":{"start_line":50,"start_character":47,"end_line":50,"end_character":60},"in_reply_to":"da24695d_039303d7","updated":"2023-09-01 05:43:14.000000000","message":"Done","commit_id":"b6304c1c9245323657be652a57db203b14a08ce6"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"931c05e5189b9b740f75e35e89d88d19d5a2d0c1","unresolved":true,"context_lines":[{"line_number":48,"context_line":"# corresponding entry to your OFAGENT_PHYSICAL_INTERFACE_MAPPINGS."},{"line_number":49,"context_line":"# For openvswitch agent, you should add the corresponding entry to"},{"line_number":50,"context_line":"# your OVS_BRIDGE_MAPPINGS and for OVN add the correcponding entry"},{"line_number":51,"context_line":"# to yuor OVN_BRIDGE_MAPPINGS."},{"line_number":52,"context_line":"#"},{"line_number":53,"context_line":"# eg.  (ofagent)"},{"line_number":54,"context_line":"#    Q_USE_PROVIDERNET_FOR_PUBLIC\u003dTrue"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"f55622a4_3461bd8c","line":51,"range":{"start_line":51,"start_character":5,"end_line":51,"end_character":9},"updated":"2023-08-31 16:24:40.000000000","message":"nit: your","commit_id":"b6304c1c9245323657be652a57db203b14a08ce6"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"5388a41fceac94582b0981312c3c505e238fcb03","unresolved":false,"context_lines":[{"line_number":48,"context_line":"# corresponding entry to your OFAGENT_PHYSICAL_INTERFACE_MAPPINGS."},{"line_number":49,"context_line":"# For openvswitch agent, you should add the corresponding entry to"},{"line_number":50,"context_line":"# your OVS_BRIDGE_MAPPINGS and for OVN add the correcponding entry"},{"line_number":51,"context_line":"# to yuor OVN_BRIDGE_MAPPINGS."},{"line_number":52,"context_line":"#"},{"line_number":53,"context_line":"# eg.  (ofagent)"},{"line_number":54,"context_line":"#    Q_USE_PROVIDERNET_FOR_PUBLIC\u003dTrue"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"f48d4bc0_3394d621","line":51,"range":{"start_line":51,"start_character":5,"end_line":51,"end_character":9},"in_reply_to":"f55622a4_3461bd8c","updated":"2023-09-01 05:43:14.000000000","message":"Done","commit_id":"b6304c1c9245323657be652a57db203b14a08ce6"}]}
