)]}'
{"ansible/roles/octavia/defaults/main.yml":[{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"53b065646e5b2db64ffacad6ec438d05c1e07fce","unresolved":false,"context_lines":[{"line_number":161,"context_line":"octavia_amp_ssh_key_name: \"octavia_ssh_key\""},{"line_number":162,"context_line":"octavia_amp_listen_port: \"9443\""},{"line_number":163,"context_line":"octavia_amp_image_tag: \"amphora\""},{"line_number":164,"context_line":"octavia_network_type: \"provider\""},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"# Load balancer topology options are [ SINGLE, ACTIVE_STANDBY ]"},{"line_number":167,"context_line":"octavia_loadbalancer_topology: \"SINGLE\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"7f6b1bfe_b41b7c19","line":164,"updated":"2020-10-15 10:00:14.000000000","message":"provider is unmeaningful. should we change this to a new variable like octavia_auto_config_host: no ? if set octavia_auto_config_host to  yes, we do the \ntenant logic ?","commit_id":"67f2f233ad776a815abe5859a215db4ac2c340d9"},{"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":"9995a6c8a0ff6d733be62dd5753449b01c01e065","unresolved":false,"context_lines":[{"line_number":161,"context_line":"octavia_amp_ssh_key_name: \"octavia_ssh_key\""},{"line_number":162,"context_line":"octavia_amp_listen_port: \"9443\""},{"line_number":163,"context_line":"octavia_amp_image_tag: \"amphora\""},{"line_number":164,"context_line":"octavia_network_type: \"provider\""},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"# Load balancer topology options are [ SINGLE, ACTIVE_STANDBY ]"},{"line_number":167,"context_line":"octavia_loadbalancer_topology: \"SINGLE\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"3f65232a_46efbbaf","line":164,"in_reply_to":"3f65232a_20b57832","updated":"2020-10-27 10:14:03.000000000","message":"And then we would still like to have an autoconf switch for that.","commit_id":"67f2f233ad776a815abe5859a215db4ac2c340d9"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"46a58d9f1237343ebd156913b7b672b11fbf7d98","unresolved":false,"context_lines":[{"line_number":161,"context_line":"octavia_amp_ssh_key_name: \"octavia_ssh_key\""},{"line_number":162,"context_line":"octavia_amp_listen_port: \"9443\""},{"line_number":163,"context_line":"octavia_amp_image_tag: \"amphora\""},{"line_number":164,"context_line":"octavia_network_type: \"provider\""},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"# Load balancer topology options are [ SINGLE, ACTIVE_STANDBY ]"},{"line_number":167,"context_line":"octavia_loadbalancer_topology: \"SINGLE\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"1f621f24_f647debb","line":164,"in_reply_to":"3f65232a_46efbbaf","updated":"2020-10-28 08:12:26.000000000","message":"provider(or any other value is not equal tenant) is used for switch. if this value does not equal to tenant. this patch will do nothing.","commit_id":"67f2f233ad776a815abe5859a215db4ac2c340d9"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ebcc7f66439e77327a4b23f15fe26d759d2d8398","unresolved":false,"context_lines":[{"line_number":161,"context_line":"octavia_amp_ssh_key_name: \"octavia_ssh_key\""},{"line_number":162,"context_line":"octavia_amp_listen_port: \"9443\""},{"line_number":163,"context_line":"octavia_amp_image_tag: \"amphora\""},{"line_number":164,"context_line":"octavia_network_type: \"provider\""},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"# Load balancer topology options are [ SINGLE, ACTIVE_STANDBY ]"},{"line_number":167,"context_line":"octavia_loadbalancer_topology: \"SINGLE\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"3f65232a_20b57832","line":164,"in_reply_to":"7f6b1bfe_b41b7c19","updated":"2020-10-22 08:06:01.000000000","message":"provider vs. tenant is quite a common distinction for neutron networks, isn\u0027t it? I suppose you could use the automation to plug into a VLAN network.","commit_id":"67f2f233ad776a815abe5859a215db4ac2c340d9"}],"ansible/roles/octavia/tasks/config-host.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"b1ed13d66b33dddaf16b6962be42fe2115f4712b","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- import_tasks: hm-interface.yml"},{"line_number":3,"context_line":"  when:"},{"line_number":4,"context_line":"    - octavia_auto_configure | bool"},{"line_number":5,"context_line":"    - octavia_network_type \u003d\u003d \"tenant\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"0e40fa42_9b1338bd","line":2,"range":{"start_line":2,"start_character":2,"end_line":2,"end_character":14},"updated":"2021-01-21 09:48:23.000000000","message":"Let\u0027s use include_tasks here.","commit_id":"8010b3fc8823674be4e77147b6767725bf0bc69d"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"6c625a4675f5c940ae11671c77f359c058bb996d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- import_tasks: hm-interface.yml"},{"line_number":3,"context_line":"  when:"},{"line_number":4,"context_line":"    - octavia_auto_configure | bool"},{"line_number":5,"context_line":"    - octavia_network_type \u003d\u003d \"tenant\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"68dca2e3_1bbd44e8","line":2,"range":{"start_line":2,"start_character":2,"end_line":2,"end_character":14},"in_reply_to":"0e40fa42_9b1338bd","updated":"2021-01-21 14:04:21.000000000","message":"Done","commit_id":"8010b3fc8823674be4e77147b6767725bf0bc69d"}],"ansible/roles/octavia/tasks/hm-interface.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"b1ed13d66b33dddaf16b6962be42fe2115f4712b","unresolved":true,"context_lines":[{"line_number":12,"context_line":"      network: \"{{ octavia_amp_network[\u0027name\u0027] }}\""},{"line_number":13,"context_line":"      security_groups: \"{{ octavia_amp_security_groups[\u0027health-mgr-sec-grp\u0027][\u0027name\u0027] }}\""},{"line_number":14,"context_line":"      device_owner: \u0027Octavia:health-mgr\u0027"},{"line_number":15,"context_line":"      name: \"octava-listen-port-{{ ansible_nodename }}\""},{"line_number":16,"context_line":"  register: port_info"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"# ansible os_port module does not support \u0027host\u0027 parameter, but we need set the port\u0027s host"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"6d375115_1b22dc9d","line":15,"range":{"start_line":15,"start_character":13,"end_line":15,"end_character":19},"updated":"2021-01-21 09:48:23.000000000","message":"octavia","commit_id":"8010b3fc8823674be4e77147b6767725bf0bc69d"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"6c625a4675f5c940ae11671c77f359c058bb996d","unresolved":false,"context_lines":[{"line_number":12,"context_line":"      network: \"{{ octavia_amp_network[\u0027name\u0027] }}\""},{"line_number":13,"context_line":"      security_groups: \"{{ octavia_amp_security_groups[\u0027health-mgr-sec-grp\u0027][\u0027name\u0027] }}\""},{"line_number":14,"context_line":"      device_owner: \u0027Octavia:health-mgr\u0027"},{"line_number":15,"context_line":"      name: \"octava-listen-port-{{ ansible_nodename }}\""},{"line_number":16,"context_line":"  register: port_info"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"# ansible os_port module does not support \u0027host\u0027 parameter, but we need set the port\u0027s host"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"d5ffbd64_8108bfcf","line":15,"range":{"start_line":15,"start_character":13,"end_line":15,"end_character":19},"in_reply_to":"6d375115_1b22dc9d","updated":"2021-01-21 14:04:21.000000000","message":"Done","commit_id":"8010b3fc8823674be4e77147b6767725bf0bc69d"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"b1ed13d66b33dddaf16b6962be42fe2115f4712b","unresolved":true,"context_lines":[{"line_number":32,"context_line":"    --os-region-name {{ openstack_region_name }}"},{"line_number":33,"context_line":"    --os-username {{ octavia_user_auth.username }}"},{"line_number":34,"context_line":"    --os-password {{ octavia_user_auth.password }}"},{"line_number":35,"context_line":"    {% if openstack_cacert !\u003d \u0027\u0027 %}--os-cacert {{ openstack_cacert }}{% endif %}"},{"line_number":36,"context_line":"    port set --host {{ ansible_nodename }} {{ port_id }}"},{"line_number":37,"context_line":"  when:"},{"line_number":38,"context_line":"    - port_info.changed"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"a422dc98_3630029c","line":35,"range":{"start_line":35,"start_character":67,"end_line":35,"end_character":70},"updated":"2021-01-21 09:48:23.000000000","message":"We found in a different patch that a space is required here.","commit_id":"8010b3fc8823674be4e77147b6767725bf0bc69d"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"6c625a4675f5c940ae11671c77f359c058bb996d","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    --os-region-name {{ openstack_region_name }}"},{"line_number":33,"context_line":"    --os-username {{ octavia_user_auth.username }}"},{"line_number":34,"context_line":"    --os-password {{ octavia_user_auth.password }}"},{"line_number":35,"context_line":"    {% if openstack_cacert !\u003d \u0027\u0027 %}--os-cacert {{ openstack_cacert }}{% endif %}"},{"line_number":36,"context_line":"    port set --host {{ ansible_nodename }} {{ port_id }}"},{"line_number":37,"context_line":"  when:"},{"line_number":38,"context_line":"    - port_info.changed"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"8e28005a_a985324d","line":35,"range":{"start_line":35,"start_character":67,"end_line":35,"end_character":70},"in_reply_to":"a422dc98_3630029c","updated":"2021-01-21 14:04:21.000000000","message":"Done","commit_id":"8010b3fc8823674be4e77147b6767725bf0bc69d"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"c9e8d02006a392eb8009d5246f29728cb0d2d6e5","unresolved":true,"context_lines":[{"line_number":43,"context_line":"    port_id: \"{{ port_info.id }}\""},{"line_number":44,"context_line":"  become: True"},{"line_number":45,"context_line":"  command: \u003e"},{"line_number":46,"context_line":"    docker exec openvswitch_vswitchd ovs-vsctl --may-exist \\"},{"line_number":47,"context_line":"    add-port br-int {{ octavia_network_interface }} \\"},{"line_number":48,"context_line":"    -- set Interface {{ octavia_network_interface }} type\u003dinternal \\"},{"line_number":49,"context_line":"    -- set Interface {{ octavia_network_interface }} external-ids:iface-status\u003dactive \\"},{"line_number":50,"context_line":"    -- set Interface {{ octavia_network_interface }} external-ids:attached-mac\u003d{{ port_mac }} \\"},{"line_number":51,"context_line":"    -- set Interface {{ octavia_network_interface }} external-ids:iface-id\u003d{{ port_id }} \\"},{"line_number":52,"context_line":"    -- set Interface {{ octavia_network_interface }} external-ids:skip_cleanup\u003dtrue"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"- name: Create octavia dhclient conf"},{"line_number":55,"context_line":"  become: true"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"51d2713d_e64571a1","line":52,"range":{"start_line":46,"start_character":1,"end_line":52,"end_character":83},"updated":"2021-03-05 09:33:37.000000000","message":"can we use openvswitch_port here?","commit_id":"5d3ebc0452d9e473476f1181c4f143e350c3dace"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"77b6da006c91925695e66b9399357f0bedc629fe","unresolved":true,"context_lines":[{"line_number":43,"context_line":"    port_id: \"{{ port_info.id }}\""},{"line_number":44,"context_line":"  become: True"},{"line_number":45,"context_line":"  command: \u003e"},{"line_number":46,"context_line":"    docker exec openvswitch_vswitchd ovs-vsctl --may-exist \\"},{"line_number":47,"context_line":"    add-port br-int {{ octavia_network_interface }} \\"},{"line_number":48,"context_line":"    -- set Interface {{ octavia_network_interface }} type\u003dinternal \\"},{"line_number":49,"context_line":"    -- set Interface {{ octavia_network_interface }} external-ids:iface-status\u003dactive \\"},{"line_number":50,"context_line":"    -- set Interface {{ octavia_network_interface }} external-ids:attached-mac\u003d{{ port_mac }} \\"},{"line_number":51,"context_line":"    -- set Interface {{ octavia_network_interface }} external-ids:iface-id\u003d{{ port_id }} \\"},{"line_number":52,"context_line":"    -- set Interface {{ octavia_network_interface }} external-ids:skip_cleanup\u003dtrue"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"- name: Create octavia dhclient conf"},{"line_number":55,"context_line":"  become: true"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"e46dd9a8_cc0f8f54","line":52,"range":{"start_line":46,"start_character":1,"end_line":52,"end_character":83},"in_reply_to":"51d2713d_e64571a1","updated":"2021-03-05 10:07:25.000000000","message":"yes. ovs port works here.","commit_id":"5d3ebc0452d9e473476f1181c4f143e350c3dace"}],"ansible/roles/octavia/templates/octavia-interface.service.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"b1ed13d66b33dddaf16b6962be42fe2115f4712b","unresolved":true,"context_lines":[{"line_number":6,"context_line":"[Service]"},{"line_number":7,"context_line":"Type\u003doneshot"},{"line_number":8,"context_line":"RemainAfterExit\u003dtrue"},{"line_number":9,"context_line":"#ExecStartPre\u003d/usr/lib/systemd/systemd-networkd-wait-online --interface\u003dbr-int"},{"line_number":10,"context_line":"ExecStartPre\u003d/usr/bin/sudo /sbin/ip link set dev {{ octavia_network_interface }} address {{ port_info.port.mac_address }}"},{"line_number":11,"context_line":"ExecStart\u003d/usr/bin/sudo /sbin/dhclient -v {{ octavia_network_interface }} -cf /etc/dhcp/octavia-dhclient.conf"},{"line_number":12,"context_line":"ExecStop\u003d/usr/bin/sudo /sbin/dhclient -r {{ octavia_network_interface }}"}],"source_content_type":"text/x-jinja2","patch_set":18,"id":"28827bb2_a5d093a4","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":13},"updated":"2021-01-21 09:48:23.000000000","message":"not required?","commit_id":"8010b3fc8823674be4e77147b6767725bf0bc69d"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"8786697dd5abc8316ae6d24e2bbc2313b85aa9cb","unresolved":true,"context_lines":[{"line_number":6,"context_line":"[Service]"},{"line_number":7,"context_line":"Type\u003doneshot"},{"line_number":8,"context_line":"RemainAfterExit\u003dtrue"},{"line_number":9,"context_line":"#ExecStartPre\u003d/usr/lib/systemd/systemd-networkd-wait-online --interface\u003dbr-int"},{"line_number":10,"context_line":"ExecStartPre\u003d/usr/bin/sudo /sbin/ip link set dev {{ octavia_network_interface }} address {{ port_info.port.mac_address }}"},{"line_number":11,"context_line":"ExecStart\u003d/usr/bin/sudo /sbin/dhclient -v {{ octavia_network_interface }} -cf /etc/dhcp/octavia-dhclient.conf"},{"line_number":12,"context_line":"ExecStop\u003d/usr/bin/sudo /sbin/dhclient -r {{ octavia_network_interface }}"}],"source_content_type":"text/x-jinja2","patch_set":18,"id":"8a026db2_3ab2c5c0","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":13},"in_reply_to":"1d8211e0_6ea410f9","updated":"2021-01-21 14:09:43.000000000","message":"It\u0027s confusing for readers. Let\u0027s remove it if it\u0027s not in use.","commit_id":"8010b3fc8823674be4e77147b6767725bf0bc69d"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"6c625a4675f5c940ae11671c77f359c058bb996d","unresolved":true,"context_lines":[{"line_number":6,"context_line":"[Service]"},{"line_number":7,"context_line":"Type\u003doneshot"},{"line_number":8,"context_line":"RemainAfterExit\u003dtrue"},{"line_number":9,"context_line":"#ExecStartPre\u003d/usr/lib/systemd/systemd-networkd-wait-online --interface\u003dbr-int"},{"line_number":10,"context_line":"ExecStartPre\u003d/usr/bin/sudo /sbin/ip link set dev {{ octavia_network_interface }} address {{ port_info.port.mac_address }}"},{"line_number":11,"context_line":"ExecStart\u003d/usr/bin/sudo /sbin/dhclient -v {{ octavia_network_interface }} -cf /etc/dhcp/octavia-dhclient.conf"},{"line_number":12,"context_line":"ExecStop\u003d/usr/bin/sudo /sbin/dhclient -r {{ octavia_network_interface }}"}],"source_content_type":"text/x-jinja2","patch_set":18,"id":"1d8211e0_6ea410f9","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":13},"in_reply_to":"28827bb2_a5d093a4","updated":"2021-01-21 14:04:21.000000000","message":"yes, actually, br-int bridge is always in down state. because br-int is a ovs bridge, not linux bridge.\nBTW, this line is not added by me.  keep it here is harmless anyhow.  \neg: \n\n13: br-ex: \u003cBROADCAST,MULTICAST\u003e mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether 8a:64:e2:d5:90:4a brd ff:ff:ff:ff:ff:ff\n14: br-int: \u003cBROADCAST,MULTICAST\u003e mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether 1e:52:ad:ea:a9:4f brd ff:ff:ff:ff:ff:ff\n15: br-tun: \u003cBROADCAST,MULTICAST\u003e mtu 1500 qdisc noop state DOWN group default qlen 1000\n    link/ether c2:0c:fb:fe:e1:4f brd ff:ff:ff:ff:ff:ff","commit_id":"8010b3fc8823674be4e77147b6767725bf0bc69d"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"4782622e185d830844f1d350953efe91414a5185","unresolved":true,"context_lines":[{"line_number":6,"context_line":"[Service]"},{"line_number":7,"context_line":"Type\u003doneshot"},{"line_number":8,"context_line":"RemainAfterExit\u003dtrue"},{"line_number":9,"context_line":"#ExecStartPre\u003d/usr/lib/systemd/systemd-networkd-wait-online --interface\u003dbr-int"},{"line_number":10,"context_line":"ExecStartPre\u003d/usr/bin/sudo /sbin/ip link set dev {{ octavia_network_interface }} address {{ port_info.port.mac_address }}"},{"line_number":11,"context_line":"ExecStart\u003d/usr/bin/sudo /sbin/dhclient -v {{ octavia_network_interface }} -cf /etc/dhcp/octavia-dhclient.conf"},{"line_number":12,"context_line":"ExecStop\u003d/usr/bin/sudo /sbin/dhclient -r {{ octavia_network_interface }}"}],"source_content_type":"text/x-jinja2","patch_set":18,"id":"24ecdd5a_027594aa","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":13},"in_reply_to":"8a026db2_3ab2c5c0","updated":"2021-01-21 14:13:53.000000000","message":"ok,  no problem","commit_id":"8010b3fc8823674be4e77147b6767725bf0bc69d"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"c9e8d02006a392eb8009d5246f29728cb0d2d6e5","unresolved":true,"context_lines":[{"line_number":1,"context_line":"[Unit]"},{"line_number":2,"context_line":"Description\u003dOctavia Interface Creator"},{"line_number":3,"context_line":"Requires\u003ddocker.service"},{"line_number":4,"context_line":"After\u003ddocker.service"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"[Service]"},{"line_number":7,"context_line":"Type\u003doneshot"}],"source_content_type":"text/x-jinja2","patch_set":21,"id":"d6ec8eec_5b7bc176","line":4,"range":{"start_line":3,"start_character":0,"end_line":4,"end_character":20},"updated":"2021-03-05 09:33:37.000000000","message":"we\u0027d probably want to run this service After network.service (network stack up) but before network-online.service","commit_id":"5d3ebc0452d9e473476f1181c4f143e350c3dace"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"b690037277858f35ac113d0ba7f9382e52abe962","unresolved":true,"context_lines":[{"line_number":1,"context_line":"[Unit]"},{"line_number":2,"context_line":"Description\u003dOctavia Interface Creator"},{"line_number":3,"context_line":"Requires\u003ddocker.service"},{"line_number":4,"context_line":"After\u003ddocker.service"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"[Service]"},{"line_number":7,"context_line":"Type\u003doneshot"}],"source_content_type":"text/x-jinja2","patch_set":21,"id":"b37d64e5_486a4f56","line":4,"range":{"start_line":3,"start_character":0,"end_line":4,"end_character":20},"in_reply_to":"95dca418_533459f3","updated":"2021-03-05 10:16:37.000000000","message":"we run this service after docker.service. and docker runs after network-online.target.\nsee docker service:\n[Unit]\nDescription\u003dDocker Application Container Engine\nDocumentation\u003dhttps://docs.docker.com\nAfter\u003dnetwork-online.target firewalld.service containerd.service\nWants\u003dnetwork-online.target\nRequires\u003ddocker.socket containerd.service","commit_id":"5d3ebc0452d9e473476f1181c4f143e350c3dace"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"77b6da006c91925695e66b9399357f0bedc629fe","unresolved":true,"context_lines":[{"line_number":1,"context_line":"[Unit]"},{"line_number":2,"context_line":"Description\u003dOctavia Interface Creator"},{"line_number":3,"context_line":"Requires\u003ddocker.service"},{"line_number":4,"context_line":"After\u003ddocker.service"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"[Service]"},{"line_number":7,"context_line":"Type\u003doneshot"}],"source_content_type":"text/x-jinja2","patch_set":21,"id":"95dca418_533459f3","line":4,"range":{"start_line":3,"start_character":0,"end_line":4,"end_character":20},"in_reply_to":"d6ec8eec_5b7bc176","updated":"2021-03-05 10:07:25.000000000","message":"Is this line: #ExecStartPre\u003d/usr/lib/systemd/systemd-networkd-wait-online --interface\u003dbr-int\n?\nbr-int is a ovs bridige, it will always in a down state.so we remove this line.","commit_id":"5d3ebc0452d9e473476f1181c4f143e350c3dace"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"c9e8d02006a392eb8009d5246f29728cb0d2d6e5","unresolved":true,"context_lines":[{"line_number":6,"context_line":"[Service]"},{"line_number":7,"context_line":"Type\u003doneshot"},{"line_number":8,"context_line":"RemainAfterExit\u003dtrue"},{"line_number":9,"context_line":"ExecStartPre\u003d/usr/bin/sudo /sbin/ip link set dev {{ octavia_network_interface }} address {{ port_info.port.mac_address }}"},{"line_number":10,"context_line":"ExecStart\u003d/usr/bin/sudo /sbin/dhclient -v {{ octavia_network_interface }} -cf /etc/dhcp/octavia-dhclient.conf"},{"line_number":11,"context_line":"ExecStop\u003d/usr/bin/sudo /sbin/dhclient -r {{ octavia_network_interface }}"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":21,"id":"69a2b885_1caf4285","line":9,"range":{"start_line":9,"start_character":13,"end_line":9,"end_character":26},"updated":"2021-03-05 09:33:37.000000000","message":"use User\u003d and Group\u003d instead of sudo?","commit_id":"5d3ebc0452d9e473476f1181c4f143e350c3dace"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"77b6da006c91925695e66b9399357f0bedc629fe","unresolved":true,"context_lines":[{"line_number":6,"context_line":"[Service]"},{"line_number":7,"context_line":"Type\u003doneshot"},{"line_number":8,"context_line":"RemainAfterExit\u003dtrue"},{"line_number":9,"context_line":"ExecStartPre\u003d/usr/bin/sudo /sbin/ip link set dev {{ octavia_network_interface }} address {{ port_info.port.mac_address }}"},{"line_number":10,"context_line":"ExecStart\u003d/usr/bin/sudo /sbin/dhclient -v {{ octavia_network_interface }} -cf /etc/dhcp/octavia-dhclient.conf"},{"line_number":11,"context_line":"ExecStop\u003d/usr/bin/sudo /sbin/dhclient -r {{ octavia_network_interface }}"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":21,"id":"9ce076e7_5d76b346","line":9,"range":{"start_line":9,"start_character":13,"end_line":9,"end_character":26},"in_reply_to":"69a2b885_1caf4285","updated":"2021-03-05 10:07:25.000000000","message":"User\u003droot and Group\u003droot ? i don\u0027t test this way in my environment. but this way seems more graceful. i will test it later.","commit_id":"5d3ebc0452d9e473476f1181c4f143e350c3dace"}],"ansible/roles/octavia/templates/octavia.conf.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"342bc694a8333382597d725946c6552beb952dae","unresolved":true,"context_lines":[{"line_number":88,"context_line":"{% else %}"},{"line_number":89,"context_line":"amp_image_owner_id \u003d {{ project_info.openstack_projects.0.id }}"},{"line_number":90,"context_line":"amp_boot_network_list \u003d {{ network_info.id }}"},{"line_number":91,"context_line":"amp_secgroup_list \u003d {{ (sec_grp_info.results | selectattr(\u0027item.name\u0027, \u0027equalto\u0027, octavia_amp_security_groups[\u0027mgmt-sec-grp\u0027].name) | list).0.secgroup.id }}"},{"line_number":92,"context_line":"amp_flavor_id \u003d {{ amphora_flavor_info.id }}"},{"line_number":93,"context_line":"{% endif %}"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"595a11fb_2eb6c8a9","line":91,"range":{"start_line":91,"start_character":59,"end_line":91,"end_character":63},"updated":"2021-03-01 09:59:15.000000000","message":"Why is this part changed?","commit_id":"9de196c56d3fa3656442fc8e4d0caafdc5c68a29"},{"author":{"_account_id":26285,"name":"wu.chunyang","email":"wchy1001@gmail.com","username":"wu.chunyang"},"change_message_id":"1a14f71a3223dfa4f9f9d1fbe6ad29987f9d6673","unresolved":true,"context_lines":[{"line_number":88,"context_line":"{% else %}"},{"line_number":89,"context_line":"amp_image_owner_id \u003d {{ project_info.openstack_projects.0.id }}"},{"line_number":90,"context_line":"amp_boot_network_list \u003d {{ network_info.id }}"},{"line_number":91,"context_line":"amp_secgroup_list \u003d {{ (sec_grp_info.results | selectattr(\u0027item.name\u0027, \u0027equalto\u0027, octavia_amp_security_groups[\u0027mgmt-sec-grp\u0027].name) | list).0.secgroup.id }}"},{"line_number":92,"context_line":"amp_flavor_id \u003d {{ amphora_flavor_info.id }}"},{"line_number":93,"context_line":"{% endif %}"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"c7968dc0_158836a4","line":91,"range":{"start_line":91,"start_character":59,"end_line":91,"end_character":63},"in_reply_to":"595a11fb_2eb6c8a9","updated":"2021-03-01 10:22:02.000000000","message":"we add a new security group (used for o-hm0 port )to register, but when we skip to register the sec group, ansible can not get the vaule of secgroup.name. secgroup.name only used for those registerd sec groups.  item.name can always get the security group name. even if it is skipped.\notherwise. ansible-playbook will stop work.","commit_id":"9de196c56d3fa3656442fc8e4d0caafdc5c68a29"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"812bcf36d6b12488c45062c493110b9e2cd7229e","unresolved":true,"context_lines":[{"line_number":88,"context_line":"{% else %}"},{"line_number":89,"context_line":"amp_image_owner_id \u003d {{ project_info.openstack_projects.0.id }}"},{"line_number":90,"context_line":"amp_boot_network_list \u003d {{ network_info.id }}"},{"line_number":91,"context_line":"amp_secgroup_list \u003d {{ (sec_grp_info.results | selectattr(\u0027item.name\u0027, \u0027equalto\u0027, octavia_amp_security_groups[\u0027mgmt-sec-grp\u0027].name) | list).0.secgroup.id }}"},{"line_number":92,"context_line":"amp_flavor_id \u003d {{ amphora_flavor_info.id }}"},{"line_number":93,"context_line":"{% endif %}"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"c853d914_143ba96e","line":91,"range":{"start_line":91,"start_character":59,"end_line":91,"end_character":63},"in_reply_to":"c7968dc0_158836a4","updated":"2021-03-01 10:26:54.000000000","message":"Makes sense, thanks","commit_id":"9de196c56d3fa3656442fc8e4d0caafdc5c68a29"}]}
