)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"f700e0da237128a1648633c526eb8605be649b70","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"95331d0f_35ccfddf","updated":"2026-07-20 15:54:57.000000000","message":"Needs to go to 2026.1\n\nI\u0027m not sure if the first part needs to go to 2025.1 as well?","commit_id":"8c9ac3a1ef6221f33daec6404bdecefe675c9d0b"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"f700e0da237128a1648633c526eb8605be649b70","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"6ffcacfe_d5b20d2c","updated":"2026-07-20 15:54:57.000000000","message":"Should the wait for OpenSearch fix be backported?","commit_id":"8c9ac3a1ef6221f33daec6404bdecefe675c9d0b"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"f0efbea012fe61410af80cdb4732b41d23f653e6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"b380b808_712e8987","in_reply_to":"6ffcacfe_d5b20d2c","updated":"2026-07-20 15:55:39.000000000","message":"sorry, duplicate, see below","commit_id":"8c9ac3a1ef6221f33daec6404bdecefe675c9d0b"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"1ea66bb4f99f16c64914b6f5a1a77b7a3f18e8f8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"8d48114c_c9050258","in_reply_to":"95331d0f_35ccfddf","updated":"2026-07-21 07:18:15.000000000","message":"I think it\u0027s caused by the OpenSearch 2.x -\u003e 3.x upgrade, so maybe just 2026.1 and 2025.2?\n\nI\u0027m not sure it strictly needs to be in master, but it still seems sensible to wait for cluster recovery before moving on with the upgrade regardless.","commit_id":"8c9ac3a1ef6221f33daec6404bdecefe675c9d0b"}],"ansible/roles/opensearch/handlers/main.yml":[{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"1dc22a223998dbacb687efb972270b9be8160ca4","unresolved":true,"context_lines":[{"line_number":63,"context_line":"    container_engine: \"{{ kolla_container_engine }}\""},{"line_number":64,"context_line":"    module_name: uri"},{"line_number":65,"context_line":"    module_args:"},{"line_number":66,"context_line":"      url: \"{{ opensearch_internal_endpoint }}/_cluster/health?wait_for_status\u003dyellow\u0026timeout\u003d60s\""},{"line_number":67,"context_line":"      status_code: 200"},{"line_number":68,"context_line":"      validate_certs: \"{{ kolla_enable_tls_internal | bool }}\""},{"line_number":69,"context_line":"      return_content: true"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"c1d70262_7fee5f92","line":66,"updated":"2026-07-20 16:00:09.000000000","message":"One thing - this waits 60 seconds, but the URI module times out after 30s by default?\n\nDid you see the retry mechanism work?\n\nhttps://docs.ansible.com/projects/ansible/latest/collections/ansible/builtin/uri_module.html#parameter-timeout","commit_id":"8c9ac3a1ef6221f33daec6404bdecefe675c9d0b"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"1ea66bb4f99f16c64914b6f5a1a77b7a3f18e8f8","unresolved":true,"context_lines":[{"line_number":63,"context_line":"    container_engine: \"{{ kolla_container_engine }}\""},{"line_number":64,"context_line":"    module_name: uri"},{"line_number":65,"context_line":"    module_args:"},{"line_number":66,"context_line":"      url: \"{{ opensearch_internal_endpoint }}/_cluster/health?wait_for_status\u003dyellow\u0026timeout\u003d60s\""},{"line_number":67,"context_line":"      status_code: 200"},{"line_number":68,"context_line":"      validate_certs: \"{{ kolla_enable_tls_internal | bool }}\""},{"line_number":69,"context_line":"      return_content: true"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"f6f2fde0_819bce86","line":66,"in_reply_to":"c1d70262_7fee5f92","updated":"2026-07-21 07:18:15.000000000","message":"That\u0027s a very good point. The retries worked fine in testing, but I guess they probably just looped every 30s rather than 60s. I\u0027ll change the timeout","commit_id":"8c9ac3a1ef6221f33daec6404bdecefe675c9d0b"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"bb60cb66f7db2bf8ad02e16b054329c4313a9461","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    container_engine: \"{{ kolla_container_engine }}\""},{"line_number":64,"context_line":"    module_name: uri"},{"line_number":65,"context_line":"    module_args:"},{"line_number":66,"context_line":"      url: \"{{ opensearch_internal_endpoint }}/_cluster/health?wait_for_status\u003dyellow\u0026timeout\u003d60s\""},{"line_number":67,"context_line":"      status_code: 200"},{"line_number":68,"context_line":"      validate_certs: \"{{ kolla_enable_tls_internal | bool }}\""},{"line_number":69,"context_line":"      return_content: true"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"90dfbce8_91c9ffe9","line":66,"in_reply_to":"f6f2fde0_819bce86","updated":"2026-07-21 08:14:41.000000000","message":"Well, I actually paid attention this time and it was looping every 5s because haproxy was just throwing 503s every time rather than actually sending the red cluster status.\n\nAnyway, I\u0027ve tweaked some of the timeouts now. The in-url argument is now 30s, and the module arg is 35s (just in case at any point it does actually send the full status). I also bumped the retries up so it waits a bit longer to compensate.","commit_id":"8c9ac3a1ef6221f33daec6404bdecefe675c9d0b"}],"ansible/roles/opensearch/tasks/post-config.yml":[{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"f700e0da237128a1648633c526eb8605be649b70","unresolved":true,"context_lines":[{"line_number":112,"context_line":"  changed_when: opensearch_index_pattern_create.status \u003d\u003d 200"},{"line_number":113,"context_line":"  delegate_to: \"{{ groups[\u0027opensearch\u0027][0] }}\""},{"line_number":114,"context_line":"  run_once: true"},{"line_number":115,"context_line":"  retries: 30"},{"line_number":116,"context_line":"  delay: 10"},{"line_number":117,"context_line":"  until: opensearch_index_pattern_create.status \u003d\u003d 200"},{"line_number":118,"context_line":"  when:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"f5e632eb_cdd49390","line":115,"updated":"2026-07-20 15:54:57.000000000","message":"I suppose you could have a separate wait for ready task instead, but this is good enough","commit_id":"8c9ac3a1ef6221f33daec6404bdecefe675c9d0b"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"bb60cb66f7db2bf8ad02e16b054329c4313a9461","unresolved":false,"context_lines":[{"line_number":112,"context_line":"  changed_when: opensearch_index_pattern_create.status \u003d\u003d 200"},{"line_number":113,"context_line":"  delegate_to: \"{{ groups[\u0027opensearch\u0027][0] }}\""},{"line_number":114,"context_line":"  run_once: true"},{"line_number":115,"context_line":"  retries: 30"},{"line_number":116,"context_line":"  delay: 10"},{"line_number":117,"context_line":"  until: opensearch_index_pattern_create.status \u003d\u003d 200"},{"line_number":118,"context_line":"  when:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"a7bdaec9_0a6a3ebb","line":115,"in_reply_to":"f1a177b7_40ffa28c","updated":"2026-07-21 08:14:41.000000000","message":"Done","commit_id":"8c9ac3a1ef6221f33daec6404bdecefe675c9d0b"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"1ea66bb4f99f16c64914b6f5a1a77b7a3f18e8f8","unresolved":true,"context_lines":[{"line_number":112,"context_line":"  changed_when: opensearch_index_pattern_create.status \u003d\u003d 200"},{"line_number":113,"context_line":"  delegate_to: \"{{ groups[\u0027opensearch\u0027][0] }}\""},{"line_number":114,"context_line":"  run_once: true"},{"line_number":115,"context_line":"  retries: 30"},{"line_number":116,"context_line":"  delay: 10"},{"line_number":117,"context_line":"  until: opensearch_index_pattern_create.status \u003d\u003d 200"},{"line_number":118,"context_line":"  when:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"f1a177b7_40ffa28c","line":115,"in_reply_to":"f5e632eb_cdd49390","updated":"2026-07-21 07:18:15.000000000","message":"I did actually test a version doing exactly that, I wasn\u0027t sure which one was better. I can dig that out if it\u0027s preferred","commit_id":"8c9ac3a1ef6221f33daec6404bdecefe675c9d0b"}]}
