)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"bef747338fc3c1e53b13b5362d84e2303c647f1c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3cc7551a_b1b47b3e","updated":"2026-08-04 11:38:22.000000000","message":"S3 job looks good — new tests ran and passed. I think gate failures come from Tempest 997003’s Depends-On on 948905; that needs fixing first to unblock the gate as dependency seems unrealted .","commit_id":"7f1830a43569e6bcc198f583a27359de13a5f47b"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"e4158087e0c62d828ca814c69172bd2920e614d2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0ff44549_9617a271","updated":"2026-07-15 11:37:02.000000000","message":"recheck","commit_id":"7f1830a43569e6bcc198f583a27359de13a5f47b"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"6d2c7c8da24a849021ee36f5cee112d2c5ce0e9e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"1580c380_5e2b0883","updated":"2026-07-15 07:51:46.000000000","message":"recheck","commit_id":"7f1830a43569e6bcc198f583a27359de13a5f47b"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"f5adcbc7f2e5414005199683a9389b64390bad46","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a984ac17_73b3d30f","updated":"2026-08-26 07:56:24.000000000","message":"Tests run in `glance-s3-multistore` job","commit_id":"b49e5745f43a79489d6a328a0d70e2d496998e37"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"4971c3a255b035431ad9ea4e8d9364bff3ef4a51","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"11d3d84d_0c580ff9","updated":"2026-08-24 09:44:41.000000000","message":"recheck","commit_id":"b49e5745f43a79489d6a328a0d70e2d496998e37"}],"playbooks/tempest-discover-s3-creds.yaml":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"18a69d080f66c3c681db70b21c27b01f728fa6a9","unresolved":true,"context_lines":[{"line_number":27,"context_line":"        cmd: |"},{"line_number":28,"context_line":"          set -e"},{"line_number":29,"context_line":"          GLANCE_CONF\u003d\"/etc/glance/glance-api.conf\""},{"line_number":30,"context_line":"          SECTION\u003d\"{{ glance_s3_backend | default(\u0027s3_fast\u0027) }}\""},{"line_number":31,"context_line":"          get_ini_value() {"},{"line_number":32,"context_line":"              local file\u003d\"$1\" section\u003d\"$2\" option\u003d\"$3\""},{"line_number":33,"context_line":"              sed -ne \"/^\\[$section\\]/,/^\\[.*\\]/ { /^$option[ \\t]*\u003d/ p; }\" \"$file\" \\"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"92c5d6b6_4bf16678","line":30,"range":{"start_line":30,"start_character":10,"end_line":30,"end_character":17},"updated":"2026-07-31 14:57:25.000000000","message":"So if we have:\n\n    s3_store_host\u003dfoobar\n\n...","commit_id":"7f1830a43569e6bcc198f583a27359de13a5f47b"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"bf28be873b5e6639d620214fc5e942340ca0bfbf","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        cmd: |"},{"line_number":28,"context_line":"          set -e"},{"line_number":29,"context_line":"          GLANCE_CONF\u003d\"/etc/glance/glance-api.conf\""},{"line_number":30,"context_line":"          SECTION\u003d\"{{ glance_s3_backend | default(\u0027s3_fast\u0027) }}\""},{"line_number":31,"context_line":"          get_ini_value() {"},{"line_number":32,"context_line":"              local file\u003d\"$1\" section\u003d\"$2\" option\u003d\"$3\""},{"line_number":33,"context_line":"              sed -ne \"/^\\[$section\\]/,/^\\[.*\\]/ { /^$option[ \\t]*\u003d/ p; }\" \"$file\" \\"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"439ad2f6_a72b8eb3","line":30,"range":{"start_line":30,"start_character":10,"end_line":30,"end_character":17},"in_reply_to":"92c5d6b6_4bf16678","updated":"2026-08-04 11:33:28.000000000","message":"Done","commit_id":"7f1830a43569e6bcc198f583a27359de13a5f47b"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"18a69d080f66c3c681db70b21c27b01f728fa6a9","unresolved":true,"context_lines":[{"line_number":32,"context_line":"              local file\u003d\"$1\" section\u003d\"$2\" option\u003d\"$3\""},{"line_number":33,"context_line":"              sed -ne \"/^\\[$section\\]/,/^\\[.*\\]/ { /^$option[ \\t]*\u003d/ p; }\" \"$file\" \\"},{"line_number":34,"context_line":"                  | head -1 | sed \u0027s/^[^\u003d]*\u003d[ \\t]*//\u0027"},{"line_number":35,"context_line":"          }"},{"line_number":36,"context_line":"          echo \"s3_host\u003d$(get_ini_value \"$GLANCE_CONF\" \"$SECTION\" s3_store_host)\""},{"line_number":37,"context_line":"          echo \"s3_access\u003d$(get_ini_value \"$GLANCE_CONF\" \"$SECTION\" s3_store_access_key)\""},{"line_number":38,"context_line":"          echo \"s3_secret\u003d$(get_ini_value \"$GLANCE_CONF\" \"$SECTION\" s3_store_secret_key)\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"e2908580_eceb3aa6","line":35,"range":{"start_line":35,"start_character":10,"end_line":35,"end_character":11},"updated":"2026-07-31 14:57:25.000000000","message":"... then get_ini_value \"$GLANCE_CONF\" \"$SECTION\" \"s3_store_host\" will return:\n\n    foobar\n\n...","commit_id":"7f1830a43569e6bcc198f583a27359de13a5f47b"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"bf28be873b5e6639d620214fc5e942340ca0bfbf","unresolved":false,"context_lines":[{"line_number":32,"context_line":"              local file\u003d\"$1\" section\u003d\"$2\" option\u003d\"$3\""},{"line_number":33,"context_line":"              sed -ne \"/^\\[$section\\]/,/^\\[.*\\]/ { /^$option[ \\t]*\u003d/ p; }\" \"$file\" \\"},{"line_number":34,"context_line":"                  | head -1 | sed \u0027s/^[^\u003d]*\u003d[ \\t]*//\u0027"},{"line_number":35,"context_line":"          }"},{"line_number":36,"context_line":"          echo \"s3_host\u003d$(get_ini_value \"$GLANCE_CONF\" \"$SECTION\" s3_store_host)\""},{"line_number":37,"context_line":"          echo \"s3_access\u003d$(get_ini_value \"$GLANCE_CONF\" \"$SECTION\" s3_store_access_key)\""},{"line_number":38,"context_line":"          echo \"s3_secret\u003d$(get_ini_value \"$GLANCE_CONF\" \"$SECTION\" s3_store_secret_key)\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"734d1d06_5b6bdcb7","line":35,"range":{"start_line":35,"start_character":10,"end_line":35,"end_character":11},"in_reply_to":"e2908580_eceb3aa6","updated":"2026-08-04 11:33:28.000000000","message":"Done","commit_id":"7f1830a43569e6bcc198f583a27359de13a5f47b"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"18a69d080f66c3c681db70b21c27b01f728fa6a9","unresolved":true,"context_lines":[{"line_number":33,"context_line":"              sed -ne \"/^\\[$section\\]/,/^\\[.*\\]/ { /^$option[ \\t]*\u003d/ p; }\" \"$file\" \\"},{"line_number":34,"context_line":"                  | head -1 | sed \u0027s/^[^\u003d]*\u003d[ \\t]*//\u0027"},{"line_number":35,"context_line":"          }"},{"line_number":36,"context_line":"          echo \"s3_host\u003d$(get_ini_value \"$GLANCE_CONF\" \"$SECTION\" s3_store_host)\""},{"line_number":37,"context_line":"          echo \"s3_access\u003d$(get_ini_value \"$GLANCE_CONF\" \"$SECTION\" s3_store_access_key)\""},{"line_number":38,"context_line":"          echo \"s3_secret\u003d$(get_ini_value \"$GLANCE_CONF\" \"$SECTION\" s3_store_secret_key)\""},{"line_number":39,"context_line":"      register: s3_creds_raw"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"aa89000e_ed89b4dd","line":36,"range":{"start_line":36,"start_character":42,"end_line":36,"end_character":53},"updated":"2026-07-31 14:57:25.000000000","message":"... then you\u0027ll echo:\n\n    s3_store_host\u003dfoobar\n\n...","commit_id":"7f1830a43569e6bcc198f583a27359de13a5f47b"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"bf28be873b5e6639d620214fc5e942340ca0bfbf","unresolved":false,"context_lines":[{"line_number":33,"context_line":"              sed -ne \"/^\\[$section\\]/,/^\\[.*\\]/ { /^$option[ \\t]*\u003d/ p; }\" \"$file\" \\"},{"line_number":34,"context_line":"                  | head -1 | sed \u0027s/^[^\u003d]*\u003d[ \\t]*//\u0027"},{"line_number":35,"context_line":"          }"},{"line_number":36,"context_line":"          echo \"s3_host\u003d$(get_ini_value \"$GLANCE_CONF\" \"$SECTION\" s3_store_host)\""},{"line_number":37,"context_line":"          echo \"s3_access\u003d$(get_ini_value \"$GLANCE_CONF\" \"$SECTION\" s3_store_access_key)\""},{"line_number":38,"context_line":"          echo \"s3_secret\u003d$(get_ini_value \"$GLANCE_CONF\" \"$SECTION\" s3_store_secret_key)\""},{"line_number":39,"context_line":"      register: s3_creds_raw"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"a5d9d97e_a6709626","line":36,"range":{"start_line":36,"start_character":42,"end_line":36,"end_character":53},"in_reply_to":"aa89000e_ed89b4dd","updated":"2026-08-04 11:33:28.000000000","message":"Done","commit_id":"7f1830a43569e6bcc198f583a27359de13a5f47b"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"18a69d080f66c3c681db70b21c27b01f728fa6a9","unresolved":true,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    - name: Parse S3 credentials"},{"line_number":42,"context_line":"      set_fact:"},{"line_number":43,"context_line":"        s3_store_host: \"{{ s3_creds_raw.stdout_lines | select(\u0027match\u0027, \u0027^s3_host\u003d\u0027) | first | regex_replace(\u0027^s3_host\u003d\u0027, \u0027\u0027) }}\""},{"line_number":44,"context_line":"        s3_store_access_key: \"{{ s3_creds_raw.stdout_lines | select(\u0027match\u0027, \u0027^s3_access\u003d\u0027) | first | regex_replace(\u0027^s3_access\u003d\u0027, \u0027\u0027) }}\""},{"line_number":45,"context_line":"        s3_store_secret_key: \"{{ s3_creds_raw.stdout_lines | select(\u0027match\u0027, \u0027^s3_secret\u003d\u0027) | first | regex_replace(\u0027^s3_secret\u003d\u0027, \u0027\u0027) }}\""},{"line_number":46,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"0b11345b_0bf987a8","line":43,"range":{"start_line":43,"start_character":27,"end_line":43,"end_character":52},"updated":"2026-07-31 14:57:25.000000000","message":"... only to remove the key value again and extract:\n\n    foobar\n\n\nThat feels like a lot of steps. Why not return the whole line \"s3_store_host\u003dfoobar\" in s3_creds_raw?","commit_id":"7f1830a43569e6bcc198f583a27359de13a5f47b"},{"author":{"_account_id":34510,"name":"Maxim Sava","email":"msava@redhat.com","username":"msava@redhat.com"},"change_message_id":"bf28be873b5e6639d620214fc5e942340ca0bfbf","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    - name: Parse S3 credentials"},{"line_number":42,"context_line":"      set_fact:"},{"line_number":43,"context_line":"        s3_store_host: \"{{ s3_creds_raw.stdout_lines | select(\u0027match\u0027, \u0027^s3_host\u003d\u0027) | first | regex_replace(\u0027^s3_host\u003d\u0027, \u0027\u0027) }}\""},{"line_number":44,"context_line":"        s3_store_access_key: \"{{ s3_creds_raw.stdout_lines | select(\u0027match\u0027, \u0027^s3_access\u003d\u0027) | first | regex_replace(\u0027^s3_access\u003d\u0027, \u0027\u0027) }}\""},{"line_number":45,"context_line":"        s3_store_secret_key: \"{{ s3_creds_raw.stdout_lines | select(\u0027match\u0027, \u0027^s3_secret\u003d\u0027) | first | regex_replace(\u0027^s3_secret\u003d\u0027, \u0027\u0027) }}\""},{"line_number":46,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7753ebe9_51123640","line":43,"range":{"start_line":43,"start_character":27,"end_line":43,"end_character":52},"in_reply_to":"0b11345b_0bf987a8","updated":"2026-08-04 11:33:28.000000000","message":"Done","commit_id":"7f1830a43569e6bcc198f583a27359de13a5f47b"}]}
