)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":34462,"name":"Imran Hussain","email":"ih@imranh.co.uk","username":"imranh2"},"change_message_id":"76db4664c9b1f5ea48cc4a1c1f57fa32b88b642e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"67eab8a5_a03f9b93","updated":"2022-01-13 16:28:17.000000000","message":"recheck","commit_id":"70dc8db8bacbe343568a5465c10885cc3cf2347c"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"86b70cfd9578c4a1da6f726af2b80175bb1f381f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"60fc6d7f_c15a6091","updated":"2022-01-13 18:26:05.000000000","message":"I\u0027m not sure why you want all those templates, can you create a bug report describing your use case?\n\nWhile there might be some reason to template the ceph.conf files, I cannot imagine any reason to do so for the keyrings.","commit_id":"1483a292802ad55a89b6d9d21bb7f53665250ea7"},{"author":{"_account_id":34462,"name":"Imran Hussain","email":"ih@imranh.co.uk","username":"imranh2"},"change_message_id":"094a556f656dbf322080df1116e6da2513171bb4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"54e8edeb_e7ae6c36","updated":"2022-01-13 17:44:10.000000000","message":"recheck","commit_id":"1483a292802ad55a89b6d9d21bb7f53665250ea7"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"8dc674d98a6647caa7ef2e7afe17d46474add9aa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"74758b70_939917a9","updated":"2022-01-13 18:21:20.000000000","message":"you don\u0027t need to issue \"recheck\" for new patchsets, they are checked automatically, just be patient, it may take a couple of hours","commit_id":"1483a292802ad55a89b6d9d21bb7f53665250ea7"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"6ec1b499825122e41ab7bbbba1e1c308a942a042","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6da5395e_4d1f7eff","in_reply_to":"2a4420c7_f3b82e89","updated":"2022-03-18 15:05:59.000000000","message":"Done","commit_id":"1483a292802ad55a89b6d9d21bb7f53665250ea7"},{"author":{"_account_id":34462,"name":"Imran Hussain","email":"ih@imranh.co.uk","username":"imranh2"},"change_message_id":"c7350228f722856ebd054b67cfb21a0d60faffdf","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"2a4420c7_f3b82e89","in_reply_to":"60fc6d7f_c15a6091","updated":"2022-01-13 18:52:06.000000000","message":"To pull details from elsewhere or using something like lookup https://docs.ansible.com/ansible/latest/plugins/lookup.html\n\nExample, a keyring key, can be generated and stored in Hashicorp Vault, you then create a keyring file that looks like:\n\n[client.nova]\n    key \u003d \"{{ lookup(\u0027hashi_vault\u0027, \u0027secret\u003dsecret/client.nova:value url\u003dhttp://vault.example.com:8200\u0027)}}\"\n\nEver need to rotate secrets? Just do it in Vault and rerun your Ansible instead of having to jump around updating it everywhere.\n\nIf you still want a bug I can create it","commit_id":"1483a292802ad55a89b6d9d21bb7f53665250ea7"},{"author":{"_account_id":34462,"name":"Imran Hussain","email":"ih@imranh.co.uk","username":"imranh2"},"change_message_id":"c7350228f722856ebd054b67cfb21a0d60faffdf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"c31e5df1_751d9c0c","in_reply_to":"74758b70_939917a9","updated":"2022-01-13 18:52:06.000000000","message":"Ah, thanks, misunderstood the docs apprently!","commit_id":"1483a292802ad55a89b6d9d21bb7f53665250ea7"},{"author":{"_account_id":34462,"name":"Imran Hussain","email":"ih@imranh.co.uk","username":"imranh2"},"change_message_id":"b1ac91a60565a1d7766955d3aa66d5efe8ef3860","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"2773e28d_1eb6dfdf","updated":"2022-02-16 09:06:32.000000000","message":"Hi Jens,\n\nI created a bug at https://launchpad.net/bugs/1959565, what needs to happen next for this patch to move forward?","commit_id":"f0a2d8ab47ec1a20125b6b2c3165cd8e358f4cd1"},{"author":{"_account_id":34462,"name":"Imran Hussain","email":"ih@imranh.co.uk","username":"imranh2"},"change_message_id":"55fe3d05bbebd26b5edf153dcb7f1710112298fb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"c181c03c_94c109a1","updated":"2022-03-10 11:32:27.000000000","message":"Dropped the `become: false` as per suggested by hrw on irc.","commit_id":"150300ec2cb0ace0603bac15cb5f08fd7bf22745"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"95a722ce0bdc0e99d70e84a4b5a3d11343e1559e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"edadb2fe_dbd5ab3f","updated":"2022-03-16 13:20:36.000000000","message":"cephadm scenarios fail","commit_id":"08041bb26d55e86346bb9d7387081888aba4c832"},{"author":{"_account_id":34462,"name":"Imran Hussain","email":"ih@imranh.co.uk","username":"imranh2"},"change_message_id":"9062285fea8a2ed479486ed9874c58814c3a8cb6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"523fdc91_ba6d55fa","in_reply_to":"edadb2fe_dbd5ab3f","updated":"2022-03-17 09:34:57.000000000","message":"Got the Ceph tests passing now :)","commit_id":"08041bb26d55e86346bb9d7387081888aba4c832"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"da3bf0edc7acc7b0c4e556e7d291355cd295a1cd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"2cf074db_352ee3da","updated":"2022-03-18 14:22:30.000000000","message":"Thank you for your contribution. Please amend the issue inline and add a releasenote: https://docs.openstack.org/kolla-ansible/latest/contributor/release-notes.html (note this is a feature, not a fix, but you can also link to launchpad with that LP# incantation).","commit_id":"c1b00a4a7d5cc114fc4295fc774a3ae82c985510"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"7e920523b90f5bc5877a46178c5abba373b08da9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"9a5ba84e_a4d0946d","updated":"2022-03-18 15:05:27.000000000","message":"Thank you, it looks awesome now. 😊","commit_id":"1134c073b0008b6b8bf04c6a1ec165bab6baa173"},{"author":{"_account_id":34462,"name":"Imran Hussain","email":"ih@imranh.co.uk","username":"imranh2"},"change_message_id":"ffcc5bfc541b8751c07a3c6ecc916a24c9fd6a8e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"87c1b979_df67f148","in_reply_to":"9a5ba84e_a4d0946d","updated":"2022-03-18 15:10:38.000000000","message":"Thank you as well for the review 😊","commit_id":"1134c073b0008b6b8bf04c6a1ec165bab6baa173"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"b845178b1a6c2b37ac3b6c305774c3a81d31211f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"1c9632ff_13d07b48","updated":"2022-03-18 15:18:24.000000000","message":"Michal, I wanted to see if Zuul Ceph jobs are happy.","commit_id":"4c221be86e11464c6f2d54616e212c6e8bc7c367"},{"author":{"_account_id":34462,"name":"Imran Hussain","email":"ih@imranh.co.uk","username":"imranh2"},"change_message_id":"a7626db881e8585c19911ccf28f0f0200d660804","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"717b21f9_1c0952c3","updated":"2022-03-18 19:39:08.000000000","message":"recheck","commit_id":"4c221be86e11464c6f2d54616e212c6e8bc7c367"}],"ansible/roles/cinder/tasks/external_ceph.yml":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"02973b7a07b51c2597b7e61807507109172009c0","unresolved":true,"context_lines":[{"line_number":10,"context_line":"    sources:"},{"line_number":11,"context_line":"      - \"{{ node_custom_config }}/cinder/ceph.conf\""},{"line_number":12,"context_line":"      - \"{{ node_custom_config }}/cinder/{{ item.key }}/ceph.conf\""},{"line_number":13,"context_line":"    dest: \"{{ node_custom_config }}/{{ iten.key }}-ceph.conf\""},{"line_number":14,"context_line":"    mode: \"0660\""},{"line_number":15,"context_line":"  delegate_to: localhost"},{"line_number":16,"context_line":"  when:"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"a92eff6b_77a3d7f6","line":13,"range":{"start_line":13,"start_character":42,"end_line":13,"end_character":43},"updated":"2022-03-11 13:20:20.000000000","message":"item","commit_id":"150300ec2cb0ace0603bac15cb5f08fd7bf22745"},{"author":{"_account_id":34462,"name":"Imran Hussain","email":"ih@imranh.co.uk","username":"imranh2"},"change_message_id":"7e7e379306837bdbafc688e6d8139dee647ba9a1","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    sources:"},{"line_number":11,"context_line":"      - \"{{ node_custom_config }}/cinder/ceph.conf\""},{"line_number":12,"context_line":"      - \"{{ node_custom_config }}/cinder/{{ item.key }}/ceph.conf\""},{"line_number":13,"context_line":"    dest: \"{{ node_custom_config }}/{{ iten.key }}-ceph.conf\""},{"line_number":14,"context_line":"    mode: \"0660\""},{"line_number":15,"context_line":"  delegate_to: localhost"},{"line_number":16,"context_line":"  when:"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"8e33a82c_6467f496","line":13,"range":{"start_line":13,"start_character":42,"end_line":13,"end_character":43},"in_reply_to":"a92eff6b_77a3d7f6","updated":"2022-03-11 14:02:23.000000000","message":"Done\n\nMy bad! good spot :)","commit_id":"150300ec2cb0ace0603bac15cb5f08fd7bf22745"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"49a5633eb2db1d69112dde23b6e583e044ebad41","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"# NOTE(imranh2): backwords compat so operators don\u0027t have to make any"},{"line_number":3,"context_line":"# changes, generate merged Ceph.conf then template it to hosts"},{"line_number":4,"context_line":"- name: Create merged ceph.conf for Cinder locally"},{"line_number":5,"context_line":"  vars:"},{"line_number":6,"context_line":"    services_need_config:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"9950365e_0f5b58dd","line":3,"range":{"start_line":2,"start_character":0,"end_line":3,"end_character":62},"updated":"2022-03-17 20:07:44.000000000","message":"I don\u0027t think I get that part - and probably I don\u0027t like it.\nWe shouldn\u0027t be adding files to node_custom_config, because often it\u0027s in a git repo - and users will end up in some sort of a mess.\nCan you explain why this is needed?","commit_id":"6452cde1ebe8ea5491975c49f79bb5aacb03cffa"},{"author":{"_account_id":34462,"name":"Imran Hussain","email":"ih@imranh.co.uk","username":"imranh2"},"change_message_id":"9c8861c77630ea982064255c9957e0374082a141","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"# NOTE(imranh2): backwords compat so operators don\u0027t have to make any"},{"line_number":3,"context_line":"# changes, generate merged Ceph.conf then template it to hosts"},{"line_number":4,"context_line":"- name: Create merged ceph.conf for Cinder locally"},{"line_number":5,"context_line":"  vars:"},{"line_number":6,"context_line":"    services_need_config:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"96f17edb_5b4f982a","line":3,"range":{"start_line":2,"start_character":0,"end_line":3,"end_character":62},"in_reply_to":"0373db34_bc15b8f2","updated":"2022-03-18 11:55:29.000000000","message":"it does??????\n\nI must have done my local tests wrong... let me take another look.","commit_id":"6452cde1ebe8ea5491975c49f79bb5aacb03cffa"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"fb2ae37885e7ead30b926f5be8241c361dce58d3","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"# NOTE(imranh2): backwords compat so operators don\u0027t have to make any"},{"line_number":3,"context_line":"# changes, generate merged Ceph.conf then template it to hosts"},{"line_number":4,"context_line":"- name: Create merged ceph.conf for Cinder locally"},{"line_number":5,"context_line":"  vars:"},{"line_number":6,"context_line":"    services_need_config:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"0373db34_bc15b8f2","line":3,"range":{"start_line":2,"start_character":0,"end_line":3,"end_character":62},"in_reply_to":"458cc619_9fba7275","updated":"2022-03-18 11:43:52.000000000","message":"Hey, merge_configs already applies templating.","commit_id":"6452cde1ebe8ea5491975c49f79bb5aacb03cffa"},{"author":{"_account_id":34462,"name":"Imran Hussain","email":"ih@imranh.co.uk","username":"imranh2"},"change_message_id":"1666160af42bda79e6a66b74bd95b9972e2f5151","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"# NOTE(imranh2): backwords compat so operators don\u0027t have to make any"},{"line_number":3,"context_line":"# changes, generate merged Ceph.conf then template it to hosts"},{"line_number":4,"context_line":"- name: Create merged ceph.conf for Cinder locally"},{"line_number":5,"context_line":"  vars:"},{"line_number":6,"context_line":"    services_need_config:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"3898db5e_6f0b748b","line":3,"range":{"start_line":2,"start_character":0,"end_line":3,"end_character":62},"in_reply_to":"8359e235_50651c28","updated":"2022-03-18 14:06:19.000000000","message":"Done","commit_id":"6452cde1ebe8ea5491975c49f79bb5aacb03cffa"},{"author":{"_account_id":34462,"name":"Imran Hussain","email":"ih@imranh.co.uk","username":"imranh2"},"change_message_id":"fe63bb9957fbf7f27d231e173a48e2149e6afca8","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"# NOTE(imranh2): backwords compat so operators don\u0027t have to make any"},{"line_number":3,"context_line":"# changes, generate merged Ceph.conf then template it to hosts"},{"line_number":4,"context_line":"- name: Create merged ceph.conf for Cinder locally"},{"line_number":5,"context_line":"  vars:"},{"line_number":6,"context_line":"    services_need_config:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"8359e235_50651c28","line":3,"range":{"start_line":2,"start_character":0,"end_line":3,"end_character":62},"in_reply_to":"96f17edb_5b4f982a","updated":"2022-03-18 13:53:34.000000000","message":"Yep I\u0027m wrong. The merge_configs resolves those lookup expressions 😊 Looks like my first lot of testing was incorrect.\n\nI\u0027ll revert some of those changes then.","commit_id":"6452cde1ebe8ea5491975c49f79bb5aacb03cffa"},{"author":{"_account_id":34462,"name":"Imran Hussain","email":"ih@imranh.co.uk","username":"imranh2"},"change_message_id":"ed8bfe0173e49f0d05ca3d38b8ff41fade33ba7b","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"# NOTE(imranh2): backwords compat so operators don\u0027t have to make any"},{"line_number":3,"context_line":"# changes, generate merged Ceph.conf then template it to hosts"},{"line_number":4,"context_line":"- name: Create merged ceph.conf for Cinder locally"},{"line_number":5,"context_line":"  vars:"},{"line_number":6,"context_line":"    services_need_config:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"458cc619_9fba7275","line":3,"range":{"start_line":2,"start_character":0,"end_line":3,"end_character":62},"in_reply_to":"9950365e_0f5b58dd","updated":"2022-03-18 09:09:08.000000000","message":"Hi Michal,\n\nI also don\u0027t like it so we are off to a good start 😊 Let me try and explain the situation we find ourselves in.\n\nInstead of solely using the ansible `copy` or `template` module to move ceph.conf over to hosts like other roles (like glance) in cinder we use the custom `merge_configs` module.\n\nFor some important context: We use the `merge_configs` module as it allows operators to have `config/cinder/ceph.conf` as a global default for all cinder services, but there\u0027s a use case for maybe cinder-backup or something to use a different ceph cluster and therefore a different ceph.conf, so we also allow `config/cinder/cinder-backup/ceph.conf` so you can override it per cinder-service if you wish.\n\nNow the core problem is, `merge_configs` module acts like `copy` and *not* `template`. The solutions I saw were:\n\n1. No longer allow a global ceph.conf for all of cinder and make operators have only ceph.conf\u0027s for specific cinder-services. The obvious issue with this is that it\u0027s a major breaking change, IMHO probably a good change but a disruptive one. One really for a big wide kolla maintainers meeting.\n\n2. Implement optional `template` like functionality into the custom `merge_configs` module. I shyed away from this as it felt a bit daunting and I don\u0027t know how complicated it would be.\n\n3. Use the `merge_configs` module still but then not have it do the actual copy to the dest host and leave that to the `template` module which\u0027ll eval the jinja for us.\n\nI ended up going with 3. To address the git repo stuff (which is exactly why I\u0027m doing this change, I don\u0027t want dynamic ceph stuff inside of a git repo) I created a handler that then deletes the local file see `Clean up {{ item.key }}-ceph.conf` so by the end of a complete run you are left with a clean working directory. I only chose `{{ node_custom_config }}` as I didn\u0027t know where else to put such a tmp file.","commit_id":"6452cde1ebe8ea5491975c49f79bb5aacb03cffa"}],"ansible/roles/nova-cell/tasks/external_ceph.yml":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"49a5633eb2db1d69112dde23b6e583e044ebad41","unresolved":true,"context_lines":[{"line_number":73,"context_line":"  notify:"},{"line_number":74,"context_line":"    - Restart nova-libvirt container"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"- name: Read remote nova keyring file"},{"line_number":77,"context_line":"  slurp:"},{"line_number":78,"context_line":"    src: \"{{ node_config_directory }}/nova-compute/{{ ceph_nova_keyring }}\""},{"line_number":79,"context_line":"  become: true"},{"line_number":80,"context_line":"  run_once: True"},{"line_number":81,"context_line":"  register: nova_cephx_keyring_file"},{"line_number":82,"context_line":"  when:"},{"line_number":83,"context_line":"    - inventory_hostname in groups[nova_cell_compute_group]"},{"line_number":84,"context_line":"    - nova_backend \u003d\u003d \"rbd\""},{"line_number":85,"context_line":"    - external_ceph_cephx_enabled | bool"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"- name: Extract nova key from file"},{"line_number":88,"context_line":"  set_fact:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"968d540f_6aee0fb0","line":85,"range":{"start_line":76,"start_character":0,"end_line":85,"end_character":40},"updated":"2022-03-17 20:07:44.000000000","message":"since we have that key locally, what is the gain of slurping it from one host (run_once) and extracting that in the more-or-less same manner?","commit_id":"6452cde1ebe8ea5491975c49f79bb5aacb03cffa"},{"author":{"_account_id":34462,"name":"Imran Hussain","email":"ih@imranh.co.uk","username":"imranh2"},"change_message_id":"7474049faaff7928529acc3ea195d6b54df27f1b","unresolved":true,"context_lines":[{"line_number":73,"context_line":"  notify:"},{"line_number":74,"context_line":"    - Restart nova-libvirt container"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"- name: Read remote nova keyring file"},{"line_number":77,"context_line":"  slurp:"},{"line_number":78,"context_line":"    src: \"{{ node_config_directory }}/nova-compute/{{ ceph_nova_keyring }}\""},{"line_number":79,"context_line":"  become: true"},{"line_number":80,"context_line":"  run_once: True"},{"line_number":81,"context_line":"  register: nova_cephx_keyring_file"},{"line_number":82,"context_line":"  when:"},{"line_number":83,"context_line":"    - inventory_hostname in groups[nova_cell_compute_group]"},{"line_number":84,"context_line":"    - nova_backend \u003d\u003d \"rbd\""},{"line_number":85,"context_line":"    - external_ceph_cephx_enabled | bool"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"- name: Extract nova key from file"},{"line_number":88,"context_line":"  set_fact:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7cfce439_fd9ce469","line":85,"range":{"start_line":76,"start_character":0,"end_line":85,"end_character":40},"in_reply_to":"430291b6_f82c43f6","updated":"2022-03-18 14:55:57.000000000","message":"That\u0027s very useful to know. If we can do the template resolution on the ansible executor host then we can just get rid of those 2 tasks and embed that lookup as part of the fact setting.\n\nNew patchset incoming asap.","commit_id":"6452cde1ebe8ea5491975c49f79bb5aacb03cffa"},{"author":{"_account_id":34462,"name":"Imran Hussain","email":"ih@imranh.co.uk","username":"imranh2"},"change_message_id":"b5451d7262367f7e63189e1d11a9f8168fad503f","unresolved":false,"context_lines":[{"line_number":73,"context_line":"  notify:"},{"line_number":74,"context_line":"    - Restart nova-libvirt container"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"- name: Read remote nova keyring file"},{"line_number":77,"context_line":"  slurp:"},{"line_number":78,"context_line":"    src: \"{{ node_config_directory }}/nova-compute/{{ ceph_nova_keyring }}\""},{"line_number":79,"context_line":"  become: true"},{"line_number":80,"context_line":"  run_once: True"},{"line_number":81,"context_line":"  register: nova_cephx_keyring_file"},{"line_number":82,"context_line":"  when:"},{"line_number":83,"context_line":"    - inventory_hostname in groups[nova_cell_compute_group]"},{"line_number":84,"context_line":"    - nova_backend \u003d\u003d \"rbd\""},{"line_number":85,"context_line":"    - external_ceph_cephx_enabled | bool"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"- name: Extract nova key from file"},{"line_number":88,"context_line":"  set_fact:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5ae0adf1_e949b116","line":85,"range":{"start_line":76,"start_character":0,"end_line":85,"end_character":40},"in_reply_to":"7cfce439_fd9ce469","updated":"2022-03-18 15:00:31.000000000","message":"Done","commit_id":"6452cde1ebe8ea5491975c49f79bb5aacb03cffa"},{"author":{"_account_id":34462,"name":"Imran Hussain","email":"ih@imranh.co.uk","username":"imranh2"},"change_message_id":"ed8bfe0173e49f0d05ca3d38b8ff41fade33ba7b","unresolved":true,"context_lines":[{"line_number":73,"context_line":"  notify:"},{"line_number":74,"context_line":"    - Restart nova-libvirt container"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"- name: Read remote nova keyring file"},{"line_number":77,"context_line":"  slurp:"},{"line_number":78,"context_line":"    src: \"{{ node_config_directory }}/nova-compute/{{ ceph_nova_keyring }}\""},{"line_number":79,"context_line":"  become: true"},{"line_number":80,"context_line":"  run_once: True"},{"line_number":81,"context_line":"  register: nova_cephx_keyring_file"},{"line_number":82,"context_line":"  when:"},{"line_number":83,"context_line":"    - inventory_hostname in groups[nova_cell_compute_group]"},{"line_number":84,"context_line":"    - nova_backend \u003d\u003d \"rbd\""},{"line_number":85,"context_line":"    - external_ceph_cephx_enabled | bool"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"- name: Extract nova key from file"},{"line_number":88,"context_line":"  set_fact:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"de3967d9_c7f45b67","line":85,"range":{"start_line":76,"start_character":0,"end_line":85,"end_character":40},"in_reply_to":"968d540f_6aee0fb0","updated":"2022-03-18 09:09:08.000000000","message":"We are not guaranteed have that key locally.\n\nThe driving reason for this proposed change is for exactly that. This change enables us to replace the key with a ansible lookup expression.\n\nSo instead of:\n\nkey \u003d abcd\n\nWe might hace:\n\nkey \u003d \"{{ lookup(\u0027hashi_vault\u0027, \u0027secret\u003dsecret/client.nova:value url\u003dhttp://vault.example.com:8200\u0027)}}\"\n\nUnless you know of another way to resolve that locally instead of what I do of waiting for another module (`template`) to do the work then read it please let me know.","commit_id":"6452cde1ebe8ea5491975c49f79bb5aacb03cffa"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"da3bf0edc7acc7b0c4e556e7d291355cd295a1cd","unresolved":true,"context_lines":[{"line_number":73,"context_line":"  notify:"},{"line_number":74,"context_line":"    - Restart nova-libvirt container"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"- name: Read remote nova keyring file"},{"line_number":77,"context_line":"  slurp:"},{"line_number":78,"context_line":"    src: \"{{ node_config_directory }}/nova-compute/{{ ceph_nova_keyring }}\""},{"line_number":79,"context_line":"  become: true"},{"line_number":80,"context_line":"  run_once: True"},{"line_number":81,"context_line":"  register: nova_cephx_keyring_file"},{"line_number":82,"context_line":"  when:"},{"line_number":83,"context_line":"    - inventory_hostname in groups[nova_cell_compute_group]"},{"line_number":84,"context_line":"    - nova_backend \u003d\u003d \"rbd\""},{"line_number":85,"context_line":"    - external_ceph_cephx_enabled | bool"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"- name: Extract nova key from file"},{"line_number":88,"context_line":"  set_fact:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"430291b6_f82c43f6","line":85,"range":{"start_line":76,"start_character":0,"end_line":85,"end_character":40},"in_reply_to":"de3967d9_c7f45b67","updated":"2022-03-18 14:22:30.000000000","message":"There is one more serious issue with this code than an unnecessary roundtrip - combining \"when filtering hosts\" and run_once\u003dTrue may cause the task to be skipped entirely and fail logic, as run_once\u003dTrue is applied (a host is chosen) before \"when\". You likely want to do this: https://docs.ansible.com/ansible/latest/collections/ansible/builtin/template_lookup.html","commit_id":"6452cde1ebe8ea5491975c49f79bb5aacb03cffa"}],"releasenotes/notes/external-ceph-variables-123093dceb1049b7.yaml":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"7e920523b90f5bc5877a46178c5abba373b08da9","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":13,"id":"ee4433f5_05cfa93e","line":10,"updated":"2022-03-18 15:05:27.000000000","message":"nit: empty line","commit_id":"1134c073b0008b6b8bf04c6a1ec165bab6baa173"},{"author":{"_account_id":34462,"name":"Imran Hussain","email":"ih@imranh.co.uk","username":"imranh2"},"change_message_id":"ffcc5bfc541b8751c07a3c6ecc916a24c9fd6a8e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"86ad86a5_0f198b73","line":10,"in_reply_to":"ee4433f5_05cfa93e","updated":"2022-03-18 15:10:38.000000000","message":"Done","commit_id":"1134c073b0008b6b8bf04c6a1ec165bab6baa173"}]}
