)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":32666,"name":"Damian Dąbrowski","email":"damian@dabrowski.cloud","username":"ddabrowski"},"change_message_id":"4758e345edf4e40f3ac22f295e6ed789d63d19b7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"dab748e8_d357c692","updated":"2025-05-11 19:58:53.000000000","message":"recheck - CI is fixed now","commit_id":"6533a101e3b2402419c4f9d2637ae7170276a147"},{"author":{"_account_id":32666,"name":"Damian Dąbrowski","email":"damian@dabrowski.cloud","username":"ddabrowski"},"change_message_id":"b749f89fde9e29966e5a2b15d9b01ff56d6ae245","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"64af62ec_df4429c6","updated":"2025-10-09 19:27:04.000000000","message":"recheck - parent change passed CI jobs","commit_id":"eae77d9452dd0699710e9557cbd6455091340667"},{"author":{"_account_id":25023,"name":"Jonathan Rosser","email":"jonathan.rosser@rd.bbc.co.uk","username":"jrosser"},"change_message_id":"6acdc8958c00d9f1253acfa2d8d64139776a0564","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"4c20f0bc_15b1c45a","updated":"2026-03-10 17:51:32.000000000","message":"unresolved comments","commit_id":"4f5a95bb62cf1a2dba767a9b7f143747f02cf2c1"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"594b9cccb43ab155d03d79d3bcf44f167022c71d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"a6cef477_7690d6ec","updated":"2026-04-20 11:18:28.000000000","message":"recheck post failure","commit_id":"e2e1b2921309c6b84882095cf099122f14f33852"},{"author":{"_account_id":32666,"name":"Damian Dąbrowski","email":"damian@dabrowski.cloud","username":"ddabrowski"},"change_message_id":"9f56466edbd05eb4533de54322cea99a80a9c7db","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"6b54f10b_2a5f080c","updated":"2026-05-04 19:26:32.000000000","message":"recheck - timeouts","commit_id":"9bd6c5dc16b3bc366f752b9bf2294ddb970693de"},{"author":{"_account_id":32666,"name":"Damian Dąbrowski","email":"damian@dabrowski.cloud","username":"ddabrowski"},"change_message_id":"0274841ecd1c1274fcf5ceee9de37e1c541d217c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"9682f509_3805bde3","updated":"2026-05-06 10:25:08.000000000","message":"recheck - ubuntu timeouts","commit_id":"9bd6c5dc16b3bc366f752b9bf2294ddb970693de"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"5cd37a0b89d04f9802aee92ca5a0aa27c9546bd2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"8781cc73_baae85fa","updated":"2026-05-14 07:36:27.000000000","message":"lgtm","commit_id":"ffce91c98ba3078b3cccae1105c8a41c12d5c489"}],"tests/roles/bootstrap-host/defaults/main.yml":[{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"d73b7ed12592a4cfbff8a791c8b46d0b02568725","unresolved":true,"context_lines":[{"line_number":207,"context_line":"step_ca_binary: /usr/bin/step-ca"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"# openbao"},{"line_number":210,"context_line":"openbao_version: \"2.2.0\""},{"line_number":211,"context_line":"openbao_file: \"bao_{{ openbao_version }}_Linux_x86_64.tar.gz\""},{"line_number":212,"context_line":"openbao_url: \"https://github.com/openbao/openbao/releases/download/v{{ openbao_version }}/{{ openbao_file }}\""},{"line_number":213,"context_line":"openbao_install_dir: \"/usr/local/bin\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"066be37d_c353f84a","line":210,"range":{"start_line":210,"start_character":18,"end_line":210,"end_character":23},"updated":"2026-05-11 07:45:17.000000000","message":"there\u0027s already 2.5.3 release... Should we try to use latest?","commit_id":"9bd6c5dc16b3bc366f752b9bf2294ddb970693de"},{"author":{"_account_id":32666,"name":"Damian Dąbrowski","email":"damian@dabrowski.cloud","username":"ddabrowski"},"change_message_id":"0a31d263c88b47c6ba943ae6277cc9e1b47131f8","unresolved":false,"context_lines":[{"line_number":207,"context_line":"step_ca_binary: /usr/bin/step-ca"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"# openbao"},{"line_number":210,"context_line":"openbao_version: \"2.2.0\""},{"line_number":211,"context_line":"openbao_file: \"bao_{{ openbao_version }}_Linux_x86_64.tar.gz\""},{"line_number":212,"context_line":"openbao_url: \"https://github.com/openbao/openbao/releases/download/v{{ openbao_version }}/{{ openbao_file }}\""},{"line_number":213,"context_line":"openbao_install_dir: \"/usr/local/bin\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"c6b96fc2_f696bebb","line":210,"range":{"start_line":210,"start_character":18,"end_line":210,"end_character":23},"in_reply_to":"066be37d_c353f84a","updated":"2026-05-12 14:53:41.000000000","message":"Done","commit_id":"9bd6c5dc16b3bc366f752b9bf2294ddb970693de"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"d73b7ed12592a4cfbff8a791c8b46d0b02568725","unresolved":true,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"# openbao"},{"line_number":210,"context_line":"openbao_version: \"2.2.0\""},{"line_number":211,"context_line":"openbao_file: \"bao_{{ openbao_version }}_Linux_x86_64.tar.gz\""},{"line_number":212,"context_line":"openbao_url: \"https://github.com/openbao/openbao/releases/download/v{{ openbao_version }}/{{ openbao_file }}\""},{"line_number":213,"context_line":"openbao_install_dir: \"/usr/local/bin\""},{"line_number":214,"context_line":"openbao_role_name: \"default\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"ce4a2432_41ce19d1","line":211,"range":{"start_line":211,"start_character":47,"end_line":211,"end_character":53},"updated":"2026-05-11 07:45:17.000000000","message":"I think we should do some `ansible_facts[\u0027architecture\u0027]` mapping here like in https://github.com/adriacloud/ansible-collection-kubernetes/blob/main/roles/defaults/defaults/main.yml#L16-L21\n\nfor arm support","commit_id":"9bd6c5dc16b3bc366f752b9bf2294ddb970693de"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"42541602d2f5cc97f5bb2801afb46afd80e444f4","unresolved":true,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"# openbao"},{"line_number":210,"context_line":"openbao_version: \"2.2.0\""},{"line_number":211,"context_line":"openbao_file: \"bao_{{ openbao_version }}_Linux_x86_64.tar.gz\""},{"line_number":212,"context_line":"openbao_url: \"https://github.com/openbao/openbao/releases/download/v{{ openbao_version }}/{{ openbao_file }}\""},{"line_number":213,"context_line":"openbao_install_dir: \"/usr/local/bin\""},{"line_number":214,"context_line":"openbao_role_name: \"default\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"19d52994_c736b730","line":211,"range":{"start_line":211,"start_character":0,"end_line":211,"end_character":61},"updated":"2026-05-11 07:53:46.000000000","message":"fwiw, I also see .rpm and .deb released now on github as well, I wonder if it might be simpler to use them?","commit_id":"9bd6c5dc16b3bc366f752b9bf2294ddb970693de"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"59328db8ea21cfaa72e7154ce4cffa851810130a","unresolved":false,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"# openbao"},{"line_number":210,"context_line":"openbao_version: \"2.2.0\""},{"line_number":211,"context_line":"openbao_file: \"bao_{{ openbao_version }}_Linux_x86_64.tar.gz\""},{"line_number":212,"context_line":"openbao_url: \"https://github.com/openbao/openbao/releases/download/v{{ openbao_version }}/{{ openbao_file }}\""},{"line_number":213,"context_line":"openbao_install_dir: \"/usr/local/bin\""},{"line_number":214,"context_line":"openbao_role_name: \"default\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"2a1b3303_f4345568","line":211,"range":{"start_line":211,"start_character":0,"end_line":211,"end_character":61},"in_reply_to":"06a4764f_9e1a0ab1","updated":"2026-05-13 08:39:46.000000000","message":"Acknowledged","commit_id":"9bd6c5dc16b3bc366f752b9bf2294ddb970693de"},{"author":{"_account_id":32666,"name":"Damian Dąbrowski","email":"damian@dabrowski.cloud","username":"ddabrowski"},"change_message_id":"0a31d263c88b47c6ba943ae6277cc9e1b47131f8","unresolved":true,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"# openbao"},{"line_number":210,"context_line":"openbao_version: \"2.2.0\""},{"line_number":211,"context_line":"openbao_file: \"bao_{{ openbao_version }}_Linux_x86_64.tar.gz\""},{"line_number":212,"context_line":"openbao_url: \"https://github.com/openbao/openbao/releases/download/v{{ openbao_version }}/{{ openbao_file }}\""},{"line_number":213,"context_line":"openbao_install_dir: \"/usr/local/bin\""},{"line_number":214,"context_line":"openbao_role_name: \"default\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"06a4764f_9e1a0ab1","line":211,"range":{"start_line":211,"start_character":0,"end_line":211,"end_character":61},"in_reply_to":"19d52994_c736b730","updated":"2026-05-12 14:53:41.000000000","message":"hmmm I\u0027m not sure...the logic is already there and it works, so it\u0027s probably safer to keep it as is.","commit_id":"9bd6c5dc16b3bc366f752b9bf2294ddb970693de"},{"author":{"_account_id":32666,"name":"Damian Dąbrowski","email":"damian@dabrowski.cloud","username":"ddabrowski"},"change_message_id":"0a31d263c88b47c6ba943ae6277cc9e1b47131f8","unresolved":false,"context_lines":[{"line_number":208,"context_line":""},{"line_number":209,"context_line":"# openbao"},{"line_number":210,"context_line":"openbao_version: \"2.2.0\""},{"line_number":211,"context_line":"openbao_file: \"bao_{{ openbao_version }}_Linux_x86_64.tar.gz\""},{"line_number":212,"context_line":"openbao_url: \"https://github.com/openbao/openbao/releases/download/v{{ openbao_version }}/{{ openbao_file }}\""},{"line_number":213,"context_line":"openbao_install_dir: \"/usr/local/bin\""},{"line_number":214,"context_line":"openbao_role_name: \"default\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"34165dc8_ce4f1a4c","line":211,"range":{"start_line":211,"start_character":47,"end_line":211,"end_character":53},"in_reply_to":"ce4a2432_41ce19d1","updated":"2026-05-12 14:53:41.000000000","message":"Done","commit_id":"9bd6c5dc16b3bc366f752b9bf2294ddb970693de"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"59328db8ea21cfaa72e7154ce4cffa851810130a","unresolved":true,"context_lines":[{"line_number":219,"context_line":"openbao_url: \"https://github.com/openbao/openbao/releases/download/v{{ openbao_version }}/{{ openbao_file }}\""},{"line_number":220,"context_line":"openbao_install_dir: \"/usr/local/bin\""},{"line_number":221,"context_line":"openbao_role_name: \"default\""},{"line_number":222,"context_line":"openbao_root_token: \"7L7RGMayZLc3rsnYRpAy\""},{"line_number":223,"context_line":"openbao_listen_ip: 127.0.0.1"},{"line_number":224,"context_line":"openbao_listen_port: 8200"},{"line_number":225,"context_line":"openbao_listen_address: \"{{ openbao_listen_ip }}:{{ openbao_listen_port }}\""}],"source_content_type":"text/x-yaml","patch_set":20,"id":"7ff647ec_0cbd9fcb","line":222,"range":{"start_line":222,"start_character":21,"end_line":222,"end_character":41},"updated":"2026-05-13 08:39:46.000000000","message":"why the token is here? isn\u0027t it pulled from user_secrets?","commit_id":"1a58917dcce4dae9a4c5f1872c17b77b12dae8db"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"b792bdfdfd6389fbf31c8f7a6e03cb6ff3fa323a","unresolved":true,"context_lines":[{"line_number":219,"context_line":"openbao_url: \"https://github.com/openbao/openbao/releases/download/v{{ openbao_version }}/{{ openbao_file }}\""},{"line_number":220,"context_line":"openbao_install_dir: \"/usr/local/bin\""},{"line_number":221,"context_line":"openbao_role_name: \"default\""},{"line_number":222,"context_line":"openbao_root_token: \"7L7RGMayZLc3rsnYRpAy\""},{"line_number":223,"context_line":"openbao_listen_ip: 127.0.0.1"},{"line_number":224,"context_line":"openbao_listen_port: 8200"},{"line_number":225,"context_line":"openbao_listen_address: \"{{ openbao_listen_ip }}:{{ openbao_listen_port }}\""}],"source_content_type":"text/x-yaml","patch_set":20,"id":"f5a0d03c_a2ed7138","line":222,"range":{"start_line":222,"start_character":21,"end_line":222,"end_character":41},"in_reply_to":"790a2300_51ed1a03","updated":"2026-05-13 09:37:59.000000000","message":"- but how do you deal with `pki_hashi_vault_password` which is being added to user_secrets? As I assume it should math?\n- well, it also looks quite incorrect to hardcode the password even for AIO...","commit_id":"1a58917dcce4dae9a4c5f1872c17b77b12dae8db"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"60280f88d653a094bfd66a64631e36df009f9837","unresolved":true,"context_lines":[{"line_number":219,"context_line":"openbao_url: \"https://github.com/openbao/openbao/releases/download/v{{ openbao_version }}/{{ openbao_file }}\""},{"line_number":220,"context_line":"openbao_install_dir: \"/usr/local/bin\""},{"line_number":221,"context_line":"openbao_role_name: \"default\""},{"line_number":222,"context_line":"openbao_root_token: \"7L7RGMayZLc3rsnYRpAy\""},{"line_number":223,"context_line":"openbao_listen_ip: 127.0.0.1"},{"line_number":224,"context_line":"openbao_listen_port: 8200"},{"line_number":225,"context_line":"openbao_listen_address: \"{{ openbao_listen_ip }}:{{ openbao_listen_port }}\""}],"source_content_type":"text/x-yaml","patch_set":20,"id":"a02453b5_f3a4193f","line":222,"range":{"start_line":222,"start_character":21,"end_line":222,"end_character":41},"in_reply_to":"7da9429c_ddf070eb","updated":"2026-05-13 14:41:16.000000000","message":"I\u0027d say - let\u0027s use some password generation then here, for instance:\n`\"{{ lookup(\u0027ansible.builtin.password\u0027, \u0027/opt/vault_root_token\u0027) }}\"`\n\nI\u0027d guess it should work?","commit_id":"1a58917dcce4dae9a4c5f1872c17b77b12dae8db"},{"author":{"_account_id":32666,"name":"Damian Dąbrowski","email":"damian@dabrowski.cloud","username":"ddabrowski"},"change_message_id":"ea6089c9e3e646a1f89f657adddb2e156992d62a","unresolved":true,"context_lines":[{"line_number":219,"context_line":"openbao_url: \"https://github.com/openbao/openbao/releases/download/v{{ openbao_version }}/{{ openbao_file }}\""},{"line_number":220,"context_line":"openbao_install_dir: \"/usr/local/bin\""},{"line_number":221,"context_line":"openbao_role_name: \"default\""},{"line_number":222,"context_line":"openbao_root_token: \"7L7RGMayZLc3rsnYRpAy\""},{"line_number":223,"context_line":"openbao_listen_ip: 127.0.0.1"},{"line_number":224,"context_line":"openbao_listen_port: 8200"},{"line_number":225,"context_line":"openbao_listen_address: \"{{ openbao_listen_ip }}:{{ openbao_listen_port }}\""}],"source_content_type":"text/x-yaml","patch_set":20,"id":"790a2300_51ed1a03","line":222,"range":{"start_line":222,"start_character":21,"end_line":222,"end_character":41},"in_reply_to":"7ff647ec_0cbd9fcb","updated":"2026-05-13 09:10:26.000000000","message":"so, there are two reasons:\n\n- openbao is configured as a part of `bootstrap-aio.yml` playbook, when executing this playbook we don\u0027t have access to OSA inventory(so we don\u0027t have access to user_secrets.yml).\n- it looks incorrect to put something in user_secrets.yml that is used only in CI(OSA is not responsible for setting up openbao, we do this only in CI)","commit_id":"1a58917dcce4dae9a4c5f1872c17b77b12dae8db"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"5cd37a0b89d04f9802aee92ca5a0aa27c9546bd2","unresolved":false,"context_lines":[{"line_number":219,"context_line":"openbao_url: \"https://github.com/openbao/openbao/releases/download/v{{ openbao_version }}/{{ openbao_file }}\""},{"line_number":220,"context_line":"openbao_install_dir: \"/usr/local/bin\""},{"line_number":221,"context_line":"openbao_role_name: \"default\""},{"line_number":222,"context_line":"openbao_root_token: \"7L7RGMayZLc3rsnYRpAy\""},{"line_number":223,"context_line":"openbao_listen_ip: 127.0.0.1"},{"line_number":224,"context_line":"openbao_listen_port: 8200"},{"line_number":225,"context_line":"openbao_listen_address: \"{{ openbao_listen_ip }}:{{ openbao_listen_port }}\""}],"source_content_type":"text/x-yaml","patch_set":20,"id":"2f9a645e_c607827d","line":222,"range":{"start_line":222,"start_character":21,"end_line":222,"end_character":41},"in_reply_to":"a02453b5_f3a4193f","updated":"2026-05-14 07:36:27.000000000","message":"Done","commit_id":"1a58917dcce4dae9a4c5f1872c17b77b12dae8db"},{"author":{"_account_id":32666,"name":"Damian Dąbrowski","email":"damian@dabrowski.cloud","username":"ddabrowski"},"change_message_id":"eff6e2b9128ec9a45ad03cc1389aaf8db022a60f","unresolved":true,"context_lines":[{"line_number":219,"context_line":"openbao_url: \"https://github.com/openbao/openbao/releases/download/v{{ openbao_version }}/{{ openbao_file }}\""},{"line_number":220,"context_line":"openbao_install_dir: \"/usr/local/bin\""},{"line_number":221,"context_line":"openbao_role_name: \"default\""},{"line_number":222,"context_line":"openbao_root_token: \"7L7RGMayZLc3rsnYRpAy\""},{"line_number":223,"context_line":"openbao_listen_ip: 127.0.0.1"},{"line_number":224,"context_line":"openbao_listen_port: 8200"},{"line_number":225,"context_line":"openbao_listen_address: \"{{ openbao_listen_ip }}:{{ openbao_listen_port }}\""}],"source_content_type":"text/x-yaml","patch_set":20,"id":"7da9429c_ddf070eb","line":222,"range":{"start_line":222,"start_character":21,"end_line":222,"end_character":41},"in_reply_to":"f5a0d03c_a2ed7138","updated":"2026-05-13 09:46:23.000000000","message":"not really, `openbao_root_token` is for a `root` user(OSA don\u0027t use it outside of CI).\n\n`pki_hashi_vault_password` is for an `osa` user. This user is used in production environments by OSA playbooks and its password is stored in user_secrets.yml\n\nI know that storing password in role defaults is not ideal, but since it\u0027s only for CI purposes and I really didn\u0027t manage to come up with some fully correct way of handling this, I thought we can let it slide...","commit_id":"1a58917dcce4dae9a4c5f1872c17b77b12dae8db"}],"tests/roles/bootstrap-host/tasks/prepare_openbao.yml":[{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"cfc585457bbc982bf5adc74e4eeac0f61abef8d6","unresolved":true,"context_lines":[{"line_number":26,"context_line":"  ansible.builtin.unarchive:"},{"line_number":27,"context_line":"    src: \"/tmp/{{ openbao_file }}\""},{"line_number":28,"context_line":"    dest: \"/tmp\""},{"line_number":29,"context_line":"    remote_src: yes"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- name: Install OpenBao binary"},{"line_number":32,"context_line":"  ansible.builtin.copy:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"eeeaba8c_f416d8cb","line":29,"range":{"start_line":29,"start_character":16,"end_line":29,"end_character":19},"updated":"2026-02-05 12:05:36.000000000","message":"```suggestion\n    remote_src: true\n```","commit_id":"4f5a95bb62cf1a2dba767a9b7f143747f02cf2c1"},{"author":{"_account_id":32666,"name":"Damian Dąbrowski","email":"damian@dabrowski.cloud","username":"ddabrowski"},"change_message_id":"903fb79869f957ff318e67cdfcb7b4774ffee1f6","unresolved":false,"context_lines":[{"line_number":26,"context_line":"  ansible.builtin.unarchive:"},{"line_number":27,"context_line":"    src: \"/tmp/{{ openbao_file }}\""},{"line_number":28,"context_line":"    dest: \"/tmp\""},{"line_number":29,"context_line":"    remote_src: yes"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- name: Install OpenBao binary"},{"line_number":32,"context_line":"  ansible.builtin.copy:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"b75fa7f7_d934c396","line":29,"range":{"start_line":29,"start_character":16,"end_line":29,"end_character":19},"in_reply_to":"eeeaba8c_f416d8cb","updated":"2026-03-17 16:08:29.000000000","message":"Done","commit_id":"4f5a95bb62cf1a2dba767a9b7f143747f02cf2c1"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"cfc585457bbc982bf5adc74e4eeac0f61abef8d6","unresolved":true,"context_lines":[{"line_number":33,"context_line":"    src: \"/tmp/bao\""},{"line_number":34,"context_line":"    dest: \"{{ openbao_install_dir }}/bao\""},{"line_number":35,"context_line":"    mode: \"0755\""},{"line_number":36,"context_line":"    remote_src: yes"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"- name: Create systemd service for OpenBao"},{"line_number":39,"context_line":"  ansible.builtin.copy:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"713fda56_c548959f","line":36,"range":{"start_line":36,"start_character":16,"end_line":36,"end_character":19},"updated":"2026-02-05 12:05:36.000000000","message":"```suggestion\n    remote_src: true\n```","commit_id":"4f5a95bb62cf1a2dba767a9b7f143747f02cf2c1"},{"author":{"_account_id":32666,"name":"Damian Dąbrowski","email":"damian@dabrowski.cloud","username":"ddabrowski"},"change_message_id":"903fb79869f957ff318e67cdfcb7b4774ffee1f6","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    src: \"/tmp/bao\""},{"line_number":34,"context_line":"    dest: \"{{ openbao_install_dir }}/bao\""},{"line_number":35,"context_line":"    mode: \"0755\""},{"line_number":36,"context_line":"    remote_src: yes"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"- name: Create systemd service for OpenBao"},{"line_number":39,"context_line":"  ansible.builtin.copy:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"8682a883_84d83530","line":36,"range":{"start_line":36,"start_character":16,"end_line":36,"end_character":19},"in_reply_to":"713fda56_c548959f","updated":"2026-03-17 16:08:29.000000000","message":"Done","commit_id":"4f5a95bb62cf1a2dba767a9b7f143747f02cf2c1"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"cfc585457bbc982bf5adc74e4eeac0f61abef8d6","unresolved":true,"context_lines":[{"line_number":35,"context_line":"    mode: \"0755\""},{"line_number":36,"context_line":"    remote_src: yes"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"- name: Create systemd service for OpenBao"},{"line_number":39,"context_line":"  ansible.builtin.copy:"},{"line_number":40,"context_line":"    dest: /etc/systemd/system/openbao.service"},{"line_number":41,"context_line":"    content: |"},{"line_number":42,"context_line":"      [Unit]"},{"line_number":43,"context_line":"      Description\u003dOpenBao Service"},{"line_number":44,"context_line":"      After\u003dnetwork.target"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"      [Service]"},{"line_number":47,"context_line":"      ExecStart\u003dbao server -dev -dev-root-token-id\u003d{{ openbao_root_token }} -dev-listen-address\u003d{{ openbao_listen_address }}"},{"line_number":48,"context_line":"      Restart\u003dalways"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"      [Install]"},{"line_number":51,"context_line":"      WantedBy\u003dmulti-user.target"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"- name: Reload systemd"},{"line_number":54,"context_line":"  ansible.builtin.systemd:"},{"line_number":55,"context_line":"    daemon_reload: yes"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"- name: Enable and start OpenBao service"},{"line_number":58,"context_line":"  ansible.builtin.systemd:"},{"line_number":59,"context_line":"    name: openbao"},{"line_number":60,"context_line":"    enabled: yes"},{"line_number":61,"context_line":"    state: started"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"- name: Wait for OpenBao to become available"},{"line_number":64,"context_line":"  ansible.builtin.wait_for:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"a6762171_962aa4ad","line":61,"range":{"start_line":38,"start_character":0,"end_line":61,"end_character":18},"updated":"2026-02-05 12:05:36.000000000","message":"Why don\u0027t we use `systemd_service` role here? I think it should be used...","commit_id":"4f5a95bb62cf1a2dba767a9b7f143747f02cf2c1"},{"author":{"_account_id":32666,"name":"Damian Dąbrowski","email":"damian@dabrowski.cloud","username":"ddabrowski"},"change_message_id":"903fb79869f957ff318e67cdfcb7b4774ffee1f6","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    mode: \"0755\""},{"line_number":36,"context_line":"    remote_src: yes"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"- name: Create systemd service for OpenBao"},{"line_number":39,"context_line":"  ansible.builtin.copy:"},{"line_number":40,"context_line":"    dest: /etc/systemd/system/openbao.service"},{"line_number":41,"context_line":"    content: |"},{"line_number":42,"context_line":"      [Unit]"},{"line_number":43,"context_line":"      Description\u003dOpenBao Service"},{"line_number":44,"context_line":"      After\u003dnetwork.target"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"      [Service]"},{"line_number":47,"context_line":"      ExecStart\u003dbao server -dev -dev-root-token-id\u003d{{ openbao_root_token }} -dev-listen-address\u003d{{ openbao_listen_address }}"},{"line_number":48,"context_line":"      Restart\u003dalways"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"      [Install]"},{"line_number":51,"context_line":"      WantedBy\u003dmulti-user.target"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"- name: Reload systemd"},{"line_number":54,"context_line":"  ansible.builtin.systemd:"},{"line_number":55,"context_line":"    daemon_reload: yes"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"- name: Enable and start OpenBao service"},{"line_number":58,"context_line":"  ansible.builtin.systemd:"},{"line_number":59,"context_line":"    name: openbao"},{"line_number":60,"context_line":"    enabled: yes"},{"line_number":61,"context_line":"    state: started"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"- name: Wait for OpenBao to become available"},{"line_number":64,"context_line":"  ansible.builtin.wait_for:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"e8b42cec_3624f9fd","line":61,"range":{"start_line":38,"start_character":0,"end_line":61,"end_character":18},"in_reply_to":"a6762171_962aa4ad","updated":"2026-03-17 16:08:29.000000000","message":"yeah, you\u0027re right\nfixed","commit_id":"4f5a95bb62cf1a2dba767a9b7f143747f02cf2c1"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"cfc585457bbc982bf5adc74e4eeac0f61abef8d6","unresolved":true,"context_lines":[{"line_number":71,"context_line":"  ansible.builtin.lineinfile:"},{"line_number":72,"context_line":"    path: \"/etc/environment\""},{"line_number":73,"context_line":"    line: \"{{ item }}\""},{"line_number":74,"context_line":"    create: yes"},{"line_number":75,"context_line":"  loop:"},{"line_number":76,"context_line":"    - \u0027BAO_ADDR\u003d\"{{ openbao_address }}\"\u0027"},{"line_number":77,"context_line":"    - \u0027BAO_TOKEN\u003d\"{{ openbao_root_token }}\"\u0027"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"0004df5d_624cdf29","line":74,"range":{"start_line":74,"start_character":12,"end_line":74,"end_character":15},"updated":"2026-02-05 12:05:36.000000000","message":"```suggestion\n    create: true\n```","commit_id":"4f5a95bb62cf1a2dba767a9b7f143747f02cf2c1"},{"author":{"_account_id":32666,"name":"Damian Dąbrowski","email":"damian@dabrowski.cloud","username":"ddabrowski"},"change_message_id":"903fb79869f957ff318e67cdfcb7b4774ffee1f6","unresolved":false,"context_lines":[{"line_number":71,"context_line":"  ansible.builtin.lineinfile:"},{"line_number":72,"context_line":"    path: \"/etc/environment\""},{"line_number":73,"context_line":"    line: \"{{ item }}\""},{"line_number":74,"context_line":"    create: yes"},{"line_number":75,"context_line":"  loop:"},{"line_number":76,"context_line":"    - \u0027BAO_ADDR\u003d\"{{ openbao_address }}\"\u0027"},{"line_number":77,"context_line":"    - \u0027BAO_TOKEN\u003d\"{{ openbao_root_token }}\"\u0027"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"fac8c2a9_89e60a29","line":74,"range":{"start_line":74,"start_character":12,"end_line":74,"end_character":15},"in_reply_to":"0004df5d_624cdf29","updated":"2026-03-17 16:08:29.000000000","message":"Done","commit_id":"4f5a95bb62cf1a2dba767a9b7f143747f02cf2c1"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"cfc585457bbc982bf5adc74e4eeac0f61abef8d6","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":13,"id":"b91c3ecd_23598afe","line":139,"range":{"start_line":93,"start_character":0,"end_line":139,"end_character":0},"updated":"2026-02-05 12:05:36.000000000","message":"can we do that as a single task with loop?","commit_id":"4f5a95bb62cf1a2dba767a9b7f143747f02cf2c1"},{"author":{"_account_id":32666,"name":"Damian Dąbrowski","email":"damian@dabrowski.cloud","username":"ddabrowski"},"change_message_id":"903fb79869f957ff318e67cdfcb7b4774ffee1f6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"e2f5fa8a_195ac446","line":139,"range":{"start_line":93,"start_character":0,"end_line":139,"end_character":0},"in_reply_to":"b91c3ecd_23598afe","updated":"2026-03-17 16:08:29.000000000","message":"Done","commit_id":"4f5a95bb62cf1a2dba767a9b7f143747f02cf2c1"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"718ee4d2c811ff8a5b407c9ef3e474cc58b4bd5f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"- name: Get pki_hashi_vault_password directly from file"},{"line_number":2,"context_line":"  ansible.builtin.set_fact:"},{"line_number":3,"context_line":"    _pki_hashi_vault_password: \"{{ lookup(\u0027ansible.builtin.file\u0027, \u0027/etc/openstack_deploy/user_secrets.yml\u0027) | from_yaml | json_query(\u0027pki_hashi_vault_password\u0027) }}\""},{"line_number":4,"context_line":"  when: pki_hashi_vault_password is not defined or pki_hashi_vault_password is none"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"6066566e_9c4d67c5","line":1,"updated":"2026-03-26 10:13:03.000000000","message":"missing license header","commit_id":"3d07f609b86be1c5efbe3376f4df35eba563862d"},{"author":{"_account_id":32666,"name":"Damian Dąbrowski","email":"damian@dabrowski.cloud","username":"ddabrowski"},"change_message_id":"7739c01f2dea4d426969dfc2265b27e709274830","unresolved":false,"context_lines":[{"line_number":1,"context_line":"- name: Get pki_hashi_vault_password directly from file"},{"line_number":2,"context_line":"  ansible.builtin.set_fact:"},{"line_number":3,"context_line":"    _pki_hashi_vault_password: \"{{ lookup(\u0027ansible.builtin.file\u0027, \u0027/etc/openstack_deploy/user_secrets.yml\u0027) | from_yaml | json_query(\u0027pki_hashi_vault_password\u0027) }}\""},{"line_number":4,"context_line":"  when: pki_hashi_vault_password is not defined or pki_hashi_vault_password is none"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"da5d52cd_29d847a0","line":1,"in_reply_to":"6066566e_9c4d67c5","updated":"2026-04-18 14:27:54.000000000","message":"Done","commit_id":"3d07f609b86be1c5efbe3376f4df35eba563862d"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"d73b7ed12592a4cfbff8a791c8b46d0b02568725","unresolved":true,"context_lines":[{"line_number":29,"context_line":"- name: Ensure hvac\u003e\u003d2.0 is installed"},{"line_number":30,"context_line":"  ansible.builtin.pip:"},{"line_number":31,"context_line":"    name: hvac"},{"line_number":32,"context_line":"    version: \"\u003e\u003d2.0\""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"- name: Download OpenBao binary"},{"line_number":35,"context_line":"  ansible.builtin.get_url:"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"9720040c_076873b3","line":32,"updated":"2026-05-11 07:45:17.000000000","message":"I think we should be adding `extra_args: --constraint {{ ansible_user_dir }}/src/opendev.org/openstack/requirements/upper-constraints.txt` - as `hvac` is in U-C, but I am not really sure how to better define the path in here.\n\nAs we have a zuul/non-zuul usecases which we handle in bootstrap-aio in general.","commit_id":"9bd6c5dc16b3bc366f752b9bf2294ddb970693de"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"59328db8ea21cfaa72e7154ce4cffa851810130a","unresolved":false,"context_lines":[{"line_number":29,"context_line":"- name: Ensure hvac\u003e\u003d2.0 is installed"},{"line_number":30,"context_line":"  ansible.builtin.pip:"},{"line_number":31,"context_line":"    name: hvac"},{"line_number":32,"context_line":"    version: \"\u003e\u003d2.0\""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"- name: Download OpenBao binary"},{"line_number":35,"context_line":"  ansible.builtin.get_url:"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"00080d69_f09d6efc","line":32,"in_reply_to":"970e71f3_7ed2dd0d","updated":"2026-05-13 08:39:46.000000000","message":"Yeah, I didn\u0027t mean to apply that literally. I just recal there\u0027s smth in bootstrap logic to pull in U-C or know where U-C are.\n\nI think your patch should work indeed.","commit_id":"9bd6c5dc16b3bc366f752b9bf2294ddb970693de"},{"author":{"_account_id":32666,"name":"Damian Dąbrowski","email":"damian@dabrowski.cloud","username":"ddabrowski"},"change_message_id":"0a31d263c88b47c6ba943ae6277cc9e1b47131f8","unresolved":true,"context_lines":[{"line_number":29,"context_line":"- name: Ensure hvac\u003e\u003d2.0 is installed"},{"line_number":30,"context_line":"  ansible.builtin.pip:"},{"line_number":31,"context_line":"    name: hvac"},{"line_number":32,"context_line":"    version: \"\u003e\u003d2.0\""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"- name: Download OpenBao binary"},{"line_number":35,"context_line":"  ansible.builtin.get_url:"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"970e71f3_7ed2dd0d","line":32,"in_reply_to":"9720040c_076873b3","updated":"2026-05-12 14:53:41.000000000","message":"but your approach will not work on non-zuul envs if i recall correctly, right?\n\nI test things out on local AIO quite often so it would be awesome to have something that would work both in CI and outside zuul.\n\nI applied slightly different approach, let\u0027s check if it works.","commit_id":"9bd6c5dc16b3bc366f752b9bf2294ddb970693de"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"d73b7ed12592a4cfbff8a791c8b46d0b02568725","unresolved":true,"context_lines":[{"line_number":37,"context_line":"    dest: \"/tmp/{{ openbao_file }}\""},{"line_number":38,"context_line":"    mode: \"0644\""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"- name: Extract OpenBao binary"},{"line_number":41,"context_line":"  ansible.builtin.unarchive:"},{"line_number":42,"context_line":"    src: \"/tmp/{{ openbao_file }}\""},{"line_number":43,"context_line":"    dest: \"/tmp\""},{"line_number":44,"context_line":"    remote_src: true"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"- name: Install OpenBao binary"},{"line_number":47,"context_line":"  ansible.builtin.copy:"},{"line_number":48,"context_line":"    src: \"/tmp/bao\""},{"line_number":49,"context_line":"    dest: \"{{ openbao_install_dir }}/bao\""},{"line_number":50,"context_line":"    mode: \"0755\""},{"line_number":51,"context_line":"    remote_src: true"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"- name: Configure openbao systemd service"},{"line_number":54,"context_line":"  ansible.builtin.import_role:"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"e5b774c6_91fcc4c6","line":51,"range":{"start_line":40,"start_character":0,"end_line":51,"end_character":20},"updated":"2026-05-11 07:45:17.000000000","message":"this looks like you can unarchive directly to `openbao_install_dir`?\n\njust use\n```\nansible.builtin.unarchive:\n  include: bao\n  ....\n```","commit_id":"9bd6c5dc16b3bc366f752b9bf2294ddb970693de"},{"author":{"_account_id":32666,"name":"Damian Dąbrowski","email":"damian@dabrowski.cloud","username":"ddabrowski"},"change_message_id":"0a31d263c88b47c6ba943ae6277cc9e1b47131f8","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    dest: \"/tmp/{{ openbao_file }}\""},{"line_number":38,"context_line":"    mode: \"0644\""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"- name: Extract OpenBao binary"},{"line_number":41,"context_line":"  ansible.builtin.unarchive:"},{"line_number":42,"context_line":"    src: \"/tmp/{{ openbao_file }}\""},{"line_number":43,"context_line":"    dest: \"/tmp\""},{"line_number":44,"context_line":"    remote_src: true"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"- name: Install OpenBao binary"},{"line_number":47,"context_line":"  ansible.builtin.copy:"},{"line_number":48,"context_line":"    src: \"/tmp/bao\""},{"line_number":49,"context_line":"    dest: \"{{ openbao_install_dir }}/bao\""},{"line_number":50,"context_line":"    mode: \"0755\""},{"line_number":51,"context_line":"    remote_src: true"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"- name: Configure openbao systemd service"},{"line_number":54,"context_line":"  ansible.builtin.import_role:"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"74dd8b8a_abc3f18c","line":51,"range":{"start_line":40,"start_character":0,"end_line":51,"end_character":20},"in_reply_to":"e5b774c6_91fcc4c6","updated":"2026-05-12 14:53:41.000000000","message":"ah yeah..you\u0027re right. And I can use URL in `src` so I don\u0027t need to download archive in a separate task. Fixed.","commit_id":"9bd6c5dc16b3bc366f752b9bf2294ddb970693de"}],"tests/roles/bootstrap-host/templates/user_variables_openbao.yml.j2":[{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"718ee4d2c811ff8a5b407c9ef3e474cc58b4bd5f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"openstack_pki_backend: hashi_vault"},{"line_number":2,"context_line":"pki_hashi_vault_host: http://127.0.0.1:8200"},{"line_number":3,"context_line":"pki_hashi_vault_login: osa"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":15,"id":"5e28c618_dc28bed6","line":1,"updated":"2026-03-26 10:13:03.000000000","message":"I _think_ license should be here as well.","commit_id":"3d07f609b86be1c5efbe3376f4df35eba563862d"},{"author":{"_account_id":32666,"name":"Damian Dąbrowski","email":"damian@dabrowski.cloud","username":"ddabrowski"},"change_message_id":"7739c01f2dea4d426969dfc2265b27e709274830","unresolved":false,"context_lines":[{"line_number":1,"context_line":"openstack_pki_backend: hashi_vault"},{"line_number":2,"context_line":"pki_hashi_vault_host: http://127.0.0.1:8200"},{"line_number":3,"context_line":"pki_hashi_vault_login: osa"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":15,"id":"8a26d466_fa50f526","line":1,"in_reply_to":"5e28c618_dc28bed6","updated":"2026-04-18 14:27:54.000000000","message":"Done","commit_id":"3d07f609b86be1c5efbe3376f4df35eba563862d"}]}
