)]}'
{"lib/neutron_plugins/ovn_agent":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"e764c7b94fa5464a7a5ef40f840737b1a05095d0","unresolved":true,"context_lines":[{"line_number":294,"context_line":"    # IPv6-only clouds in the gate. Please do not remove this without"},{"line_number":295,"context_line":"    # talking to folks in Infra. This fix is based on a devstack fix for"},{"line_number":296,"context_line":"    # neutron L3 agent: https://review.openstack.org/#/c/359490/."},{"line_number":297,"context_line":"    default_route_dev\u003d$(ip route | grep ^default | awk \u0027{print $5}\u0027)"},{"line_number":298,"context_line":"    sudo sysctl -w net.ipv6.conf.$default_route_dev.accept_ra\u003d2"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"    sudo sysctl -w net.ipv6.conf.all.forwarding\u003d1"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"5cb39971_d4b61449","side":"PARENT","line":297,"updated":"2021-06-10 06:50:59.000000000","message":"@Brian, oh, I think the investigation went smoother than I thought. The reason it \"worked\" here was that there was another bug (another reason to trust me now we don\u0027t want aging copy-pasted code) - this just picks up whatever default route so it sets up the default where IPv4 is - and that is wrong.","commit_id":"96509ea025459ac077d2c85289da7725c53235cf"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"c14f94d83862dfb4572f83a8272ff3b5926919d0","unresolved":true,"context_lines":[{"line_number":262,"context_line":"    ERROR_ON_CLONE\u003dfalse git_clone $repo $dir $branch"},{"line_number":263,"context_line":"}"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"function create_public_bridge {"},{"line_number":266,"context_line":"    # Create the public bridge that OVN will use"},{"line_number":267,"context_line":"    sudo ovs-vsctl --may-exist add-br $PUBLIC_BRIDGE -- set bridge $PUBLIC_BRIDGE protocols\u003dOpenFlow13,OpenFlow15"},{"line_number":268,"context_line":"    sudo ovs-vsctl set open . external-ids:ovn-bridge-mappings\u003d$PHYSICAL_NETWORK:$PUBLIC_BRIDGE"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"b46bac7c_4491eb3a","line":265,"updated":"2021-06-09 16:10:18.000000000","message":"Sorry, I don\u0027t understand why we are removing all the public bridge configuration.","commit_id":"95298788085de38342e789bf10c35849c7117dfc"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"91caa527db6f433da37215c9781c6076f96bdb1b","unresolved":true,"context_lines":[{"line_number":262,"context_line":"    ERROR_ON_CLONE\u003dfalse git_clone $repo $dir $branch"},{"line_number":263,"context_line":"}"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"function create_public_bridge {"},{"line_number":266,"context_line":"    # Create the public bridge that OVN will use"},{"line_number":267,"context_line":"    sudo ovs-vsctl --may-exist add-br $PUBLIC_BRIDGE -- set bridge $PUBLIC_BRIDGE protocols\u003dOpenFlow13,OpenFlow15"},{"line_number":268,"context_line":"    sudo ovs-vsctl set open . external-ids:ovn-bridge-mappings\u003d$PHYSICAL_NETWORK:$PUBLIC_BRIDGE"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"def1232d_2c0d5cdb","line":265,"in_reply_to":"b46bac7c_4491eb3a","updated":"2021-06-09 16:13:57.000000000","message":"Addressing and routing is set up properly in l3. I prefer we don\u0027t start re-copying contents of l3 and just rely on it working.","commit_id":"95298788085de38342e789bf10c35849c7117dfc"}],"lib/neutron_plugins/services/l3":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"5df81d146897b6744985c86fa90214bcf9f9c787","unresolved":true,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"default_v4_route_devs\u003d$(ip -4 route | grep ^default | awk \u0027{print $5}\u0027)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"default_v6_route_devs\u003d$(ip -6 route list match default table all | grep via | awk \u0027{print $5}\u0027)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"function _determine_config_l3 {"},{"line_number":108,"context_line":"    local opts\u003d\"--config-file $NEUTRON_CONF --config-file $Q_L3_CONF_FILE\""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"af0cc166_72bdd7aa","line":105,"updated":"2021-06-09 18:24:27.000000000","message":"I think these two should move to right before they\u0027re needed, when executed as this is sourced they could return nothing which is not what we want.  In a follow-on DNM patch I did that and I saw accept_ra being set properly.  https://review.opendev.org/c/openstack/devstack/+/795593","commit_id":"95298788085de38342e789bf10c35849c7117dfc"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8e1c2d318d5b3e2899f914d112ef9ca95b5a6248","unresolved":true,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"default_v4_route_devs\u003d$(ip -4 route | grep ^default | awk \u0027{print $5}\u0027)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"default_v6_route_devs\u003d$(ip -6 route list match default table all | grep via | awk \u0027{print $5}\u0027)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"function _determine_config_l3 {"},{"line_number":108,"context_line":"    local opts\u003d\"--config-file $NEUTRON_CONF --config-file $Q_L3_CONF_FILE\""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"fc6f4057_790bd877","line":105,"in_reply_to":"af0cc166_72bdd7aa","updated":"2021-06-10 06:47:48.000000000","message":"That does not help. The interfaces with the default route exist before devstack completes so this place sounds just as fine.","commit_id":"95298788085de38342e789bf10c35849c7117dfc"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"91caa527db6f433da37215c9781c6076f96bdb1b","unresolved":true,"context_lines":[{"line_number":332,"context_line":"}"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"# Configure neutron router for IPv4 public access"},{"line_number":335,"context_line":"function _neutron_configure_router_v4 {"},{"line_number":336,"context_line":"    openstack --os-cloud devstack-admin --os-region \"$REGION_NAME\" router add subnet $ROUTER_ID $SUBNET_ID"},{"line_number":337,"context_line":"    # Create a public subnet on the external network"},{"line_number":338,"context_line":"    local id_and_ext_gw_ip"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"7076e04b_ed97d841","line":335,"updated":"2021-06-09 16:13:57.000000000","message":"@Rodolfo, this and the next function cover addressing and routing setup. I would prefer we don\u0027t copy updated code to ovn and just reuse this. I suggest we merge this patch and look at refactoring possibilities if you prefer a different code organisation.","commit_id":"95298788085de38342e789bf10c35849c7117dfc"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"1a7606843a2263590623b9d84262394973003fb9","unresolved":true,"context_lines":[{"line_number":344,"context_line":"    openstack --os-cloud devstack-admin --os-region \"$REGION_NAME\" router set --external-gateway $EXT_NET_ID $ROUTER_ID"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    # This logic is specific to using OVN or the l3-agent for layer 3"},{"line_number":347,"context_line":"    if ([[ $Q_AGENT \u003d\u003d \"ovn\" ]] \u0026\u0026 [[ \"$OVN_L3_CREATE_PUBLIC_NETWORK\" \u003d\u003d \"True\" ]] \u0026\u0026 is_service_enabled q-svc neutron-server) || is_service_enabled q-l3 neutron-l3; then"},{"line_number":348,"context_line":"        # Configure and enable public bridge"},{"line_number":349,"context_line":"        local ext_gw_interface\u003d\"none\""},{"line_number":350,"context_line":"        if is_neutron_ovs_base_plugin; then"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"05828c32_ecdd98e9","line":347,"updated":"2021-06-10 12:42:34.000000000","message":"This logic is so complicated it might be worth being split into a helper function, in particular since it is used once more later, but that\u0027s fine for a followup.","commit_id":"95298788085de38342e789bf10c35849c7117dfc"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"98b09785508b23f94aa0cd52ab0f0f4a569d2605","unresolved":true,"context_lines":[{"line_number":344,"context_line":"    openstack --os-cloud devstack-admin --os-region \"$REGION_NAME\" router set --external-gateway $EXT_NET_ID $ROUTER_ID"},{"line_number":345,"context_line":""},{"line_number":346,"context_line":"    # This logic is specific to using OVN or the l3-agent for layer 3"},{"line_number":347,"context_line":"    if ([[ $Q_AGENT \u003d\u003d \"ovn\" ]] \u0026\u0026 [[ \"$OVN_L3_CREATE_PUBLIC_NETWORK\" \u003d\u003d \"True\" ]] \u0026\u0026 is_service_enabled q-svc neutron-server) || is_service_enabled q-l3 neutron-l3; then"},{"line_number":348,"context_line":"        # Configure and enable public bridge"},{"line_number":349,"context_line":"        local ext_gw_interface\u003d\"none\""},{"line_number":350,"context_line":"        if is_neutron_ovs_base_plugin; then"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"4355938c_c892f339","line":347,"in_reply_to":"05828c32_ecdd98e9","updated":"2021-06-10 23:00:14.000000000","message":"+1, i was struggling to understand this until I saw next configuration checks for ovn.","commit_id":"95298788085de38342e789bf10c35849c7117dfc"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"aa1f553092078163ab98bf888d68ed57cacf4282","unresolved":true,"context_lines":[{"line_number":400,"context_line":"        # This is needed for neutron-based devstack clouds to work in"},{"line_number":401,"context_line":"        # IPv6-only clouds in the gate. Please do not remove this without"},{"line_number":402,"context_line":"        # talking to folks in Infra."},{"line_number":403,"context_line":"        for d in $default_v6_route_devs; do"},{"line_number":404,"context_line":"            # Slashes must be used in this sysctl command because route devices"},{"line_number":405,"context_line":"            # can have dots in their names. If dots were used, dots in the"},{"line_number":406,"context_line":"            # device name would be reinterpreted as a slash, causing an error."}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"15293301_2bd3df0a","line":403,"range":{"start_line":403,"start_character":17,"end_line":403,"end_character":39},"updated":"2021-06-08 18:24:43.000000000","message":"I am guessing this is empty (it\u0027s set above).  Just looking at the ovn_agent code you\u0027re removing it\u0027s doing a much more basic set:\n\ndefault_route_dev\u003d$(ip route | grep ^default | awk \u0027{print $5}\u0027)\n\nBut then looking at the changelog for this file it was changed for a reason (IPv6 ECMP).  This whole thing is a mess...","commit_id":"95298788085de38342e789bf10c35849c7117dfc"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"f1ee52eecdb9e66329a04d90d3f46358bbc54262","unresolved":true,"context_lines":[{"line_number":400,"context_line":"        # This is needed for neutron-based devstack clouds to work in"},{"line_number":401,"context_line":"        # IPv6-only clouds in the gate. Please do not remove this without"},{"line_number":402,"context_line":"        # talking to folks in Infra."},{"line_number":403,"context_line":"        for d in $default_v6_route_devs; do"},{"line_number":404,"context_line":"            # Slashes must be used in this sysctl command because route devices"},{"line_number":405,"context_line":"            # can have dots in their names. If dots were used, dots in the"},{"line_number":406,"context_line":"            # device name would be reinterpreted as a slash, causing an error."}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"ceccd1ae_de861dba","line":403,"range":{"start_line":403,"start_character":17,"end_line":403,"end_character":39},"in_reply_to":"15293301_2bd3df0a","updated":"2021-06-08 18:33:03.000000000","message":"I can agree with the last sentence 100% 😄 I am pretty sure this is irrelevant and it was (mis?)behaving the same with OVS.","commit_id":"95298788085de38342e789bf10c35849c7117dfc"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"aa1f553092078163ab98bf888d68ed57cacf4282","unresolved":true,"context_lines":[{"line_number":404,"context_line":"            # Slashes must be used in this sysctl command because route devices"},{"line_number":405,"context_line":"            # can have dots in their names. If dots were used, dots in the"},{"line_number":406,"context_line":"            # device name would be reinterpreted as a slash, causing an error."},{"line_number":407,"context_line":"            sudo sysctl -w net/ipv6/conf/$d/accept_ra\u003d2"},{"line_number":408,"context_line":"        done"},{"line_number":409,"context_line":"        # Ensure IPv6 forwarding is enabled on the host"},{"line_number":410,"context_line":"        sudo sysctl -w net.ipv6.conf.all.forwarding\u003d1"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"89def4a6_d6d128cf","line":407,"updated":"2021-06-08 18:24:43.000000000","message":"I never see this getting called unlike Rodolfo\u0027s change, which is maybe why the tempest-ipv6-only test is failing.\n\nhttps://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_372/793962/5/check/tempest-ipv6-only/372b71c/controller/logs/devstacklog.txt","commit_id":"95298788085de38342e789bf10c35849c7117dfc"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3c0409fd36d56ee041bcada31517febd5d821acb","unresolved":true,"context_lines":[{"line_number":404,"context_line":"            # Slashes must be used in this sysctl command because route devices"},{"line_number":405,"context_line":"            # can have dots in their names. If dots were used, dots in the"},{"line_number":406,"context_line":"            # device name would be reinterpreted as a slash, causing an error."},{"line_number":407,"context_line":"            sudo sysctl -w net/ipv6/conf/$d/accept_ra\u003d2"},{"line_number":408,"context_line":"        done"},{"line_number":409,"context_line":"        # Ensure IPv6 forwarding is enabled on the host"},{"line_number":410,"context_line":"        sudo sysctl -w net.ipv6.conf.all.forwarding\u003d1"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"e3092e7c_fa0b7e24","line":407,"in_reply_to":"5f19f128_4c67c8b5","updated":"2021-06-08 20:03:05.000000000","message":"Interesting, but I still don\u0027t see accept_ra getting set on the interface with the default route in the devstack log.\n\nhttps://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_f55/795371/1/check/tempest-ipv6-only/f55cca8/controller/logs/devstacklog.txt\n\ncommit 0c9a6cab9118fd4ebcdb5277ccf66756fe4f2ec8 explains why we need to do this, could affect IPv6 routing if we don\u0027t.","commit_id":"95298788085de38342e789bf10c35849c7117dfc"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"f1ee52eecdb9e66329a04d90d3f46358bbc54262","unresolved":true,"context_lines":[{"line_number":404,"context_line":"            # Slashes must be used in this sysctl command because route devices"},{"line_number":405,"context_line":"            # can have dots in their names. If dots were used, dots in the"},{"line_number":406,"context_line":"            # device name would be reinterpreted as a slash, causing an error."},{"line_number":407,"context_line":"            sudo sysctl -w net/ipv6/conf/$d/accept_ra\u003d2"},{"line_number":408,"context_line":"        done"},{"line_number":409,"context_line":"        # Ensure IPv6 forwarding is enabled on the host"},{"line_number":410,"context_line":"        sudo sysctl -w net.ipv6.conf.all.forwarding\u003d1"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"5f19f128_4c67c8b5","line":407,"in_reply_to":"89def4a6_d6d128cf","updated":"2021-06-08 18:33:03.000000000","message":"That job failed on instance build. Please recheck.\n\nhttps://0bcc31ded4a34379fa89-c6d0ba205acfdaf07abcc75d255ce0b7.ssl.cf2.rackcdn.com/795371/1/check/tempest-ipv6-only/6c3c8ba/testr_results.html","commit_id":"95298788085de38342e789bf10c35849c7117dfc"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"8e1c2d318d5b3e2899f914d112ef9ca95b5a6248","unresolved":true,"context_lines":[{"line_number":404,"context_line":"            # Slashes must be used in this sysctl command because route devices"},{"line_number":405,"context_line":"            # can have dots in their names. If dots were used, dots in the"},{"line_number":406,"context_line":"            # device name would be reinterpreted as a slash, causing an error."},{"line_number":407,"context_line":"            sudo sysctl -w net/ipv6/conf/$d/accept_ra\u003d2"},{"line_number":408,"context_line":"        done"},{"line_number":409,"context_line":"        # Ensure IPv6 forwarding is enabled on the host"},{"line_number":410,"context_line":"        sudo sysctl -w net.ipv6.conf.all.forwarding\u003d1"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"88394877_24396fff","line":407,"in_reply_to":"e3092e7c_fa0b7e24","updated":"2021-06-10 06:47:48.000000000","message":"Well, we have been running like this for years with ovs. So it\u0027s either irrelevant or relevant extremely rarely.","commit_id":"95298788085de38342e789bf10c35849c7117dfc"}]}
