)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"9b25f9a79a404bc18310bc6e09334dd9af160e21","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"e158a4cd_c141dcfd","updated":"2025-08-27 16:47:23.000000000","message":"Doh, we are having chicken-egg here, as octavia_resources require `octavia` user to exist in keystone, but not endpoints to exist, as this will break quota.\n\nSo seems we\u0027ll have to run some include twice...","commit_id":"55095160d537c89aea310d1989599514780cc307"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"774259e9547ed2e350c27c0e488af5bdc8b449d8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"079f9c6c_7545814a","updated":"2025-08-27 16:42:21.000000000","message":"awesome, thanks!","commit_id":"55095160d537c89aea310d1989599514780cc307"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"dd68fee2a364bb7f26012ed429b864d0b8e4f176","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c5a6e5fc_728d3446","updated":"2025-08-29 20:02:46.000000000","message":"recheck","commit_id":"c00c6c1db0fd4746b9442fa3173bf3f5dd202655"}],"tasks/main.yml":[{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"ec41198e7e388dadb09ef81789cc20728c6d4989","unresolved":true,"context_lines":[{"line_number":200,"context_line":"    - octavia-config"},{"line_number":201,"context_line":"    - systemd-service"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"- name: Including osa.service_setup role"},{"line_number":204,"context_line":"  ansible.builtin.include_role:"},{"line_number":205,"context_line":"    name: openstack.osa.service_setup"},{"line_number":206,"context_line":"    apply:"},{"line_number":207,"context_line":"      tags:"},{"line_number":208,"context_line":"        - common-service"},{"line_number":209,"context_line":"        - octavia-config"},{"line_number":210,"context_line":"  vars:"},{"line_number":211,"context_line":"    _service_adminuri_insecure: \"{{ keystone_service_adminuri_insecure }}\""},{"line_number":212,"context_line":"    _service_in_ldap: \"{{ octavia_service_in_ldap }}\""},{"line_number":213,"context_line":"    _service_setup_host: \"{{ octavia_service_setup_host }}\""},{"line_number":214,"context_line":"    _service_setup_host_python_interpreter: \"{{ octavia_service_setup_host_python_interpreter }}\""},{"line_number":215,"context_line":"    _service_project_name: \"{{ octavia_service_project_name }}\""},{"line_number":216,"context_line":"    _service_region: \"{{ octavia_service_region }}\""},{"line_number":217,"context_line":"    _service_users:"},{"line_number":218,"context_line":"      - name: \"{{ octavia_service_user_name }}\""},{"line_number":219,"context_line":"        password: \"{{ octavia_service_password }}\""},{"line_number":220,"context_line":"        role: \"{{ octavia_service_role_names }}\""},{"line_number":221,"context_line":"      - role: load-balancer_observer"},{"line_number":222,"context_line":"      - role: load-balancer_global_observer"},{"line_number":223,"context_line":"      - role: load-balancer_member"},{"line_number":224,"context_line":"      - role: load-balancer_admin"},{"line_number":225,"context_line":"      - role: load-balancer_quota_admin"},{"line_number":226,"context_line":"    _service_endpoints:"},{"line_number":227,"context_line":"      - service: \"{{ octavia_service_name }}\""},{"line_number":228,"context_line":"        interface: \"public\""},{"line_number":229,"context_line":"        url: \"{{ octavia_service_publicuri }}\""},{"line_number":230,"context_line":"      - service: \"{{ octavia_service_name }}\""},{"line_number":231,"context_line":"        interface: \"internal\""},{"line_number":232,"context_line":"        url: \"{{ octavia_service_internaluri }}\""},{"line_number":233,"context_line":"      - service: \"{{ octavia_service_name }}\""},{"line_number":234,"context_line":"        interface: \"admin\""},{"line_number":235,"context_line":"        url: \"{{ octavia_service_adminuri }}\""},{"line_number":236,"context_line":"    _service_catalog:"},{"line_number":237,"context_line":"      - name: \"{{ octavia_service_name }}\""},{"line_number":238,"context_line":"        type: \"{{ octavia_service_type }}\""},{"line_number":239,"context_line":"        description: \"{{ octavia_service_description }}\""},{"line_number":240,"context_line":"  when: _octavia_is_first_play_host"},{"line_number":241,"context_line":"  tags:"},{"line_number":242,"context_line":"    - always"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"- name: Importing octavia_post_install tasks"},{"line_number":245,"context_line":"  ansible.builtin.import_tasks: octavia_post_install.yml"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9c3a5cc2_8affb960","line":242,"range":{"start_line":203,"start_character":0,"end_line":242,"end_character":12},"updated":"2025-08-27 14:45:09.000000000","message":"Can we please instead move this one after `octavia_db_sync` (and potentially after octavia_policy) to align approach with other roles like glance, neutron, placement (nova does have it between nova_post_install and nova_db_setup), while leave octavia_resources.yml at it\u0027s current place?","commit_id":"3c533ea421ca99af888b374804fa95074ba487d9"},{"author":{"_account_id":32666,"name":"Damian Dąbrowski","email":"damian@dabrowski.cloud","username":"ddabrowski"},"change_message_id":"afc2cfc6ac42abd28c746e8850f6cd0597285948","unresolved":false,"context_lines":[{"line_number":200,"context_line":"    - octavia-config"},{"line_number":201,"context_line":"    - systemd-service"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"- name: Including osa.service_setup role"},{"line_number":204,"context_line":"  ansible.builtin.include_role:"},{"line_number":205,"context_line":"    name: openstack.osa.service_setup"},{"line_number":206,"context_line":"    apply:"},{"line_number":207,"context_line":"      tags:"},{"line_number":208,"context_line":"        - common-service"},{"line_number":209,"context_line":"        - octavia-config"},{"line_number":210,"context_line":"  vars:"},{"line_number":211,"context_line":"    _service_adminuri_insecure: \"{{ keystone_service_adminuri_insecure }}\""},{"line_number":212,"context_line":"    _service_in_ldap: \"{{ octavia_service_in_ldap }}\""},{"line_number":213,"context_line":"    _service_setup_host: \"{{ octavia_service_setup_host }}\""},{"line_number":214,"context_line":"    _service_setup_host_python_interpreter: \"{{ octavia_service_setup_host_python_interpreter }}\""},{"line_number":215,"context_line":"    _service_project_name: \"{{ octavia_service_project_name }}\""},{"line_number":216,"context_line":"    _service_region: \"{{ octavia_service_region }}\""},{"line_number":217,"context_line":"    _service_users:"},{"line_number":218,"context_line":"      - name: \"{{ octavia_service_user_name }}\""},{"line_number":219,"context_line":"        password: \"{{ octavia_service_password }}\""},{"line_number":220,"context_line":"        role: \"{{ octavia_service_role_names }}\""},{"line_number":221,"context_line":"      - role: load-balancer_observer"},{"line_number":222,"context_line":"      - role: load-balancer_global_observer"},{"line_number":223,"context_line":"      - role: load-balancer_member"},{"line_number":224,"context_line":"      - role: load-balancer_admin"},{"line_number":225,"context_line":"      - role: load-balancer_quota_admin"},{"line_number":226,"context_line":"    _service_endpoints:"},{"line_number":227,"context_line":"      - service: \"{{ octavia_service_name }}\""},{"line_number":228,"context_line":"        interface: \"public\""},{"line_number":229,"context_line":"        url: \"{{ octavia_service_publicuri }}\""},{"line_number":230,"context_line":"      - service: \"{{ octavia_service_name }}\""},{"line_number":231,"context_line":"        interface: \"internal\""},{"line_number":232,"context_line":"        url: \"{{ octavia_service_internaluri }}\""},{"line_number":233,"context_line":"      - service: \"{{ octavia_service_name }}\""},{"line_number":234,"context_line":"        interface: \"admin\""},{"line_number":235,"context_line":"        url: \"{{ octavia_service_adminuri }}\""},{"line_number":236,"context_line":"    _service_catalog:"},{"line_number":237,"context_line":"      - name: \"{{ octavia_service_name }}\""},{"line_number":238,"context_line":"        type: \"{{ octavia_service_type }}\""},{"line_number":239,"context_line":"        description: \"{{ octavia_service_description }}\""},{"line_number":240,"context_line":"  when: _octavia_is_first_play_host"},{"line_number":241,"context_line":"  tags:"},{"line_number":242,"context_line":"    - always"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"- name: Importing octavia_post_install tasks"},{"line_number":245,"context_line":"  ansible.builtin.import_tasks: octavia_post_install.yml"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5d844ea3_fd727062","line":242,"range":{"start_line":203,"start_character":0,"end_line":242,"end_character":12},"in_reply_to":"9c3a5cc2_8affb960","updated":"2025-08-27 15:11:47.000000000","message":"Done","commit_id":"3c533ea421ca99af888b374804fa95074ba487d9"}]}
