)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"466d32ea6607309942b022b6edffedb16edcd2e8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"774eedd9_69013104","updated":"2026-06-23 10:13:45.000000000","message":"I\u0027ve tested this, it works well.","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"365b6e6b6f83076873d45e51b9630cda8bbce069","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"f72953a8_0dde7c59","updated":"2026-06-19 12:55:01.000000000","message":"recheck: unrelated failure","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"3c14fdad2c252598db62eedecfc67dbf2cbb3472","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"b77628b2_14170cc7","updated":"2026-06-26 19:20:14.000000000","message":"recheck","commit_id":"0066122301372a6ed04ef68f5f76e10a30cd511f"},{"author":{"_account_id":38873,"name":"Owen Jones","display_name":"Owen Jones","email":"owen@stackhpc.com","username":"owenjones"},"change_message_id":"486fda529d6f889e834e44e87dda10a77577a6ac","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":24,"id":"00161991_c1c55094","updated":"2026-07-07 13:24:20.000000000","message":"recheck","commit_id":"b74ff5dfe537b236494d49733fcaa5c372d4d5ec"},{"author":{"_account_id":38873,"name":"Owen Jones","display_name":"Owen Jones","email":"owen@stackhpc.com","username":"owenjones"},"change_message_id":"62dc035f7fec95f271f9b78f931b80db37e7e854","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"6ea1e203_00f85218","in_reply_to":"00161991_c1c55094","updated":"2026-07-08 12:11:38.000000000","message":"Done","commit_id":"b74ff5dfe537b236494d49733fcaa5c372d4d5ec"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"862ecb9d8de3541bc7b3a5456415d970b245688f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"a2ee43e2_ab2ec13e","updated":"2026-07-09 09:18:32.000000000","message":"Thanks!","commit_id":"3e4cfd49da38c7db2ac3ad47a75dc89b14cbb513"}],"ansible/roles/nova-cell/tasks/config.yml":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"24140095c0d4952c156633fc97cbe029a60e852f","unresolved":false,"context_lines":[{"line_number":60,"context_line":"  when: service | service_enabled_and_mapped_to_host"},{"line_number":61,"context_line":"  block:"},{"line_number":62,"context_line":"    - name: Retrieve existing compute node UUID"},{"line_number":63,"context_line":"      command: \u003e"},{"line_number":64,"context_line":"        {{ kolla_container_engine }} exec kolla_toolbox openstack"},{"line_number":65,"context_line":"        --os-interface {{ openstack_interface }}"},{"line_number":66,"context_line":"        --os-auth-url {{ openstack_auth.auth_url }}"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"7ccb2d5d_1382e7e7","line":63,"updated":"2026-06-11 13:00:03.000000000","message":"linters: fqcn[action-core]: Use FQCN for builtin module actions (command).","commit_id":"d01b151e6c081cc69743a640dfa1dcc85ff52951"},{"author":{"_account_id":37203,"name":"Bertrand Lanson","display_name":"Bertrand Lanson","email":"bertrand.lanson@infomaniak.com","username":"lanson","status":"Infomaniak Network SA"},"change_message_id":"5d08b32845af94add58abfa3d5e70d5d2b87781b","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    # Create a new hypervisor id if the host was never registered"},{"line_number":84,"context_line":"    # Otherwise, use existing id"},{"line_number":85,"context_line":"    - name: Create a new hypervisor id for the host"},{"line_number":86,"context_line":"      ansible.builtin.command: uuidgen"},{"line_number":87,"context_line":"      register: new_compute_id"},{"line_number":88,"context_line":"      changed_when: false"},{"line_number":89,"context_line":"      when: compute_id_query.rc !\u003d 0"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"3a8966f9_41bf73b1","line":86,"updated":"2026-06-12 16:51:01.000000000","message":"no ansible module in A-C-O for this ? I think if we can make it into a module this would be great :)","commit_id":"87813816607de8f6dc4bbddd83a055dfd7d68e18"},{"author":{"_account_id":37203,"name":"Bertrand Lanson","display_name":"Bertrand Lanson","email":"bertrand.lanson@infomaniak.com","username":"lanson","status":"Infomaniak Network SA"},"change_message_id":"1f00f9d961ee5384234919db42a311250a8bbc35","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    # Create a new hypervisor id if the host was never registered"},{"line_number":84,"context_line":"    # Otherwise, use existing id"},{"line_number":85,"context_line":"    - name: Create a new hypervisor id for the host"},{"line_number":86,"context_line":"      ansible.builtin.command: uuidgen"},{"line_number":87,"context_line":"      register: new_compute_id"},{"line_number":88,"context_line":"      changed_when: false"},{"line_number":89,"context_line":"      when: compute_id_query.rc !\u003d 0"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"3a8c0b1e_85a93ff1","line":86,"in_reply_to":"3a8966f9_41bf73b1","updated":"2026-06-12 16:52:45.000000000","message":"I think this comment got on the wrong code block, it was meant for the `os hypervisor show` command module","commit_id":"87813816607de8f6dc4bbddd83a055dfd7d68e18"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"3dfecb9380b8f3924bb2262b3c0e4296d9399227","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    # Create a new hypervisor id if the host was never registered"},{"line_number":84,"context_line":"    # Otherwise, use existing id"},{"line_number":85,"context_line":"    - name: Create a new hypervisor id for the host"},{"line_number":86,"context_line":"      ansible.builtin.command: uuidgen"},{"line_number":87,"context_line":"      register: new_compute_id"},{"line_number":88,"context_line":"      changed_when: false"},{"line_number":89,"context_line":"      when: compute_id_query.rc !\u003d 0"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"99731e3a_61f50431","line":86,"in_reply_to":"3a8c0b1e_85a93ff1","updated":"2026-06-22 10:22:08.000000000","message":"This now uses A-C-O","commit_id":"87813816607de8f6dc4bbddd83a055dfd7d68e18"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"e8fd291cb34e2395ae3b71315f3d11b0291716c2","unresolved":true,"context_lines":[{"line_number":73,"context_line":"          parameters:"},{"line_number":74,"context_line":"            hypervisor_hostname_pattern: \"{{ hostvars[inventory_hostname].ansible_facts.nodename }}\""},{"line_number":75,"context_line":"      register: hypervisors"},{"line_number":76,"context_line":"      changed_when: false"},{"line_number":77,"context_line":"      failed_when: false"},{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"ad413ae0_beb749ae","line":76,"updated":"2026-06-25 13:42:05.000000000","message":"Shouldn\u0027t that get populated from openstack.cloud.resources?","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"cea44a7d4126818b45ab49b57876c3b122ded2a7","unresolved":true,"context_lines":[{"line_number":73,"context_line":"          parameters:"},{"line_number":74,"context_line":"            hypervisor_hostname_pattern: \"{{ hostvars[inventory_hostname].ansible_facts.nodename }}\""},{"line_number":75,"context_line":"      register: hypervisors"},{"line_number":76,"context_line":"      changed_when: false"},{"line_number":77,"context_line":"      failed_when: false"},{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"27788b2f_977ef860","line":76,"in_reply_to":"0b87cd7c_65b3d572","updated":"2026-06-30 12:53:16.000000000","message":"Can we set this to resolved?","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"5f1ae8cb530240fad9c74d6c55122c695df1074e","unresolved":true,"context_lines":[{"line_number":73,"context_line":"          parameters:"},{"line_number":74,"context_line":"            hypervisor_hostname_pattern: \"{{ hostvars[inventory_hostname].ansible_facts.nodename }}\""},{"line_number":75,"context_line":"      register: hypervisors"},{"line_number":76,"context_line":"      changed_when: false"},{"line_number":77,"context_line":"      failed_when: false"},{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"b6a3bf9f_7723ab29","line":76,"in_reply_to":"27788b2f_977ef860","updated":"2026-07-07 08:44:12.000000000","message":"I just asked if the openstack.cloud.resources module is setting changed to true, if it is - it sounds like a bug in ansible-collections-openstack (and then changed_when: false is valid)","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"96a711f3880e7db3f98a380395c296bed71d681a","unresolved":true,"context_lines":[{"line_number":73,"context_line":"          parameters:"},{"line_number":74,"context_line":"            hypervisor_hostname_pattern: \"{{ hostvars[inventory_hostname].ansible_facts.nodename }}\""},{"line_number":75,"context_line":"      register: hypervisors"},{"line_number":76,"context_line":"      changed_when: false"},{"line_number":77,"context_line":"      failed_when: false"},{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"0b87cd7c_65b3d572","line":76,"in_reply_to":"ad413ae0_beb749ae","updated":"2026-06-25 13:53:37.000000000","message":"We\u0027re changing nothing here from any kind of response from openstack.cloud_resources. Just querying. I thought it\u0027s sensible to only give OK for this task.","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":38873,"name":"Owen Jones","display_name":"Owen Jones","email":"owen@stackhpc.com","username":"owenjones"},"change_message_id":"62dc035f7fec95f271f9b78f931b80db37e7e854","unresolved":false,"context_lines":[{"line_number":73,"context_line":"          parameters:"},{"line_number":74,"context_line":"            hypervisor_hostname_pattern: \"{{ hostvars[inventory_hostname].ansible_facts.nodename }}\""},{"line_number":75,"context_line":"      register: hypervisors"},{"line_number":76,"context_line":"      changed_when: false"},{"line_number":77,"context_line":"      failed_when: false"},{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"fda0cae3_be248820","line":76,"in_reply_to":"b6a3bf9f_7723ab29","updated":"2026-07-08 12:11:38.000000000","message":"changed is indeed set to false in the module","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"e8fd291cb34e2395ae3b71315f3d11b0291716c2","unresolved":true,"context_lines":[{"line_number":74,"context_line":"            hypervisor_hostname_pattern: \"{{ hostvars[inventory_hostname].ansible_facts.nodename }}\""},{"line_number":75,"context_line":"      register: hypervisors"},{"line_number":76,"context_line":"      changed_when: false"},{"line_number":77,"context_line":"      failed_when: false"},{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"},{"line_number":80,"context_line":"      delegate_to: \"{{ groups[nova_cell_conductor_group][0] }}\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"39a62f92_2db641c1","line":77,"updated":"2026-06-25 13:42:05.000000000","message":"Why?","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"bef68f6705928746eb2bc37e80681a32711eba65","unresolved":false,"context_lines":[{"line_number":74,"context_line":"            hypervisor_hostname_pattern: \"{{ hostvars[inventory_hostname].ansible_facts.nodename }}\""},{"line_number":75,"context_line":"      register: hypervisors"},{"line_number":76,"context_line":"      changed_when: false"},{"line_number":77,"context_line":"      failed_when: false"},{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"},{"line_number":80,"context_line":"      delegate_to: \"{{ groups[nova_cell_conductor_group][0] }}\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"42d59468_88bf569d","line":77,"in_reply_to":"118aad46_14923179","updated":"2026-06-26 15:36:29.000000000","message":"Acknowledged","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"96a711f3880e7db3f98a380395c296bed71d681a","unresolved":true,"context_lines":[{"line_number":74,"context_line":"            hypervisor_hostname_pattern: \"{{ hostvars[inventory_hostname].ansible_facts.nodename }}\""},{"line_number":75,"context_line":"      register: hypervisors"},{"line_number":76,"context_line":"      changed_when: false"},{"line_number":77,"context_line":"      failed_when: false"},{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"},{"line_number":80,"context_line":"      delegate_to: \"{{ groups[nova_cell_conductor_group][0] }}\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"8dae9e61_abe0356f","line":77,"in_reply_to":"39a62f92_2db641c1","updated":"2026-06-25 13:53:37.000000000","message":"If there\u0027s no hypervisors returned (i.e. this hypervisor is a new hypervisor), the task will fail. We don\u0027t want to fail here but rather evaluate that from following conditional tasks.","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"1e5eefaf4217ac1ebdad59598ffea7f8e49ace72","unresolved":true,"context_lines":[{"line_number":74,"context_line":"            hypervisor_hostname_pattern: \"{{ hostvars[inventory_hostname].ansible_facts.nodename }}\""},{"line_number":75,"context_line":"      register: hypervisors"},{"line_number":76,"context_line":"      changed_when: false"},{"line_number":77,"context_line":"      failed_when: false"},{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"},{"line_number":80,"context_line":"      delegate_to: \"{{ groups[nova_cell_conductor_group][0] }}\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"9c5c0227_035a0307","line":77,"in_reply_to":"42d59468_88bf569d","updated":"2026-07-02 13:22:01.000000000","message":"We have two kinds of checks. One is querying OpenStack cloud for a hypervisor and another is checking if the returned result is sane (If the query was error-free).\nFor the first query, we\u0027re fine to use rescue but we don\u0027t want the rescue tasks to be triggered on the second check. We want to stop the execution immediately. Let\u0027s revert to not using rescue.","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"53eca95e3b5e8d0b7b0e14ed0bedcb4b2defc088","unresolved":true,"context_lines":[{"line_number":74,"context_line":"            hypervisor_hostname_pattern: \"{{ hostvars[inventory_hostname].ansible_facts.nodename }}\""},{"line_number":75,"context_line":"      register: hypervisors"},{"line_number":76,"context_line":"      changed_when: false"},{"line_number":77,"context_line":"      failed_when: false"},{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"},{"line_number":80,"context_line":"      delegate_to: \"{{ groups[nova_cell_conductor_group][0] }}\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"118aad46_14923179","line":77,"in_reply_to":"8dae9e61_abe0356f","updated":"2026-06-25 14:05:30.000000000","message":"Well, you\u0027re using block: - so why don\u0027t use rescue:?","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":38873,"name":"Owen Jones","display_name":"Owen Jones","email":"owen@stackhpc.com","username":"owenjones"},"change_message_id":"62dc035f7fec95f271f9b78f931b80db37e7e854","unresolved":true,"context_lines":[{"line_number":74,"context_line":"            hypervisor_hostname_pattern: \"{{ hostvars[inventory_hostname].ansible_facts.nodename }}\""},{"line_number":75,"context_line":"      register: hypervisors"},{"line_number":76,"context_line":"      changed_when: false"},{"line_number":77,"context_line":"      failed_when: false"},{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"},{"line_number":80,"context_line":"      delegate_to: \"{{ groups[nova_cell_conductor_group][0] }}\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"b9e4f511_62e34702","line":77,"in_reply_to":"93cb07d8_8ea55d97","updated":"2026-07-08 12:11:38.000000000","message":"It looks like because we\u0027re specifying a hostname pattern the underlying API call fails on that (NotFoundException: 404: Client Error) rather than returning an empty list, which is what documentation suggests the module should do. For now I think not failing on this task is the only option?","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"5f1ae8cb530240fad9c74d6c55122c695df1074e","unresolved":true,"context_lines":[{"line_number":74,"context_line":"            hypervisor_hostname_pattern: \"{{ hostvars[inventory_hostname].ansible_facts.nodename }}\""},{"line_number":75,"context_line":"      register: hypervisors"},{"line_number":76,"context_line":"      changed_when: false"},{"line_number":77,"context_line":"      failed_when: false"},{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"},{"line_number":80,"context_line":"      delegate_to: \"{{ groups[nova_cell_conductor_group][0] }}\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"93cb07d8_8ea55d97","line":77,"in_reply_to":"9c5c0227_035a0307","updated":"2026-07-07 08:44:12.000000000","message":"well, that sounds like another bug in ansible-collections-openstack - it should just return an empty set","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"38bc9a8158db2f2c75a8bbd97d03b2cb69642794","unresolved":true,"context_lines":[{"line_number":74,"context_line":"            hypervisor_hostname_pattern: \"{{ hostvars[inventory_hostname].ansible_facts.nodename }}\""},{"line_number":75,"context_line":"      register: hypervisors"},{"line_number":76,"context_line":"      changed_when: false"},{"line_number":77,"context_line":"      failed_when: false"},{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"},{"line_number":80,"context_line":"      delegate_to: \"{{ groups[nova_cell_conductor_group][0] }}\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"f323d35f_ba38fe17","line":77,"in_reply_to":"b9e4f511_62e34702","updated":"2026-07-08 12:17:13.000000000","message":"Ok then, so the only alternative is list them all and check if that one exists in it, then I guess failed_when: false is fine","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":38873,"name":"Owen Jones","display_name":"Owen Jones","email":"owen@stackhpc.com","username":"owenjones"},"change_message_id":"e305b83643c02654020653d03420f67525d35c3f","unresolved":false,"context_lines":[{"line_number":74,"context_line":"            hypervisor_hostname_pattern: \"{{ hostvars[inventory_hostname].ansible_facts.nodename }}\""},{"line_number":75,"context_line":"      register: hypervisors"},{"line_number":76,"context_line":"      changed_when: false"},{"line_number":77,"context_line":"      failed_when: false"},{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"},{"line_number":80,"context_line":"      delegate_to: \"{{ groups[nova_cell_conductor_group][0] }}\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"66bdf412_45e8accb","line":77,"in_reply_to":"f323d35f_ba38fe17","updated":"2026-07-09 09:14:53.000000000","message":"Yes went with this approach","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"e8fd291cb34e2395ae3b71315f3d11b0291716c2","unresolved":true,"context_lines":[{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"},{"line_number":80,"context_line":"      delegate_to: \"{{ groups[nova_cell_conductor_group][0] }}\""},{"line_number":81,"context_line":"      vars:"},{"line_number":82,"context_line":"        nova_user_auth:"},{"line_number":83,"context_line":"          auth_url: \"{{ keystone_internal_url }}\""},{"line_number":84,"context_line":"          username: \"nova\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"48048ff0_4fa7d596","line":81,"updated":"2026-06-25 13:42:05.000000000","message":"Why not use clouds_yaml?","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"53eca95e3b5e8d0b7b0e14ed0bedcb4b2defc088","unresolved":true,"context_lines":[{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"},{"line_number":80,"context_line":"      delegate_to: \"{{ groups[nova_cell_conductor_group][0] }}\""},{"line_number":81,"context_line":"      vars:"},{"line_number":82,"context_line":"        nova_user_auth:"},{"line_number":83,"context_line":"          auth_url: \"{{ keystone_internal_url }}\""},{"line_number":84,"context_line":"          username: \"nova\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"9314e263_19cb066b","line":81,"in_reply_to":"33ec8917_70dc57d7","updated":"2026-06-25 14:05:30.000000000","message":"Isn\u0027t that the established process in this repository?","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"cea44a7d4126818b45ab49b57876c3b122ded2a7","unresolved":true,"context_lines":[{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"},{"line_number":80,"context_line":"      delegate_to: \"{{ groups[nova_cell_conductor_group][0] }}\""},{"line_number":81,"context_line":"      vars:"},{"line_number":82,"context_line":"        nova_user_auth:"},{"line_number":83,"context_line":"          auth_url: \"{{ keystone_internal_url }}\""},{"line_number":84,"context_line":"          username: \"nova\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"f07fd251_6a8fc6f3","line":81,"in_reply_to":"37ffe9c5_a866cb27","updated":"2026-06-30 12:53:16.000000000","message":"It\u0027s not using clouds_yaml but using keystone admin cred now.","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"96a711f3880e7db3f98a380395c296bed71d681a","unresolved":true,"context_lines":[{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"},{"line_number":80,"context_line":"      delegate_to: \"{{ groups[nova_cell_conductor_group][0] }}\""},{"line_number":81,"context_line":"      vars:"},{"line_number":82,"context_line":"        nova_user_auth:"},{"line_number":83,"context_line":"          auth_url: \"{{ keystone_internal_url }}\""},{"line_number":84,"context_line":"          username: \"nova\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"33ec8917_70dc57d7","line":81,"in_reply_to":"48048ff0_4fa7d596","updated":"2026-06-25 13:53:37.000000000","message":"Are we fine using admin creds here?","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"bef68f6705928746eb2bc37e80681a32711eba65","unresolved":true,"context_lines":[{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"},{"line_number":80,"context_line":"      delegate_to: \"{{ groups[nova_cell_conductor_group][0] }}\""},{"line_number":81,"context_line":"      vars:"},{"line_number":82,"context_line":"        nova_user_auth:"},{"line_number":83,"context_line":"          auth_url: \"{{ keystone_internal_url }}\""},{"line_number":84,"context_line":"          username: \"nova\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"37ffe9c5_a866cb27","line":81,"in_reply_to":"9314e263_19cb066b","updated":"2026-06-26 15:36:29.000000000","message":"What if this is a first time deploying the cloud? Will we have clouds_yaml? I can still use admin creds from different source though","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":38873,"name":"Owen Jones","display_name":"Owen Jones","email":"owen@stackhpc.com","username":"owenjones"},"change_message_id":"cf107a27d03938af951b272c277d571d15089e4b","unresolved":true,"context_lines":[{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"},{"line_number":80,"context_line":"      delegate_to: \"{{ groups[nova_cell_conductor_group][0] }}\""},{"line_number":81,"context_line":"      vars:"},{"line_number":82,"context_line":"        nova_user_auth:"},{"line_number":83,"context_line":"          auth_url: \"{{ keystone_internal_url }}\""},{"line_number":84,"context_line":"          username: \"nova\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"d9bb5db7_b580b795","line":81,"in_reply_to":"cfdabd6e_96b95af2","updated":"2026-07-09 15:24:32.000000000","message":"Have seen this fail in a test deployment as openstack_auth_cloud not defined - investigating further","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":38873,"name":"Owen Jones","display_name":"Owen Jones","email":"owen@stackhpc.com","username":"owenjones"},"change_message_id":"8705b9067af23fea7ba3119879899287edd64c5a","unresolved":false,"context_lines":[{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"},{"line_number":80,"context_line":"      delegate_to: \"{{ groups[nova_cell_conductor_group][0] }}\""},{"line_number":81,"context_line":"      vars:"},{"line_number":82,"context_line":"        nova_user_auth:"},{"line_number":83,"context_line":"          auth_url: \"{{ keystone_internal_url }}\""},{"line_number":84,"context_line":"          username: \"nova\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"7652a1db_c2c4337f","line":81,"in_reply_to":"d9bb5db7_b580b795","updated":"2026-07-09 17:59:30.000000000","message":"Marked as resolved.","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":38873,"name":"Owen Jones","display_name":"Owen Jones","email":"owen@stackhpc.com","username":"owenjones"},"change_message_id":"62dc035f7fec95f271f9b78f931b80db37e7e854","unresolved":false,"context_lines":[{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"},{"line_number":80,"context_line":"      delegate_to: \"{{ groups[nova_cell_conductor_group][0] }}\""},{"line_number":81,"context_line":"      vars:"},{"line_number":82,"context_line":"        nova_user_auth:"},{"line_number":83,"context_line":"          auth_url: \"{{ keystone_internal_url }}\""},{"line_number":84,"context_line":"          username: \"nova\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"cfdabd6e_96b95af2","line":81,"in_reply_to":"e25cdbe1_6c3e6829","updated":"2026-07-08 12:11:38.000000000","message":"Have tried to mirror how other roles are using openstack_auth_cloud","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"5f1ae8cb530240fad9c74d6c55122c695df1074e","unresolved":true,"context_lines":[{"line_number":78,"context_line":"      check_mode: false"},{"line_number":79,"context_line":"      become: true"},{"line_number":80,"context_line":"      delegate_to: \"{{ groups[nova_cell_conductor_group][0] }}\""},{"line_number":81,"context_line":"      vars:"},{"line_number":82,"context_line":"        nova_user_auth:"},{"line_number":83,"context_line":"          auth_url: \"{{ keystone_internal_url }}\""},{"line_number":84,"context_line":"          username: \"nova\""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"e25cdbe1_6c3e6829","line":81,"in_reply_to":"f07fd251_6a8fc6f3","updated":"2026-07-07 08:44:12.000000000","message":"If you use clouds.yaml - the password will not leak into syslog, that\u0027s why we moved to clouds.yaml everywhere","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"e8fd291cb34e2395ae3b71315f3d11b0291716c2","unresolved":true,"context_lines":[{"line_number":89,"context_line":"    - name: Assert that only one hypervisor was found if exists"},{"line_number":90,"context_line":"      ansible.builtin.assert:"},{"line_number":91,"context_line":"        that: (hypervisors.resources | length) \u003d\u003d 1"},{"line_number":92,"context_line":"        fail_msg: \"Found multiple compute services with same host name, check cloud\""},{"line_number":93,"context_line":"      when: hypervisors.resources is defined"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    # Create a new hypervisor id if the host was never registered"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"83712488_6413cdc4","line":92,"updated":"2026-06-25 13:42:05.000000000","message":"Would make sense to print those multiple compute services here","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"96a711f3880e7db3f98a380395c296bed71d681a","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    - name: Assert that only one hypervisor was found if exists"},{"line_number":90,"context_line":"      ansible.builtin.assert:"},{"line_number":91,"context_line":"        that: (hypervisors.resources | length) \u003d\u003d 1"},{"line_number":92,"context_line":"        fail_msg: \"Found multiple compute services with same host name, check cloud\""},{"line_number":93,"context_line":"      when: hypervisors.resources is defined"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    # Create a new hypervisor id if the host was never registered"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"682d759c_91ecd1ff","line":92,"in_reply_to":"83712488_6413cdc4","updated":"2026-06-25 13:53:37.000000000","message":"Acknowledged","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"e8fd291cb34e2395ae3b71315f3d11b0291716c2","unresolved":true,"context_lines":[{"line_number":95,"context_line":"    # Create a new hypervisor id if the host was never registered"},{"line_number":96,"context_line":"    # Otherwise, use existing id"},{"line_number":97,"context_line":"    - name: Create a new hypervisor UUID for the host"},{"line_number":98,"context_line":"      ansible.builtin.command: uuidgen"},{"line_number":99,"context_line":"      register: new_hypervisor_id"},{"line_number":100,"context_line":"      changed_when: false"},{"line_number":101,"context_line":"      when: not (hypervisors.resources is defined)"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"b5c4920a_71930725","line":98,"updated":"2026-06-25 13:42:05.000000000","message":"This will generate a different one every time - {{ inventory_hostname | to_uuid }} would be a bit more reliable","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"53eca95e3b5e8d0b7b0e14ed0bedcb4b2defc088","unresolved":true,"context_lines":[{"line_number":95,"context_line":"    # Create a new hypervisor id if the host was never registered"},{"line_number":96,"context_line":"    # Otherwise, use existing id"},{"line_number":97,"context_line":"    - name: Create a new hypervisor UUID for the host"},{"line_number":98,"context_line":"      ansible.builtin.command: uuidgen"},{"line_number":99,"context_line":"      register: new_hypervisor_id"},{"line_number":100,"context_line":"      changed_when: false"},{"line_number":101,"context_line":"      when: not (hypervisors.resources is defined)"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"d0902f41_578849ec","line":98,"in_reply_to":"77e4b365_b45efc4b","updated":"2026-06-25 14:05:30.000000000","message":"It matters, because you can delete that task, and the following task doing set_fact, and just use it in the \"Copy the hypervisor UUID to compute_id\" task","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"96a711f3880e7db3f98a380395c296bed71d681a","unresolved":true,"context_lines":[{"line_number":95,"context_line":"    # Create a new hypervisor id if the host was never registered"},{"line_number":96,"context_line":"    # Otherwise, use existing id"},{"line_number":97,"context_line":"    - name: Create a new hypervisor UUID for the host"},{"line_number":98,"context_line":"      ansible.builtin.command: uuidgen"},{"line_number":99,"context_line":"      register: new_hypervisor_id"},{"line_number":100,"context_line":"      changed_when: false"},{"line_number":101,"context_line":"      when: not (hypervisors.resources is defined)"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"77e4b365_b45efc4b","line":98,"in_reply_to":"b5c4920a_71930725","updated":"2026-06-25 13:53:37.000000000","message":"Does it really matter? This uuidgen will be run only when this hypervisor is a new one, so this will run only once per hypervisors.","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"bef68f6705928746eb2bc37e80681a32711eba65","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    # Create a new hypervisor id if the host was never registered"},{"line_number":96,"context_line":"    # Otherwise, use existing id"},{"line_number":97,"context_line":"    - name: Create a new hypervisor UUID for the host"},{"line_number":98,"context_line":"      ansible.builtin.command: uuidgen"},{"line_number":99,"context_line":"      register: new_hypervisor_id"},{"line_number":100,"context_line":"      changed_when: false"},{"line_number":101,"context_line":"      when: not (hypervisors.resources is defined)"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"ee2668f0_b2f12944","line":98,"in_reply_to":"d0902f41_578849ec","updated":"2026-06-26 15:36:29.000000000","message":"Acknowledged","commit_id":"a04d6bda64a0675c75cde26bf5ca0c64277e204a"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"2128264d718d89d4c92bff8c5d3463727d854928","unresolved":true,"context_lines":[{"line_number":88,"context_line":"        that:"},{"line_number":89,"context_line":"          - matched_hypervisors | length \u003d\u003d 1"},{"line_number":90,"context_line":"        fail_msg: |"},{"line_number":91,"context_line":"          \"Found multiple compute services with same host name, check cloud\""},{"line_number":92,"context_line":"          \"The query with hypervisor name \u0027{{ hypervisor_nodename }}\u0027 returned following:\""},{"line_number":93,"context_line":"          \"{{ hypervisors.resources }}\""},{"line_number":94,"context_line":"      when:"}],"source_content_type":"text/x-yaml","patch_set":32,"id":"33fd799a_8c4a9a6c","line":91,"range":{"start_line":91,"start_character":10,"end_line":91,"end_character":76},"updated":"2026-07-09 07:34:45.000000000","message":"```suggestion\n          \"Found multiple compute services with same host name, please check your Nova compute agents list and fix it\"\n```","commit_id":"bfbd6d8ae9f3e5b89f72e6f0b98f7d0acab6397d"},{"author":{"_account_id":38873,"name":"Owen Jones","display_name":"Owen Jones","email":"owen@stackhpc.com","username":"owenjones"},"change_message_id":"e305b83643c02654020653d03420f67525d35c3f","unresolved":false,"context_lines":[{"line_number":88,"context_line":"        that:"},{"line_number":89,"context_line":"          - matched_hypervisors | length \u003d\u003d 1"},{"line_number":90,"context_line":"        fail_msg: |"},{"line_number":91,"context_line":"          \"Found multiple compute services with same host name, check cloud\""},{"line_number":92,"context_line":"          \"The query with hypervisor name \u0027{{ hypervisor_nodename }}\u0027 returned following:\""},{"line_number":93,"context_line":"          \"{{ hypervisors.resources }}\""},{"line_number":94,"context_line":"      when:"}],"source_content_type":"text/x-yaml","patch_set":32,"id":"0ffc6496_6445a6ee","line":91,"range":{"start_line":91,"start_character":10,"end_line":91,"end_character":76},"in_reply_to":"33fd799a_8c4a9a6c","updated":"2026-07-09 09:14:53.000000000","message":"Done, also switched to using the relevant matched list of hypervisors rather than the full list.","commit_id":"bfbd6d8ae9f3e5b89f72e6f0b98f7d0acab6397d"}]}
