)]}'
{"/COMMIT_MSG":[{"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":"532ebce2081f02481dcce7f2229d66fe568a1136","unresolved":true,"context_lines":[{"line_number":10,"context_line":"(which is recycled during OVS upgrade). This change introduces a bridge"},{"line_number":11,"context_line":"and veth pair for Neutron to use."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Also node addressing is now using .21/.22/etc IPs because .1 conflicted with"},{"line_number":14,"context_line":"Neutron router."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Ib3bee6e810fb8d31552d4c72c2a1ccae382c51f0"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":23,"id":"eab2f4d3_55ad7a01","line":14,"range":{"start_line":13,"start_character":0,"end_line":14,"end_character":15},"updated":"2021-05-21 11:15:39.000000000","message":"But that .1 was meant to be one of the hosts as this is an external network. Please restore.","commit_id":"6bb0df0db4f6d8e1aa93a9fb7a842209d9c01b39"}],"roles/multi-node-bridge/tasks/main.yml":[{"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":"c88186ecd264ffff033233ba47c80afd043a2a1a","unresolved":true,"context_lines":[{"line_number":7,"context_line":"  become: true"},{"line_number":8,"context_line":"  command: ip link set {{ bridge_name }} up"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"- name: Add VXLAN interface to bridge"},{"line_number":11,"context_line":"  become: true"},{"line_number":12,"context_line":"  command: ip link set {{ bridge_member_name }} master {{ bridge_name }}"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":17,"id":"6bdbdcc7_ecb5fef5","line":10,"range":{"start_line":10,"start_character":12,"end_line":10,"end_character":18},"updated":"2021-05-21 08:13:18.000000000","message":"member","commit_id":"de69fc27ba27e456610f4b057163207c1cd2b8c7"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"c01c854e7362755e466249db1d2a0fd6c111c8dc","unresolved":false,"context_lines":[{"line_number":7,"context_line":"  become: true"},{"line_number":8,"context_line":"  command: ip link set {{ bridge_name }} up"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"- name: Add VXLAN interface to bridge"},{"line_number":11,"context_line":"  become: true"},{"line_number":12,"context_line":"  command: ip link set {{ bridge_member_name }} master {{ bridge_name }}"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":17,"id":"0611792f_39ca0e37","line":10,"range":{"start_line":10,"start_character":12,"end_line":10,"end_character":18},"in_reply_to":"6bdbdcc7_ecb5fef5","updated":"2021-05-21 09:17:35.000000000","message":"Done","commit_id":"de69fc27ba27e456610f4b057163207c1cd2b8c7"},{"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":"c88186ecd264ffff033233ba47c80afd043a2a1a","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":17,"id":"c3697d4b_b69e833b","line":25,"range":{"start_line":14,"start_character":0,"end_line":25,"end_character":0},"updated":"2021-05-21 08:13:18.000000000","message":"Best leave it to separate role and allow to name the endpoints rather than hardcoding this \"ovs\".","commit_id":"de69fc27ba27e456610f4b057163207c1cd2b8c7"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"c01c854e7362755e466249db1d2a0fd6c111c8dc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"32974327_cbdea3c5","line":25,"range":{"start_line":14,"start_character":0,"end_line":25,"end_character":0},"in_reply_to":"c3697d4b_b69e833b","updated":"2021-05-21 09:17:35.000000000","message":"Done","commit_id":"de69fc27ba27e456610f4b057163207c1cd2b8c7"}],"tests/pre.yml":[{"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":"c88186ecd264ffff033233ba47c80afd043a2a1a","unresolved":true,"context_lines":[{"line_number":16,"context_line":"        managed_network_prefix: \"{{ api_network_prefix }}\""},{"line_number":17,"context_line":"        managed_network_prefix_length: \"{{ api_network_prefix_length }}\""},{"line_number":18,"context_line":"        managed_network_address_family: \"{{ address_family }}\""},{"line_number":19,"context_line":"    # NOTE(yoctozepto): no addressing for neutron_external_interface in here"},{"line_number":20,"context_line":"    # because it is enslaved by a bridge"},{"line_number":21,"context_line":"    - role: multi-node-vxlan-overlay"},{"line_number":22,"context_line":"      vars:"},{"line_number":23,"context_line":"        vxlan_interface_name: \"{{ neutron_external_interface_name }}\""}],"source_content_type":"text/x-yaml","patch_set":17,"id":"05eab6f9_c5e893a3","side":"PARENT","line":20,"range":{"start_line":19,"start_character":4,"end_line":20,"end_character":40},"updated":"2021-05-21 08:13:18.000000000","message":"well, it is still very true","commit_id":"a753d54fc02adc3285c71bace2c3cb84778ddab6"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"c01c854e7362755e466249db1d2a0fd6c111c8dc","unresolved":false,"context_lines":[{"line_number":16,"context_line":"        managed_network_prefix: \"{{ api_network_prefix }}\""},{"line_number":17,"context_line":"        managed_network_prefix_length: \"{{ api_network_prefix_length }}\""},{"line_number":18,"context_line":"        managed_network_address_family: \"{{ address_family }}\""},{"line_number":19,"context_line":"    # NOTE(yoctozepto): no addressing for neutron_external_interface in here"},{"line_number":20,"context_line":"    # because it is enslaved by a bridge"},{"line_number":21,"context_line":"    - role: multi-node-vxlan-overlay"},{"line_number":22,"context_line":"      vars:"},{"line_number":23,"context_line":"        vxlan_interface_name: \"{{ neutron_external_interface_name }}\""}],"source_content_type":"text/x-yaml","patch_set":17,"id":"3c9c4a0e_69c429b7","side":"PARENT","line":20,"range":{"start_line":19,"start_character":4,"end_line":20,"end_character":40},"in_reply_to":"05eab6f9_c5e893a3","updated":"2021-05-21 09:17:35.000000000","message":"Done","commit_id":"a753d54fc02adc3285c71bace2c3cb84778ddab6"},{"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":"c88186ecd264ffff033233ba47c80afd043a2a1a","unresolved":true,"context_lines":[{"line_number":23,"context_line":"    - role: multi-node-bridge"},{"line_number":24,"context_line":"      vars:"},{"line_number":25,"context_line":"        bridge_name: \"{{ neutron_external_bridge_name }}\""},{"line_number":26,"context_line":"        bridge_member_name: \"{{ neutron_external_vxlan_interface_name }}\""},{"line_number":27,"context_line":"  tasks:"},{"line_number":28,"context_line":"    # NOTE(yoctozepto): we use gawk to add time to each logged line"},{"line_number":29,"context_line":"    # outside of Ansible (e.g. for init-runonce)"}],"source_content_type":"text/x-yaml","patch_set":17,"id":"46496c36_123999c0","line":26,"updated":"2021-05-21 08:13:18.000000000","message":"I would now reuse multi-node-managed-addressing for addressing rather than set it later","commit_id":"de69fc27ba27e456610f4b057163207c1cd2b8c7"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"c01c854e7362755e466249db1d2a0fd6c111c8dc","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    - role: multi-node-bridge"},{"line_number":24,"context_line":"      vars:"},{"line_number":25,"context_line":"        bridge_name: \"{{ neutron_external_bridge_name }}\""},{"line_number":26,"context_line":"        bridge_member_name: \"{{ neutron_external_vxlan_interface_name }}\""},{"line_number":27,"context_line":"  tasks:"},{"line_number":28,"context_line":"    # NOTE(yoctozepto): we use gawk to add time to each logged line"},{"line_number":29,"context_line":"    # outside of Ansible (e.g. for init-runonce)"}],"source_content_type":"text/x-yaml","patch_set":17,"id":"65aef700_64e79bb2","line":26,"in_reply_to":"46496c36_123999c0","updated":"2021-05-21 09:17:35.000000000","message":"Done","commit_id":"de69fc27ba27e456610f4b057163207c1cd2b8c7"},{"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":"a22e9a0e5baf26b051fec76586ca965080891a1c","unresolved":true,"context_lines":[{"line_number":37,"context_line":"      vars:"},{"line_number":38,"context_line":"        veth_pair:"},{"line_number":39,"context_line":"          - \"veth-{{ neutron_external_bridge_name }}\""},{"line_number":40,"context_line":"          - \"veth-{{ neutron_external_bridge_name }}-ovs\""},{"line_number":41,"context_line":"        bridge_name: \"{{ neutron_external_bridge_name }}\""},{"line_number":42,"context_line":"  tasks:"},{"line_number":43,"context_line":"    # NOTE(yoctozepto): we use gawk to add time to each logged line"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"86189cee_2a860963","line":40,"range":{"start_line":40,"start_character":53,"end_line":40,"end_character":56},"updated":"2021-05-21 09:57:48.000000000","message":"\"ext\" - as it is used with linux bridge as well","commit_id":"f7aec3de17f831aa8a4a36e07ad8300c1401f4b7"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"1b74ce832b712f16a3d190b1d0ea7e813e72fbde","unresolved":true,"context_lines":[{"line_number":22,"context_line":"      vars:"},{"line_number":23,"context_line":"        vxlan_interface_name: \"{{ neutron_external_vxlan_interface_name }}\""},{"line_number":24,"context_line":"        vxlan_vni: 10001"},{"line_number":25,"context_line":"    - role: multi-node-bridge"},{"line_number":26,"context_line":"      vars:"},{"line_number":27,"context_line":"        bridge_name: \"{{ neutron_external_bridge_name }}\""},{"line_number":28,"context_line":"        bridge_member_name: \"{{ neutron_external_vxlan_interface_name }}\""}],"source_content_type":"text/x-yaml","patch_set":25,"id":"dc49559f_a8c89c05","line":25,"range":{"start_line":25,"start_character":12,"end_line":25,"end_character":23},"updated":"2021-05-24 10:54:51.000000000","message":"nit: I think we\u0027re cargo culting the multi-node prefix here.","commit_id":"50f816406efb5801944d9df316b33c1e48edc7f0"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"1b74ce832b712f16a3d190b1d0ea7e813e72fbde","unresolved":true,"context_lines":[{"line_number":33,"context_line":"        managed_network_prefix: \"{{ neutron_external_network_prefix }}\""},{"line_number":34,"context_line":"        managed_network_prefix_length: \"{{ neutron_external_network_prefix_length }}\""},{"line_number":35,"context_line":"        managed_network_address_family: \"ipv4\""},{"line_number":36,"context_line":"    - role: multi-node-veth"},{"line_number":37,"context_line":"      vars:"},{"line_number":38,"context_line":"        veth_pair:"},{"line_number":39,"context_line":"          - \"veth-{{ neutron_external_bridge_name }}\""}],"source_content_type":"text/x-yaml","patch_set":25,"id":"daa9ea18_1dbe3f6a","line":36,"range":{"start_line":36,"start_character":12,"end_line":36,"end_character":23},"updated":"2021-05-24 10:54:51.000000000","message":"and here","commit_id":"50f816406efb5801944d9df316b33c1e48edc7f0"}],"tests/run.yml":[{"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":"c88186ecd264ffff033233ba47c80afd043a2a1a","unresolved":true,"context_lines":[{"line_number":373,"context_line":"          environment:"},{"line_number":374,"context_line":"            EXT_NET_CIDR: \"{{ neutron_external_network_prefix }}0/{{ neutron_external_network_prefix_length }}\""},{"line_number":375,"context_line":"            EXT_NET_RANGE: \"start\u003d{{ neutron_external_network_prefix }}150,end\u003d{{ neutron_external_network_prefix }}199\""},{"line_number":376,"context_line":"            EXT_NET_GATEWAY: \"{{ neutron_external_network_prefix }}149\""},{"line_number":377,"context_line":"            EXT_NET_LOCAL_ADDR: \"{{ neutron_external_network_prefix }}148/{{ neutron_external_network_prefix_length }}\""},{"line_number":378,"context_line":"            EXT_NET_SLAVE_DEVICE: \"{{ neutron_external_interface_name }}\""},{"line_number":379,"context_line":"            EXT_NET_OVS_DEVICE: \"{{ neutron_external_bridge_name }}\""}],"source_content_type":"text/x-yaml","patch_set":17,"id":"30469bb1_705904aa","line":376,"range":{"start_line":376,"start_character":67,"end_line":376,"end_character":70},"updated":"2021-05-21 08:13:18.000000000","message":"why? 😄","commit_id":"de69fc27ba27e456610f4b057163207c1cd2b8c7"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"c01c854e7362755e466249db1d2a0fd6c111c8dc","unresolved":false,"context_lines":[{"line_number":373,"context_line":"          environment:"},{"line_number":374,"context_line":"            EXT_NET_CIDR: \"{{ neutron_external_network_prefix }}0/{{ neutron_external_network_prefix_length }}\""},{"line_number":375,"context_line":"            EXT_NET_RANGE: \"start\u003d{{ neutron_external_network_prefix }}150,end\u003d{{ neutron_external_network_prefix }}199\""},{"line_number":376,"context_line":"            EXT_NET_GATEWAY: \"{{ neutron_external_network_prefix }}149\""},{"line_number":377,"context_line":"            EXT_NET_LOCAL_ADDR: \"{{ neutron_external_network_prefix }}148/{{ neutron_external_network_prefix_length }}\""},{"line_number":378,"context_line":"            EXT_NET_SLAVE_DEVICE: \"{{ neutron_external_interface_name }}\""},{"line_number":379,"context_line":"            EXT_NET_OVS_DEVICE: \"{{ neutron_external_bridge_name }}\""}],"source_content_type":"text/x-yaml","patch_set":17,"id":"989578de_0b5dc5b7","line":376,"range":{"start_line":376,"start_character":67,"end_line":376,"end_character":70},"in_reply_to":"30469bb1_705904aa","updated":"2021-05-21 09:17:35.000000000","message":"Done","commit_id":"de69fc27ba27e456610f4b057163207c1cd2b8c7"},{"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":"c88186ecd264ffff033233ba47c80afd043a2a1a","unresolved":true,"context_lines":[{"line_number":374,"context_line":"            EXT_NET_CIDR: \"{{ neutron_external_network_prefix }}0/{{ neutron_external_network_prefix_length }}\""},{"line_number":375,"context_line":"            EXT_NET_RANGE: \"start\u003d{{ neutron_external_network_prefix }}150,end\u003d{{ neutron_external_network_prefix }}199\""},{"line_number":376,"context_line":"            EXT_NET_GATEWAY: \"{{ neutron_external_network_prefix }}149\""},{"line_number":377,"context_line":"            EXT_NET_LOCAL_ADDR: \"{{ neutron_external_network_prefix }}148/{{ neutron_external_network_prefix_length }}\""},{"line_number":378,"context_line":"            EXT_NET_SLAVE_DEVICE: \"{{ neutron_external_interface_name }}\""},{"line_number":379,"context_line":"            EXT_NET_OVS_DEVICE: \"{{ neutron_external_bridge_name }}\""},{"line_number":380,"context_line":"            SCENARIO: \"{{ scenario }}\""}],"source_content_type":"text/x-yaml","patch_set":17,"id":"8a8c9a2a_274928b9","line":377,"range":{"start_line":377,"start_character":70,"end_line":377,"end_character":73},"updated":"2021-05-21 08:13:18.000000000","message":"seriously, why","commit_id":"de69fc27ba27e456610f4b057163207c1cd2b8c7"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"c01c854e7362755e466249db1d2a0fd6c111c8dc","unresolved":false,"context_lines":[{"line_number":374,"context_line":"            EXT_NET_CIDR: \"{{ neutron_external_network_prefix }}0/{{ neutron_external_network_prefix_length }}\""},{"line_number":375,"context_line":"            EXT_NET_RANGE: \"start\u003d{{ neutron_external_network_prefix }}150,end\u003d{{ neutron_external_network_prefix }}199\""},{"line_number":376,"context_line":"            EXT_NET_GATEWAY: \"{{ neutron_external_network_prefix }}149\""},{"line_number":377,"context_line":"            EXT_NET_LOCAL_ADDR: \"{{ neutron_external_network_prefix }}148/{{ neutron_external_network_prefix_length }}\""},{"line_number":378,"context_line":"            EXT_NET_SLAVE_DEVICE: \"{{ neutron_external_interface_name }}\""},{"line_number":379,"context_line":"            EXT_NET_OVS_DEVICE: \"{{ neutron_external_bridge_name }}\""},{"line_number":380,"context_line":"            SCENARIO: \"{{ scenario }}\""}],"source_content_type":"text/x-yaml","patch_set":17,"id":"7a263371_97ca6578","line":377,"range":{"start_line":377,"start_character":70,"end_line":377,"end_character":73},"in_reply_to":"8a8c9a2a_274928b9","updated":"2021-05-21 09:17:35.000000000","message":"Done","commit_id":"de69fc27ba27e456610f4b057163207c1cd2b8c7"}],"zuul.d/base.yaml":[{"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":"a22e9a0e5baf26b051fec76586ca965080891a1c","unresolved":true,"context_lines":[{"line_number":38,"context_line":"      neutron_external_network_prefix: \"198.51.100.\""},{"line_number":39,"context_line":"      neutron_external_network_prefix_length: \"24\""},{"line_number":40,"context_line":"      neutron_external_bridge_name: br0"},{"line_number":41,"context_line":"      neutron_external_interface_name: \"veth-{{ neutron_external_bridge_name }}-ovs\""},{"line_number":42,"context_line":"      neutron_external_vxlan_interface_name: vxlan1"},{"line_number":43,"context_line":"      tls_enabled: false"},{"line_number":44,"context_line":"      # NOTE(yoctozepto): Ansible on Debian defaults to /usr/bin/python which is"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"ed85e4e9_a762e932","line":41,"range":{"start_line":41,"start_character":80,"end_line":41,"end_character":83},"updated":"2021-05-21 09:57:48.000000000","message":"\"ext\"","commit_id":"f7aec3de17f831aa8a4a36e07ad8300c1401f4b7"}]}
