)]}'
{"ansible/roles/ovn/tasks/bootstrap.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"1adb213bac4770d5e9de4fa9bcc602944e704783","unresolved":false,"context_lines":[{"line_number":9,"context_line":"      state: present"},{"line_number":10,"context_line":"      fail_mode: secure"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- name: Set OVN encapsulation settings"},{"line_number":13,"context_line":"  become: true"},{"line_number":14,"context_line":"  kolla_toolbox:"},{"line_number":15,"context_line":"    user: root"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"1f621f24_de0db5e8","line":12,"updated":"2020-11-16 11:11:44.000000000","message":"Given that these tasks run on every host, it might be nice to collapse them into one, and reduce a list of key/values down to those that are required.","commit_id":"29addc77809c4ffbd9f0277e9493c9b7ef8326ca"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"dd9e6c2f44814753e6d4a098318919043f301936","unresolved":false,"context_lines":[{"line_number":9,"context_line":"      state: present"},{"line_number":10,"context_line":"      fail_mode: secure"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- name: Set OVN encapsulation settings"},{"line_number":13,"context_line":"  become: true"},{"line_number":14,"context_line":"  kolla_toolbox:"},{"line_number":15,"context_line":"    user: root"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"1f621f24_fef511cc","line":12,"in_reply_to":"1f621f24_de0db5e8","updated":"2020-11-16 11:13:13.000000000","message":"Could be a follow up. I\u0027m just concerned about performance, now that we have expanded one of these tasks into a 4 item loop.","commit_id":"29addc77809c4ffbd9f0277e9493c9b7ef8326ca"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f1157435ad394514b9fab7bf1306b092efc53c35","unresolved":false,"context_lines":[{"line_number":47,"context_line":"- name: Enable chassis as gateway"},{"line_number":48,"context_line":"  become: true"},{"line_number":49,"context_line":"  vars:"},{"line_number":50,"context_line":"    ovn_gw: \"{{ \u0027enable-chassis-as-gw\u0027 if inventory_hostname in groups[\u0027ovn-controller-network\u0027] else \u0027\u0027 }}\""},{"line_number":51,"context_line":"  kolla_toolbox:"},{"line_number":52,"context_line":"    user: root"},{"line_number":53,"context_line":"    module_name: openvswitch_db"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"1f621f24_becd59b8","line":50,"range":{"start_line":50,"start_character":16,"end_line":50,"end_character":104},"updated":"2020-11-16 11:10:24.000000000","message":"Should we backport this part?","commit_id":"29addc77809c4ffbd9f0277e9493c9b7ef8326ca"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"a1ba0678b38cc24f9d32ce920c85e0fa51e424c6","unresolved":true,"context_lines":[{"line_number":12,"context_line":"- name: Configure OVN in OVSDB"},{"line_number":13,"context_line":"  vars:"},{"line_number":14,"context_line":"    ovn_mappings: \"{% for bridge in neutron_bridge_name.split(\u0027,\u0027) %}physnet{{ loop.index0 + 1 }}:{{ bridge }}{% if not loop.last %},{% endif %}{% endfor %}\""},{"line_number":15,"context_line":"    ovn_cms_opts: \"{{ \u0027enable-chassis-as-gw\u0027 if inventory_hostname in groups[\u0027ovn-controller-network\u0027] else \u0027\u0027 }}\""},{"line_number":16,"context_line":"  become: true"},{"line_number":17,"context_line":"  kolla_toolbox:"},{"line_number":18,"context_line":"    user: root"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"7cdf21d4_8af466b7","line":15,"updated":"2021-02-25 13:57:30.000000000","message":"Hopefully setting to empty is the same as removing.","commit_id":"f7e0e50a45047648d10bb73e6a2722132825e8dd"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"93a0acb1c98ae254f88fa9e4e2faa8009ecf8024","unresolved":true,"context_lines":[{"line_number":12,"context_line":"- name: Configure OVN in OVSDB"},{"line_number":13,"context_line":"  vars:"},{"line_number":14,"context_line":"    ovn_mappings: \"{% for bridge in neutron_bridge_name.split(\u0027,\u0027) %}physnet{{ loop.index0 + 1 }}:{{ bridge }}{% if not loop.last %},{% endif %}{% endfor %}\""},{"line_number":15,"context_line":"    ovn_cms_opts: \"{{ \u0027enable-chassis-as-gw\u0027 if inventory_hostname in groups[\u0027ovn-controller-network\u0027] else \u0027\u0027 }}\""},{"line_number":16,"context_line":"  become: true"},{"line_number":17,"context_line":"  kolla_toolbox:"},{"line_number":18,"context_line":"    user: root"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"e94db030_a734d54d","line":15,"in_reply_to":"7cdf21d4_8af466b7","updated":"2021-03-09 17:03:13.000000000","message":"Not removing, ovn-cms-options is a string with options delimited by , - if it\u0027s empty, then there are no additional options (and it\u0027s in the default schema). It might lead to an issue if somebody sets it to some user defined value - it will be overridden here.","commit_id":"f7e0e50a45047648d10bb73e6a2722132825e8dd"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"a1ba0678b38cc24f9d32ce920c85e0fa51e424c6","unresolved":true,"context_lines":[{"line_number":28,"context_line":"    - { name: ovn-encap-type, value: geneve }"},{"line_number":29,"context_line":"    - { name: ovn-remote, value: \"{{ ovn_sb_connection }}\" }"},{"line_number":30,"context_line":"    - { name: ovn-remote-probe-interval, value: \"{{ ovn_remote_probe_interval }}\" }"},{"line_number":31,"context_line":"    - { name: ovn-bridge-mappings, value: \"{{ ovn_mappings }}\" }"},{"line_number":32,"context_line":"    - { name: ovn-cms-options, value: \"{{ ovn_cms_opts }}\" }"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"88a63e15_27a72510","line":31,"updated":"2021-02-25 13:57:30.000000000","message":"Previously this was only done in this case:\n\n  when:\n    - inventory_hostname in groups[\"ovn-controller-network\"]\n      or (inventory_hostname in groups[\"ovn-controller-compute\"] and computes_need_external_bridge | bool)\n\nGiven the new conditions on the import, this could be reduced to:\n\ninventory_hostname in groups[\"ovn-controller-network\"] or computes_need_external_bridge | bool","commit_id":"f7e0e50a45047648d10bb73e6a2722132825e8dd"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"93a0acb1c98ae254f88fa9e4e2faa8009ecf8024","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    - { name: ovn-encap-type, value: geneve }"},{"line_number":29,"context_line":"    - { name: ovn-remote, value: \"{{ ovn_sb_connection }}\" }"},{"line_number":30,"context_line":"    - { name: ovn-remote-probe-interval, value: \"{{ ovn_remote_probe_interval }}\" }"},{"line_number":31,"context_line":"    - { name: ovn-bridge-mappings, value: \"{{ ovn_mappings }}\" }"},{"line_number":32,"context_line":"    - { name: ovn-cms-options, value: \"{{ ovn_cms_opts }}\" }"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"00b1e438_33cf4d97","line":31,"in_reply_to":"88a63e15_27a72510","updated":"2021-03-09 17:03:13.000000000","message":"Done","commit_id":"f7e0e50a45047648d10bb73e6a2722132825e8dd"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"e722e8021cca4f7bcbb77ac18892534321936029","unresolved":true,"context_lines":[{"line_number":30,"context_line":"    - { name: ovn-remote-probe-interval, value: \"{{ ovn_remote_probe_interval }}\" }"},{"line_number":31,"context_line":"    - { name: ovn-bridge-mappings, value: \"{{ ovn_mappings }}\" }"},{"line_number":32,"context_line":"    - { name: ovn-cms-options, value: \"{{ ovn_cms_opts }}\" }"},{"line_number":33,"context_line":"  when: inventory_hostname in groups[\"ovn-controller-network\"] or computes_need_external_bridge | bool"}],"source_content_type":"text/x-yaml","patch_set":17,"id":"163f1581_d2356122","line":33,"range":{"start_line":33,"start_character":2,"end_line":33,"end_character":102},"updated":"2021-03-10 09:46:14.000000000","message":"This applies to the whole task. It should only apply to the bridge mappings.\n\nYou could add a \u0027when\u0027 field to each dict.","commit_id":"ae9f9b25cc1a59bc3ddcdae0f2f05a2c0af3f2e3"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"a8467033dc591c03d7f378285a53281d307585bf","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    - { name: ovn-remote-probe-interval, value: \"{{ ovn_remote_probe_interval }}\" }"},{"line_number":31,"context_line":"    - { name: ovn-bridge-mappings, value: \"{{ ovn_mappings }}\" }"},{"line_number":32,"context_line":"    - { name: ovn-cms-options, value: \"{{ ovn_cms_opts }}\" }"},{"line_number":33,"context_line":"  when: inventory_hostname in groups[\"ovn-controller-network\"] or computes_need_external_bridge | bool"}],"source_content_type":"text/x-yaml","patch_set":17,"id":"8ee0f7ef_78d37b6e","line":33,"range":{"start_line":33,"start_character":2,"end_line":33,"end_character":102},"in_reply_to":"163f1581_d2356122","updated":"2021-03-16 15:56:40.000000000","message":"Done","commit_id":"ae9f9b25cc1a59bc3ddcdae0f2f05a2c0af3f2e3"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"3c9da5e6e2b84d25d9d119091d553be9dc8e3893","unresolved":true,"context_lines":[{"line_number":31,"context_line":"    - { name: ovn-remote-probe-interval, value: \"{{ ovn_remote_probe_interval }}\" }"},{"line_number":32,"context_line":"    - { name: ovn-bridge-mappings, value: \"{{ ovn_mappings }}\", when: \"{{ inventory_hostname in groups[\u0027ovn-controller-network\u0027] or computes_need_external_bridge | bool }}\" }"},{"line_number":33,"context_line":"    - { name: ovn-cms-options, value: \"{{ ovn_cms_opts }}\", state: \"{{ \u0027present\u0027 if ovn_cms_opts !\u003d \u0027\u0027 else \u0027absent\u0027 }}\" }"},{"line_number":34,"context_line":"  when: item.when | default(True)"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"574003cd_86f9af9e","line":34,"range":{"start_line":34,"start_character":8,"end_line":34,"end_character":33},"updated":"2021-03-18 11:54:43.000000000","message":"Are you sure it doesn\u0027t need | bool here?","commit_id":"7621566b6bff0932f5d13fff31ca0d0e672269d7"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"5534e807f6465a5a3e19fc3b7de2b85692691e53","unresolved":true,"context_lines":[{"line_number":31,"context_line":"    - { name: ovn-remote-probe-interval, value: \"{{ ovn_remote_probe_interval }}\" }"},{"line_number":32,"context_line":"    - { name: ovn-bridge-mappings, value: \"{{ ovn_mappings }}\", when: \"{{ inventory_hostname in groups[\u0027ovn-controller-network\u0027] or computes_need_external_bridge | bool }}\" }"},{"line_number":33,"context_line":"    - { name: ovn-cms-options, value: \"{{ ovn_cms_opts }}\", state: \"{{ \u0027present\u0027 if ovn_cms_opts !\u003d \u0027\u0027 else \u0027absent\u0027 }}\" }"},{"line_number":34,"context_line":"  when: item.when | default(True)"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"11ee4905_6c3a8d28","line":34,"range":{"start_line":34,"start_character":8,"end_line":34,"end_character":33},"in_reply_to":"574003cd_86f9af9e","updated":"2021-03-18 12:35:19.000000000","message":"No (works fine), but actually I will rework when: into state: - because with when: it will just skip and with state: it will clear it out on unwanted hosts after some configuration changes.","commit_id":"7621566b6bff0932f5d13fff31ca0d0e672269d7"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"30078a0201c301cc665010cf313db91ddd9f12e8","unresolved":true,"context_lines":[{"line_number":31,"context_line":"    - { name: ovn-remote-probe-interval, value: \"{{ ovn_remote_probe_interval }}\" }"},{"line_number":32,"context_line":"    - { name: ovn-bridge-mappings, value: \"{{ ovn_mappings if ovn_mappings !\u003d \u0027\u0027 else omit }}\", state: \"{{ \u0027present\u0027 if (inventory_hostname in groups[\u0027ovn-controller-network\u0027] or computes_need_external_bridge | bool) else \u0027absent\u0027 }}\" }"},{"line_number":33,"context_line":"    - { name: ovn-cms-options, value: \"{{ ovn_cms_opts }}\", state: \"{{ \u0027present\u0027 if ovn_cms_opts !\u003d \u0027\u0027 else \u0027absent\u0027 }}\" }"},{"line_number":34,"context_line":"  when: item.when | default(True)"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"7d8c0cbd_a6a90eb1","line":34,"range":{"start_line":34,"start_character":2,"end_line":34,"end_character":33},"updated":"2021-03-25 09:18:11.000000000","message":"nit: Not used","commit_id":"b8518a7e31b198c17a4f038825283abf7fe6cb45"}],"ansible/roles/ovn/tasks/deploy.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"a1ba0678b38cc24f9d32ce920c85e0fa51e424c6","unresolved":true,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"- import_tasks: check-containers.yml"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"- import_tasks: bootstrap.yml"},{"line_number":7,"context_line":"  when:"},{"line_number":8,"context_line":"    - inventory_hostname in groups[\u0027ovn-controller\u0027]"},{"line_number":9,"context_line":"    - inventory_hostname in groups[\u0027openvswitch\u0027]"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"90710ef2_a13effc2","line":6,"updated":"2021-02-25 13:57:30.000000000","message":"This is also imported from upgrade.yml, without conditions.\n\nSeparate question: should it be imported from upgrade.yml?","commit_id":"f7e0e50a45047648d10bb73e6a2722132825e8dd"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"93a0acb1c98ae254f88fa9e4e2faa8009ecf8024","unresolved":true,"context_lines":[{"line_number":3,"context_line":""},{"line_number":4,"context_line":"- import_tasks: check-containers.yml"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"- import_tasks: bootstrap.yml"},{"line_number":7,"context_line":"  when:"},{"line_number":8,"context_line":"    - inventory_hostname in groups[\u0027ovn-controller\u0027]"},{"line_number":9,"context_line":"    - inventory_hostname in groups[\u0027openvswitch\u0027]"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"a622bd0d_3afd91e0","line":6,"in_reply_to":"90710ef2_a13effc2","updated":"2021-03-09 17:03:13.000000000","message":"I don\u0027t think so, we already use ovn-ctl script for running the dbs, and they check if schema needs to be upgraded - so that\u0027s enough.","commit_id":"f7e0e50a45047648d10bb73e6a2722132825e8dd"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"a1ba0678b38cc24f9d32ce920c85e0fa51e424c6","unresolved":true,"context_lines":[{"line_number":6,"context_line":"- import_tasks: bootstrap.yml"},{"line_number":7,"context_line":"  when:"},{"line_number":8,"context_line":"    - inventory_hostname in groups[\u0027ovn-controller\u0027]"},{"line_number":9,"context_line":"    - inventory_hostname in groups[\u0027openvswitch\u0027]"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"- name: Flush handlers"},{"line_number":12,"context_line":"  meta: flush_handlers"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"ac77b6ff_a227e213","line":9,"range":{"start_line":9,"start_character":4,"end_line":9,"end_character":49},"updated":"2021-02-25 13:57:30.000000000","message":"I think it\u0027s unnecessary, but shouldn\u0027t hurt.","commit_id":"f7e0e50a45047648d10bb73e6a2722132825e8dd"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"93a0acb1c98ae254f88fa9e4e2faa8009ecf8024","unresolved":true,"context_lines":[{"line_number":6,"context_line":"- import_tasks: bootstrap.yml"},{"line_number":7,"context_line":"  when:"},{"line_number":8,"context_line":"    - inventory_hostname in groups[\u0027ovn-controller\u0027]"},{"line_number":9,"context_line":"    - inventory_hostname in groups[\u0027openvswitch\u0027]"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"- name: Flush handlers"},{"line_number":12,"context_line":"  meta: flush_handlers"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"d63b1756_3b2b1872","line":9,"range":{"start_line":9,"start_character":4,"end_line":9,"end_character":49},"in_reply_to":"ac77b6ff_a227e213","updated":"2021-03-09 17:03:13.000000000","message":"Well right, we shouldn\u0027t have a node in ovn-controller group, if there\u0027s no openvswitch on it.","commit_id":"f7e0e50a45047648d10bb73e6a2722132825e8dd"}]}
