)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"bdfece3815a9f460d306abf7960f7ac2acdfa6f3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"6d54484d_6b1a981e","updated":"2026-07-21 08:18:43.000000000","message":"This is a commodity patch, just for devstack, as a testing deployment tool. With other deployers (kolla, openstack-k8s-operators, etc), I won\u0027t suggest to make this kind of assumption that the SR-IOV physnets will work both for flat and vlan","commit_id":"c7531e2e575c80b0038081aa28ecc09db2313ac4"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"2c9ab9d61416616fa5f2cdbb50a12fb0b4570590","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"bd073f23_a7df1dff","in_reply_to":"6d54484d_6b1a981e","updated":"2026-07-21 17:48:28.000000000","message":"Thanks for looking and understood. I will make the updates.","commit_id":"c7531e2e575c80b0038081aa28ecc09db2313ac4"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"e65135e770c6dd601e33e407f8bbbdec421f2517","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"312c7338_e0f9c49b","updated":"2026-07-23 16:56:58.000000000","message":"recheck neutron-ovs-tempest-dvr-ha-multinode-full","commit_id":"975e5cfd91221e80b5d71befbb250ac9f4ca1980"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"9997e0bb68a7f267e8242874d37d0aec8cc2e1cd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d5c1b8ca_fef933d2","updated":"2026-07-23 12:43:54.000000000","message":"recheck neutron-tempest-plugin-ovn","commit_id":"975e5cfd91221e80b5d71befbb250ac9f4ca1980"}],"devstack/lib/l2_agent_sriovnicswitch":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"fcd1416191446d277b307ee0d5e4b5499777f404","unresolved":true,"context_lines":[{"line_number":11,"context_line":"        iniset /$SRIOV_AGENT_CONF sriov_nic physical_device_mappings $PHYSICAL_DEVICE_MAPPINGS"},{"line_number":12,"context_line":"        # Register SR-IOV physical networks in ML2 type driver config"},{"line_number":13,"context_line":"        # so that provider networks can be created on them."},{"line_number":14,"context_line":"        local physnets"},{"line_number":15,"context_line":"        for mapping in ${PHYSICAL_DEVICE_MAPPINGS//,/ }; do"},{"line_number":16,"context_line":"            physnets+\u003d\"${mapping%%:*},\""},{"line_number":17,"context_line":"        done"},{"line_number":18,"context_line":"        local flat\u003d$(iniget /$NEUTRON_CORE_PLUGIN_CONF ml2_type_flat flat_networks)"},{"line_number":19,"context_line":"        if [[ -n \"$flat\" ]]; then"},{"line_number":20,"context_line":"            iniset /$NEUTRON_CORE_PLUGIN_CONF ml2_type_flat flat_networks \"${flat},${physnets%,}\""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"2a574a8d_d8757f1f","line":17,"range":{"start_line":14,"start_character":8,"end_line":17,"end_character":12},"updated":"2026-07-21 08:16:11.000000000","message":"This could be simplified in a oneliner:\n```\nlocal physnets\u003d$(echo \"$PHYSICAL_DEVICE_MAPPINGS\" | sed \u0027s/:[^,]*//g\u0027)\n```","commit_id":"c7531e2e575c80b0038081aa28ecc09db2313ac4"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"7dc005f5ced2565d9fc2f8d07b6b14584a4f2aff","unresolved":false,"context_lines":[{"line_number":11,"context_line":"        iniset /$SRIOV_AGENT_CONF sriov_nic physical_device_mappings $PHYSICAL_DEVICE_MAPPINGS"},{"line_number":12,"context_line":"        # Register SR-IOV physical networks in ML2 type driver config"},{"line_number":13,"context_line":"        # so that provider networks can be created on them."},{"line_number":14,"context_line":"        local physnets"},{"line_number":15,"context_line":"        for mapping in ${PHYSICAL_DEVICE_MAPPINGS//,/ }; do"},{"line_number":16,"context_line":"            physnets+\u003d\"${mapping%%:*},\""},{"line_number":17,"context_line":"        done"},{"line_number":18,"context_line":"        local flat\u003d$(iniget /$NEUTRON_CORE_PLUGIN_CONF ml2_type_flat flat_networks)"},{"line_number":19,"context_line":"        if [[ -n \"$flat\" ]]; then"},{"line_number":20,"context_line":"            iniset /$NEUTRON_CORE_PLUGIN_CONF ml2_type_flat flat_networks \"${flat},${physnets%,}\""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"0ef2c314_0e36b8eb","line":17,"range":{"start_line":14,"start_character":8,"end_line":17,"end_character":12},"in_reply_to":"2a574a8d_d8757f1f","updated":"2026-07-21 17:55:30.000000000","message":"Done","commit_id":"c7531e2e575c80b0038081aa28ecc09db2313ac4"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"fcd1416191446d277b307ee0d5e4b5499777f404","unresolved":true,"context_lines":[{"line_number":15,"context_line":"        for mapping in ${PHYSICAL_DEVICE_MAPPINGS//,/ }; do"},{"line_number":16,"context_line":"            physnets+\u003d\"${mapping%%:*},\""},{"line_number":17,"context_line":"        done"},{"line_number":18,"context_line":"        local flat\u003d$(iniget /$NEUTRON_CORE_PLUGIN_CONF ml2_type_flat flat_networks)"},{"line_number":19,"context_line":"        if [[ -n \"$flat\" ]]; then"},{"line_number":20,"context_line":"            iniset /$NEUTRON_CORE_PLUGIN_CONF ml2_type_flat flat_networks \"${flat},${physnets%,}\""},{"line_number":21,"context_line":"        else"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"1fe099ac_a73f809c","line":18,"range":{"start_line":18,"start_character":14,"end_line":18,"end_character":18},"updated":"2026-07-21 08:16:11.000000000","message":"`flat_networks` could be `*`. In that case, that will accept any network.","commit_id":"c7531e2e575c80b0038081aa28ecc09db2313ac4"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"7dc005f5ced2565d9fc2f8d07b6b14584a4f2aff","unresolved":false,"context_lines":[{"line_number":15,"context_line":"        for mapping in ${PHYSICAL_DEVICE_MAPPINGS//,/ }; do"},{"line_number":16,"context_line":"            physnets+\u003d\"${mapping%%:*},\""},{"line_number":17,"context_line":"        done"},{"line_number":18,"context_line":"        local flat\u003d$(iniget /$NEUTRON_CORE_PLUGIN_CONF ml2_type_flat flat_networks)"},{"line_number":19,"context_line":"        if [[ -n \"$flat\" ]]; then"},{"line_number":20,"context_line":"            iniset /$NEUTRON_CORE_PLUGIN_CONF ml2_type_flat flat_networks \"${flat},${physnets%,}\""},{"line_number":21,"context_line":"        else"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"7fe060e3_5725be29","line":18,"range":{"start_line":18,"start_character":14,"end_line":18,"end_character":18},"in_reply_to":"1fe099ac_a73f809c","updated":"2026-07-21 17:55:30.000000000","message":"Done","commit_id":"c7531e2e575c80b0038081aa28ecc09db2313ac4"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"fcd1416191446d277b307ee0d5e4b5499777f404","unresolved":true,"context_lines":[{"line_number":22,"context_line":"            iniset /$NEUTRON_CORE_PLUGIN_CONF ml2_type_flat flat_networks \"${physnets%,}\""},{"line_number":23,"context_line":"        fi"},{"line_number":24,"context_line":"        local vlan\u003d$(iniget /$NEUTRON_CORE_PLUGIN_CONF ml2_type_vlan network_vlan_ranges)"},{"line_number":25,"context_line":"        if [[ -n \"$vlan\" ]]; then"},{"line_number":26,"context_line":"            iniset /$NEUTRON_CORE_PLUGIN_CONF ml2_type_vlan network_vlan_ranges \"${vlan},${physnets%,}\""},{"line_number":27,"context_line":"        else"},{"line_number":28,"context_line":"            iniset /$NEUTRON_CORE_PLUGIN_CONF ml2_type_vlan network_vlan_ranges \"${physnets%,}\""},{"line_number":29,"context_line":"        fi"},{"line_number":30,"context_line":"    fi"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    iniset /$SRIOV_AGENT_CONF securitygroup firewall_driver neutron.agent.firewall.NoopFirewallDriver"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"6e5f1b30_5a63d9f7","line":29,"range":{"start_line":25,"start_character":8,"end_line":29,"end_character":10},"updated":"2026-07-21 08:16:11.000000000","message":"These if/else branches can be simplified in one single line. All the script could be like this:\n```\nlocal physnets\u003d$(echo \"$PHYSICAL_DEVICE_MAPPINGS\" | sed \u0027s/:[^,]*//g\u0027)\nlocal flat\u003d$(iniget /$NEUTRON_CORE_PLUGIN_CONF ml2_type_flat flat_networks)\nif [[ \"$flat\" !\u003d \"*\" ]]; then\n    iniset /$NEUTRON_CORE_PLUGIN_CONF ml2_type_flat flat_networks \"${flat:+${flat},}${physnets}\"\nfi\nlocal vlan\u003d$(iniget /$NEUTRON_CORE_PLUGIN_CONF ml2_type_vlan network_vlan_ranges)\niniset /$NEUTRON_CORE_PLUGIN_CONF ml2_type_vlan network_vlan_ranges \"${vlan:+${vlan},}${physnets}\"\n```","commit_id":"c7531e2e575c80b0038081aa28ecc09db2313ac4"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"7dc005f5ced2565d9fc2f8d07b6b14584a4f2aff","unresolved":false,"context_lines":[{"line_number":22,"context_line":"            iniset /$NEUTRON_CORE_PLUGIN_CONF ml2_type_flat flat_networks \"${physnets%,}\""},{"line_number":23,"context_line":"        fi"},{"line_number":24,"context_line":"        local vlan\u003d$(iniget /$NEUTRON_CORE_PLUGIN_CONF ml2_type_vlan network_vlan_ranges)"},{"line_number":25,"context_line":"        if [[ -n \"$vlan\" ]]; then"},{"line_number":26,"context_line":"            iniset /$NEUTRON_CORE_PLUGIN_CONF ml2_type_vlan network_vlan_ranges \"${vlan},${physnets%,}\""},{"line_number":27,"context_line":"        else"},{"line_number":28,"context_line":"            iniset /$NEUTRON_CORE_PLUGIN_CONF ml2_type_vlan network_vlan_ranges \"${physnets%,}\""},{"line_number":29,"context_line":"        fi"},{"line_number":30,"context_line":"    fi"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    iniset /$SRIOV_AGENT_CONF securitygroup firewall_driver neutron.agent.firewall.NoopFirewallDriver"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"d7f5ae26_871dce61","line":29,"range":{"start_line":25,"start_character":8,"end_line":29,"end_character":10},"in_reply_to":"6e5f1b30_5a63d9f7","updated":"2026-07-21 17:55:30.000000000","message":"Done","commit_id":"c7531e2e575c80b0038081aa28ecc09db2313ac4"}]}
