)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"ce089bef13800d9b0379c922d1c4c97e9e134288","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c824feda_bcd8ff78","updated":"2022-06-14 01:28:22.000000000","message":"This is a work in progress. It wont work until we add the openvswitch collection dependency, unless we just want to use shell to do that.\n\nI\u0027m submitting this change so that we can discuss the implementation and adjust course if required.","commit_id":"984a524f4ae224b50a324eadb51c705795f4827d"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"50b429c24d565727c7e550f4742922fff91066cc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1e5fb11e_8bc4f67d","in_reply_to":"c824feda_bcd8ff78","updated":"2022-06-14 05:50:38.000000000","message":"Removed that dependency and just used shell. It\u0027s significantly faster.","commit_id":"984a524f4ae224b50a324eadb51c705795f4827d"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"635ff596264f6adae8c1ab9c1f5dae262dba222c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"67f1d1a9_3b03ac94","updated":"2022-06-14 12:17:12.000000000","message":"recheck","commit_id":"9080289529facdcd72d43e56ca66061ccfb735cd"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"fa503f8b4bfc8b523fd8a63c46ece285d8e81944","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"44abdb80_35962fda","updated":"2022-06-14 19:31:35.000000000","message":"this is looking good, thanks!\ncan we separate the tasks out into a install.yaml, configure.yaml, and run.yaml to match the other roles?","commit_id":"9080289529facdcd72d43e56ca66061ccfb735cd"},{"author":{"_account_id":13861,"name":"yatin","email":"ykarel@redhat.com","username":"yatinkarel"},"change_message_id":"228b73ae3f96c17f5f7664084187a34e3160a0be","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"c365435f_b8db249a","updated":"2022-06-29 15:25:17.000000000","message":"was not able to find where it\u0027s tested.","commit_id":"1fc5d368cde790bd7151464598ec3d0f55daae79"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"bf4d3a31a613197cda385c8307b018f73f7f34e3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"cc33adb4_bf50b3b0","updated":"2022-06-29 23:57:12.000000000","message":"Added support for Multi-rhel containers to this change.","commit_id":"c688bd30c61a5f51bc658bd10cad24e63ffa85be"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"0f4458be5d75d7244e3fd044d8d52ac6b7f86540","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"b837baea_55c0ffa1","updated":"2022-08-01 14:26:47.000000000","message":"recheck","commit_id":"a9e25535d0cd1f1f0070adfc5997ae6a290cc5fe"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"2e11d7cce590dd180ca955d79126ef29b76c1682","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":35,"id":"5a869c0a_67e0e097","updated":"2022-08-18 20:04:59.000000000","message":"nice job, this seems to work for me in terms of getting the ovn_controller container deployed. I\u0027ll include this into the playbooks patch at https://review.opendev.org/c/openstack/tripleo-ansible/+/840509\n\nI do think this has a few things that need to be addressed before it can be merged, please see the inline comments.","commit_id":"9297acf64cdf1c41da3beb135a3aace5c3f45dc5"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"a11846181239dcb19112ad736868849fc35acf13","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":35,"id":"e82be859_454b1146","in_reply_to":"5a869c0a_67e0e097","updated":"2022-08-18 20:12:10.000000000","message":"actually, there are some of those changes needed before I can include it in the playbooks patch, such as moving the configuration tasks that set_fact into configure.yml.","commit_id":"9297acf64cdf1c41da3beb135a3aace5c3f45dc5"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"b104973af9c83121a6a0cf34440f9ad20c3b376b","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":40,"id":"1f0666da_1434a228","updated":"2022-08-19 20:13:37.000000000","message":"thanks, i\u0027ve added this to the playbooks, https://review.opendev.org/c/openstack/tripleo-ansible/+/840509","commit_id":"0f1b39a7fe9491a648a75009380dd768aa1c1c96"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"23e60cfee894fe7ae9ce3099bff7397953f770fa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":45,"id":"562e3e14_87397537","updated":"2022-09-20 04:41:38.000000000","message":"Latest patchset is to accomodate the shift in direction for multi-rhel.","commit_id":"22466d306684bc332e095527b1dfeebccf6f357d"},{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"41533fea077064d5e664786f83c014ff58fd6036","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":45,"id":"4f2696ca_76c8fc2a","updated":"2022-10-04 15:31:39.000000000","message":"see note regarding RAFT. I\u0027m fine if this is something we want to sort out in a followup.","commit_id":"22466d306684bc332e095527b1dfeebccf6f357d"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"4e4de82148e1659b6fddc851fb4d76b707c37aca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":51,"id":"6e0ee62e_e7892955","updated":"2022-10-06 06:45:34.000000000","message":"Molecule will be an interesting one here. Since all we\u0027re doing is adding stuff to OVS, we require OVS to be running. But afaik, we can\u0027t do that with Podman.","commit_id":"aaa4a95d5c67416ad34418dd45f9e4289807a623"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"aa8a5fe098545ca667f3430d936bcdf3ab6a439f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":51,"id":"eee572ba_26ae9739","in_reply_to":"4f7a5a87_f8c22654","updated":"2022-10-06 13:46:01.000000000","message":"An example of using the delegated driver: https://opendev.org/openstack/tripleo-ansible/src/branch/master/tripleo_ansible/roles/tripleo_transfer/molecule/default\n\nSee the git history for the changes which switched from podman-based to delegated. It\u0027s in recent git history, and I\u0027m the author.","commit_id":"aaa4a95d5c67416ad34418dd45f9e4289807a623"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"cf9f3f8f8f40a8907cbd86132aa65ee3b9a6b646","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":51,"id":"4f7a5a87_f8c22654","in_reply_to":"6e0ee62e_e7892955","updated":"2022-10-06 08:38:05.000000000","message":"It is possible to run molecule against the host using the delegated driver. This requires the host to be disposable, or the molecule sequence to clean up after itself. This may be useful for a case like this.\n\nAlternatively, we *do* actually do openvswitch inside a container. It\u0027s just not used by TripleO. It is provided for other use-cases. It likely needs to be a privileged container.","commit_id":"aaa4a95d5c67416ad34418dd45f9e4289807a623"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"24d3676fafe10c5c4db464bc7191c4859144b8bd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":79,"id":"1bc4cee1_f5b25040","updated":"2022-10-25 01:59:53.000000000","message":"Passed the molecule test at least:\nhttps://zuul.opendev.org/t/openstack/build/f44ef134d5424356ad32b1283c5236b5","commit_id":"418962e6c1f42e70312dd04fed37bbda8889c96c"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"7b3eb5a8f051c7fa580d6730f22abd753b8d39c3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":80,"id":"a39bbd07_0a0ec8bb","updated":"2022-10-25 00:13:58.000000000","message":"with PS80, the molecule test is passing locally for me, let\u0027s see if CI is happy.\n\n","commit_id":"7a64ce5e878e9ebbc6e24df17d766b56dc1178a5"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"fa3da9be959a27f064b60f800723f6c9cb2c4ca9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":80,"id":"456c3c2f_e3d495b5","in_reply_to":"a39bbd07_0a0ec8bb","updated":"2022-10-25 01:58:48.000000000","message":"Nice. I just got it working locally as well with a different approach. I didn\u0027t mount in the cgroups or add a Dockerfile, etc. I copied the exact prepare file:\nhttps://github.com/openstack/tripleo-ansible/blob/master/tripleo_ansible/roles/tripleo_ovs_dpdk/molecule/default/prepare.yml\n\nUsing the `hosts: all:localhost` again and it works. \n\nHopefully this one works. If it does, I think we go ahead and merge this and we can tweak it as required later. You already mentioned you would rather not use hosts: all:localhost so maybe this is the only way without doing that.","commit_id":"7a64ce5e878e9ebbc6e24df17d766b56dc1178a5"}],"doc/source/roles/role-tripleo_ovn.rst":[{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"ec8bd497efbdab6a61393fd222ebb37ce0aa674e","unresolved":true,"context_lines":[{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":".. ansibleautoplugin::"},{"line_number":6,"context_line":"  :role: tripleo_ansible/roles/tripleo_ovn"}],"source_content_type":"text/x-rst","patch_set":54,"id":"4da521af_d1d231fb","line":6,"updated":"2022-10-12 21:14:40.000000000","message":"i guess this needs a newline to make the linter happy","commit_id":"d676581b5d58eb3fbb7c4032fa8bd581d23a87b4"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"eac4b2c2c1bd99a21419a9fc2a9276b854b3e28a","unresolved":false,"context_lines":[{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":".. ansibleautoplugin::"},{"line_number":6,"context_line":"  :role: tripleo_ansible/roles/tripleo_ovn"}],"source_content_type":"text/x-rst","patch_set":54,"id":"309330dc_72bcc5de","line":6,"in_reply_to":"4da521af_d1d231fb","updated":"2022-10-12 22:53:16.000000000","message":"Ack","commit_id":"d676581b5d58eb3fbb7c4032fa8bd581d23a87b4"}],"tripleo_ansible/roles/tripleo_ovn/defaults/main.yml":[{"author":{"_account_id":32114,"name":"Lewis Denny","email":"ldenny@redhat.com","username":"ldenny"},"change_message_id":"5931d31d7878288c986367a5250151427816a3f1","unresolved":true,"context_lines":[{"line_number":4,"context_line":"tripleo_ovn_bridge_mappings: \"datacentre:br-ex\""},{"line_number":5,"context_line":"tripleo_ovn_encap_type: geneve"},{"line_number":6,"context_line":"tripleo_ovn_dbs_vip: \"\""},{"line_number":7,"context_line":"tripleo_enable_dvr: False"},{"line_number":8,"context_line":"tripleo_enable_hw_offload: False"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"tripleo_ovn_controller_common_volumes:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"e832a8dd_dc42ded4","line":7,"updated":"2022-06-15 03:02:52.000000000","message":"We may want to leave this to THT to enable but maybe we want this to be True: https://review.opendev.org/c/openstack/tripleo-heat-templates/+/837898","commit_id":"fc2d6fe045d4203b14a251e84899236874f50cc6"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"db6e7c14e02a6ff16cc88865ac37dba6f8aa6f02","unresolved":false,"context_lines":[{"line_number":4,"context_line":"tripleo_ovn_bridge_mappings: \"datacentre:br-ex\""},{"line_number":5,"context_line":"tripleo_ovn_encap_type: geneve"},{"line_number":6,"context_line":"tripleo_ovn_dbs_vip: \"\""},{"line_number":7,"context_line":"tripleo_enable_dvr: False"},{"line_number":8,"context_line":"tripleo_enable_hw_offload: False"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"tripleo_ovn_controller_common_volumes:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"cdf97513_635b9af5","line":7,"in_reply_to":"e832a8dd_dc42ded4","updated":"2022-06-15 03:45:46.000000000","message":"Done","commit_id":"fc2d6fe045d4203b14a251e84899236874f50cc6"},{"author":{"_account_id":13861,"name":"yatin","email":"ykarel@redhat.com","username":"yatinkarel"},"change_message_id":"228b73ae3f96c17f5f7664084187a34e3160a0be","unresolved":true,"context_lines":[{"line_number":10,"context_line":"tripleo_ovn_controller_common_volumes:"},{"line_number":11,"context_line":"  - /lib/modules:/lib/modules:ro"},{"line_number":12,"context_line":"  - /run:/run"},{"line_number":13,"context_line":"  - /var/lib/openvswitch/ovn:/run/ovn:shared:z"},{"line_number":14,"context_line":"  - /var/log/containers/openvswitch:/var/log/openvswitch:z"},{"line_number":15,"context_line":"  - /var/log/containers/openvswitch:/var/log/ovn:z"},{"line_number":16,"context_line":"  - /etc/pki/tls/certs/:/etc/pki/tls/certs/"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"9ac543ab_a134336d","line":13,"range":{"start_line":13,"start_character":38,"end_line":13,"end_character":46},"updated":"2022-06-29 15:25:17.000000000","message":"shared,z ?","commit_id":"1fc5d368cde790bd7151464598ec3d0f55daae79"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"2253c29d89ce36c2a268ebdeb86213c87a79a144","unresolved":false,"context_lines":[{"line_number":10,"context_line":"tripleo_ovn_controller_common_volumes:"},{"line_number":11,"context_line":"  - /lib/modules:/lib/modules:ro"},{"line_number":12,"context_line":"  - /run:/run"},{"line_number":13,"context_line":"  - /var/lib/openvswitch/ovn:/run/ovn:shared:z"},{"line_number":14,"context_line":"  - /var/log/containers/openvswitch:/var/log/openvswitch:z"},{"line_number":15,"context_line":"  - /var/log/containers/openvswitch:/var/log/ovn:z"},{"line_number":16,"context_line":"  - /etc/pki/tls/certs/:/etc/pki/tls/certs/"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"2267fbc7_ad0d61b2","line":13,"range":{"start_line":13,"start_character":38,"end_line":13,"end_character":46},"in_reply_to":"9ac543ab_a134336d","updated":"2022-06-30 03:34:05.000000000","message":"Done","commit_id":"1fc5d368cde790bd7151464598ec3d0f55daae79"},{"author":{"_account_id":13861,"name":"yatin","email":"ykarel@redhat.com","username":"yatinkarel"},"change_message_id":"228b73ae3f96c17f5f7664084187a34e3160a0be","unresolved":true,"context_lines":[{"line_number":13,"context_line":"  - /var/lib/openvswitch/ovn:/run/ovn:shared:z"},{"line_number":14,"context_line":"  - /var/log/containers/openvswitch:/var/log/openvswitch:z"},{"line_number":15,"context_line":"  - /var/log/containers/openvswitch:/var/log/ovn:z"},{"line_number":16,"context_line":"  - /etc/pki/tls/certs/:/etc/pki/tls/certs/"},{"line_number":17,"context_line":"  - /etc/pki/tls/private/:/etc/pki/tls/private/"},{"line_number":18,"context_line":"  - /var/lib/kolla/config_files/ovn_controller.json:/var/lib/kolla/config_files/config.json:ro"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"3fb36869_9db0c381","line":17,"range":{"start_line":16,"start_character":0,"end_line":17,"end_character":47},"updated":"2022-06-29 15:25:17.000000000","message":"are these need for non tls deployment too?","commit_id":"1fc5d368cde790bd7151464598ec3d0f55daae79"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"2253c29d89ce36c2a268ebdeb86213c87a79a144","unresolved":false,"context_lines":[{"line_number":13,"context_line":"  - /var/lib/openvswitch/ovn:/run/ovn:shared:z"},{"line_number":14,"context_line":"  - /var/log/containers/openvswitch:/var/log/openvswitch:z"},{"line_number":15,"context_line":"  - /var/log/containers/openvswitch:/var/log/ovn:z"},{"line_number":16,"context_line":"  - /etc/pki/tls/certs/:/etc/pki/tls/certs/"},{"line_number":17,"context_line":"  - /etc/pki/tls/private/:/etc/pki/tls/private/"},{"line_number":18,"context_line":"  - /var/lib/kolla/config_files/ovn_controller.json:/var/lib/kolla/config_files/config.json:ro"}],"source_content_type":"text/x-yaml","patch_set":24,"id":"d77233e5_bd82b207","line":17,"range":{"start_line":16,"start_character":0,"end_line":17,"end_character":47},"in_reply_to":"3fb36869_9db0c381","updated":"2022-06-30 03:34:05.000000000","message":"Done\n\nI moved these to a new variable below. Then combine them while rendering the file.","commit_id":"1fc5d368cde790bd7151464598ec3d0f55daae79"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"796f4500f433ac8e987965049b01a86dba0ded58","unresolved":true,"context_lines":[{"line_number":3,"context_line":"tripleo_ovn_bridge: br-int"},{"line_number":4,"context_line":"tripleo_ovn_bridge_mappings: [\"datacentre:br-ex\"]"},{"line_number":5,"context_line":"tripleo_ovn_encap_type: geneve"},{"line_number":6,"context_line":"tripleo_ovn_dbs_vip: \"{{ ovn_dbs_vip }}\""},{"line_number":7,"context_line":"tripleo_enable_dvr: True"},{"line_number":8,"context_line":"tripleo_enable_hw_offload: False"},{"line_number":9,"context_line":"tripleo_ovn_multi_rhel: False"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"9f5af226_f26bd1f3","line":6,"updated":"2022-08-19 00:25:11.000000000","message":"i get this is trying to use ovn_dbs_vip, which is a var coming out of config-download.\n\ninstead of that pattern, just make tripleo_ovn_dbs_vip the single var, perhaps with a blank default (or a the default vip ip for tripleo, not sure we have one). These roles don\u0027t need to be \"compatible\" with config-download.\n\nWhen we go to update tripleo-heat-templates to use this role, we can update the ovn templates to set tripleo_ovn_dbs_vip as a group var.","commit_id":"9297acf64cdf1c41da3beb135a3aace5c3f45dc5"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"eac006d1299becbe57323dfa412e8c0fba91195d","unresolved":false,"context_lines":[{"line_number":3,"context_line":"tripleo_ovn_bridge: br-int"},{"line_number":4,"context_line":"tripleo_ovn_bridge_mappings: [\"datacentre:br-ex\"]"},{"line_number":5,"context_line":"tripleo_ovn_encap_type: geneve"},{"line_number":6,"context_line":"tripleo_ovn_dbs_vip: \"{{ ovn_dbs_vip }}\""},{"line_number":7,"context_line":"tripleo_enable_dvr: True"},{"line_number":8,"context_line":"tripleo_enable_hw_offload: False"},{"line_number":9,"context_line":"tripleo_ovn_multi_rhel: False"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"236f7911_c9c87a8a","line":6,"in_reply_to":"9f5af226_f26bd1f3","updated":"2022-08-19 02:03:50.000000000","message":"Done","commit_id":"9297acf64cdf1c41da3beb135a3aace5c3f45dc5"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"b104973af9c83121a6a0cf34440f9ad20c3b376b","unresolved":true,"context_lines":[{"line_number":29,"context_line":"  hostname: \"{{ ansible_facts[\u0027fqdn\u0027] }}\""},{"line_number":30,"context_line":"  ovn-bridge: \"{{ tripleo_ovn_bridge }}\""},{"line_number":31,"context_line":"  ovn-bridge-mappings: \"{{ tripleo_ovn_bridge_mappings|join(\u0027, \u0027) }}\""},{"line_number":32,"context_line":"  ovn-encap-ip: \"{{ tenant_ip }}\""},{"line_number":33,"context_line":"  ovn-encap-type: \"{{ tripleo_ovn_encap_type }}\""},{"line_number":34,"context_line":"  ovn-match-northd-version: True"},{"line_number":35,"context_line":"  ovn-monitor-all: True"}],"source_content_type":"text/x-yaml","patch_set":40,"id":"1ff67c7d_074765fc","line":32,"updated":"2022-08-19 20:13:37.000000000","message":"this should likely just be tripleo_ovn_encap_ip","commit_id":"0f1b39a7fe9491a648a75009380dd768aa1c1c96"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"9258d8b51e28a23582373a1d43f2c9140ccda2b9","unresolved":false,"context_lines":[{"line_number":29,"context_line":"  hostname: \"{{ ansible_facts[\u0027fqdn\u0027] }}\""},{"line_number":30,"context_line":"  ovn-bridge: \"{{ tripleo_ovn_bridge }}\""},{"line_number":31,"context_line":"  ovn-bridge-mappings: \"{{ tripleo_ovn_bridge_mappings|join(\u0027, \u0027) }}\""},{"line_number":32,"context_line":"  ovn-encap-ip: \"{{ tenant_ip }}\""},{"line_number":33,"context_line":"  ovn-encap-type: \"{{ tripleo_ovn_encap_type }}\""},{"line_number":34,"context_line":"  ovn-match-northd-version: True"},{"line_number":35,"context_line":"  ovn-monitor-all: True"}],"source_content_type":"text/x-yaml","patch_set":40,"id":"3c7f11d6_e7d8111f","line":32,"in_reply_to":"1ff67c7d_074765fc","updated":"2022-08-24 02:25:03.000000000","message":"Done","commit_id":"0f1b39a7fe9491a648a75009380dd768aa1c1c96"},{"author":{"_account_id":33080,"name":"Mikolaj Ciecierski","display_name":"Mikolaj Ciecierski","email":"mciecier@redhat.com","username":"mciecierski"},"change_message_id":"2d13911e6a13cc5939f4f34e19fb61930a4b9956","unresolved":true,"context_lines":[{"line_number":3,"context_line":"tripleo_ovn_bridge: br-int"},{"line_number":4,"context_line":"tripleo_ovn_bridge_mappings: [\"datacentre:br-ex\"]"},{"line_number":5,"context_line":"tripleo_ovn_encap_type: geneve"},{"line_number":6,"context_line":"tripleo_ovn_dbs_vip: \"\""},{"line_number":7,"context_line":"tripleo_enable_dvr: True"},{"line_number":8,"context_line":"tripleo_enable_hw_offload: False"},{"line_number":9,"context_line":"tripleo_ovn_multi_rhel: False"}],"source_content_type":"text/x-yaml","patch_set":44,"id":"e19d7124_05cfcb0f","line":6,"updated":"2022-09-19 10:12:53.000000000","message":"Where does value of this variable come from? \nShould be defined in  inventory before running ansible-playbook or maybe we can generate it with use of https://review.opendev.org/c/openstack/tripleo-ansible/+/840509/41/scripts/tripleo-standalone-vars#2","commit_id":"303765537351ab334cbaac38fcced5233638781a"},{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"41533fea077064d5e664786f83c014ff58fd6036","unresolved":true,"context_lines":[{"line_number":3,"context_line":"tripleo_ovn_bridge: br-int"},{"line_number":4,"context_line":"tripleo_ovn_bridge_mappings: [\"datacentre:br-ex\"]"},{"line_number":5,"context_line":"tripleo_ovn_encap_type: geneve"},{"line_number":6,"context_line":"tripleo_ovn_dbs_vip: \"\""},{"line_number":7,"context_line":"tripleo_enable_dvr: True"},{"line_number":8,"context_line":"tripleo_enable_hw_offload: False"},{"line_number":9,"context_line":"tripleo_ovn_multi_rhel: False"}],"source_content_type":"text/x-yaml","patch_set":44,"id":"f5db0eab_6bf85b38","line":6,"in_reply_to":"7ba25749_11c18e6c","updated":"2022-10-04 15:31:39.000000000","message":"Just a heads up that OVN now uses RAFT for ft instead of a pacemaker/vip thing (see https://review.opendev.org/c/openstack/puppet-tripleo/+/795155)  so I think we should be looking at a list of values here. IIUC non-RAFT deployments are deprecated and also no longer the default option.","commit_id":"303765537351ab334cbaac38fcced5233638781a"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"23e60cfee894fe7ae9ce3099bff7397953f770fa","unresolved":true,"context_lines":[{"line_number":3,"context_line":"tripleo_ovn_bridge: br-int"},{"line_number":4,"context_line":"tripleo_ovn_bridge_mappings: [\"datacentre:br-ex\"]"},{"line_number":5,"context_line":"tripleo_ovn_encap_type: geneve"},{"line_number":6,"context_line":"tripleo_ovn_dbs_vip: \"\""},{"line_number":7,"context_line":"tripleo_enable_dvr: True"},{"line_number":8,"context_line":"tripleo_enable_hw_offload: False"},{"line_number":9,"context_line":"tripleo_ovn_multi_rhel: False"}],"source_content_type":"text/x-yaml","patch_set":44,"id":"f961e8c9_d9070aeb","line":6,"in_reply_to":"e19d7124_05cfcb0f","updated":"2022-09-20 04:41:38.000000000","message":"It will need to be passed in the inventory file. We can\u0027t know this value until the VIPS have been configured. I\u0027m not entirely sure how we plan to handle that side of things in standalone-roles with the podified control plane. My assumption would be that there will be some kind of route or service defined in OCP and we\u0027ll use that.\n\nBut I\u0027m not too sure. To test this, I have just been using a standard tripleo deployment and then calling this role. \n\nAt least from the normal tripleo side of things, once a deployment has been completed you have all of these variables defined.\n\n```\n[heat-admin@overcloud-controller-0 ~]$ sudo ovs-vsctl get open . external_ids\n{hostname\u003dovercloud-controller-0.bne-home.net, ovn-bridge\u003dbr-int, ovn-bridge-mappings\u003d\"datacentre:br-ex\", ovn-chassis-mac-mappings\u003d\"datacentre:fa:16:3e:d9:bc:7c\", ovn-cms-options\u003denable-chassis-as-gw, ovn-encap-ip\u003d\"172.16.0.244\", ovn-encap-type\u003dgeneve, ovn-match-northd-version\u003d\"true\", ovn-monitor-all\u003d\"true\", ovn-openflow-probe-interval\u003d\"60\", ovn-remote\u003d\"tcp:172.16.2.85:6642\", ovn-remote-probe-interval\u003d\"60000\", rundir\u003d\"/var/run/openvswitch\", system-id\u003d\"5c45198d-c4d6-4579-8f9e-2b4c43b538d3\"}\n```","commit_id":"303765537351ab334cbaac38fcced5233638781a"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"858cbf1a843de9b9eb2ee3c10ddb68f56b8ec029","unresolved":true,"context_lines":[{"line_number":3,"context_line":"tripleo_ovn_bridge: br-int"},{"line_number":4,"context_line":"tripleo_ovn_bridge_mappings: [\"datacentre:br-ex\"]"},{"line_number":5,"context_line":"tripleo_ovn_encap_type: geneve"},{"line_number":6,"context_line":"tripleo_ovn_dbs_vip: \"\""},{"line_number":7,"context_line":"tripleo_enable_dvr: True"},{"line_number":8,"context_line":"tripleo_enable_hw_offload: False"},{"line_number":9,"context_line":"tripleo_ovn_multi_rhel: False"}],"source_content_type":"text/x-yaml","patch_set":44,"id":"c0865e74_90cad43c","line":6,"in_reply_to":"f5db0eab_6bf85b38","updated":"2022-10-05 05:01:05.000000000","message":"I changed some of the logic used here now. But ultimately, we end up with this as the result:\n```\nok: [localhost] \u003d\u003e {\n    \"msg\": \"tcp:192.168.1.1:6642,tcp:192.168.1.2:6642,tcp:192.168.1.3:6642\"\n}\n```\n\nWhich I think is fine for ovn-remote when using RAFT. But might be worth having someone from networking confirm.","commit_id":"303765537351ab334cbaac38fcced5233638781a"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"1d92f6056e5c97d73a43b08f7ed8b3bb4fbac52a","unresolved":true,"context_lines":[{"line_number":3,"context_line":"tripleo_ovn_bridge: br-int"},{"line_number":4,"context_line":"tripleo_ovn_bridge_mappings: [\"datacentre:br-ex\"]"},{"line_number":5,"context_line":"tripleo_ovn_encap_type: geneve"},{"line_number":6,"context_line":"tripleo_ovn_dbs_vip: \"\""},{"line_number":7,"context_line":"tripleo_enable_dvr: True"},{"line_number":8,"context_line":"tripleo_enable_hw_offload: False"},{"line_number":9,"context_line":"tripleo_ovn_multi_rhel: False"}],"source_content_type":"text/x-yaml","patch_set":44,"id":"7ba25749_11c18e6c","line":6,"in_reply_to":"f961e8c9_d9070aeb","updated":"2022-09-20 04:56:31.000000000","message":"At least in the latest version of TripleO using the tripleo_ovn_cluster role:\nhttps://github.com/openstack/tripleo-ansible/tree/master/tripleo_ansible/roles/tripleo_ovn_cluster\n\nThis is just using the host networking of the controller (I only have a single Controller in my env) node. So in my environment, we can see 172.16.2.85 is configured on the Controller\u0027s internal_api network:\n\n```\n[root@overcloud-controller-0 ~]# ip -o a s vlan20\n8: vlan20    inet 172.16.2.85/24 brd 172.16.2.255 scope global vlan20\\       valid_lft forever preferred_lft forever\n8: vlan20    inet 172.16.2.135/32 brd 172.16.2.255 scope global vlan20\\       valid_lft forever preferred_lft forever\n8: vlan20    inet 172.16.2.16/32 brd 172.16.2.255 scope global vlan20\\       valid_lft forever preferred_lft forever\n8: vlan20    inet 172.16.2.204/32 brd 172.16.2.255 scope global vlan20\\       valid_lft forever preferred_lft forever\n8: vlan20    inet 172.16.2.165/32 brd 172.16.2.255 scope global vlan20\\       valid_lft forever preferred_lft forever\n8: vlan20    inet6 fe80::1c3c:e9ff:feb4:a213/64 scope link \\       valid_lft forever preferred_lft forever\n```\n\nhttps://github.com/r3d3mpt10n/tripleo-home/blob/main/network_data_v2.yaml#L29-L42","commit_id":"303765537351ab334cbaac38fcced5233638781a"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"05f19d044a07eb6752f8f196a065a6048e671bc8","unresolved":true,"context_lines":[{"line_number":30,"context_line":"# Set external_id data from provided variables"},{"line_number":31,"context_line":"tripleo_ovn_ovs_external_ids:"},{"line_number":32,"context_line":"  hostname: \"{{ ansible_facts[\u0027fqdn\u0027] }}\""},{"line_number":33,"context_line":"  ovn-bridge: \"{{ tripleo_ovn_bridge }}\""},{"line_number":34,"context_line":"  ovn-bridge-mappings: \"{{ tripleo_ovn_bridge_mappings|join(\u0027, \u0027) }}\""},{"line_number":35,"context_line":"  ovn-encap-ip: \"{{ tripleo_ovn_encap_ip }}\""},{"line_number":36,"context_line":"  ovn-encap-type: \"{{ tripleo_ovn_encap_type }}\""}],"source_content_type":"text/x-yaml","patch_set":53,"id":"dd889fad_737d3259","line":33,"range":{"start_line":33,"start_character":2,"end_line":33,"end_character":12},"updated":"2022-10-07 11:39:27.000000000","message":"Do these hyphenated keys need to be quoted?","commit_id":"4d191bc496cc79ef1e494960ea70d2700aedcd48"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"89cf35d71315d78ccab92ef1bfd7fbf47142cbca","unresolved":true,"context_lines":[{"line_number":30,"context_line":"# Set external_id data from provided variables"},{"line_number":31,"context_line":"tripleo_ovn_ovs_external_ids:"},{"line_number":32,"context_line":"  hostname: \"{{ ansible_facts[\u0027fqdn\u0027] }}\""},{"line_number":33,"context_line":"  ovn-bridge: \"{{ tripleo_ovn_bridge }}\""},{"line_number":34,"context_line":"  ovn-bridge-mappings: \"{{ tripleo_ovn_bridge_mappings|join(\u0027, \u0027) }}\""},{"line_number":35,"context_line":"  ovn-encap-ip: \"{{ tripleo_ovn_encap_ip }}\""},{"line_number":36,"context_line":"  ovn-encap-type: \"{{ tripleo_ovn_encap_type }}\""}],"source_content_type":"text/x-yaml","patch_set":53,"id":"5df368dc_e9fb01f0","line":33,"range":{"start_line":33,"start_character":2,"end_line":33,"end_character":12},"in_reply_to":"dd889fad_737d3259","updated":"2022-10-07 12:15:52.000000000","message":"I don\u0027t think so? I haven\u0027t had any issues with them like this, unless you have found something?","commit_id":"4d191bc496cc79ef1e494960ea70d2700aedcd48"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"ebcbf9ec84a5c4506cdb4a1508ef7ff63a40f046","unresolved":true,"context_lines":[{"line_number":37,"context_line":"  ovn-match-northd-version: True"},{"line_number":38,"context_line":"  ovn-monitor-all: True"},{"line_number":39,"context_line":"  ovn-openflow-probe-interval: \"{{ tripleo_ovn_of_probe_interval }}\""},{"line_number":40,"context_line":"  ovn-remote: \"{% set db_addresses \u003d [] %}{% for host in tripleo_ovn_dbs %}{{ db_addresses.append([tripleo_ovn_protocol, host, tripleo_ovn_port] | join(\u0027:\u0027)) }}{% endfor %}{{ db_addresses | join(\u0027,\u0027) }}\""},{"line_number":41,"context_line":"  ovn-remote-probe-interval: \"{{ tripleo_ovn_remote_probe_interval }}\""},{"line_number":42,"context_line":"  rundir: \"/var/run/openvswitch\""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":53,"id":"c893edad_e86341d9","line":40,"updated":"2022-10-07 11:31:49.000000000","message":"this change means we need tripleo_ovn_dbs set in the inventory somewhere. I\u0027ll give it a default value there.","commit_id":"4d191bc496cc79ef1e494960ea70d2700aedcd48"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"eac4b2c2c1bd99a21419a9fc2a9276b854b3e28a","unresolved":true,"context_lines":[{"line_number":37,"context_line":"  ovn-match-northd-version: True"},{"line_number":38,"context_line":"  ovn-monitor-all: True"},{"line_number":39,"context_line":"  ovn-openflow-probe-interval: \"{{ tripleo_ovn_of_probe_interval }}\""},{"line_number":40,"context_line":"  ovn-remote: \"{% set db_addresses \u003d [] %}{% for host in tripleo_ovn_dbs %}{{ db_addresses.append([tripleo_ovn_protocol, host, tripleo_ovn_port] | join(\u0027:\u0027)) }}{% endfor %}{{ db_addresses | join(\u0027,\u0027) }}\""},{"line_number":41,"context_line":"  ovn-remote-probe-interval: \"{{ tripleo_ovn_remote_probe_interval }}\""},{"line_number":42,"context_line":"  rundir: \"/var/run/openvswitch\""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":53,"id":"d07d9091_7afee088","line":40,"in_reply_to":"73a72611_57cc7a54","updated":"2022-10-12 22:53:16.000000000","message":"Yeah, if we have a method to pass in this list of IP\u0027s in the correct format, that would simplify this variable declaration in this role. Depends where we want that logic to exist. I\u0027m easy either way.","commit_id":"4d191bc496cc79ef1e494960ea70d2700aedcd48"},{"author":{"_account_id":33080,"name":"Mikolaj Ciecierski","display_name":"Mikolaj Ciecierski","email":"mciecier@redhat.com","username":"mciecierski"},"change_message_id":"56635abaaf718691ef97b423f3e064230b6afa9c","unresolved":true,"context_lines":[{"line_number":37,"context_line":"  ovn-match-northd-version: True"},{"line_number":38,"context_line":"  ovn-monitor-all: True"},{"line_number":39,"context_line":"  ovn-openflow-probe-interval: \"{{ tripleo_ovn_of_probe_interval }}\""},{"line_number":40,"context_line":"  ovn-remote: \"{% set db_addresses \u003d [] %}{% for host in tripleo_ovn_dbs %}{{ db_addresses.append([tripleo_ovn_protocol, host, tripleo_ovn_port] | join(\u0027:\u0027)) }}{% endfor %}{{ db_addresses | join(\u0027,\u0027) }}\""},{"line_number":41,"context_line":"  ovn-remote-probe-interval: \"{{ tripleo_ovn_remote_probe_interval }}\""},{"line_number":42,"context_line":"  rundir: \"/var/run/openvswitch\""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":53,"id":"73a72611_57cc7a54","line":40,"in_reply_to":"b2dbdc35_365c57fb","updated":"2022-10-10 15:38:30.000000000","message":"I think we can use information from ~/overcloud-deploy/\u003cstack name\u003e/overcloud-export.yaml file to determine IPs as well. It looks like these IPs are save there. \n```\nparameter_defaults:\n AllNodesExtraMapData:\n   ...\n   neutron_plugin_ml2_ovn_node_ips:\n \n```","commit_id":"4d191bc496cc79ef1e494960ea70d2700aedcd48"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"89cf35d71315d78ccab92ef1bfd7fbf47142cbca","unresolved":true,"context_lines":[{"line_number":37,"context_line":"  ovn-match-northd-version: True"},{"line_number":38,"context_line":"  ovn-monitor-all: True"},{"line_number":39,"context_line":"  ovn-openflow-probe-interval: \"{{ tripleo_ovn_of_probe_interval }}\""},{"line_number":40,"context_line":"  ovn-remote: \"{% set db_addresses \u003d [] %}{% for host in tripleo_ovn_dbs %}{{ db_addresses.append([tripleo_ovn_protocol, host, tripleo_ovn_port] | join(\u0027:\u0027)) }}{% endfor %}{{ db_addresses | join(\u0027,\u0027) }}\""},{"line_number":41,"context_line":"  ovn-remote-probe-interval: \"{{ tripleo_ovn_remote_probe_interval }}\""},{"line_number":42,"context_line":"  rundir: \"/var/run/openvswitch\""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":53,"id":"b2dbdc35_365c57fb","line":40,"in_reply_to":"c893edad_e86341d9","updated":"2022-10-07 12:15:52.000000000","message":"We definitely need this value yeah. We could probably determine it from the Controller node IPs though.","commit_id":"4d191bc496cc79ef1e494960ea70d2700aedcd48"},{"author":{"_account_id":33080,"name":"Mikolaj Ciecierski","display_name":"Mikolaj Ciecierski","email":"mciecier@redhat.com","username":"mciecierski"},"change_message_id":"8afeaaa832ff2030c4f57e55e1dcb883e6d38406","unresolved":true,"context_lines":[{"line_number":37,"context_line":"  ovn-match-northd-version: True"},{"line_number":38,"context_line":"  ovn-monitor-all: True"},{"line_number":39,"context_line":"  ovn-openflow-probe-interval: \"{{ tripleo_ovn_of_probe_interval }}\""},{"line_number":40,"context_line":"  ovn-remote: \"{% set db_addresses \u003d [] %}{% for host in tripleo_ovn_dbs %}{{ db_addresses.append([tripleo_ovn_protocol, host, tripleo_ovn_port] | join(\u0027:\u0027)) }}{% endfor %}{{ db_addresses | join(\u0027,\u0027) }}\""},{"line_number":41,"context_line":"  ovn-remote-probe-interval: \"{{ tripleo_ovn_remote_probe_interval }}\""},{"line_number":42,"context_line":"  rundir: \"/var/run/openvswitch\""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":53,"id":"25de273b_c9ac6225","line":40,"in_reply_to":"d07d9091_7afee088","updated":"2022-10-19 07:19:32.000000000","message":"In latest patchset of scripts/tripleo-standalone-vars[1] this list is generated in correct format. IPs are determined from group_vars/overcloud.json file(ovn_dbs_node_ips key), and this file seems to be correct one.\n\n[1]https://review.opendev.org/c/openstack/tripleo-ansible/+/840509/52","commit_id":"4d191bc496cc79ef1e494960ea70d2700aedcd48"},{"author":{"_account_id":33080,"name":"Mikolaj Ciecierski","display_name":"Mikolaj Ciecierski","email":"mciecier@redhat.com","username":"mciecierski"},"change_message_id":"a126d819639cf31f6201d9cb29e67dabe691e443","unresolved":true,"context_lines":[{"line_number":37,"context_line":"  ovn-match-northd-version: True"},{"line_number":38,"context_line":"  ovn-monitor-all: True"},{"line_number":39,"context_line":"  ovn-openflow-probe-interval: \"{{ tripleo_ovn_of_probe_interval }}\""},{"line_number":40,"context_line":"  ovn-remote: \"{% set db_addresses \u003d [] %}{% for host in tripleo_ovn_dbs %}{{ db_addresses.append([tripleo_ovn_protocol, host, tripleo_ovn_sb_server_port] | join(\u0027:\u0027)) }}{% endfor %}{{ db_addresses | join(\u0027,\u0027) }}\""},{"line_number":41,"context_line":"  ovn-remote-probe-interval: \"{{ tripleo_ovn_remote_probe_interval }}\""},{"line_number":42,"context_line":"  rundir: \"/var/run/openvswitch\""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":54,"id":"050210e7_7a1475b6","line":40,"updated":"2022-10-11 17:35:11.000000000","message":"What do you think about simplifying this a bit by introducing this change https://review.opendev.org/c/openstack/tripleo-ansible/+/840509/comments/fddf5d9e_67fde6c9 to tripleo-standalone-vars script?","commit_id":"d676581b5d58eb3fbb7c4032fa8bd581d23a87b4"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"eac4b2c2c1bd99a21419a9fc2a9276b854b3e28a","unresolved":true,"context_lines":[{"line_number":37,"context_line":"  ovn-match-northd-version: True"},{"line_number":38,"context_line":"  ovn-monitor-all: True"},{"line_number":39,"context_line":"  ovn-openflow-probe-interval: \"{{ tripleo_ovn_of_probe_interval }}\""},{"line_number":40,"context_line":"  ovn-remote: \"{% set db_addresses \u003d [] %}{% for host in tripleo_ovn_dbs %}{{ db_addresses.append([tripleo_ovn_protocol, host, tripleo_ovn_sb_server_port] | join(\u0027:\u0027)) }}{% endfor %}{{ db_addresses | join(\u0027,\u0027) }}\""},{"line_number":41,"context_line":"  ovn-remote-probe-interval: \"{{ tripleo_ovn_remote_probe_interval }}\""},{"line_number":42,"context_line":"  rundir: \"/var/run/openvswitch\""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":54,"id":"4c4ca220_c6a15b5d","line":40,"in_reply_to":"050210e7_7a1475b6","updated":"2022-10-12 22:53:16.000000000","message":"I\u0027m all for simplifying it. If we want to completely externalise the creation of the ovn-remote list.","commit_id":"d676581b5d58eb3fbb7c4032fa8bd581d23a87b4"},{"author":{"_account_id":33080,"name":"Mikolaj Ciecierski","display_name":"Mikolaj Ciecierski","email":"mciecier@redhat.com","username":"mciecierski"},"change_message_id":"39e5fc5407c60bd52cfc871afd88adec71dc537b","unresolved":false,"context_lines":[{"line_number":37,"context_line":"  ovn-match-northd-version: True"},{"line_number":38,"context_line":"  ovn-monitor-all: True"},{"line_number":39,"context_line":"  ovn-openflow-probe-interval: \"{{ tripleo_ovn_of_probe_interval }}\""},{"line_number":40,"context_line":"  ovn-remote: \"{% set db_addresses \u003d [] %}{% for host in tripleo_ovn_dbs %}{{ db_addresses.append([tripleo_ovn_protocol, host, tripleo_ovn_sb_server_port] | join(\u0027:\u0027)) }}{% endfor %}{{ db_addresses | join(\u0027,\u0027) }}\""},{"line_number":41,"context_line":"  ovn-remote-probe-interval: \"{{ tripleo_ovn_remote_probe_interval }}\""},{"line_number":42,"context_line":"  rundir: \"/var/run/openvswitch\""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":54,"id":"dbfd1069_faaf7ffb","line":40,"in_reply_to":"4c4ca220_c6a15b5d","updated":"2022-10-19 07:30:37.000000000","message":"After thinking about this a little bit and taking slagle comment  into account, I thought we should get the needed inputs from inventory and leave this logic as it is.","commit_id":"d676581b5d58eb3fbb7c4032fa8bd581d23a87b4"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"aba9475a5e253b1b89305f7538ca82203295f7ed","unresolved":true,"context_lines":[{"line_number":37,"context_line":"  ovn-match-northd-version: True"},{"line_number":38,"context_line":"  ovn-monitor-all: True"},{"line_number":39,"context_line":"  ovn-openflow-probe-interval: \"{{ tripleo_ovn_of_probe_interval }}\""},{"line_number":40,"context_line":"  ovn-remote: \"{% set db_addresses \u003d [] %}{% for host in tripleo_ovn_dbs %}{{ db_addresses.append([tripleo_ovn_protocol, host, tripleo_ovn_port] | join(\u0027:\u0027)) }}{% endfor %}{{ db_addresses | join(\u0027,\u0027) }}\""},{"line_number":41,"context_line":"  ovn-remote-probe-interval: \"{{ tripleo_ovn_remote_probe_interval }}\""},{"line_number":42,"context_line":"  rundir: \"/var/run/openvswitch\""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":55,"id":"3375a1c9_ec62e588","line":40,"range":{"start_line":40,"start_character":127,"end_line":40,"end_character":143},"updated":"2022-10-13 04:24:48.000000000","message":"On All in one deployment\nhttps://logserver.rdoproject.org/47/45547/12/check/tripleo-ci-centos-9-standalone-external-compute-allinone/7b41a56/logs/undercloud/home/zuul/overcloud_compute.log.txt.gz\n```\nTASK [tripleo_ovn : Append CMS options to external_ids] ************************\nfatal: [localhost]: FAILED! \u003d\u003e {\"msg\": \"The task includes an option with an undefined variable. The error was: {\u0027hostname\u0027: \\\"{{ ansible_facts[\u0027fqdn\u0027] }}\\\", \u0027ovn-bridge\u0027: \u0027{{ tripleo_ovn_bridge }}\u0027, \u0027ovn-bridge-mappings\u0027: \\\"{{ tripleo_ovn_bridge_mappings|join(\u0027, \u0027) }}\\\", \u0027ovn-encap-ip\u0027: \u0027{{ tripleo_ovn_encap_ip }}\u0027, \u0027ovn-encap-type\u0027: \u0027{{ tripleo_ovn_encap_type }}\u0027, \u0027ovn-match-northd-version\u0027: True, \u0027ovn-monitor-all\u0027: True, \u0027ovn-openflow-probe-interval\u0027: \u0027{{ tripleo_ovn_of_probe_interval }}\u0027, \u0027ovn-remote\u0027: \\\"{% set db_addresses \u003d [] %}{% for host in tripleo_ovn_dbs %}{{ db_addresses.append([tripleo_ovn_protocol, host, tripleo_ovn_port] | join(\u0027:\u0027)) }}{% endfor %}{{ db_addresses | join(\u0027,\u0027) }}\\\", \u0027ovn-remote-probe-interval\u0027: \u0027{{ tripleo_ovn_remote_probe_interval }}\u0027, \u0027rundir\u0027: \u0027/var/run/openvswitch\u0027}: \u0027tripleo_ovn_port\u0027 is undefined\\n\\nThe error appears to be in \u0027/usr/share/ansible/roles/tripleo_ovn/tasks/configure.yml\u0027: line 24, column 7, but may\\nbe elsewhere in the file depending on the exact syntax problem.\\n\\nThe offending line appears to be:\\n\\n\\n    - name: Append CMS options to external_ids\\n      ^ here\\n\"}\n```\n\nCan we set default value for tripleo_ovn_port ?","commit_id":"8b5f429d730933557014dd24e886f50a1e9988c6"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"9f5f59d03df562194bcc5a392dfd63c37efcd796","unresolved":true,"context_lines":[{"line_number":37,"context_line":"  ovn-match-northd-version: True"},{"line_number":38,"context_line":"  ovn-monitor-all: True"},{"line_number":39,"context_line":"  ovn-openflow-probe-interval: \"{{ tripleo_ovn_of_probe_interval }}\""},{"line_number":40,"context_line":"  ovn-remote: \"{% set db_addresses \u003d [] %}{% for host in tripleo_ovn_dbs %}{{ db_addresses.append([tripleo_ovn_protocol, host, tripleo_ovn_port] | join(\u0027:\u0027)) }}{% endfor %}{{ db_addresses | join(\u0027,\u0027) }}\""},{"line_number":41,"context_line":"  ovn-remote-probe-interval: \"{{ tripleo_ovn_remote_probe_interval }}\""},{"line_number":42,"context_line":"  rundir: \"/var/run/openvswitch\""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":55,"id":"66c11ad1_0c1d55e4","line":40,"range":{"start_line":40,"start_character":127,"end_line":40,"end_character":143},"in_reply_to":"3375a1c9_ec62e588","updated":"2022-10-13 04:46:54.000000000","message":"tripleo_ovn_port got introduced in patch 55.","commit_id":"8b5f429d730933557014dd24e886f50a1e9988c6"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"31082d1bd12649f570d0176b0d58791a24b5aff1","unresolved":false,"context_lines":[{"line_number":37,"context_line":"  ovn-match-northd-version: True"},{"line_number":38,"context_line":"  ovn-monitor-all: True"},{"line_number":39,"context_line":"  ovn-openflow-probe-interval: \"{{ tripleo_ovn_of_probe_interval }}\""},{"line_number":40,"context_line":"  ovn-remote: \"{% set db_addresses \u003d [] %}{% for host in tripleo_ovn_dbs %}{{ db_addresses.append([tripleo_ovn_protocol, host, tripleo_ovn_port] | join(\u0027:\u0027)) }}{% endfor %}{{ db_addresses | join(\u0027,\u0027) }}\""},{"line_number":41,"context_line":"  ovn-remote-probe-interval: \"{{ tripleo_ovn_remote_probe_interval }}\""},{"line_number":42,"context_line":"  rundir: \"/var/run/openvswitch\""},{"line_number":43,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":55,"id":"70ccebea_cf73745a","line":40,"range":{"start_line":40,"start_character":127,"end_line":40,"end_character":143},"in_reply_to":"66c11ad1_0c1d55e4","updated":"2022-10-13 05:04:35.000000000","message":"Fixed this. Should have been `tripleo_ovn_sb_server_port`","commit_id":"8b5f429d730933557014dd24e886f50a1e9988c6"}],"tripleo_ansible/roles/tripleo_ovn/files/ovn_controller.yaml.j2":[{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"4a51fb916dd720a25d64313fd22b99a10774b290","unresolved":true,"context_lines":[{"line_number":1,"context_line":"command: /usr/bin/ovn-controller --pidfile --log-file unix:/run/openvswitch/db.sock"},{"line_number":2,"context_line":"permissions:"},{"line_number":3,"context_line":"  - path: /var/log/openvswitch"},{"line_number":4,"context_line":"    owner: root:root"}],"source_content_type":"text/x-jinja2","patch_set":18,"id":"7bda0338_f95cb3fa","line":1,"updated":"2022-06-15 03:48:41.000000000","message":"This command will need to have support for the TLS certs when internal TLS is enabled as well:\n\nWhen running with Internal TLS enabled. We need to append:\n```\n-p /etc/pki/tls/private/ovn_controller.key -c /etc/pki/tls/certs/ovn_controller.crt -C {{ tripleo_internal_tls_ca_file }}\n```","commit_id":"5983fdf17e9b8f8a40c69e3511849bb90103484f"}],"tripleo_ansible/roles/tripleo_ovn/molecule/default/cleanup.yml":[{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"d0ca82d4ce11bb82035ba23532c40948343c2fce","unresolved":true,"context_lines":[{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: Cleanup"},{"line_number":18,"context_line":"  hosts: localhost"},{"line_number":19,"context_line":"  connection: local"},{"line_number":20,"context_line":"  gather_facts: false"},{"line_number":21,"context_line":"  any_errors_fatal: true"}],"source_content_type":"text/x-yaml","patch_set":75,"id":"fabc0449_f8182ff5","line":18,"updated":"2022-10-20 19:43:00.000000000","message":"Using localhost here makes running this molecule test locally a bit unfriendly, especially if you started with openvswitch already installed, this test would uninstall it.\n\nI have the same problem with the tripleo_compute_node test. I wonder if we just document that openvswitch should be installed with the kernel module loaded as a requirement, and then have an ansible task check that, and fail if the requirement isn\u0027t met.\n\nWe could then add the package install and module load in one of the zuul pre playbooks, so that actual localhost modification by the test is limited to CI only. What do you think?","commit_id":"5f89d92e43a2d9a1396a6850bcc11894b5393651"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"4ec4be055e892859b1a18953bbe2056df5f5afe7","unresolved":true,"context_lines":[{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: Cleanup"},{"line_number":18,"context_line":"  hosts: localhost"},{"line_number":19,"context_line":"  connection: local"},{"line_number":20,"context_line":"  gather_facts: false"},{"line_number":21,"context_line":"  any_errors_fatal: true"}],"source_content_type":"text/x-yaml","patch_set":75,"id":"66723c18_ec4b2ff7","line":18,"in_reply_to":"fabc0449_f8182ff5","updated":"2022-10-23 01:25:36.000000000","message":"If we could do it entirely within the container, we might not need cleanup at all. I was trying to use the delegated molecule tests which is where all the localhost stuff comes from:\nhttps://review.opendev.org/c/openstack/tripleo-ansible/+/845653/70..75/tripleo_ansible/roles/tripleo_ovn/molecule/default/molecule.yml\n\nBut, I noticed that this role isn\u0027t doing that and they have similar requirements for setting OVS DB properties:\nhttps://github.com/openstack/tripleo-ansible/blob/master/tripleo_ansible/roles/tripleo_ovs_dpdk/tasks/main.yml\n\nSo I was trying to do something similar to what that one is doing:\nhttps://github.com/openstack/tripleo-ansible/tree/master/tripleo_ansible/roles/tripleo_ovs_dpdk/molecule","commit_id":"5f89d92e43a2d9a1396a6850bcc11894b5393651"}],"tripleo_ansible/roles/tripleo_ovn/molecule/default/converge.yml":[{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"ec8bd497efbdab6a61393fd222ebb37ce0aa674e","unresolved":true,"context_lines":[{"line_number":18,"context_line":"  hosts: all"},{"line_number":19,"context_line":"  gather_facts: true"},{"line_number":20,"context_line":"  roles:"},{"line_number":21,"context_line":"    - role: \"tripleo_ovn\""}],"source_content_type":"text/x-yaml","patch_set":54,"id":"08da47b8_63b0a808","line":21,"updated":"2022-10-12 21:14:40.000000000","message":"i guess this needs a newline to make the linter happy","commit_id":"d676581b5d58eb3fbb7c4032fa8bd581d23a87b4"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"eac4b2c2c1bd99a21419a9fc2a9276b854b3e28a","unresolved":false,"context_lines":[{"line_number":18,"context_line":"  hosts: all"},{"line_number":19,"context_line":"  gather_facts: true"},{"line_number":20,"context_line":"  roles:"},{"line_number":21,"context_line":"    - role: \"tripleo_ovn\""}],"source_content_type":"text/x-yaml","patch_set":54,"id":"4f0b1bc7_218d573c","line":21,"in_reply_to":"08da47b8_63b0a808","updated":"2022-10-12 22:53:16.000000000","message":"Ack","commit_id":"d676581b5d58eb3fbb7c4032fa8bd581d23a87b4"}],"tripleo_ansible/roles/tripleo_ovn/molecule/default/molecule.yml":[{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"d0ca82d4ce11bb82035ba23532c40948343c2fce","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"driver:"},{"line_number":18,"context_line":"  name: podman"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"provisioner:"},{"line_number":21,"context_line":"  inventory:"},{"line_number":22,"context_line":"    hosts:"}],"source_content_type":"text/x-yaml","patch_set":75,"id":"2b1720be_10489f9f","line":19,"updated":"2022-10-20 19:43:00.000000000","message":"I think we will need to add a platforms section here like I did for tripleo_sshd, otherwise you can\u0027t run this test locally.","commit_id":"5f89d92e43a2d9a1396a6850bcc11894b5393651"}],"tripleo_ansible/roles/tripleo_ovn/molecule/default/prepare.yml":[{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"d0ca82d4ce11bb82035ba23532c40948343c2fce","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"- name: Prepare"},{"line_number":19,"context_line":"  hosts: all:localhost"},{"line_number":20,"context_line":"  gather_facts: true"},{"line_number":21,"context_line":"  vars:"},{"line_number":22,"context_line":"    test_deps_setup_tripleo: true"}],"source_content_type":"text/x-yaml","patch_set":75,"id":"b341ba0c_f7cf4b2a","line":19,"updated":"2022-10-20 19:43:00.000000000","message":"see my comments on using localhost in cleanup.yml.\nAlso, if we do need to target molecule targets at localhost, I\u0027d use delegate_to instead of adding it to the play as a host. Reason being is that you then need to isolate a lot of tasks to just \"centos\".\n\nFor instance, in it\u0027s current state, this will try and apply the test_deps role against localhost, which is not wanted/needed.\n\nI think it\u0027d be easier to just deletegate specific tasks to run on localhost that are needed.","commit_id":"5f89d92e43a2d9a1396a6850bcc11894b5393651"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"d0ca82d4ce11bb82035ba23532c40948343c2fce","unresolved":true,"context_lines":[{"line_number":19,"context_line":"  hosts: all:localhost"},{"line_number":20,"context_line":"  gather_facts: true"},{"line_number":21,"context_line":"  vars:"},{"line_number":22,"context_line":"    test_deps_setup_tripleo: true"},{"line_number":23,"context_line":"    test_deps_setup_stream: true"},{"line_number":24,"context_line":"  roles:"},{"line_number":25,"context_line":"    - role: test_deps"}],"source_content_type":"text/x-yaml","patch_set":75,"id":"ce445458_d3f7ce73","line":22,"updated":"2022-10-20 19:43:00.000000000","message":"is this really needed? installing python3-tripleoclient takes a fair amount of time.","commit_id":"5f89d92e43a2d9a1396a6850bcc11894b5393651"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"0dd02106f273a4e39229f5479b887f55f8d37310","unresolved":true,"context_lines":[{"line_number":19,"context_line":"  hosts: all:localhost"},{"line_number":20,"context_line":"  gather_facts: true"},{"line_number":21,"context_line":"  vars:"},{"line_number":22,"context_line":"    test_deps_setup_tripleo: true"},{"line_number":23,"context_line":"    test_deps_setup_stream: true"},{"line_number":24,"context_line":"  roles:"},{"line_number":25,"context_line":"    - role: test_deps"}],"source_content_type":"text/x-yaml","patch_set":75,"id":"c006cacb_3d72b327","line":22,"in_reply_to":"92cac61e_8dd134af","updated":"2022-10-24 14:48:35.000000000","message":"I\u0027m essentially just copying from here:\nhttps://github.com/openstack/tripleo-ansible/blob/master/tripleo_ansible/roles/tripleo_ovs_dpdk/molecule/default/prepare.yml","commit_id":"5f89d92e43a2d9a1396a6850bcc11894b5393651"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"7610c10943e752b365eaadb5ad86a12cca39f8ea","unresolved":true,"context_lines":[{"line_number":19,"context_line":"  hosts: all:localhost"},{"line_number":20,"context_line":"  gather_facts: true"},{"line_number":21,"context_line":"  vars:"},{"line_number":22,"context_line":"    test_deps_setup_tripleo: true"},{"line_number":23,"context_line":"    test_deps_setup_stream: true"},{"line_number":24,"context_line":"  roles:"},{"line_number":25,"context_line":"    - role: test_deps"}],"source_content_type":"text/x-yaml","patch_set":75,"id":"92cac61e_8dd134af","line":22,"in_reply_to":"ce445458_d3f7ce73","updated":"2022-10-24 14:46:36.000000000","message":"Looks like it. Seems to be failing again to install openvswitch with this removed now.","commit_id":"5f89d92e43a2d9a1396a6850bcc11894b5393651"}],"tripleo_ansible/roles/tripleo_ovn/tasks/bootstrap.yml":[{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"2e11d7cce590dd180ca955d79126ef29b76c1682","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":35,"id":"e9794892_bb68a850","updated":"2022-08-18 20:04:59.000000000","message":"empty file? can we drop it if it\u0027s not needed, and also drop the include_tasks from main.yml.","commit_id":"9297acf64cdf1c41da3beb135a3aace5c3f45dc5"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"50b465fb6b13b58bbe024278d68508b6bf3c0051","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":35,"id":"1f08f6ca_ce186652","in_reply_to":"b6176bb6_f0fb6ad2","updated":"2022-08-19 05:09:25.000000000","message":"Done","commit_id":"9297acf64cdf1c41da3beb135a3aace5c3f45dc5"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"eac006d1299becbe57323dfa412e8c0fba91195d","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":35,"id":"b6176bb6_f0fb6ad2","in_reply_to":"e9794892_bb68a850","updated":"2022-08-19 02:03:50.000000000","message":"Not sure why I pushed a empty file. Was supposed to contain the tasks to ensure OvS was running. Fixed it in the latest patchset","commit_id":"9297acf64cdf1c41da3beb135a3aace5c3f45dc5"}],"tripleo_ansible/roles/tripleo_ovn/tasks/cleanup.yml":[{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"f812ea17cbb8fde3a8c988226379072580616a8e","unresolved":true,"context_lines":[{"line_number":17,"context_line":"- name: Cleanup hw-offload when no longer required"},{"line_number":18,"context_line":"  ansible.builtin.shell: \u003e"},{"line_number":19,"context_line":"    ovs-vsctl remove open . other_config hw-offload"},{"line_number":20,"context_line":"  when: not tripleo_enable_hw_offload"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"- name: Cleanup enable-chassis-as-gw when DVR not enabled"},{"line_number":23,"context_line":"  ansible.builtin.shell: \u003e"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"b2c0f13c_33fe5458","line":20,"range":{"start_line":20,"start_character":2,"end_line":20,"end_character":37},"updated":"2022-07-29 11:05:05.000000000","message":"This should use the bool filter to ensure that it evaluates the variable as a boolean, not a string, eg:\n\n  when: not tripleo_enable_hw_offload | bool\n\nhttps://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#forcing-the-data-type","commit_id":"dea5725a5650c1f78d0c23b32c689d7f0e8fee09"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"020823814ec7c555f4c72f73b6f97a2188ce5228","unresolved":false,"context_lines":[{"line_number":17,"context_line":"- name: Cleanup hw-offload when no longer required"},{"line_number":18,"context_line":"  ansible.builtin.shell: \u003e"},{"line_number":19,"context_line":"    ovs-vsctl remove open . other_config hw-offload"},{"line_number":20,"context_line":"  when: not tripleo_enable_hw_offload"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"- name: Cleanup enable-chassis-as-gw when DVR not enabled"},{"line_number":23,"context_line":"  ansible.builtin.shell: \u003e"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"f24ac3e4_76bdec8d","line":20,"range":{"start_line":20,"start_character":2,"end_line":20,"end_character":37},"in_reply_to":"b2c0f13c_33fe5458","updated":"2022-07-29 11:50:27.000000000","message":"Ack","commit_id":"dea5725a5650c1f78d0c23b32c689d7f0e8fee09"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"f812ea17cbb8fde3a8c988226379072580616a8e","unresolved":true,"context_lines":[{"line_number":22,"context_line":"- name: Cleanup enable-chassis-as-gw when DVR not enabled"},{"line_number":23,"context_line":"  ansible.builtin.shell: \u003e"},{"line_number":24,"context_line":"    ovs-vsctl remove open . external_ids ovn-cms-options"},{"line_number":25,"context_line":"  when: not tripleo_enable_dvr"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"1d46e275_a288cf1a","line":25,"updated":"2022-07-29 11:05:05.000000000","message":"This should use the bool filter to ensure that it evaluates the variable as a boolean, not a string.","commit_id":"dea5725a5650c1f78d0c23b32c689d7f0e8fee09"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"020823814ec7c555f4c72f73b6f97a2188ce5228","unresolved":false,"context_lines":[{"line_number":22,"context_line":"- name: Cleanup enable-chassis-as-gw when DVR not enabled"},{"line_number":23,"context_line":"  ansible.builtin.shell: \u003e"},{"line_number":24,"context_line":"    ovs-vsctl remove open . external_ids ovn-cms-options"},{"line_number":25,"context_line":"  when: not tripleo_enable_dvr"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"a7af6ef6_c818aa95","line":25,"in_reply_to":"1d46e275_a288cf1a","updated":"2022-07-29 11:50:27.000000000","message":"Ack","commit_id":"dea5725a5650c1f78d0c23b32c689d7f0e8fee09"}],"tripleo_ansible/roles/tripleo_ovn/tasks/config_compute_host.yml":[{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"bc805c18d4ec0f18916f0d765b34568345d22cf9","unresolved":true,"context_lines":[{"line_number":21,"context_line":"      ovn-match-northd-version: True"},{"line_number":22,"context_line":"      ovn-monitor-all: True"},{"line_number":23,"context_line":"      ovn-openflow-probe-interval: 60"},{"line_number":24,"context_line":"      ovn-remote: \"{{ tripleo_ovn_dbs_vip }}\""},{"line_number":25,"context_line":"      ovn-remote-probe-interval: 60000"},{"line_number":26,"context_line":"      rundir: \"/var/run/openvswitch\""},{"line_number":27,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":5,"id":"a5407cf1_0ef4aae4","line":24,"range":{"start_line":24,"start_character":22,"end_line":24,"end_character":41},"updated":"2022-10-07 15:01:32.000000000","message":"With RAFT (the default), OVN doesn\u0027t use any vip. I think this would need to be the comma-separated list of all SB ovsdb-servers.","commit_id":"faeffe5b2a10ef711fee0b403caa288e444ece59"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"a460e44429dfb3c48af9cfffbab0ff8bb90bbff6","unresolved":true,"context_lines":[{"line_number":21,"context_line":"      ovn-match-northd-version: True"},{"line_number":22,"context_line":"      ovn-monitor-all: True"},{"line_number":23,"context_line":"      ovn-openflow-probe-interval: 60"},{"line_number":24,"context_line":"      ovn-remote: \"{{ tripleo_ovn_dbs_vip }}\""},{"line_number":25,"context_line":"      ovn-remote-probe-interval: 60000"},{"line_number":26,"context_line":"      rundir: \"/var/run/openvswitch\""},{"line_number":27,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":5,"id":"48ea327a_7ab28fb7","line":24,"range":{"start_line":24,"start_character":22,"end_line":24,"end_character":41},"in_reply_to":"a5407cf1_0ef4aae4","updated":"2022-10-07 21:04:34.000000000","message":"Hey yeah. This file has been removed, the only place I\u0027m referring to the OVN DBS now is here:\nhttps://review.opendev.org/c/openstack/tripleo-ansible/+/845653/54/tripleo_ansible/roles/tripleo_ovn/defaults/main.yml#40\n\nWhich does indeed create a comma separated list of values.","commit_id":"faeffe5b2a10ef711fee0b403caa288e444ece59"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"087d39b365c5e18fb8be26f0037967af9b69cff1","unresolved":true,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"- name: Configure OVS external_ids"},{"line_number":58,"context_line":"  ansible.builtin.shell: \u003e"},{"line_number":59,"context_line":"    ovs-vsctl set open . {% for key, value in external_ids.items() %} external_ids:{{ key }}\u003d{{ value }} {% endfor %}"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"- name: Configure OVS other_config"},{"line_number":62,"context_line":"  ansible.builtin.shell: \u003e"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"750a09ec_0473ca12","line":59,"updated":"2022-06-14 03:41:35.000000000","message":"This is significantly faster than looping over each option and passing it to the openvswitch_db module. It doesn\u0027t look as nice, but the speed benefit is probably worth it here.","commit_id":"363064c04eb0ae4d17d806e8ab4ebecf0707be68"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"caa943381801257eb722a4d704c026117052f1c3","unresolved":true,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"- name: Configure OVS other_config"},{"line_number":55,"context_line":"  ansible.builtin.shell: \u003e"},{"line_number":56,"context_line":"    ovs-vsctl set open . {% for key, value in other_config.items() %} other_config:{{ key }}\u003d{{ value }} {% endfor %}"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"- name: Ensure ovn_controller is running"},{"line_number":59,"context_line":"  ansible.builtin.systemd:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5bef18ec_e22f9ece","line":56,"updated":"2022-06-14 05:34:32.000000000","message":"When it comes to cleaning up keys that need to be removed, for example if a user enables hw-offload and then wants to remove it. There are two ways I can picture we handle this, we can add an if statement in here. \n```\n- name: Configure OVS other_config\n  ansible.builtin.shell: \u003e\n    ovs-vsctl set open . {% for key, value in other_config.items() %} other_config:{{ key }}\u003d{{ value }} {% endfor %}\n    {%- if not tripleo_enable_hw_offload %}\n     \u0026\u0026 ovs-vsctl remove open . other_config hw-offload\n    {% endif -%}\n```\n\nDoesn\u0027t look nice, but it will be quick.\n\nOr, we can create a cleanup playbook, which is obviously a cleaner and more elegant way of handling it. The cleanup playbook could work out the logic of what needs to be removed and remove it in separate tasks, or maybe we just have one shell task that runs through a bunch of if statements and removes things as required in a single task.\n\nI probably prefer the separating it option, but including all of the cleanup in a single task to save execution time..","commit_id":"b12bf095e7548b01b0bbbdc85388cf90fd1bbad7"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"49f0d96372a79af4855ca22db4c733e1c4e8dd0b","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"- name: Configure OVS other_config"},{"line_number":55,"context_line":"  ansible.builtin.shell: \u003e"},{"line_number":56,"context_line":"    ovs-vsctl set open . {% for key, value in other_config.items() %} other_config:{{ key }}\u003d{{ value }} {% endfor %}"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"- name: Ensure ovn_controller is running"},{"line_number":59,"context_line":"  ansible.builtin.systemd:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"e2894c44_23970794","line":56,"in_reply_to":"5bef18ec_e22f9ece","updated":"2022-06-14 05:48:14.000000000","message":"Added a cleanup playbook with individual tasks. I guess we will only run if we meet that when statement. Shouldn\u0027t add too much time and less complexity","commit_id":"b12bf095e7548b01b0bbbdc85388cf90fd1bbad7"}],"tripleo_ansible/roles/tripleo_ovn/tasks/configure.yml":[{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"f812ea17cbb8fde3a8c988226379072580616a8e","unresolved":true,"context_lines":[{"line_number":14,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: Ensure the OVS service is running"},{"line_number":18,"context_line":"  ansible.builtin.systemd:"},{"line_number":19,"context_line":"    name: openvswitch"},{"line_number":20,"context_line":"    state: started"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"- name: Configure OVS external_ids"},{"line_number":23,"context_line":"  ansible.builtin.shell: \u003e"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"4284744b_e4e22995","line":20,"range":{"start_line":17,"start_character":0,"end_line":20,"end_character":18},"updated":"2022-07-29 11:05:05.000000000","message":"Should the \u0027configure\u0027 task set be changing the service state?\n\nPerhaps this should instead check to see if the service is running, then run the shell tasks if it is - or error out (or warn) if it is not?\n\nThe actual starting of the service should then be in run.yml if I\u0027m reading https://review.opendev.org/c/openstack/tripleo-ansible/+/847347/10/doc/source/standalone-roles-playbooks.rst correctly.","commit_id":"dea5725a5650c1f78d0c23b32c689d7f0e8fee09"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"29b83940e65e9061215ac57df3235ce6e0faee8a","unresolved":true,"context_lines":[{"line_number":14,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: Ensure the OVS service is running"},{"line_number":18,"context_line":"  ansible.builtin.systemd:"},{"line_number":19,"context_line":"    name: openvswitch"},{"line_number":20,"context_line":"    state: started"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"- name: Configure OVS external_ids"},{"line_number":23,"context_line":"  ansible.builtin.shell: \u003e"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"984e0489_b8665901","line":20,"range":{"start_line":17,"start_character":0,"end_line":20,"end_character":18},"in_reply_to":"2dfe41b2_777e279f","updated":"2022-08-04 08:25:34.000000000","message":"I\u0027m definitely not an ansible nor Tripleo expert here but as I understand it, this role is to configure some OVN settings in the ovsdb on the compute node. For that running openvswitch is a must have. So IMO either we need to ensure that openvswitch is already run (started by some other role) and fail here if it\u0027s not or we need to here to ensure it is running.","commit_id":"dea5725a5650c1f78d0c23b32c689d7f0e8fee09"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"020823814ec7c555f4c72f73b6f97a2188ce5228","unresolved":true,"context_lines":[{"line_number":14,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: Ensure the OVS service is running"},{"line_number":18,"context_line":"  ansible.builtin.systemd:"},{"line_number":19,"context_line":"    name: openvswitch"},{"line_number":20,"context_line":"    state: started"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"- name: Configure OVS external_ids"},{"line_number":23,"context_line":"  ansible.builtin.shell: \u003e"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"ca3f2a9f_4a7ff038","line":20,"range":{"start_line":17,"start_character":0,"end_line":20,"end_character":18},"in_reply_to":"4284744b_e4e22995","updated":"2022-07-29 11:50:27.000000000","message":"Yeah, it\u0027s a bit of predicament though in the case of OvS. Maybe worthy of a handler instead here? Since we would run the configure.yml tasks before the run.yml tasks, this would simply always fail because we never would have started OvS. So, we can add a check here as you suggest, and then notify a handler to start it if it\u0027s not already started. But it\u0027s just another task that needs to be executed, so my thought process behind this decision was mainly to reduce run time and complexity.\n\nBut, if we want to stick to the spec, I think I\u0027ll probably need to use a Handler for this. \n\nMy assumption around the ordering of these playbooks is based on this section of the spec:\nhttps://review.opendev.org/c/openstack/tripleo-ansible/+/847347/10/doc/source/standalone-roles-playbooks.rst#502","commit_id":"dea5725a5650c1f78d0c23b32c689d7f0e8fee09"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"eac006d1299becbe57323dfa412e8c0fba91195d","unresolved":false,"context_lines":[{"line_number":14,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: Ensure the OVS service is running"},{"line_number":18,"context_line":"  ansible.builtin.systemd:"},{"line_number":19,"context_line":"    name: openvswitch"},{"line_number":20,"context_line":"    state: started"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"- name: Configure OVS external_ids"},{"line_number":23,"context_line":"  ansible.builtin.shell: \u003e"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"05c59322_94ab07d1","line":20,"range":{"start_line":17,"start_character":0,"end_line":20,"end_character":18},"in_reply_to":"5611c044_8716a910","updated":"2022-08-19 02:03:50.000000000","message":"Done","commit_id":"dea5725a5650c1f78d0c23b32c689d7f0e8fee09"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"c17353044e8bdb37ccf9acaf83bb7ce1f850fdfb","unresolved":true,"context_lines":[{"line_number":14,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: Ensure the OVS service is running"},{"line_number":18,"context_line":"  ansible.builtin.systemd:"},{"line_number":19,"context_line":"    name: openvswitch"},{"line_number":20,"context_line":"    state: started"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"- name: Configure OVS external_ids"},{"line_number":23,"context_line":"  ansible.builtin.shell: \u003e"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"cd494c27_aaa4b87c","line":20,"range":{"start_line":17,"start_character":0,"end_line":20,"end_character":18},"in_reply_to":"984e0489_b8665901","updated":"2022-08-04 09:06:55.000000000","message":"@Slawek Is it possible to modify the configuration without OVS running? Perhaps via some sort of configuration file import or something like that?\n\nThe intent would be for this task set to prepare the intended configuration change, then only implement that change in the \u0027run\u0027 task set.\n\nIf that is not possible, then I think writing out a bash script which does all the actions required (including making sure that the service is running) makes sense. The script should then be executed in the \u0027run\u0027 task set.","commit_id":"dea5725a5650c1f78d0c23b32c689d7f0e8fee09"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"7f44ff3da4e82f5529b705b7c977450e4bbb75c6","unresolved":true,"context_lines":[{"line_number":14,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: Ensure the OVS service is running"},{"line_number":18,"context_line":"  ansible.builtin.systemd:"},{"line_number":19,"context_line":"    name: openvswitch"},{"line_number":20,"context_line":"    state: started"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"- name: Configure OVS external_ids"},{"line_number":23,"context_line":"  ansible.builtin.shell: \u003e"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"2dfe41b2_777e279f","line":20,"range":{"start_line":17,"start_character":0,"end_line":20,"end_character":18},"in_reply_to":"ca3f2a9f_4a7ff038","updated":"2022-07-29 12:07:02.000000000","message":"The situation I\u0027m thinking about is that we may have operators do all the \u0027configure\u0027 tasks, perhaps even pre-maintenance... because it doesn\u0027t change anything that\u0027s running. Then in a maintenance slot they do the \u0027run\u0027 tasks to activate the changes.\n\nI wonder if it would make sense to have the \u0027configure\u0027 tasks here just put down a file or script or something that prepares the changes... then the \u0027run\u0027 tasks execute the script.\n\nThink about it like putting down a dnf transaction file in \u0027configure\u0027, then executing the transaction file in \u0027run\u0027. Does that make sense?","commit_id":"dea5725a5650c1f78d0c23b32c689d7f0e8fee09"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"0b4e5dc33cdb6ea2cfbefe95acd48e73805ddcd0","unresolved":true,"context_lines":[{"line_number":14,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: Ensure the OVS service is running"},{"line_number":18,"context_line":"  ansible.builtin.systemd:"},{"line_number":19,"context_line":"    name: openvswitch"},{"line_number":20,"context_line":"    state: started"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"- name: Configure OVS external_ids"},{"line_number":23,"context_line":"  ansible.builtin.shell: \u003e"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"f08f869e_eb901247","line":20,"range":{"start_line":17,"start_character":0,"end_line":20,"end_character":18},"in_reply_to":"cbd9eaaa_3a7b7fe5","updated":"2022-08-08 13:47:26.000000000","message":"One reason for the intent with task separation between install/configure/run/etc is as Jesse describes:\n\n\"The situation I\u0027m thinking about is that we may have operators do all the \u0027configure\u0027 tasks, perhaps even pre-maintenance... because it doesn\u0027t change anything that\u0027s running. Then in a maintenance slot they do the \u0027run\u0027 tasks to activate the changes.\"\n\nIt\u0027s been stated that we need to be able to stage all our configuration changes and then \"flip a switch\" so they take effect. Likewise, we should be designing things with similar support for rollback as well. I know we\u0027re not there yet, but that\u0027s the intent.\n\nFor this case, I\u0027d tend towards finding a way to stage this config change (the bash script is one approach). Or, move it to run.yaml, or perhaps a bootstrap.yaml. Bootstrap tasks might cover \"things we need to do to a running service to make it work the way we want\".\n\nI\u0027m glad this has come up, b/c it helps us refine the spec and think about the right approach!","commit_id":"dea5725a5650c1f78d0c23b32c689d7f0e8fee09"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"617cab263480c15321591fbc52512856ff013fef","unresolved":true,"context_lines":[{"line_number":14,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: Ensure the OVS service is running"},{"line_number":18,"context_line":"  ansible.builtin.systemd:"},{"line_number":19,"context_line":"    name: openvswitch"},{"line_number":20,"context_line":"    state: started"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"- name: Configure OVS external_ids"},{"line_number":23,"context_line":"  ansible.builtin.shell: \u003e"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"cbd9eaaa_3a7b7fe5","line":20,"range":{"start_line":17,"start_character":0,"end_line":20,"end_character":18},"in_reply_to":"cd494c27_aaa4b87c","updated":"2022-08-04 09:21:44.000000000","message":"Na, OvS needs to be running to configure these settings unfortunately. I\u0027m not too sure about dropping a bash script to do it. Seems like that would add complexity when it could be done with Ansible during this execution. But I\u0027m happy to let the majority rule on this one. My opinion is that we make an exception for this given that we can\u0027t configure it like we can with other services that read from a .conf file. So I would be in favour of leaving this as the exception here.\n\nBut if the majority prefer a bash script dropped at this point and then executed during configure, I\u0027m happy to oblige.\n\nWe could probably safely assume that OvS is installed and running before this role is executed. But I thought it best to not rely on that assumption and allow this role to function in a truely standalone manner.","commit_id":"dea5725a5650c1f78d0c23b32c689d7f0e8fee09"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"9a270ed4c802e1de82c50ff5fd687ef091964182","unresolved":true,"context_lines":[{"line_number":14,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: Ensure the OVS service is running"},{"line_number":18,"context_line":"  ansible.builtin.systemd:"},{"line_number":19,"context_line":"    name: openvswitch"},{"line_number":20,"context_line":"    state: started"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"- name: Configure OVS external_ids"},{"line_number":23,"context_line":"  ansible.builtin.shell: \u003e"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"5611c044_8716a910","line":20,"range":{"start_line":17,"start_character":0,"end_line":20,"end_character":18},"in_reply_to":"f08f869e_eb901247","updated":"2022-08-08 23:55:28.000000000","message":"Ok, I added a bootstrap.yml for this task. The reason I don\u0027t think run.yml is the right place for it is just because we\u0027re talking about running ovn-controller here. It just has a dependency on OvS to work. So to me, it makes more sense if we handle this separately in the suggested bootstrap.yml file.\n\nWe could probably safely assume that OvS would be running. But making that assumption would mean this is less standaloney. I think it\u0027s better that we ensure prereqs here somewhere and bootstrap.yml makes the most sense to me.","commit_id":"dea5725a5650c1f78d0c23b32c689d7f0e8fee09"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"a53f3307e96bfeb9c8aac7697968c418f7454c38","unresolved":true,"context_lines":[{"line_number":39,"context_line":"  when: tripleo_enable_hw_offload|default(false)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"- name: Configure OVS external_ids"},{"line_number":42,"context_line":"  ansible.builtin.shell: \u003e"},{"line_number":43,"context_line":"    ovs-vsctl set open . {% for key, value in tripleo_ovn_ovs_external_ids.items() %} external_ids:{{ key }}\u003d{{ value }} {% endfor %}"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"- name: Configure OVS other_config"}],"source_content_type":"text/x-yaml","patch_set":54,"id":"17dd9ace_9c4eed79","line":42,"updated":"2022-10-10 10:33:39.000000000","message":"While testing this patch with https://review.opendev.org/c/openstack/tripleo-ansible/+/840509/ and https://review.opendev.org/c/openstack/tripleo-ci/+/843836\nto deploy compute services, I am hitting following error\nhttps://logserver.rdoproject.org/47/45547/6/check/tripleo-ci-centos-9-singlenode-external-compute-same-host/3d65953/logs/undercloud/home/zuul/overcloud_compute.log.txt.gz\n\n```\nASK [tripleo_ovn : Configure OVS external_ids] ********************************\nfatal: [localhost]: FAILED! \u003d\u003e {\"changed\": true, \"cmd\": \"ovs-vsctl set open .  external_ids:hostname\u003dnode-0003131962.novalocal  external_ids:ovn-bridge\u003dbr-int  external_ids:ovn-bridge-mappings\u003ddatacentre:br-ex  external_ids:ovn-encap-ip\u003d192.168.24.2  external_ids:ovn-encap-type\u003dgeneve  external_ids:ovn-match-northd-version\u003dTrue  external_ids:ovn-monitor-all\u003dTrue  external_ids:ovn-openflow-probe-interval\u003d60  external_ids:ovn-remote\u003d  external_ids:ovn-remote-probe-interval\u003d60000  external_ids:rundir\u003d/var/run/openvswitch  external_ids:ovn-cms-options\u003denable-chassis-as-gw \\n\", \"delta\": \"0:00:00.018920\", \"end\": \"2022-10-10 10:07:33.156122\", \"msg\": \"non-zero return code\", \"rc\": 1, \"start\": \"2022-10-10 10:07:33.137202\", \"stderr\": \"ovs-vsctl: external_ids:ovn-remote\u003d: argument does not end in \\\"\u003d\\\" followed by a value.\", \"stderr_lines\": [\"ovs-vsctl: external_ids:ovn-remote\u003d: argument does not end in \\\"\u003d\\\" followed by a value.\"], \"stdout\": \"\", \"stdout_lines\": []}\n```\nPlease have a look when you get some time, Thank you :-)","commit_id":"d676581b5d58eb3fbb7c4032fa8bd581d23a87b4"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"eac4b2c2c1bd99a21419a9fc2a9276b854b3e28a","unresolved":true,"context_lines":[{"line_number":39,"context_line":"  when: tripleo_enable_hw_offload|default(false)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"- name: Configure OVS external_ids"},{"line_number":42,"context_line":"  ansible.builtin.shell: \u003e"},{"line_number":43,"context_line":"    ovs-vsctl set open . {% for key, value in tripleo_ovn_ovs_external_ids.items() %} external_ids:{{ key }}\u003d{{ value }} {% endfor %}"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"- name: Configure OVS other_config"}],"source_content_type":"text/x-yaml","patch_set":54,"id":"6b2ed5b8_441cbaec","line":42,"in_reply_to":"17dd9ace_9c4eed79","updated":"2022-10-12 22:53:16.000000000","message":"This happens because no value has been set for:\nhttps://review.opendev.org/c/openstack/tripleo-ansible/+/845653/54/tripleo_ansible/roles/tripleo_ovn/defaults/main.yml#6\n\nI guess we could try and determine this from the inventory, which might not be perfect but better than it not working at all?","commit_id":"d676581b5d58eb3fbb7c4032fa8bd581d23a87b4"}],"tripleo_ansible/roles/tripleo_ovn/tasks/externaldeploy.yml":[{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"e6c1ad0280f20442c47d90f2c7ff26ecfda08d92","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: create ovn mac address for \"{{ tripleo_role_name }}\" role nodes"},{"line_number":18,"context_line":"  tripleo_ovn_mac_addresses:"},{"line_number":19,"context_line":"    playbook_dir: \"{{ tripleo_playbook_dir }}\""},{"line_number":20,"context_line":"    stack_name: \"{{ tripleo_stack_name }}\""},{"line_number":21,"context_line":"    role_name: \"{{ tripleo_role_name }}\""},{"line_number":22,"context_line":"    server_resource_names: \"{{ groups[tripleo_role_name] }}\""}],"source_content_type":"text/x-yaml","patch_set":51,"id":"28de30f3_4fd31315","line":19,"updated":"2022-10-06 11:54:30.000000000","message":"I am testing this patch here:\nhttps://review.opendev.org/c/openstack/tripleo-ci/+/843836\ntripleo-ci-centos-9-standalone-as-external-compute - deploy standalone and generate the standalone env var and redpeploy compute services on the same host.\n\nDuring standalone deploy, I am seeing following error:\nhttps://storage.gra.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_13f/843836/39/check/tripleo-ci-centos-9-standalone-as-external-compute/13ff54c/logs/undercloud/home/zuul/standalone_deploy.log\n```\nFATAL | create ovn mac address for \"Standalone\" role nodes | undercloud | error\u003d{\"msg\": \"The task includes an option with an undefined variable. The error was: \u0027tripleo_playbook_dir\u0027 is undefined\\n\\nThe error appears to be in \u0027/usr/share/ansible/roles/tripleo_ovn/tasks/externaldeploy.yml\u0027: line 17, column 3, but may\\nbe elsewhere in the file depending on the exact syntax problem.\\n\\nThe offending line appears to be:\\n\\n\\n- name: create ovn mac address for \\\"{{ tripleo_role_name }}\\\" role nodes\\n  ^ here\\nWe could be wrong, but this one looks like it might be an issue with\\nmissing quotes. Always quote template expression brackets when they\\nstart a value. For instance:\\n\\n    with_items:\\n      - {{ foo }}\\n\\nShould be written as:\\n\\n    with_items:\\n      - \\\"{{ foo }}\\\"\\n\"}\n2022-10-06 11:18:42.101212 | fa163e60-82b5-e531-f8a6-000000000126 |     TIMING | tripleo_ovn : create ovn mac address for \"Standalone\" role nodes | undercloud | 0:00:00.349426 | 0.03s\n```\nNot sure, it is linked with this patch or Do we need to set \"tripleo_playbook_dir\" dir somewhere?","commit_id":"aaa4a95d5c67416ad34418dd45f9e4289807a623"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"8b1fb66e873fed31203ede94b50d92c0c1e8b523","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: create ovn mac address for \"{{ tripleo_role_name }}\" role nodes"},{"line_number":18,"context_line":"  tripleo_ovn_mac_addresses:"},{"line_number":19,"context_line":"    playbook_dir: \"{{ tripleo_playbook_dir }}\""},{"line_number":20,"context_line":"    stack_name: \"{{ tripleo_stack_name }}\""},{"line_number":21,"context_line":"    role_name: \"{{ tripleo_role_name }}\""},{"line_number":22,"context_line":"    server_resource_names: \"{{ groups[tripleo_role_name] }}\""}],"source_content_type":"text/x-yaml","patch_set":51,"id":"c4163ed3_987a1880","line":19,"in_reply_to":"28de30f3_4fd31315","updated":"2022-10-06 14:15:29.000000000","message":"Hmm, did I break that when I changed the names?\nhttps://review.opendev.org/c/openstack/tripleo-ansible/+/845653/49..51/tripleo_ansible/roles/tripleo_ovn/tasks/externaldeploy.yml\n\nDo we have variables for playbook_dir and stack_name?","commit_id":"aaa4a95d5c67416ad34418dd45f9e4289807a623"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"a53f3307e96bfeb9c8aac7697968c418f7454c38","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: create ovn mac address for \"{{ tripleo_role_name }}\" role nodes"},{"line_number":18,"context_line":"  tripleo_ovn_mac_addresses:"},{"line_number":19,"context_line":"    playbook_dir: \"{{ tripleo_playbook_dir }}\""},{"line_number":20,"context_line":"    stack_name: \"{{ tripleo_stack_name }}\""},{"line_number":21,"context_line":"    role_name: \"{{ tripleo_role_name }}\""},{"line_number":22,"context_line":"    server_resource_names: \"{{ groups[tripleo_role_name] }}\""}],"source_content_type":"text/x-yaml","patch_set":51,"id":"514f4c06_cfb8764b","line":19,"in_reply_to":"909e0abd_93b24b35","updated":"2022-10-10 10:33:39.000000000","message":"Done","commit_id":"aaa4a95d5c67416ad34418dd45f9e4289807a623"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"f179fd06ad1b0baa541eb91d12d86416f85537c1","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: create ovn mac address for \"{{ tripleo_role_name }}\" role nodes"},{"line_number":18,"context_line":"  tripleo_ovn_mac_addresses:"},{"line_number":19,"context_line":"    playbook_dir: \"{{ tripleo_playbook_dir }}\""},{"line_number":20,"context_line":"    stack_name: \"{{ tripleo_stack_name }}\""},{"line_number":21,"context_line":"    role_name: \"{{ tripleo_role_name }}\""},{"line_number":22,"context_line":"    server_resource_names: \"{{ groups[tripleo_role_name] }}\""}],"source_content_type":"text/x-yaml","patch_set":51,"id":"909e0abd_93b24b35","line":19,"in_reply_to":"c4163ed3_987a1880","updated":"2022-10-06 14:27:58.000000000","message":"in vanilla standalone job.\nhttps://d5e4fe84bde790a23da4-0a177abbf7b197d20408e333809ec956.ssl.cf5.rackcdn.com/860558/1/check/tripleo-ci-centos-9-standalone/a025062/logs/undercloud/home/zuul/tripleo-deploy/standalone-ansible-3ukbrvjg/group_vars/Standalone\n\n```\ntripleo_stack_name: standalone\n```\nis defined. I am not able to find the reference of playbook_dir.\nCan you change back to playbook_dir?","commit_id":"aaa4a95d5c67416ad34418dd45f9e4289807a623"}],"tripleo_ansible/roles/tripleo_ovn/tasks/main.yml":[{"author":{"_account_id":13861,"name":"yatin","email":"ykarel@redhat.com","username":"yatinkarel"},"change_message_id":"b056bf6cf5bf26ef18e6a73db59be0e19839bfd4","unresolved":true,"context_lines":[{"line_number":35,"context_line":"      ovn-encap-type: \"{{ tripleo_ovn_encap_type }}\""},{"line_number":36,"context_line":"      ovn-match-northd-version: True"},{"line_number":37,"context_line":"      ovn-monitor-all: True"},{"line_number":38,"context_line":"      ovn-openflow-probe-interval: 60"},{"line_number":39,"context_line":"      ovn-remote: \"{% if tripleo_enable_internal_tls %}ssl:{% else %}tcp:{{ tripleo_ovn_dbs_vip }}:{{ tripleo_ovn_sb_server_port }}{% endif %}\""},{"line_number":40,"context_line":"      ovn-remote-probe-interval: 60000"},{"line_number":41,"context_line":"      rundir: \"/var/run/openvswitch\""}],"source_content_type":"text/x-yaml","patch_set":32,"id":"843b98b6_79c57a28","line":38,"range":{"start_line":38,"start_character":6,"end_line":38,"end_character":37},"updated":"2022-07-22 10:49:21.000000000","message":"same","commit_id":"40f32929b38a8edff064fa4c5122203cf2f96c41"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"7c35874c6de3fa5c572afe3c2b34220018e5c971","unresolved":false,"context_lines":[{"line_number":35,"context_line":"      ovn-encap-type: \"{{ tripleo_ovn_encap_type }}\""},{"line_number":36,"context_line":"      ovn-match-northd-version: True"},{"line_number":37,"context_line":"      ovn-monitor-all: True"},{"line_number":38,"context_line":"      ovn-openflow-probe-interval: 60"},{"line_number":39,"context_line":"      ovn-remote: \"{% if tripleo_enable_internal_tls %}ssl:{% else %}tcp:{{ tripleo_ovn_dbs_vip }}:{{ tripleo_ovn_sb_server_port }}{% endif %}\""},{"line_number":40,"context_line":"      ovn-remote-probe-interval: 60000"},{"line_number":41,"context_line":"      rundir: \"/var/run/openvswitch\""}],"source_content_type":"text/x-yaml","patch_set":32,"id":"07864d80_43626e7f","line":38,"range":{"start_line":38,"start_character":6,"end_line":38,"end_character":37},"in_reply_to":"843b98b6_79c57a28","updated":"2022-07-25 06:03:23.000000000","message":"Ack","commit_id":"40f32929b38a8edff064fa4c5122203cf2f96c41"},{"author":{"_account_id":13861,"name":"yatin","email":"ykarel@redhat.com","username":"yatinkarel"},"change_message_id":"b056bf6cf5bf26ef18e6a73db59be0e19839bfd4","unresolved":true,"context_lines":[{"line_number":37,"context_line":"      ovn-monitor-all: True"},{"line_number":38,"context_line":"      ovn-openflow-probe-interval: 60"},{"line_number":39,"context_line":"      ovn-remote: \"{% if tripleo_enable_internal_tls %}ssl:{% else %}tcp:{{ tripleo_ovn_dbs_vip }}:{{ tripleo_ovn_sb_server_port }}{% endif %}\""},{"line_number":40,"context_line":"      ovn-remote-probe-interval: 60000"},{"line_number":41,"context_line":"      rundir: \"/var/run/openvswitch\""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"- name: Set DVR setting when enabled"}],"source_content_type":"text/x-yaml","patch_set":32,"id":"34303904_330aee7a","line":40,"range":{"start_line":40,"start_character":6,"end_line":40,"end_character":38},"updated":"2022-07-22 10:49:21.000000000","message":"should be configurable","commit_id":"40f32929b38a8edff064fa4c5122203cf2f96c41"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"7c35874c6de3fa5c572afe3c2b34220018e5c971","unresolved":false,"context_lines":[{"line_number":37,"context_line":"      ovn-monitor-all: True"},{"line_number":38,"context_line":"      ovn-openflow-probe-interval: 60"},{"line_number":39,"context_line":"      ovn-remote: \"{% if tripleo_enable_internal_tls %}ssl:{% else %}tcp:{{ tripleo_ovn_dbs_vip }}:{{ tripleo_ovn_sb_server_port }}{% endif %}\""},{"line_number":40,"context_line":"      ovn-remote-probe-interval: 60000"},{"line_number":41,"context_line":"      rundir: \"/var/run/openvswitch\""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"- name: Set DVR setting when enabled"}],"source_content_type":"text/x-yaml","patch_set":32,"id":"3df69e5b_4ae78fcc","line":40,"range":{"start_line":40,"start_character":6,"end_line":40,"end_character":38},"in_reply_to":"34303904_330aee7a","updated":"2022-07-25 06:03:23.000000000","message":"Ack","commit_id":"40f32929b38a8edff064fa4c5122203cf2f96c41"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"f812ea17cbb8fde3a8c988226379072580616a8e","unresolved":true,"context_lines":[{"line_number":36,"context_line":"      ovn-match-northd-version: True"},{"line_number":37,"context_line":"      ovn-monitor-all: True"},{"line_number":38,"context_line":"      ovn-openflow-probe-interval: \"{{ tripleo_ovn_of_probe_interval }}\""},{"line_number":39,"context_line":"      ovn-remote: \"{% if tripleo_enable_internal_tls %}ssl:{% else %}tcp:{{ tripleo_ovn_dbs_vip }}:{{ tripleo_ovn_sb_server_port }}{% endif %}\""},{"line_number":40,"context_line":"      ovn-remote-probe-interval: \"{{ tripleo_ovn_remote_probe_interval }}\""},{"line_number":41,"context_line":"      rundir: \"/var/run/openvswitch\""},{"line_number":42,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":33,"id":"89e5632c_a3472610","line":39,"range":{"start_line":39,"start_character":22,"end_line":39,"end_character":52},"updated":"2022-07-29 11:05:05.000000000","message":"This should use the bool filter to ensure that it evaluates the variable as a boolean, not a string.","commit_id":"dea5725a5650c1f78d0c23b32c689d7f0e8fee09"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"020823814ec7c555f4c72f73b6f97a2188ce5228","unresolved":false,"context_lines":[{"line_number":36,"context_line":"      ovn-match-northd-version: True"},{"line_number":37,"context_line":"      ovn-monitor-all: True"},{"line_number":38,"context_line":"      ovn-openflow-probe-interval: \"{{ tripleo_ovn_of_probe_interval }}\""},{"line_number":39,"context_line":"      ovn-remote: \"{% if tripleo_enable_internal_tls %}ssl:{% else %}tcp:{{ tripleo_ovn_dbs_vip }}:{{ tripleo_ovn_sb_server_port }}{% endif %}\""},{"line_number":40,"context_line":"      ovn-remote-probe-interval: \"{{ tripleo_ovn_remote_probe_interval }}\""},{"line_number":41,"context_line":"      rundir: \"/var/run/openvswitch\""},{"line_number":42,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":33,"id":"80b546d3_8a43d957","line":39,"range":{"start_line":39,"start_character":22,"end_line":39,"end_character":52},"in_reply_to":"89e5632c_a3472610","updated":"2022-07-29 11:50:27.000000000","message":"Ack","commit_id":"dea5725a5650c1f78d0c23b32c689d7f0e8fee09"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"2e11d7cce590dd180ca955d79126ef29b76c1682","unresolved":true,"context_lines":[{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":"- name: Include host prep tasks"},{"line_number":17,"context_line":"  include_tasks: hostprep.yml"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"- name: Include bootstrap tasks"},{"line_number":20,"context_line":"  include: bootstrap.yml"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":35,"id":"131cdea2_37e94188","line":18,"updated":"2022-08-18 20:04:59.000000000","message":"can we rename hostprep.yml to install.yml to match the other standalone roles?","commit_id":"9297acf64cdf1c41da3beb135a3aace5c3f45dc5"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"eac006d1299becbe57323dfa412e8c0fba91195d","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":"- name: Include host prep tasks"},{"line_number":17,"context_line":"  include_tasks: hostprep.yml"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"- name: Include bootstrap tasks"},{"line_number":20,"context_line":"  include: bootstrap.yml"},{"line_number":21,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":35,"id":"d544938e_1c2c6c29","line":18,"in_reply_to":"131cdea2_37e94188","updated":"2022-08-19 02:03:50.000000000","message":"Done","commit_id":"9297acf64cdf1c41da3beb135a3aace5c3f45dc5"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"2e11d7cce590dd180ca955d79126ef29b76c1682","unresolved":true,"context_lines":[{"line_number":26,"context_line":"    setype: \"{{ item.setype | default(omit) }}\""},{"line_number":27,"context_line":"    mode: \"{{ item.mode | default(omit) }}\""},{"line_number":28,"context_line":"  loop:"},{"line_number":29,"context_line":"    - { \u0027path\u0027: /var/lib/kolla/config_files, \u0027setype\u0027: container_file_t }"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- name: Set external_id info based on provided vars"},{"line_number":32,"context_line":"  set_fact:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"c7ae3142_f395fa94","line":29,"updated":"2022-08-18 20:04:59.000000000","message":"i\u0027ll make sure this task is handled in tripleo_container_standalone, that way it can be dropped from here.","commit_id":"9297acf64cdf1c41da3beb135a3aace5c3f45dc5"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"eac006d1299becbe57323dfa412e8c0fba91195d","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    setype: \"{{ item.setype | default(omit) }}\""},{"line_number":27,"context_line":"    mode: \"{{ item.mode | default(omit) }}\""},{"line_number":28,"context_line":"  loop:"},{"line_number":29,"context_line":"    - { \u0027path\u0027: /var/lib/kolla/config_files, \u0027setype\u0027: container_file_t }"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- name: Set external_id info based on provided vars"},{"line_number":32,"context_line":"  set_fact:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"064a503a_f73c0ded","line":29,"in_reply_to":"9ab77ceb_46f776c6","updated":"2022-08-19 02:03:50.000000000","message":"Done","commit_id":"9297acf64cdf1c41da3beb135a3aace5c3f45dc5"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"a11846181239dcb19112ad736868849fc35acf13","unresolved":true,"context_lines":[{"line_number":26,"context_line":"    setype: \"{{ item.setype | default(omit) }}\""},{"line_number":27,"context_line":"    mode: \"{{ item.mode | default(omit) }}\""},{"line_number":28,"context_line":"  loop:"},{"line_number":29,"context_line":"    - { \u0027path\u0027: /var/lib/kolla/config_files, \u0027setype\u0027: container_file_t }"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- name: Set external_id info based on provided vars"},{"line_number":32,"context_line":"  set_fact:"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"9ab77ceb_46f776c6","line":29,"in_reply_to":"c7ae3142_f395fa94","updated":"2022-08-18 20:12:10.000000000","message":"done here: https://review.opendev.org/c/openstack/tripleo-ansible/+/853700","commit_id":"9297acf64cdf1c41da3beb135a3aace5c3f45dc5"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"2e11d7cce590dd180ca955d79126ef29b76c1682","unresolved":true,"context_lines":[{"line_number":70,"context_line":"    - name: append other_config with hw-offload"},{"line_number":71,"context_line":"      set_fact:"},{"line_number":72,"context_line":"         other_config: \"{{ other_config | combine(hw_offload) }}\""},{"line_number":73,"context_line":"  when: tripleo_enable_hw_offload|default(false)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"- name: Configure OVS"},{"line_number":76,"context_line":"  include: configure.yml"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"f055e251_c09e4481","line":73,"updated":"2022-08-18 20:04:59.000000000","message":"for all these set_fact tasks, it seems we could use variables in defaults/main.yml for these. that would allow us to drop these tasks.\n\nif that can\u0027t be done, we need to move them to configure.yml at least.","commit_id":"9297acf64cdf1c41da3beb135a3aace5c3f45dc5"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"50b465fb6b13b58bbe024278d68508b6bf3c0051","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    - name: append other_config with hw-offload"},{"line_number":71,"context_line":"      set_fact:"},{"line_number":72,"context_line":"         other_config: \"{{ other_config | combine(hw_offload) }}\""},{"line_number":73,"context_line":"  when: tripleo_enable_hw_offload|default(false)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"- name: Configure OVS"},{"line_number":76,"context_line":"  include: configure.yml"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"0b4f0839_dd8bb9ea","line":73,"in_reply_to":"5b389552_145789f7","updated":"2022-08-19 05:09:25.000000000","message":"Done","commit_id":"9297acf64cdf1c41da3beb135a3aace5c3f45dc5"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"eac006d1299becbe57323dfa412e8c0fba91195d","unresolved":true,"context_lines":[{"line_number":70,"context_line":"    - name: append other_config with hw-offload"},{"line_number":71,"context_line":"      set_fact:"},{"line_number":72,"context_line":"         other_config: \"{{ other_config | combine(hw_offload) }}\""},{"line_number":73,"context_line":"  when: tripleo_enable_hw_offload|default(false)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"- name: Configure OVS"},{"line_number":76,"context_line":"  include: configure.yml"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"5b389552_145789f7","line":73,"in_reply_to":"f055e251_c09e4481","updated":"2022-08-19 02:03:50.000000000","message":"I\u0027ll work on this. In the meantime moved them to configure.yml to allow continued testing.","commit_id":"9297acf64cdf1c41da3beb135a3aace5c3f45dc5"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"2e11d7cce590dd180ca955d79126ef29b76c1682","unresolved":true,"context_lines":[{"line_number":73,"context_line":"  when: tripleo_enable_hw_offload|default(false)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"- name: Configure OVS"},{"line_number":76,"context_line":"  include: configure.yml"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"- name: Ensure ovn_controller is running"},{"line_number":79,"context_line":"  include: run.yml"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"aa140955_c711eef6","line":76,"updated":"2022-08-18 20:04:59.000000000","message":"please use include_tasks everywhere instead of include.","commit_id":"9297acf64cdf1c41da3beb135a3aace5c3f45dc5"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"eac006d1299becbe57323dfa412e8c0fba91195d","unresolved":false,"context_lines":[{"line_number":73,"context_line":"  when: tripleo_enable_hw_offload|default(false)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"- name: Configure OVS"},{"line_number":76,"context_line":"  include: configure.yml"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"- name: Ensure ovn_controller is running"},{"line_number":79,"context_line":"  include: run.yml"}],"source_content_type":"text/x-yaml","patch_set":35,"id":"aee65f9d_3f0eb091","line":76,"in_reply_to":"aa140955_c711eef6","updated":"2022-08-19 02:03:50.000000000","message":"Done","commit_id":"9297acf64cdf1c41da3beb135a3aace5c3f45dc5"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"d921b069fe480e85fcd68e16fcda786046a7d34b","unresolved":true,"context_lines":[{"line_number":14,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":"- name: Include host prep tasks"},{"line_number":17,"context_line":"  include_tasks: install.yml"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"- name: Include external deploy tasks"},{"line_number":20,"context_line":"  include_tasks: externaldeploy.yml"}],"source_content_type":"text/x-yaml","patch_set":42,"id":"091e7171_99324ef3","line":17,"updated":"2022-09-01 14:16:04.000000000","message":"nit: it makes sense to use import, since here we use no conditionals","commit_id":"2e37ff94372b8d74ab666c68d0a389183f123506"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"fe6b45ce212fcbdcc6641dcf3867ce3daad59979","unresolved":false,"context_lines":[{"line_number":14,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"# under the License."},{"line_number":16,"context_line":"- name: Include host prep tasks"},{"line_number":17,"context_line":"  include_tasks: install.yml"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"- name: Include external deploy tasks"},{"line_number":20,"context_line":"  include_tasks: externaldeploy.yml"}],"source_content_type":"text/x-yaml","patch_set":42,"id":"6da1807e_5e937a35","line":17,"in_reply_to":"091e7171_99324ef3","updated":"2022-09-13 01:05:21.000000000","message":"Ack: \nDone in-line with: https://docs.ansible.com/ansible/2.9/user_guide/playbooks_reuse_includes.html#including-and-importing-task-files","commit_id":"2e37ff94372b8d74ab666c68d0a389183f123506"}],"tripleo_ansible/roles/tripleo_ovn/tasks/run.yml":[{"author":{"_account_id":13861,"name":"yatin","email":"ykarel@redhat.com","username":"yatinkarel"},"change_message_id":"228b73ae3f96c17f5f7664084187a34e3160a0be","unresolved":true,"context_lines":[{"line_number":22,"context_line":"    tripleo_container_standalone_container_defs:"},{"line_number":23,"context_line":"      ovn_controller: \"{{ lookup(\u0027template\u0027, \u0027ovn_controller.yaml.j2\u0027) | from_yaml }}\""},{"line_number":24,"context_line":"    tripleo_container_standalone_kolla_config_files:"},{"line_number":25,"context_line":"      ovn_controller: \"{{ lookup(\u0027template\u0027, \u0027kolla_ovn_controller.yaml\u0027) | from_yaml }}\""}],"source_content_type":"text/x-yaml","patch_set":24,"id":"92767fef_40f4108e","line":25,"range":{"start_line":25,"start_character":46,"end_line":25,"end_character":71},"updated":"2022-06-29 15:25:17.000000000","message":"kolla_ovn_controller.yaml.j2","commit_id":"1fc5d368cde790bd7151464598ec3d0f55daae79"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"07d44e4e925900a3c844aab17fab1cca48f4641f","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    tripleo_container_standalone_container_defs:"},{"line_number":23,"context_line":"      ovn_controller: \"{{ lookup(\u0027template\u0027, \u0027ovn_controller.yaml.j2\u0027) | from_yaml }}\""},{"line_number":24,"context_line":"    tripleo_container_standalone_kolla_config_files:"},{"line_number":25,"context_line":"      ovn_controller: \"{{ lookup(\u0027template\u0027, \u0027kolla_ovn_controller.yaml\u0027) | from_yaml }}\""}],"source_content_type":"text/x-yaml","patch_set":24,"id":"d1723951_5c6bf6f9","line":25,"range":{"start_line":25,"start_character":46,"end_line":25,"end_character":71},"in_reply_to":"92767fef_40f4108e","updated":"2022-07-14 23:45:01.000000000","message":"Done","commit_id":"1fc5d368cde790bd7151464598ec3d0f55daae79"}],"tripleo_ansible/roles/tripleo_ovn/templates/kolla_ovn_controller.yaml.j2":[{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"f812ea17cbb8fde3a8c988226379072580616a8e","unresolved":true,"context_lines":[{"line_number":1,"context_line":"command: \"/usr/bin/ovn-controller --pidfile --log-file unix:/run/openvswitch/db.sock {% if tripleo_enable_internal_tls %} -p /etc/pki/tls/private/ovn_controller.key -c /etc/pki/tls/certs/ovn_controller.crt -C {{ tripleo_internal_tls_ca_file }} {% endif %}\""},{"line_number":2,"context_line":"permissions:"},{"line_number":3,"context_line":"  - path: /var/log/openvswitch"},{"line_number":4,"context_line":"    owner: root:root"}],"source_content_type":"text/x-jinja2","patch_set":33,"id":"62896eff_085dee14","line":1,"range":{"start_line":1,"start_character":88,"end_line":1,"end_character":118},"updated":"2022-07-29 11:05:05.000000000","message":"This should use the bool filter to ensure that it evaluates the variable as a boolean, not a string.","commit_id":"dea5725a5650c1f78d0c23b32c689d7f0e8fee09"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"020823814ec7c555f4c72f73b6f97a2188ce5228","unresolved":false,"context_lines":[{"line_number":1,"context_line":"command: \"/usr/bin/ovn-controller --pidfile --log-file unix:/run/openvswitch/db.sock {% if tripleo_enable_internal_tls %} -p /etc/pki/tls/private/ovn_controller.key -c /etc/pki/tls/certs/ovn_controller.crt -C {{ tripleo_internal_tls_ca_file }} {% endif %}\""},{"line_number":2,"context_line":"permissions:"},{"line_number":3,"context_line":"  - path: /var/log/openvswitch"},{"line_number":4,"context_line":"    owner: root:root"}],"source_content_type":"text/x-jinja2","patch_set":33,"id":"a9b2388a_f7ec3eba","line":1,"range":{"start_line":1,"start_character":88,"end_line":1,"end_character":118},"in_reply_to":"62896eff_085dee14","updated":"2022-07-29 11:50:27.000000000","message":"Ack","commit_id":"dea5725a5650c1f78d0c23b32c689d7f0e8fee09"}],"tripleo_ansible/roles/tripleo_ovn/templates/ovn_controller.yaml.j2":[{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"4a51fb916dd720a25d64313fd22b99a10774b290","unresolved":true,"context_lines":[{"line_number":11,"context_line":"{% endif -%}"},{"line_number":12,"context_line":"healthcheck:"},{"line_number":13,"context_line":"  test: \u0027/openstack/healthcheck {{ tripleo_ovn_sb_server_port }}\u0027"},{"line_number":14,"context_line":"volumes:"},{"line_number":15,"context_line":"  {{ tripleo_ovn_controller_common_volumes }}"},{"line_number":16,"context_line":"environment:"},{"line_number":17,"context_line":"  KOLLA_CONFIG_STRATEGY: COPY_ALWAYS"}],"source_content_type":"text/x-jinja2","patch_set":17,"id":"1cb0f7ba_ebb678ca","line":14,"updated":"2022-06-15 03:48:41.000000000","message":"Need to add in the TLS volumes when internal TLS is enabled still","commit_id":"1ac126a59776c3e649915aaf742e4ed962e3a983"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"bf4d3a31a613197cda385c8307b018f73f7f34e3","unresolved":false,"context_lines":[{"line_number":11,"context_line":"{% endif -%}"},{"line_number":12,"context_line":"healthcheck:"},{"line_number":13,"context_line":"  test: \u0027/openstack/healthcheck {{ tripleo_ovn_sb_server_port }}\u0027"},{"line_number":14,"context_line":"volumes:"},{"line_number":15,"context_line":"  {{ tripleo_ovn_controller_common_volumes }}"},{"line_number":16,"context_line":"environment:"},{"line_number":17,"context_line":"  KOLLA_CONFIG_STRATEGY: COPY_ALWAYS"}],"source_content_type":"text/x-jinja2","patch_set":17,"id":"857f01b1_17da9639","line":14,"in_reply_to":"1cb0f7ba_ebb678ca","updated":"2022-06-29 23:57:12.000000000","message":"I have just added those volumes by default.","commit_id":"1ac126a59776c3e649915aaf742e4ed962e3a983"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"2e11d7cce590dd180ca955d79126ef29b76c1682","unresolved":true,"context_lines":[{"line_number":1,"context_line":"start_order: 1"},{"line_number":2,"context_line":"image: \"{{ tripleo_ovn_controller_images[ansible_facts[\u0027distribution_major_version\u0027]] | default(tripleo_ovn_controller_image) }}\""},{"line_number":3,"context_line":"net: host"},{"line_number":4,"context_line":"privileged: true"},{"line_number":5,"context_line":"user: root"}],"source_content_type":"text/x-jinja2","patch_set":35,"id":"3d2c1b9b_49e0e024","line":2,"updated":"2022-08-18 20:04:59.000000000","message":"can you add a default for tripleo_ovn_controller_images and tripleo_ovn_controller_image?","commit_id":"9297acf64cdf1c41da3beb135a3aace5c3f45dc5"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"6627350a8f8ea94116982dac0142aa51888487a2","unresolved":true,"context_lines":[{"line_number":1,"context_line":"start_order: 1"},{"line_number":2,"context_line":"image: \"{{ tripleo_ovn_controller_images[ansible_facts[\u0027distribution_major_version\u0027]] | default(tripleo_ovn_controller_image) }}\""},{"line_number":3,"context_line":"net: host"},{"line_number":4,"context_line":"privileged: true"},{"line_number":5,"context_line":"user: root"}],"source_content_type":"text/x-jinja2","patch_set":35,"id":"7057e7ce_f8d6ea10","line":2,"in_reply_to":"21d10011_5f53a3e5","updated":"2022-08-19 12:15:24.000000000","message":"in the other roles, I have set the default to the upstream defaults on quay. See:\nhttps://review.opendev.org/c/openstack/tripleo-ansible/+/841997/16/tripleo_ansible/roles/tripleo_logrotate_crond/defaults/main.yml#25\n\nHowever, I\u0027m undecided if we should stick with that approach, or instead set defaults in the sample inventory/variable files. That way we could have separate inventory samples for upstream/downstream/etc.\n\nFor now, I think empty string is ok, but add a check for it and fail if not set to a value.","commit_id":"9297acf64cdf1c41da3beb135a3aace5c3f45dc5"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"eac006d1299becbe57323dfa412e8c0fba91195d","unresolved":true,"context_lines":[{"line_number":1,"context_line":"start_order: 1"},{"line_number":2,"context_line":"image: \"{{ tripleo_ovn_controller_images[ansible_facts[\u0027distribution_major_version\u0027]] | default(tripleo_ovn_controller_image) }}\""},{"line_number":3,"context_line":"net: host"},{"line_number":4,"context_line":"privileged: true"},{"line_number":5,"context_line":"user: root"}],"source_content_type":"text/x-jinja2","patch_set":35,"id":"aaa2adfd_64f993c3","line":2,"in_reply_to":"3d2c1b9b_49e0e024","updated":"2022-08-19 02:03:50.000000000","message":"I\u0027ll update this to reflect the latest status of the multi-rhel patches.","commit_id":"9297acf64cdf1c41da3beb135a3aace5c3f45dc5"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"9258d8b51e28a23582373a1d43f2c9140ccda2b9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"start_order: 1"},{"line_number":2,"context_line":"image: \"{{ tripleo_ovn_controller_images[ansible_facts[\u0027distribution_major_version\u0027]] | default(tripleo_ovn_controller_image) }}\""},{"line_number":3,"context_line":"net: host"},{"line_number":4,"context_line":"privileged: true"},{"line_number":5,"context_line":"user: root"}],"source_content_type":"text/x-jinja2","patch_set":35,"id":"77563358_26e58121","line":2,"in_reply_to":"7057e7ce_f8d6ea10","updated":"2022-08-24 02:25:03.000000000","message":"I added the quay image like the other change you linked, rather than a separate task to check the variable. Defaulting to the quay.io image for ovn-controller now.","commit_id":"9297acf64cdf1c41da3beb135a3aace5c3f45dc5"},{"author":{"_account_id":30073,"name":"Brendan Shephard","email":"bshephar@bne-home.net","username":"bshephar"},"change_message_id":"50b465fb6b13b58bbe024278d68508b6bf3c0051","unresolved":true,"context_lines":[{"line_number":1,"context_line":"start_order: 1"},{"line_number":2,"context_line":"image: \"{{ tripleo_ovn_controller_images[ansible_facts[\u0027distribution_major_version\u0027]] | default(tripleo_ovn_controller_image) }}\""},{"line_number":3,"context_line":"net: host"},{"line_number":4,"context_line":"privileged: true"},{"line_number":5,"context_line":"user: root"}],"source_content_type":"text/x-jinja2","patch_set":35,"id":"21d10011_5f53a3e5","line":2,"in_reply_to":"aaa2adfd_64f993c3","updated":"2022-08-19 05:09:25.000000000","message":"I guess just empty string default? Or would it be better to fail if it\u0027s undefined here? Might be a bit easier to debug if this was undefined. If we allow it to proceed with an empty string for the image, the error might be more obscure?","commit_id":"9297acf64cdf1c41da3beb135a3aace5c3f45dc5"}]}
