)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"1b917e7f4b7a4daeb4e17e3ddef9833b48912a04","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"347bb264_70a5b8b4","updated":"2024-03-19 09:36:29.000000000","message":"recheck","commit_id":"4330bfa218290c75f95202b443eed969c8509678"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ed5e2a7279c32e31fa2ce0229d86c731de3be222","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"19604b2a_683020a5","updated":"2024-04-17 16:15:22.000000000","message":"Note that various services have been dropped in caracal: https://review.opendev.org/q/topic:%22kolla_caracal_drops%22","commit_id":"a4eeeaefd123e7e4f8b1cc124373eac07722b098"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"2f9429a33dc6e34eee734ea364d9d698724818b1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"5d036f94_e0c603b2","updated":"2024-05-13 12:52:03.000000000","message":"Thanks Alex! This\u0027ll be great to have.\n\nPlease could you look at the non-voting OpenSearch/Prometheus CI job? It\u0027s caught some issues. I think I\u0027ve flagged them, but here is the failure:\n\nhttps://zuul.opendev.org/t/openstack/build/c6e26dd7d1af4cd289a2c897c38a317b/log/primary/logs/ansible/deploy#11577","commit_id":"1b36285914efed9fbd4e74bd8acfceb639049cf9"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"65473f373a1019e781da3317a7d92a72f91e6702","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"e84ec045_cbb7ffc6","updated":"2024-05-15 16:02:36.000000000","message":"Prom jobs failed","commit_id":"6203e8a4d32c14359a313bc6a911bf2f826897b6"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"08e1b807477d5f64e699b9444b978918f28cd960","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"365f3630_615c3f33","in_reply_to":"e84ec045_cbb7ffc6","updated":"2024-05-16 14:15:29.000000000","message":"All good now","commit_id":"6203e8a4d32c14359a313bc6a911bf2f826897b6"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"8bbfaea5c6dfefd7f82d4bb4c816b15445c936a3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"9f028a65_3fdc67d4","updated":"2024-09-27 04:51:27.000000000","message":"I’m inclined to say that I prefer to have anything - let’s follow up later with a better solution.","commit_id":"91470d4c21731dad9d933dc72840a4af04c4510d"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"636c935ce103c5f7df29509f46de5560479439bf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"e9b30cb8_a1de20a7","updated":"2024-05-31 15:31:45.000000000","message":"Thanks for updating Alex. This works for me, but I have a suggestion.\n\nPlease could we investigate using the file based service discovery [1]? It has a number of advantages which I think are worth the effort:\n\n- The Blackbox exporter scrape job is simplified. It doesn\u0027t need to know about each of the services, or be updated each time you enable/disable a service.\n\n- Each Kolla Ansible service role can be responsible for writing out a service  discovery file. This keeps all the service specific logic in the respective service role, and means that if you enable a new service you don\u0027t need to reconfigure Prometheus Server. It will automatically discover the service. The same approach can be used for disabling services.\n\n- We can avoid all the refactoring in this change, moving variables out of service roles, specifically for Prometheus.\n\nThere is an example on the mailing list [2].\n\n[1] https://prometheus.io/docs/prometheus/latest/configuration/configuration/#file_sd_config\n[2] https://groups.google.com/g/prometheus-users/c/Keu2N66FOoQ?pli\u003d1","commit_id":"91470d4c21731dad9d933dc72840a4af04c4510d"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"e8c13c027d8e183b952a7301ec921f27bac08e3c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"198fc3b4_e04aca98","updated":"2024-05-16 10:18:13.000000000","message":"There\u0027s a few services (prometheus, alertmanager, opensearch-dashboards) where I;m not sure about the conditions, in particular if they can have both internal and external/public endpoints at the same time. Any advice on those would be appreciated","commit_id":"91470d4c21731dad9d933dc72840a4af04c4510d"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"824bf21e1db7652a0e1070c4ed4b8c071eb8f754","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"da00914b_31b58ab1","updated":"2024-05-28 10:21:58.000000000","message":"a little more docs for custom endpoints please :) (one line example is sufficient imho).\n\nI don\u0027t quite understand the reshuffling of all the endpoints, can\u0027t we avoid that?\n\nbackport -1 because I don\u0027t think we can break existing custom blackbox endpoints, obviously :)","commit_id":"91470d4c21731dad9d933dc72840a4af04c4510d"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"0fd32c9ea1bcd244698f3c9c0dc4d4489711e1ef","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":23,"id":"4eda5b0c_7911692a","in_reply_to":"1b918fe9_a482a485","updated":"2024-08-12 14:35:48.000000000","message":"A good question Sven. Ultimately, you need to define an explicit alert for each expected service [1]. We could template that easily enough. We would then need to either send a SIGHUP to Prometheus Server, restart it, or use the HTTP endpoint to reload the config[2]. It\u0027s probably better to consider that under a separate change.\n\nIdeally, the end result would be that you could enable (or disable) a service in KA, and as part of that, Prometheus would be automatically reconfigured to monitor it without having to explicitly reconfigure it (run the Prometheus role) at the same time.\n \n\n[1] https://www.robustperception.io/absent-alerting-for-jobs/\n[2[ https://prometheus.io/docs/prometheus/latest/migration/#prometheus-lifecycle","commit_id":"91470d4c21731dad9d933dc72840a4af04c4510d"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"dc5157690ca46c59f0b2d9cb47c05c37957d7ce4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"3f043430_04a13264","in_reply_to":"9f028a65_3fdc67d4","updated":"2024-09-27 06:27:40.000000000","message":"agree","commit_id":"91470d4c21731dad9d933dc72840a4af04c4510d"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"ff92f9907542e3366ca1358775c72b99da953c5b","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":23,"id":"1b918fe9_a482a485","in_reply_to":"e9b30cb8_a1de20a7","updated":"2024-06-10 09:54:48.000000000","message":"This looks like an interesting approach!\n\nI have one question though, what happens if the file based service discovery stops working? What I mean by that is not the prometheus mechanism having a bug or something but e.g. what happens if the file is deleted or got somehow corrupted or wrong file permissions prevent it from being read?\n\nDo the services discovered via this mechanism vanish then, if the respective file can\u0027t be read? I would assume so, it would be nice if this could be tested by someone, or just confirmed, if you happen to know it.\n\nI don\u0027t think that it would be necessarily a blocker, just good to know the limitations/failure modes of each approach, thanks!","commit_id":"91470d4c21731dad9d933dc72840a4af04c4510d"}],"ansible/group_vars/all.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"e81b8e0cedfd010522326ed2798f69e9c880d1d9","unresolved":true,"context_lines":[{"line_number":241,"context_line":"opensearch_internal_endpoint: \"{{ opensearch_internal_base_endpoint }}\""},{"line_number":242,"context_line":"opensearch_dashboards_internal_fqdn: \"{{ kolla_internal_fqdn }}\""},{"line_number":243,"context_line":"opensearch_dashboards_external_fqdn: \"{{ kolla_external_fqdn }}\""},{"line_number":244,"context_line":"opensearch_dashboards_internal_base_endpoint: \"{{ opensearch_dashboards_internal_fqdn | kolla_url(internal_protocol, opensearch_dashboards_port) }}\""},{"line_number":245,"context_line":"opensearch_dashboards_user: \"opensearch\""},{"line_number":246,"context_line":"opensearch_log_index_prefix: \"{{ kibana_log_prefix if kibana_log_prefix is defined else \u0027flog\u0027 }}\""},{"line_number":247,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"23325316_2e9a7fa5","line":244,"updated":"2024-04-17 16:14:47.000000000","message":"As discussed in person, let\u0027s not introduce base endpoints unless they are necessary.","commit_id":"a4eeeaefd123e7e4f8b1cc124373eac07722b098"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"6b082748a4503a551113883caf7c5196bbb9b0da","unresolved":false,"context_lines":[{"line_number":241,"context_line":"opensearch_internal_endpoint: \"{{ opensearch_internal_base_endpoint }}\""},{"line_number":242,"context_line":"opensearch_dashboards_internal_fqdn: \"{{ kolla_internal_fqdn }}\""},{"line_number":243,"context_line":"opensearch_dashboards_external_fqdn: \"{{ kolla_external_fqdn }}\""},{"line_number":244,"context_line":"opensearch_dashboards_internal_base_endpoint: \"{{ opensearch_dashboards_internal_fqdn | kolla_url(internal_protocol, opensearch_dashboards_port) }}\""},{"line_number":245,"context_line":"opensearch_dashboards_user: \"opensearch\""},{"line_number":246,"context_line":"opensearch_log_index_prefix: \"{{ kibana_log_prefix if kibana_log_prefix is defined else \u0027flog\u0027 }}\""},{"line_number":247,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"68de3596_1f6c0d2c","line":244,"in_reply_to":"23325316_2e9a7fa5","updated":"2024-04-22 15:20:17.000000000","message":"Done","commit_id":"a4eeeaefd123e7e4f8b1cc124373eac07722b098"}],"ansible/roles/aodh/defaults/main.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"e81b8e0cedfd010522326ed2798f69e9c880d1d9","unresolved":true,"context_lines":[{"line_number":208,"context_line":"####################"},{"line_number":209,"context_line":"# OpenStack"},{"line_number":210,"context_line":"####################"},{"line_number":211,"context_line":"aodh_internal_endpoint: \"{{ aodh_internal_fqdn | kolla_url(internal_protocol, aodh_api_port) }}\""},{"line_number":212,"context_line":"aodh_public_endpoint: \"{{ aodh_external_fqdn | kolla_url(public_protocol, aodh_api_public_port) }}\""},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"aodh_logging_debug: \"{{ openstack_logging_debug }}\""},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"aodh_keystone_user: \"aodh\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"d25b491a_c7fb43ac","line":213,"range":{"start_line":211,"start_character":0,"end_line":213,"end_character":1},"updated":"2024-04-17 16:14:47.000000000","message":"As discussed in person, these should be moved to group_vars.","commit_id":"a4eeeaefd123e7e4f8b1cc124373eac07722b098"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"6b082748a4503a551113883caf7c5196bbb9b0da","unresolved":false,"context_lines":[{"line_number":208,"context_line":"####################"},{"line_number":209,"context_line":"# OpenStack"},{"line_number":210,"context_line":"####################"},{"line_number":211,"context_line":"aodh_internal_endpoint: \"{{ aodh_internal_fqdn | kolla_url(internal_protocol, aodh_api_port) }}\""},{"line_number":212,"context_line":"aodh_public_endpoint: \"{{ aodh_external_fqdn | kolla_url(public_protocol, aodh_api_public_port) }}\""},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"aodh_logging_debug: \"{{ openstack_logging_debug }}\""},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"aodh_keystone_user: \"aodh\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"7993596d_bff9a7a8","line":213,"range":{"start_line":211,"start_character":0,"end_line":213,"end_character":1},"in_reply_to":"d25b491a_c7fb43ac","updated":"2024-04-22 15:20:17.000000000","message":"Done","commit_id":"a4eeeaefd123e7e4f8b1cc124373eac07722b098"}],"ansible/roles/prometheus/defaults/main.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"af77233bfc997c12b72f7c9c0f76f7183949cfa4","unresolved":true,"context_lines":[{"line_number":184,"context_line":"prometheus_blackbox_exporter_endpoints_custom: []"},{"line_number":185,"context_line":"prometheus_blackbox_exporter_endpoints_default:"},{"line_number":186,"context_line":"  - endpoints:"},{"line_number":187,"context_line":"    - \"neutron:os_endpoint:{{ public_protocol }}://{{ neutron_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ neutron_server_public_port }}\""},{"line_number":188,"context_line":"    - \"neutron_internal:os_endpoint:{{ internal_protocol }}://{{ neutron_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ neutron_server_port }}\""},{"line_number":189,"context_line":"    enabled: \"{{ enable_neutron }}\""},{"line_number":190,"context_line":"  - endpoints:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9b627bdd_f3d88486","line":187,"updated":"2024-03-12 14:43:59.000000000","message":"Some services provide a variable in group_vars/all.yml, e.g. neutron_public_endpoint.\n\nIn other cases we can use the kolla_url filter (or consider moving the endpoint variables from role defaults to group_vars).","commit_id":"05f335f03bad7e5ac90e72d120a6f1021ab5392a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4f92c1107bab1f0c06e32b4d53e22a72849c4f3e","unresolved":true,"context_lines":[{"line_number":184,"context_line":"prometheus_blackbox_exporter_endpoints_custom: []"},{"line_number":185,"context_line":"prometheus_blackbox_exporter_endpoints_default:"},{"line_number":186,"context_line":"  - endpoints:"},{"line_number":187,"context_line":"    - \"neutron:os_endpoint:{{ public_protocol }}://{{ neutron_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ neutron_server_public_port }}\""},{"line_number":188,"context_line":"    - \"neutron_internal:os_endpoint:{{ internal_protocol }}://{{ neutron_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ neutron_server_port }}\""},{"line_number":189,"context_line":"    enabled: \"{{ enable_neutron }}\""},{"line_number":190,"context_line":"  - endpoints:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"c51fe798_42aa3eb6","line":187,"in_reply_to":"6473918a_6be6b28d","updated":"2024-03-14 13:33:18.000000000","message":"I don\u0027t really mind. It might be nice to standardise.","commit_id":"05f335f03bad7e5ac90e72d120a6f1021ab5392a"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"0049be694d03cf6b4f6ac3242d44be4fb1e38505","unresolved":true,"context_lines":[{"line_number":184,"context_line":"prometheus_blackbox_exporter_endpoints_custom: []"},{"line_number":185,"context_line":"prometheus_blackbox_exporter_endpoints_default:"},{"line_number":186,"context_line":"  - endpoints:"},{"line_number":187,"context_line":"    - \"neutron:os_endpoint:{{ public_protocol }}://{{ neutron_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ neutron_server_public_port }}\""},{"line_number":188,"context_line":"    - \"neutron_internal:os_endpoint:{{ internal_protocol }}://{{ neutron_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ neutron_server_port }}\""},{"line_number":189,"context_line":"    enabled: \"{{ enable_neutron }}\""},{"line_number":190,"context_line":"  - endpoints:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"6473918a_6be6b28d","line":187,"in_reply_to":"9b627bdd_f3d88486","updated":"2024-03-13 13:19:46.000000000","message":"I noticed that there were some with a single variable. Do you think it would be better to consider every endpoint on a case by case basis, or standardise as many as possible to all have a *_endpoint variable? The latter would be slightly more work in the short term but standardisation across all services might be worth it.","commit_id":"05f335f03bad7e5ac90e72d120a6f1021ab5392a"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"4b52a5de6e3fa40f7a89769976f2fe4ff96f640f","unresolved":true,"context_lines":[{"line_number":184,"context_line":"prometheus_blackbox_exporter_endpoints_custom: []"},{"line_number":185,"context_line":"prometheus_blackbox_exporter_endpoints_default:"},{"line_number":186,"context_line":"  - endpoints:"},{"line_number":187,"context_line":"    - \"neutron:os_endpoint:{{ public_protocol }}://{{ neutron_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ neutron_server_public_port }}\""},{"line_number":188,"context_line":"    - \"neutron_internal:os_endpoint:{{ internal_protocol }}://{{ neutron_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ neutron_server_port }}\""},{"line_number":189,"context_line":"    enabled: \"{{ enable_neutron }}\""},{"line_number":190,"context_line":"  - endpoints:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"fbea0ed0_c7985ce4","line":187,"in_reply_to":"c51fe798_42aa3eb6","updated":"2024-03-15 16:47:13.000000000","message":"Had a go at cleaning everything up. Keystone still has a different name, haven\u0027t decided whether I want to normalise that as well.","commit_id":"05f335f03bad7e5ac90e72d120a6f1021ab5392a"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"b093016d6c7b3829e655fd5f605224d197bc5866","unresolved":false,"context_lines":[{"line_number":184,"context_line":"prometheus_blackbox_exporter_endpoints_custom: []"},{"line_number":185,"context_line":"prometheus_blackbox_exporter_endpoints_default:"},{"line_number":186,"context_line":"  - endpoints:"},{"line_number":187,"context_line":"    - \"neutron:os_endpoint:{{ public_protocol }}://{{ neutron_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ neutron_server_public_port }}\""},{"line_number":188,"context_line":"    - \"neutron_internal:os_endpoint:{{ internal_protocol }}://{{ neutron_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ neutron_server_port }}\""},{"line_number":189,"context_line":"    enabled: \"{{ enable_neutron }}\""},{"line_number":190,"context_line":"  - endpoints:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"c09b27d3_9b991c54","line":187,"in_reply_to":"fbea0ed0_c7985ce4","updated":"2024-04-08 11:53:36.000000000","message":"Marking as resolved since the formatting has changed a lot. New comments can be added to a new thread.","commit_id":"05f335f03bad7e5ac90e72d120a6f1021ab5392a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"af77233bfc997c12b72f7c9c0f76f7183949cfa4","unresolved":true,"context_lines":[{"line_number":186,"context_line":"  - endpoints:"},{"line_number":187,"context_line":"    - \"neutron:os_endpoint:{{ public_protocol }}://{{ neutron_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ neutron_server_public_port }}\""},{"line_number":188,"context_line":"    - \"neutron_internal:os_endpoint:{{ internal_protocol }}://{{ neutron_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ neutron_server_port }}\""},{"line_number":189,"context_line":"    enabled: \"{{ enable_neutron }}\""},{"line_number":190,"context_line":"  - endpoints:"},{"line_number":191,"context_line":"    - \"nova:os_endpoint:{{ public_protocol }}://{{ nova_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ nova_api_public_port }}\""},{"line_number":192,"context_line":"    - \"nova_internal:os_endpoint:{{ internal_protocol }}://{{ nova_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ nova_api_port }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"62c7187d_21fc8b0f","line":189,"updated":"2024-03-12 14:43:59.000000000","message":"It is possible to deploy without an external VIP, in which case the public and internal endpoints would be the same. I don\u0027t know how much we need to worry about that use case.","commit_id":"05f335f03bad7e5ac90e72d120a6f1021ab5392a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4f92c1107bab1f0c06e32b4d53e22a72849c4f3e","unresolved":true,"context_lines":[{"line_number":186,"context_line":"  - endpoints:"},{"line_number":187,"context_line":"    - \"neutron:os_endpoint:{{ public_protocol }}://{{ neutron_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ neutron_server_public_port }}\""},{"line_number":188,"context_line":"    - \"neutron_internal:os_endpoint:{{ internal_protocol }}://{{ neutron_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ neutron_server_port }}\""},{"line_number":189,"context_line":"    enabled: \"{{ enable_neutron }}\""},{"line_number":190,"context_line":"  - endpoints:"},{"line_number":191,"context_line":"    - \"nova:os_endpoint:{{ public_protocol }}://{{ nova_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ nova_api_public_port }}\""},{"line_number":192,"context_line":"    - \"nova_internal:os_endpoint:{{ internal_protocol }}://{{ nova_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ nova_api_port }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"b6b7326a_9aef0f58","line":189,"in_reply_to":"0a1536fe_9799de6d","updated":"2024-03-14 13:33:18.000000000","message":"There is a convenience flag for it: kolla_same_external_internal_vip","commit_id":"05f335f03bad7e5ac90e72d120a6f1021ab5392a"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"0049be694d03cf6b4f6ac3242d44be4fb1e38505","unresolved":true,"context_lines":[{"line_number":186,"context_line":"  - endpoints:"},{"line_number":187,"context_line":"    - \"neutron:os_endpoint:{{ public_protocol }}://{{ neutron_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ neutron_server_public_port }}\""},{"line_number":188,"context_line":"    - \"neutron_internal:os_endpoint:{{ internal_protocol }}://{{ neutron_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ neutron_server_port }}\""},{"line_number":189,"context_line":"    enabled: \"{{ enable_neutron }}\""},{"line_number":190,"context_line":"  - endpoints:"},{"line_number":191,"context_line":"    - \"nova:os_endpoint:{{ public_protocol }}://{{ nova_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ nova_api_public_port }}\""},{"line_number":192,"context_line":"    - \"nova_internal:os_endpoint:{{ internal_protocol }}://{{ nova_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ nova_api_port }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"0a1536fe_9799de6d","line":189,"in_reply_to":"62c7187d_21fc8b0f","updated":"2024-03-13 13:19:46.000000000","message":"It would be a very awkward case to catch without some long and complex conditionals. Might have to be a future task.","commit_id":"05f335f03bad7e5ac90e72d120a6f1021ab5392a"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"b093016d6c7b3829e655fd5f605224d197bc5866","unresolved":false,"context_lines":[{"line_number":186,"context_line":"  - endpoints:"},{"line_number":187,"context_line":"    - \"neutron:os_endpoint:{{ public_protocol }}://{{ neutron_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ neutron_server_public_port }}\""},{"line_number":188,"context_line":"    - \"neutron_internal:os_endpoint:{{ internal_protocol }}://{{ neutron_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ neutron_server_port }}\""},{"line_number":189,"context_line":"    enabled: \"{{ enable_neutron }}\""},{"line_number":190,"context_line":"  - endpoints:"},{"line_number":191,"context_line":"    - \"nova:os_endpoint:{{ public_protocol }}://{{ nova_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ nova_api_public_port }}\""},{"line_number":192,"context_line":"    - \"nova_internal:os_endpoint:{{ internal_protocol }}://{{ nova_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ nova_api_port }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"d79867c0_d9b3e2eb","line":189,"in_reply_to":"89827a61_83323540","updated":"2024-04-08 11:53:36.000000000","message":"Marking as resolved since the formatting has changed a lot. New comments can be added to a new thread.","commit_id":"05f335f03bad7e5ac90e72d120a6f1021ab5392a"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"4b52a5de6e3fa40f7a89769976f2fe4ff96f640f","unresolved":true,"context_lines":[{"line_number":186,"context_line":"  - endpoints:"},{"line_number":187,"context_line":"    - \"neutron:os_endpoint:{{ public_protocol }}://{{ neutron_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ neutron_server_public_port }}\""},{"line_number":188,"context_line":"    - \"neutron_internal:os_endpoint:{{ internal_protocol }}://{{ neutron_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ neutron_server_port }}\""},{"line_number":189,"context_line":"    enabled: \"{{ enable_neutron }}\""},{"line_number":190,"context_line":"  - endpoints:"},{"line_number":191,"context_line":"    - \"nova:os_endpoint:{{ public_protocol }}://{{ nova_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ nova_api_public_port }}\""},{"line_number":192,"context_line":"    - \"nova_internal:os_endpoint:{{ internal_protocol }}://{{ nova_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ nova_api_port }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"89827a61_83323540","line":189,"in_reply_to":"b6b7326a_9aef0f58","updated":"2024-03-15 16:47:13.000000000","message":"I went with an equality check between the internal and external endpoints so that it could catch a case where the port differs but the address is the same.","commit_id":"05f335f03bad7e5ac90e72d120a6f1021ab5392a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"af77233bfc997c12b72f7c9c0f76f7183949cfa4","unresolved":true,"context_lines":[{"line_number":191,"context_line":"    - \"nova:os_endpoint:{{ public_protocol }}://{{ nova_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ nova_api_public_port }}\""},{"line_number":192,"context_line":"    - \"nova_internal:os_endpoint:{{ internal_protocol }}://{{ nova_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ nova_api_port }}\""},{"line_number":193,"context_line":"    enabled: \"{{ enable_nova }}\""},{"line_number":194,"context_line":"  - endpoints: \"{% for host in groups.get(\u0027etcd\u0027, []) %}etcd_{{ host }}:http_2xx:{{ etcd_protocol }}://{{ \u0027api\u0027 | kolla_address(host) | put_address_in_context(\u0027url\u0027) }}:{{ hostvars[host][\u0027etcd_client_port\u0027] }}{% if not loop.last %},{% endif %}{% endfor %}\""},{"line_number":195,"context_line":"    enabled: \"{{ enable_etcd }}\""},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"prometheus_blackbox_exporter_endpoints: \"{{ prometheus_blackbox_exporter_endpoints_default | selectattr(\u0027enabled\u0027) | map(attribute\u003d\u0027endpoints\u0027) | flatten | union(prometheus_blackbox_exporter_endpoints_custom) | unique }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ceae44dd_b3b3e391","line":194,"updated":"2024-03-12 14:43:59.000000000","message":"This would result in a comma-separated list, not a YAML list. See mariadb_default_database_shard_hosts for an example of how to make a YAML list","commit_id":"05f335f03bad7e5ac90e72d120a6f1021ab5392a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"4f92c1107bab1f0c06e32b4d53e22a72849c4f3e","unresolved":true,"context_lines":[{"line_number":191,"context_line":"    - \"nova:os_endpoint:{{ public_protocol }}://{{ nova_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ nova_api_public_port }}\""},{"line_number":192,"context_line":"    - \"nova_internal:os_endpoint:{{ internal_protocol }}://{{ nova_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ nova_api_port }}\""},{"line_number":193,"context_line":"    enabled: \"{{ enable_nova }}\""},{"line_number":194,"context_line":"  - endpoints: \"{% for host in groups.get(\u0027etcd\u0027, []) %}etcd_{{ host }}:http_2xx:{{ etcd_protocol }}://{{ \u0027api\u0027 | kolla_address(host) | put_address_in_context(\u0027url\u0027) }}:{{ hostvars[host][\u0027etcd_client_port\u0027] }}{% if not loop.last %},{% endif %}{% endfor %}\""},{"line_number":195,"context_line":"    enabled: \"{{ enable_etcd }}\""},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"prometheus_blackbox_exporter_endpoints: \"{{ prometheus_blackbox_exporter_endpoints_default | selectattr(\u0027enabled\u0027) | map(attribute\u003d\u0027endpoints\u0027) | flatten | union(prometheus_blackbox_exporter_endpoints_custom) | unique }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"6cf60094_75b07239","line":194,"in_reply_to":"09234f93_756bfe54","updated":"2024-03-14 13:33:18.000000000","message":"That\u0027s a single controller system though right? If you have another then you\u0027ll get this:\n\n  etcd_controller0:http_2xx:http://192.168.33.3:2379,etcd_controller1:http_2xx:http://192.168.33.4:2379","commit_id":"05f335f03bad7e5ac90e72d120a6f1021ab5392a"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"88a18b481fd9910bf0be6bb44f967f473f921653","unresolved":false,"context_lines":[{"line_number":191,"context_line":"    - \"nova:os_endpoint:{{ public_protocol }}://{{ nova_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ nova_api_public_port }}\""},{"line_number":192,"context_line":"    - \"nova_internal:os_endpoint:{{ internal_protocol }}://{{ nova_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ nova_api_port }}\""},{"line_number":193,"context_line":"    enabled: \"{{ enable_nova }}\""},{"line_number":194,"context_line":"  - endpoints: \"{% for host in groups.get(\u0027etcd\u0027, []) %}etcd_{{ host }}:http_2xx:{{ etcd_protocol }}://{{ \u0027api\u0027 | kolla_address(host) | put_address_in_context(\u0027url\u0027) }}:{{ hostvars[host][\u0027etcd_client_port\u0027] }}{% if not loop.last %},{% endif %}{% endfor %}\""},{"line_number":195,"context_line":"    enabled: \"{{ enable_etcd }}\""},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"prometheus_blackbox_exporter_endpoints: \"{{ prometheus_blackbox_exporter_endpoints_default | selectattr(\u0027enabled\u0027) | map(attribute\u003d\u0027endpoints\u0027) | flatten | union(prometheus_blackbox_exporter_endpoints_custom) | unique }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ed84b628_d6414f1d","line":194,"in_reply_to":"6cf60094_75b07239","updated":"2024-03-15 14:19:30.000000000","message":"Doh, yes I see what you mean now","commit_id":"05f335f03bad7e5ac90e72d120a6f1021ab5392a"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"0049be694d03cf6b4f6ac3242d44be4fb1e38505","unresolved":true,"context_lines":[{"line_number":191,"context_line":"    - \"nova:os_endpoint:{{ public_protocol }}://{{ nova_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ nova_api_public_port }}\""},{"line_number":192,"context_line":"    - \"nova_internal:os_endpoint:{{ internal_protocol }}://{{ nova_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ nova_api_port }}\""},{"line_number":193,"context_line":"    enabled: \"{{ enable_nova }}\""},{"line_number":194,"context_line":"  - endpoints: \"{% for host in groups.get(\u0027etcd\u0027, []) %}etcd_{{ host }}:http_2xx:{{ etcd_protocol }}://{{ \u0027api\u0027 | kolla_address(host) | put_address_in_context(\u0027url\u0027) }}:{{ hostvars[host][\u0027etcd_client_port\u0027] }}{% if not loop.last %},{% endif %}{% endfor %}\""},{"line_number":195,"context_line":"    enabled: \"{{ enable_etcd }}\""},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"prometheus_blackbox_exporter_endpoints: \"{{ prometheus_blackbox_exporter_endpoints_default | selectattr(\u0027enabled\u0027) | map(attribute\u003d\u0027endpoints\u0027) | flatten | union(prometheus_blackbox_exporter_endpoints_custom) | unique }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"09234f93_756bfe54","line":194,"in_reply_to":"ceae44dd_b3b3e391","updated":"2024-03-13 13:19:46.000000000","message":"What are the downsides of having a comma-separated list? it appears to evaluate fine from my testing:\n\nTASK [prometheus : Debug 2] *******************************************************************************\ntask path: /home/ubuntu/venvs/kolla-ansible/share/kolla-ansible/ansible/roles/prometheus/tasks/config.yml:27\nFriday 08 March 2024  18:06:41 +0000 (0:00:00.115)       0:00:10.142 ********** \nfatal: [controller0]: FAILED! \u003d\u003e \n  failed_when_result: true\n  prometheus_blackbox_exporter_endpoints:\n  - neutron:os_endpoint:http://192.168.33.2:9696\n  - neutron_internal:os_endpoint:http://192.168.33.2:9696\n  - nova:os_endpoint:http://192.168.33.2:8774\n  - nova_internal:os_endpoint:http://192.168.33.2:8774\n  - etcd_controller0:http_2xx:http://192.168.33.3:2379","commit_id":"05f335f03bad7e5ac90e72d120a6f1021ab5392a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"af77233bfc997c12b72f7c9c0f76f7183949cfa4","unresolved":true,"context_lines":[{"line_number":194,"context_line":"  - endpoints: \"{% for host in groups.get(\u0027etcd\u0027, []) %}etcd_{{ host }}:http_2xx:{{ etcd_protocol }}://{{ \u0027api\u0027 | kolla_address(host) | put_address_in_context(\u0027url\u0027) }}:{{ hostvars[host][\u0027etcd_client_port\u0027] }}{% if not loop.last %},{% endif %}{% endfor %}\""},{"line_number":195,"context_line":"    enabled: \"{{ enable_etcd }}\""},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"prometheus_blackbox_exporter_endpoints: \"{{ prometheus_blackbox_exporter_endpoints_default | selectattr(\u0027enabled\u0027) | map(attribute\u003d\u0027endpoints\u0027) | flatten | union(prometheus_blackbox_exporter_endpoints_custom) | unique }}\""},{"line_number":198,"context_line":""},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"c00e4418_d3e376f1","line":197,"updated":"2024-03-12 14:43:59.000000000","message":"Use selectattr(\u0027enabled\u0027, \u0027bool\u0027) to catch \"false\" and \"no\"","commit_id":"05f335f03bad7e5ac90e72d120a6f1021ab5392a"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"e27549146328ea211c3ee6add023b27eee15e158","unresolved":false,"context_lines":[{"line_number":194,"context_line":"  - endpoints: \"{% for host in groups.get(\u0027etcd\u0027, []) %}etcd_{{ host }}:http_2xx:{{ etcd_protocol }}://{{ \u0027api\u0027 | kolla_address(host) | put_address_in_context(\u0027url\u0027) }}:{{ hostvars[host][\u0027etcd_client_port\u0027] }}{% if not loop.last %},{% endif %}{% endfor %}\""},{"line_number":195,"context_line":"    enabled: \"{{ enable_etcd }}\""},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"prometheus_blackbox_exporter_endpoints: \"{{ prometheus_blackbox_exporter_endpoints_default | selectattr(\u0027enabled\u0027) | map(attribute\u003d\u0027endpoints\u0027) | flatten | union(prometheus_blackbox_exporter_endpoints_custom) | unique }}\""},{"line_number":198,"context_line":""},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"002e60d1_9497f977","line":197,"in_reply_to":"c00e4418_d3e376f1","updated":"2024-03-15 16:50:18.000000000","message":"Done","commit_id":"05f335f03bad7e5ac90e72d120a6f1021ab5392a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"17be454dff8ad9ad50384c61f493444b19cb1294","unresolved":true,"context_lines":[{"line_number":344,"context_line":"    enabled: \"{{ enable_etcd | bool }}\""},{"line_number":345,"context_line":"  - endpoints: \"[{% for host in groups.get(\u0027redis\u0027, []) %}\u0027redis_{{ host }}:http_2xx:{{ internal_protocol }}://{{ \u0027api\u0027 | kolla_address(host) | put_address_in_context(\u0027url\u0027) }}:{{ hostvars[host][\u0027redis_port\u0027] }}\u0027{% if not loop.last %},{% endif %}{% endfor %}]\""},{"line_number":346,"context_line":"    enabled: \"{{ enable_redis | bool }}\""},{"line_number":347,"context_line":"  - endpoints: \"[{% for host in groups.get(\u0027rabbitmq\u0027, []) %}\u0027rabbitmq_{{ host }}:tls_connect:{{ \u0027api\u0027 | kolla_address(host) | put_address_in_context(\u0027url\u0027) }}:{{ hostvars[host][\u0027rabbitmq_port\u0027] }}\u0027{% if not loop.last %},{% endif %}{% endfor %}]\""},{"line_number":348,"context_line":"    enabled: \"{{ enable_rabbitmq | bool and rabbitmq_enable_tls | bool }}\""},{"line_number":349,"context_line":"  - endpoints:"},{"line_number":350,"context_line":"      - \"grafana:http_2xx:{{ grafana_internal_endpoint }}\""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"0e59e4b0_08991aea","line":347,"updated":"2024-03-19 13:36:16.000000000","message":"I\u0027m not sure if this will work. I think it will end up as a string.","commit_id":"4330bfa218290c75f95202b443eed969c8509678"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"a88953dda02b4ab8a40c9deae8a2ca86d7d1cac6","unresolved":false,"context_lines":[{"line_number":344,"context_line":"    enabled: \"{{ enable_etcd | bool }}\""},{"line_number":345,"context_line":"  - endpoints: \"[{% for host in groups.get(\u0027redis\u0027, []) %}\u0027redis_{{ host }}:http_2xx:{{ internal_protocol }}://{{ \u0027api\u0027 | kolla_address(host) | put_address_in_context(\u0027url\u0027) }}:{{ hostvars[host][\u0027redis_port\u0027] }}\u0027{% if not loop.last %},{% endif %}{% endfor %}]\""},{"line_number":346,"context_line":"    enabled: \"{{ enable_redis | bool }}\""},{"line_number":347,"context_line":"  - endpoints: \"[{% for host in groups.get(\u0027rabbitmq\u0027, []) %}\u0027rabbitmq_{{ host }}:tls_connect:{{ \u0027api\u0027 | kolla_address(host) | put_address_in_context(\u0027url\u0027) }}:{{ hostvars[host][\u0027rabbitmq_port\u0027] }}\u0027{% if not loop.last %},{% endif %}{% endfor %}]\""},{"line_number":348,"context_line":"    enabled: \"{{ enable_rabbitmq | bool and rabbitmq_enable_tls | bool }}\""},{"line_number":349,"context_line":"  - endpoints:"},{"line_number":350,"context_line":"      - \"grafana:http_2xx:{{ grafana_internal_endpoint }}\""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"89daeb58_d86669dc","line":347,"in_reply_to":"0e59e4b0_08991aea","updated":"2024-03-28 13:24:49.000000000","message":"Should now be fixed","commit_id":"4330bfa218290c75f95202b443eed969c8509678"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"17be454dff8ad9ad50384c61f493444b19cb1294","unresolved":true,"context_lines":[{"line_number":353,"context_line":"      - \"opensearch:http_2xx:{{ opensearch_internal_endpoint }}\""},{"line_number":354,"context_line":"    enabled: \"{{ enable_opensearch | bool }}\""},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"prometheus_blackbox_exporter_endpoints: \"{{ prometheus_blackbox_exporter_endpoints_default | selectattr(\u0027enabled\u0027, \u0027bool\u0027) | map(attribute\u003d\u0027endpoints\u0027) | flatten | union(prometheus_blackbox_exporter_endpoints_custom) | unique | select }}\""},{"line_number":357,"context_line":""},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"185ee3bc_f4a2cb96","line":356,"updated":"2024-03-19 13:36:16.000000000","message":"At least the prometheus job failures are legit:\n\n    \"msg\": \"An unhandled exception occurred while templating \u0027{{ prometheus_blackbox_exporter_endpoints_default | selectattr(\u0027enabled\u0027, \u0027bool\u0027) | map(attribute\u003d\u0027endpoints\u0027) | flatten | union(prometheus_blackbox_exporter_endpoints_custom) | unique | select }}\u0027. Error was a \u003cclass \u0027jinja2.exceptions.TemplateSyntaxError\u0027\u003e, original message: Could not load \\\"bool\\\": \u0027bool\u0027\"\n    \nI think it\u0027s because bool is a filter, not a test.","commit_id":"4330bfa218290c75f95202b443eed969c8509678"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"a88953dda02b4ab8a40c9deae8a2ca86d7d1cac6","unresolved":false,"context_lines":[{"line_number":353,"context_line":"      - \"opensearch:http_2xx:{{ opensearch_internal_endpoint }}\""},{"line_number":354,"context_line":"    enabled: \"{{ enable_opensearch | bool }}\""},{"line_number":355,"context_line":""},{"line_number":356,"context_line":"prometheus_blackbox_exporter_endpoints: \"{{ prometheus_blackbox_exporter_endpoints_default | selectattr(\u0027enabled\u0027, \u0027bool\u0027) | map(attribute\u003d\u0027endpoints\u0027) | flatten | union(prometheus_blackbox_exporter_endpoints_custom) | unique | select }}\""},{"line_number":357,"context_line":""},{"line_number":358,"context_line":""},{"line_number":359,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"88352651_54866f38","line":356,"in_reply_to":"185ee3bc_f4a2cb96","updated":"2024-03-28 13:24:49.000000000","message":"Fixed, correct test appears to be \u0027true\u0027","commit_id":"4330bfa218290c75f95202b443eed969c8509678"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"e81b8e0cedfd010522326ed2798f69e9c880d1d9","unresolved":true,"context_lines":[{"line_number":189,"context_line":"  # OpenStack endpoints"},{"line_number":190,"context_line":"  - endpoints:"},{"line_number":191,"context_line":"      - \"aodh:os_endpoint:{{ aodh_public_base_endpoint }}\""},{"line_number":192,"context_line":"      - \"{{ (\u0027aodh_internal:os_endpoint:\u0027 + aodh_internal_base_endpoint) if aodh_internal_base_endpoint !\u003d aodh_public_base_endpoint }}\""},{"line_number":193,"context_line":"    enabled: \"{{ enable_aodh | bool }}\""},{"line_number":194,"context_line":"  - endpoints:"},{"line_number":195,"context_line":"      - \"barbican:os_endpoint:{{ barbican_public_base_endpoint }}\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"326ddb6d_f6f5f895","line":192,"range":{"start_line":192,"start_character":73,"end_line":192,"end_character":132},"updated":"2024-04-17 16:14:47.000000000","message":"This could be a simpler condition and can be used anywhere:\n\n  if not kolla_same_external_internal_vip | bool","commit_id":"a4eeeaefd123e7e4f8b1cc124373eac07722b098"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"6b082748a4503a551113883caf7c5196bbb9b0da","unresolved":false,"context_lines":[{"line_number":189,"context_line":"  # OpenStack endpoints"},{"line_number":190,"context_line":"  - endpoints:"},{"line_number":191,"context_line":"      - \"aodh:os_endpoint:{{ aodh_public_base_endpoint }}\""},{"line_number":192,"context_line":"      - \"{{ (\u0027aodh_internal:os_endpoint:\u0027 + aodh_internal_base_endpoint) if aodh_internal_base_endpoint !\u003d aodh_public_base_endpoint }}\""},{"line_number":193,"context_line":"    enabled: \"{{ enable_aodh | bool }}\""},{"line_number":194,"context_line":"  - endpoints:"},{"line_number":195,"context_line":"      - \"barbican:os_endpoint:{{ barbican_public_base_endpoint }}\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"0593abbe_6cafb051","line":192,"range":{"start_line":192,"start_character":73,"end_line":192,"end_character":132},"in_reply_to":"326ddb6d_f6f5f895","updated":"2024-04-22 15:20:17.000000000","message":"Done","commit_id":"a4eeeaefd123e7e4f8b1cc124373eac07722b098"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"e81b8e0cedfd010522326ed2798f69e9c880d1d9","unresolved":true,"context_lines":[{"line_number":254,"context_line":"  - endpoints:"},{"line_number":255,"context_line":"      - \"manila:os_endpoint:{{ manila_public_base_endpoint }}\""},{"line_number":256,"context_line":"      - \"{{ (\u0027manila_internal:os_endpoint:\u0027 + manila_internal_base_endpoint) if manila_internal_base_endpoint !\u003d manila_public_base_endpoint }}\""},{"line_number":257,"context_line":"      - \"manila_v2:os_endpoint:{{ manila_v2_public_base_endpoint }}\""},{"line_number":258,"context_line":"      - \"{{ (\u0027manila_v2_internal:os_endpoint:\u0027 + manila_v2_internal_base_endpoint) if manila_v2_internal_base_endpoint !\u003d manila_v2_public_base_endpoint }}\""},{"line_number":259,"context_line":"    enabled: \"{{ enable_manila | bool }}\""},{"line_number":260,"context_line":"  - endpoints:"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"0f70573a_d2d0c6a6","line":257,"updated":"2024-04-17 16:14:47.000000000","message":"I don\u0027t think we\u0027d need a separate one for the /v2 path","commit_id":"a4eeeaefd123e7e4f8b1cc124373eac07722b098"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"6b082748a4503a551113883caf7c5196bbb9b0da","unresolved":false,"context_lines":[{"line_number":254,"context_line":"  - endpoints:"},{"line_number":255,"context_line":"      - \"manila:os_endpoint:{{ manila_public_base_endpoint }}\""},{"line_number":256,"context_line":"      - \"{{ (\u0027manila_internal:os_endpoint:\u0027 + manila_internal_base_endpoint) if manila_internal_base_endpoint !\u003d manila_public_base_endpoint }}\""},{"line_number":257,"context_line":"      - \"manila_v2:os_endpoint:{{ manila_v2_public_base_endpoint }}\""},{"line_number":258,"context_line":"      - \"{{ (\u0027manila_v2_internal:os_endpoint:\u0027 + manila_v2_internal_base_endpoint) if manila_v2_internal_base_endpoint !\u003d manila_v2_public_base_endpoint }}\""},{"line_number":259,"context_line":"    enabled: \"{{ enable_manila | bool }}\""},{"line_number":260,"context_line":"  - endpoints:"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"c6eacbcb_0c51b1ca","line":257,"in_reply_to":"0f70573a_d2d0c6a6","updated":"2024-04-22 15:20:17.000000000","message":"Done","commit_id":"a4eeeaefd123e7e4f8b1cc124373eac07722b098"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"e81b8e0cedfd010522326ed2798f69e9c880d1d9","unresolved":true,"context_lines":[{"line_number":334,"context_line":"      - \"{{ (\u0027zun_internal:os_endpoint:\u0027 + zun_internal_base_endpoint) if zun_internal_base_endpoint !\u003d zun_public_base_endpoint }}\""},{"line_number":335,"context_line":"    enabled: \"{{ enable_zun | bool }}\""},{"line_number":336,"context_line":"  # Additional service endpoints"},{"line_number":337,"context_line":"  - endpoints: \"{% set etcd_endpoints \u003d [] %}{% for host in groups.get(\u0027etcd\u0027, []) %}{{ etcd_endpoints.append(\u0027etcd_\u0027 + host + \u0027:http_2xx:\u0027 + etcd_protocol + \u0027://\u0027 + (\u0027api\u0027 | kolla_address(host) | put_address_in_context(\u0027url\u0027)) + \u0027:\u0027 + hostvars[host][\u0027etcd_client_port\u0027] + \u0027/metrics\u0027)}}{% endfor %}{{ etcd_endpoints }}\""},{"line_number":338,"context_line":"    enabled: \"{{ enable_etcd | bool }}\""},{"line_number":339,"context_line":"  - endpoints:"},{"line_number":340,"context_line":"      - \"grafana:http_2xx:{{ grafana_public_base_endpoint }}\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"24032c9e_71e19c8f","line":337,"updated":"2024-04-17 16:14:47.000000000","message":"Could reference hostvars[host][\u0027etcd_client_internal_endpoint\u0027]?","commit_id":"a4eeeaefd123e7e4f8b1cc124373eac07722b098"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"6b082748a4503a551113883caf7c5196bbb9b0da","unresolved":false,"context_lines":[{"line_number":334,"context_line":"      - \"{{ (\u0027zun_internal:os_endpoint:\u0027 + zun_internal_base_endpoint) if zun_internal_base_endpoint !\u003d zun_public_base_endpoint }}\""},{"line_number":335,"context_line":"    enabled: \"{{ enable_zun | bool }}\""},{"line_number":336,"context_line":"  # Additional service endpoints"},{"line_number":337,"context_line":"  - endpoints: \"{% set etcd_endpoints \u003d [] %}{% for host in groups.get(\u0027etcd\u0027, []) %}{{ etcd_endpoints.append(\u0027etcd_\u0027 + host + \u0027:http_2xx:\u0027 + etcd_protocol + \u0027://\u0027 + (\u0027api\u0027 | kolla_address(host) | put_address_in_context(\u0027url\u0027)) + \u0027:\u0027 + hostvars[host][\u0027etcd_client_port\u0027] + \u0027/metrics\u0027)}}{% endfor %}{{ etcd_endpoints }}\""},{"line_number":338,"context_line":"    enabled: \"{{ enable_etcd | bool }}\""},{"line_number":339,"context_line":"  - endpoints:"},{"line_number":340,"context_line":"      - \"grafana:http_2xx:{{ grafana_public_base_endpoint }}\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"beb6208d_acbe6343","line":337,"in_reply_to":"24032c9e_71e19c8f","updated":"2024-04-22 15:20:17.000000000","message":"Done","commit_id":"a4eeeaefd123e7e4f8b1cc124373eac07722b098"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"e81b8e0cedfd010522326ed2798f69e9c880d1d9","unresolved":true,"context_lines":[{"line_number":344,"context_line":"      - \"opensearch:http_2xx:{{ opensearch_internal_base_endpoint }}\""},{"line_number":345,"context_line":"    enabled: \"{{ enable_opensearch | bool }}\""},{"line_number":346,"context_line":"  - endpoints:"},{"line_number":347,"context_line":"      - \"os_dashboards:http_2xx_os_dashboards:{{ opensearch_dashboards_internal_base_endpoint }}/api/status\""},{"line_number":348,"context_line":"    enabled: \"{{ enable_opensearch_dashboards | bool }}\""},{"line_number":349,"context_line":"  - endpoints:"},{"line_number":350,"context_line":"      - \"prometheus:http_2xx_prometheus:{{ prometheus_public_base_endpoint }}/-/healthy\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"3a5bb301_6fc3daaf","line":347,"updated":"2024-04-17 16:14:47.000000000","message":"Would it not accept opensearch_dashboards? os might be confused with openstack","commit_id":"a4eeeaefd123e7e4f8b1cc124373eac07722b098"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"6b082748a4503a551113883caf7c5196bbb9b0da","unresolved":false,"context_lines":[{"line_number":344,"context_line":"      - \"opensearch:http_2xx:{{ opensearch_internal_base_endpoint }}\""},{"line_number":345,"context_line":"    enabled: \"{{ enable_opensearch | bool }}\""},{"line_number":346,"context_line":"  - endpoints:"},{"line_number":347,"context_line":"      - \"os_dashboards:http_2xx_os_dashboards:{{ opensearch_dashboards_internal_base_endpoint }}/api/status\""},{"line_number":348,"context_line":"    enabled: \"{{ enable_opensearch_dashboards | bool }}\""},{"line_number":349,"context_line":"  - endpoints:"},{"line_number":350,"context_line":"      - \"prometheus:http_2xx_prometheus:{{ prometheus_public_base_endpoint }}/-/healthy\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"2559bb15_869c8883","line":347,"in_reply_to":"3a5bb301_6fc3daaf","updated":"2024-04-22 15:20:17.000000000","message":"Done","commit_id":"a4eeeaefd123e7e4f8b1cc124373eac07722b098"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"e81b8e0cedfd010522326ed2798f69e9c880d1d9","unresolved":true,"context_lines":[{"line_number":348,"context_line":"    enabled: \"{{ enable_opensearch_dashboards | bool }}\""},{"line_number":349,"context_line":"  - endpoints:"},{"line_number":350,"context_line":"      - \"prometheus:http_2xx_prometheus:{{ prometheus_public_base_endpoint }}/-/healthy\""},{"line_number":351,"context_line":"      - \"{{ (\u0027prometheus_internal:http_2xx:\u0027 + prometheus_internal_base_endpoint) if prometheus_internal_base_endpoint !\u003d prometheus_public_base_endpoint }}\""},{"line_number":352,"context_line":"    enabled: \"{{ enable_prometheus | bool }}\""},{"line_number":353,"context_line":"  - endpoints:"},{"line_number":354,"context_line":"      - \"prometheus_alertmanager:http_2xx_alertmanager:{{ prometheus_alertmanager_public_base_endpoint }}\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"ccc79c64_c9560dfa","line":351,"updated":"2024-04-17 16:14:47.000000000","message":"Does it need to use the /-/healthy path?","commit_id":"a4eeeaefd123e7e4f8b1cc124373eac07722b098"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"705c2bdb17ad1568464dd24e4a330fa08f8083aa","unresolved":false,"context_lines":[{"line_number":348,"context_line":"    enabled: \"{{ enable_opensearch_dashboards | bool }}\""},{"line_number":349,"context_line":"  - endpoints:"},{"line_number":350,"context_line":"      - \"prometheus:http_2xx_prometheus:{{ prometheus_public_base_endpoint }}/-/healthy\""},{"line_number":351,"context_line":"      - \"{{ (\u0027prometheus_internal:http_2xx:\u0027 + prometheus_internal_base_endpoint) if prometheus_internal_base_endpoint !\u003d prometheus_public_base_endpoint }}\""},{"line_number":352,"context_line":"    enabled: \"{{ enable_prometheus | bool }}\""},{"line_number":353,"context_line":"  - endpoints:"},{"line_number":354,"context_line":"      - \"prometheus_alertmanager:http_2xx_alertmanager:{{ prometheus_alertmanager_public_base_endpoint }}\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"ef7906f9_1e1ca2be","line":351,"in_reply_to":"6601655e_9b57cac8","updated":"2024-09-27 04:51:55.000000000","message":"Done","commit_id":"a4eeeaefd123e7e4f8b1cc124373eac07722b098"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"6b082748a4503a551113883caf7c5196bbb9b0da","unresolved":true,"context_lines":[{"line_number":348,"context_line":"    enabled: \"{{ enable_opensearch_dashboards | bool }}\""},{"line_number":349,"context_line":"  - endpoints:"},{"line_number":350,"context_line":"      - \"prometheus:http_2xx_prometheus:{{ prometheus_public_base_endpoint }}/-/healthy\""},{"line_number":351,"context_line":"      - \"{{ (\u0027prometheus_internal:http_2xx:\u0027 + prometheus_internal_base_endpoint) if prometheus_internal_base_endpoint !\u003d prometheus_public_base_endpoint }}\""},{"line_number":352,"context_line":"    enabled: \"{{ enable_prometheus | bool }}\""},{"line_number":353,"context_line":"  - endpoints:"},{"line_number":354,"context_line":"      - \"prometheus_alertmanager:http_2xx_alertmanager:{{ prometheus_alertmanager_public_base_endpoint }}\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"6601655e_9b57cac8","line":351,"in_reply_to":"ccc79c64_c9560dfa","updated":"2024-04-22 15:20:17.000000000","message":"I went with /-/healthy just because it seemed logical to go for the healthcheck endpoint https://prometheus.io/docs/prometheus/latest/management_api/#health-check","commit_id":"a4eeeaefd123e7e4f8b1cc124373eac07722b098"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"14672edb3c388f01c321bdc4d82e1f5c0985d3ff","unresolved":true,"context_lines":[{"line_number":184,"context_line":"# For a list of default endpoints see"},{"line_number":185,"context_line":"# prometheus_blackbox_exporter_endpoints_default."},{"line_number":186,"context_line":"# For a list of modules see the alertmanager config."},{"line_number":187,"context_line":"prometheus_blackbox_exporter_endpoints: \"{{ prometheus_blackbox_exporter_endpoints_default | selectattr(\u0027enabled\u0027, \u0027true\u0027) | map(attribute\u003d\u0027endpoints\u0027) | flatten | union(prometheus_blackbox_exporter_endpoints_custom) | unique | select }}\""},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"prometheus_blackbox_exporter_endpoints_default:"},{"line_number":190,"context_line":"  # OpenStack endpoints"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"d610a9ab_eb7977bc","line":187,"updated":"2024-05-13 15:27:05.000000000","message":"I\u0027d add a | list on the end here to convert from a generator to a list, in case anyone wants to inspect the variable.","commit_id":"1b36285914efed9fbd4e74bd8acfceb639049cf9"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"e8c13c027d8e183b952a7301ec921f27bac08e3c","unresolved":false,"context_lines":[{"line_number":184,"context_line":"# For a list of default endpoints see"},{"line_number":185,"context_line":"# prometheus_blackbox_exporter_endpoints_default."},{"line_number":186,"context_line":"# For a list of modules see the alertmanager config."},{"line_number":187,"context_line":"prometheus_blackbox_exporter_endpoints: \"{{ prometheus_blackbox_exporter_endpoints_default | selectattr(\u0027enabled\u0027, \u0027true\u0027) | map(attribute\u003d\u0027endpoints\u0027) | flatten | union(prometheus_blackbox_exporter_endpoints_custom) | unique | select }}\""},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"prometheus_blackbox_exporter_endpoints_default:"},{"line_number":190,"context_line":"  # OpenStack endpoints"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"f4d04134_e380f883","line":187,"in_reply_to":"d610a9ab_eb7977bc","updated":"2024-05-16 10:18:13.000000000","message":"Done","commit_id":"1b36285914efed9fbd4e74bd8acfceb639049cf9"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"2f9429a33dc6e34eee734ea364d9d698724818b1","unresolved":true,"context_lines":[{"line_number":249,"context_line":"      - \"{{ (\u0027magnum_internal:os_endpoint:\u0027 + magnum_internal_base_endpoint) if not kolla_same_external_internal_vip | bool }}\""},{"line_number":250,"context_line":"    enabled: \"{{ enable_magnum | bool }}\""},{"line_number":251,"context_line":"  - endpoints:"},{"line_number":252,"context_line":"      - \"manila:os_endpoint:{{ manila_public_endpoint }}\""},{"line_number":253,"context_line":"      - \"{{ (\u0027manila_internal:os_endpoint:\u0027 + manila_internal_endpoint) if not kolla_same_external_internal_vip | bool }}\""},{"line_number":254,"context_line":"    enabled: \"{{ enable_manila | bool }}\""},{"line_number":255,"context_line":"  - endpoints:"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"09bfbe92_df1722dc","line":252,"updated":"2024-05-13 12:52:03.000000000","message":"`manila_public_endpoint` is undefined here. `manila_internal_base_endpoint`?","commit_id":"1b36285914efed9fbd4e74bd8acfceb639049cf9"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"14672edb3c388f01c321bdc4d82e1f5c0985d3ff","unresolved":true,"context_lines":[{"line_number":249,"context_line":"      - \"{{ (\u0027magnum_internal:os_endpoint:\u0027 + magnum_internal_base_endpoint) if not kolla_same_external_internal_vip | bool }}\""},{"line_number":250,"context_line":"    enabled: \"{{ enable_magnum | bool }}\""},{"line_number":251,"context_line":"  - endpoints:"},{"line_number":252,"context_line":"      - \"manila:os_endpoint:{{ manila_public_endpoint }}\""},{"line_number":253,"context_line":"      - \"{{ (\u0027manila_internal:os_endpoint:\u0027 + manila_internal_endpoint) if not kolla_same_external_internal_vip | bool }}\""},{"line_number":254,"context_line":"    enabled: \"{{ enable_manila | bool }}\""},{"line_number":255,"context_line":"  - endpoints:"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"9976f4c1_80b968a6","line":252,"in_reply_to":"09bfbe92_df1722dc","updated":"2024-05-13 15:27:05.000000000","message":"manila_public_base_endpoint","commit_id":"1b36285914efed9fbd4e74bd8acfceb639049cf9"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"e8c13c027d8e183b952a7301ec921f27bac08e3c","unresolved":false,"context_lines":[{"line_number":249,"context_line":"      - \"{{ (\u0027magnum_internal:os_endpoint:\u0027 + magnum_internal_base_endpoint) if not kolla_same_external_internal_vip | bool }}\""},{"line_number":250,"context_line":"    enabled: \"{{ enable_magnum | bool }}\""},{"line_number":251,"context_line":"  - endpoints:"},{"line_number":252,"context_line":"      - \"manila:os_endpoint:{{ manila_public_endpoint }}\""},{"line_number":253,"context_line":"      - \"{{ (\u0027manila_internal:os_endpoint:\u0027 + manila_internal_endpoint) if not kolla_same_external_internal_vip | bool }}\""},{"line_number":254,"context_line":"    enabled: \"{{ enable_manila | bool }}\""},{"line_number":255,"context_line":"  - endpoints:"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"598e2f7d_dfc6c434","line":252,"in_reply_to":"9976f4c1_80b968a6","updated":"2024-05-16 10:18:13.000000000","message":"Done","commit_id":"1b36285914efed9fbd4e74bd8acfceb639049cf9"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"2f9429a33dc6e34eee734ea364d9d698724818b1","unresolved":true,"context_lines":[{"line_number":307,"context_line":"      - \"{{ (\u0027zun_internal:os_endpoint:\u0027 + zun_internal_base_endpoint) if not kolla_same_external_internal_vip | bool }}\""},{"line_number":308,"context_line":"    enabled: \"{{ enable_zun | bool }}\""},{"line_number":309,"context_line":"  # Additional service endpoints"},{"line_number":310,"context_line":"  - endpoints: \"{% set etcd_endpoints \u003d [] %}{% for host in groups.get(\u0027etcd\u0027, []) %}{{ etcd_endpoints.append(\u0027etcd_\u0027 + host + \u0027:http_2xx:\u0027 + hostvars[host][\u0027etcd_client_internal_endpoint\u0027] + \u0027/metrics\u0027)}}{% endfor %}{{ etcd_endpoints }}\""},{"line_number":311,"context_line":"    enabled: \"{{ enable_etcd | bool }}\""},{"line_number":312,"context_line":"  - endpoints:"},{"line_number":313,"context_line":"      - \"grafana:http_2xx:{{ grafana_public_endpoint }}\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"ec11e4fc_ec2d6950","line":310,"updated":"2024-05-13 12:52:03.000000000","message":"`etcd_client_internal_endpoint` is undefined here. Looks like it needs moving out of the role?","commit_id":"1b36285914efed9fbd4e74bd8acfceb639049cf9"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"e8c13c027d8e183b952a7301ec921f27bac08e3c","unresolved":false,"context_lines":[{"line_number":307,"context_line":"      - \"{{ (\u0027zun_internal:os_endpoint:\u0027 + zun_internal_base_endpoint) if not kolla_same_external_internal_vip | bool }}\""},{"line_number":308,"context_line":"    enabled: \"{{ enable_zun | bool }}\""},{"line_number":309,"context_line":"  # Additional service endpoints"},{"line_number":310,"context_line":"  - endpoints: \"{% set etcd_endpoints \u003d [] %}{% for host in groups.get(\u0027etcd\u0027, []) %}{{ etcd_endpoints.append(\u0027etcd_\u0027 + host + \u0027:http_2xx:\u0027 + hostvars[host][\u0027etcd_client_internal_endpoint\u0027] + \u0027/metrics\u0027)}}{% endfor %}{{ etcd_endpoints }}\""},{"line_number":311,"context_line":"    enabled: \"{{ enable_etcd | bool }}\""},{"line_number":312,"context_line":"  - endpoints:"},{"line_number":313,"context_line":"      - \"grafana:http_2xx:{{ grafana_public_endpoint }}\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"f522e349_a9563d58","line":310,"in_reply_to":"ec11e4fc_ec2d6950","updated":"2024-05-16 10:18:13.000000000","message":"It didn\u0027t template properly when moved outside the role, so I\u0027ve left it there and used the same construction in this file.","commit_id":"1b36285914efed9fbd4e74bd8acfceb639049cf9"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"14672edb3c388f01c321bdc4d82e1f5c0985d3ff","unresolved":true,"context_lines":[{"line_number":317,"context_line":"      - \"opensearch:http_2xx:{{ opensearch_internal_endpoint }}\""},{"line_number":318,"context_line":"    enabled: \"{{ enable_opensearch | bool }}\""},{"line_number":319,"context_line":"  - endpoints:"},{"line_number":320,"context_line":"      - \"opensearch_dashboards:http_2xx_opensearch_dashboards:{{ opensearch_dashboards_internal_endpoint }}/api/status\""},{"line_number":321,"context_line":"    enabled: \"{{ enable_opensearch_dashboards | bool }}\""},{"line_number":322,"context_line":"  - endpoints:"},{"line_number":323,"context_line":"      - \"prometheus:http_2xx_prometheus:{{ prometheus_public_endpoint }}/-/healthy\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"3215f1f8_34fcac0c","line":320,"updated":"2024-05-13 15:27:05.000000000","message":"Missing the external dashboard?","commit_id":"1b36285914efed9fbd4e74bd8acfceb639049cf9"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"e8c13c027d8e183b952a7301ec921f27bac08e3c","unresolved":false,"context_lines":[{"line_number":317,"context_line":"      - \"opensearch:http_2xx:{{ opensearch_internal_endpoint }}\""},{"line_number":318,"context_line":"    enabled: \"{{ enable_opensearch | bool }}\""},{"line_number":319,"context_line":"  - endpoints:"},{"line_number":320,"context_line":"      - \"opensearch_dashboards:http_2xx_opensearch_dashboards:{{ opensearch_dashboards_internal_endpoint }}/api/status\""},{"line_number":321,"context_line":"    enabled: \"{{ enable_opensearch_dashboards | bool }}\""},{"line_number":322,"context_line":"  - endpoints:"},{"line_number":323,"context_line":"      - \"prometheus:http_2xx_prometheus:{{ prometheus_public_endpoint }}/-/healthy\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"dde9a058_d050211d","line":320,"in_reply_to":"3215f1f8_34fcac0c","updated":"2024-05-16 10:18:13.000000000","message":"Done","commit_id":"1b36285914efed9fbd4e74bd8acfceb639049cf9"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"14672edb3c388f01c321bdc4d82e1f5c0985d3ff","unresolved":true,"context_lines":[{"line_number":320,"context_line":"      - \"opensearch_dashboards:http_2xx_opensearch_dashboards:{{ opensearch_dashboards_internal_endpoint }}/api/status\""},{"line_number":321,"context_line":"    enabled: \"{{ enable_opensearch_dashboards | bool }}\""},{"line_number":322,"context_line":"  - endpoints:"},{"line_number":323,"context_line":"      - \"prometheus:http_2xx_prometheus:{{ prometheus_public_endpoint }}/-/healthy\""},{"line_number":324,"context_line":"      - \"{{ (\u0027prometheus_internal:http_2xx:\u0027 + prometheus_internal_endpoint) if not kolla_same_external_internal_vip | bool }}\""},{"line_number":325,"context_line":"    enabled: \"{{ enable_prometheus | bool }}\""},{"line_number":326,"context_line":"  - endpoints:"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"dfed1f8d_90faed0f","line":323,"updated":"2024-05-13 15:27:05.000000000","message":"This is only open when enable_prometheus_server_external is true","commit_id":"1b36285914efed9fbd4e74bd8acfceb639049cf9"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"e8c13c027d8e183b952a7301ec921f27bac08e3c","unresolved":false,"context_lines":[{"line_number":320,"context_line":"      - \"opensearch_dashboards:http_2xx_opensearch_dashboards:{{ opensearch_dashboards_internal_endpoint }}/api/status\""},{"line_number":321,"context_line":"    enabled: \"{{ enable_opensearch_dashboards | bool }}\""},{"line_number":322,"context_line":"  - endpoints:"},{"line_number":323,"context_line":"      - \"prometheus:http_2xx_prometheus:{{ prometheus_public_endpoint }}/-/healthy\""},{"line_number":324,"context_line":"      - \"{{ (\u0027prometheus_internal:http_2xx:\u0027 + prometheus_internal_endpoint) if not kolla_same_external_internal_vip | bool }}\""},{"line_number":325,"context_line":"    enabled: \"{{ enable_prometheus | bool }}\""},{"line_number":326,"context_line":"  - endpoints:"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"43591260_49df4bde","line":323,"in_reply_to":"dfed1f8d_90faed0f","updated":"2024-05-16 10:18:13.000000000","message":"Done","commit_id":"1b36285914efed9fbd4e74bd8acfceb639049cf9"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"14672edb3c388f01c321bdc4d82e1f5c0985d3ff","unresolved":true,"context_lines":[{"line_number":321,"context_line":"    enabled: \"{{ enable_opensearch_dashboards | bool }}\""},{"line_number":322,"context_line":"  - endpoints:"},{"line_number":323,"context_line":"      - \"prometheus:http_2xx_prometheus:{{ prometheus_public_endpoint }}/-/healthy\""},{"line_number":324,"context_line":"      - \"{{ (\u0027prometheus_internal:http_2xx:\u0027 + prometheus_internal_endpoint) if not kolla_same_external_internal_vip | bool }}\""},{"line_number":325,"context_line":"    enabled: \"{{ enable_prometheus | bool }}\""},{"line_number":326,"context_line":"  - endpoints:"},{"line_number":327,"context_line":"      - \"prometheus_alertmanager:http_2xx_alertmanager:{{ prometheus_alertmanager_public_endpoint }}\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"b6e40f1d_accbb37c","line":324,"updated":"2024-05-13 15:27:05.000000000","message":"Missing /-/healthy?","commit_id":"1b36285914efed9fbd4e74bd8acfceb639049cf9"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"14672edb3c388f01c321bdc4d82e1f5c0985d3ff","unresolved":true,"context_lines":[{"line_number":321,"context_line":"    enabled: \"{{ enable_opensearch_dashboards | bool }}\""},{"line_number":322,"context_line":"  - endpoints:"},{"line_number":323,"context_line":"      - \"prometheus:http_2xx_prometheus:{{ prometheus_public_endpoint }}/-/healthy\""},{"line_number":324,"context_line":"      - \"{{ (\u0027prometheus_internal:http_2xx:\u0027 + prometheus_internal_endpoint) if not kolla_same_external_internal_vip | bool }}\""},{"line_number":325,"context_line":"    enabled: \"{{ enable_prometheus | bool }}\""},{"line_number":326,"context_line":"  - endpoints:"},{"line_number":327,"context_line":"      - \"prometheus_alertmanager:http_2xx_alertmanager:{{ prometheus_alertmanager_public_endpoint }}\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"52e8d18b_5dc075fa","line":324,"updated":"2024-05-13 15:27:05.000000000","message":"Needs to use http_2xx_prometheus?","commit_id":"1b36285914efed9fbd4e74bd8acfceb639049cf9"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"e8c13c027d8e183b952a7301ec921f27bac08e3c","unresolved":false,"context_lines":[{"line_number":321,"context_line":"    enabled: \"{{ enable_opensearch_dashboards | bool }}\""},{"line_number":322,"context_line":"  - endpoints:"},{"line_number":323,"context_line":"      - \"prometheus:http_2xx_prometheus:{{ prometheus_public_endpoint }}/-/healthy\""},{"line_number":324,"context_line":"      - \"{{ (\u0027prometheus_internal:http_2xx:\u0027 + prometheus_internal_endpoint) if not kolla_same_external_internal_vip | bool }}\""},{"line_number":325,"context_line":"    enabled: \"{{ enable_prometheus | bool }}\""},{"line_number":326,"context_line":"  - endpoints:"},{"line_number":327,"context_line":"      - \"prometheus_alertmanager:http_2xx_alertmanager:{{ prometheus_alertmanager_public_endpoint }}\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"12a8aea0_d213e5ef","line":324,"in_reply_to":"52e8d18b_5dc075fa","updated":"2024-05-16 10:18:13.000000000","message":"Done","commit_id":"1b36285914efed9fbd4e74bd8acfceb639049cf9"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"e8c13c027d8e183b952a7301ec921f27bac08e3c","unresolved":false,"context_lines":[{"line_number":321,"context_line":"    enabled: \"{{ enable_opensearch_dashboards | bool }}\""},{"line_number":322,"context_line":"  - endpoints:"},{"line_number":323,"context_line":"      - \"prometheus:http_2xx_prometheus:{{ prometheus_public_endpoint }}/-/healthy\""},{"line_number":324,"context_line":"      - \"{{ (\u0027prometheus_internal:http_2xx:\u0027 + prometheus_internal_endpoint) if not kolla_same_external_internal_vip | bool }}\""},{"line_number":325,"context_line":"    enabled: \"{{ enable_prometheus | bool }}\""},{"line_number":326,"context_line":"  - endpoints:"},{"line_number":327,"context_line":"      - \"prometheus_alertmanager:http_2xx_alertmanager:{{ prometheus_alertmanager_public_endpoint }}\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"4d9d7a2f_e05e4258","line":324,"in_reply_to":"b6e40f1d_accbb37c","updated":"2024-05-16 10:18:13.000000000","message":"Done","commit_id":"1b36285914efed9fbd4e74bd8acfceb639049cf9"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"14672edb3c388f01c321bdc4d82e1f5c0985d3ff","unresolved":true,"context_lines":[{"line_number":324,"context_line":"      - \"{{ (\u0027prometheus_internal:http_2xx:\u0027 + prometheus_internal_endpoint) if not kolla_same_external_internal_vip | bool }}\""},{"line_number":325,"context_line":"    enabled: \"{{ enable_prometheus | bool }}\""},{"line_number":326,"context_line":"  - endpoints:"},{"line_number":327,"context_line":"      - \"prometheus_alertmanager:http_2xx_alertmanager:{{ prometheus_alertmanager_public_endpoint }}\""},{"line_number":328,"context_line":"      - \"{{ (\u0027prometheus_alertmanager_internal:http_2xx:\u0027 + prometheus_alertmanager_internal_endpoint) if not kolla_same_external_internal_vip | bool }}\""},{"line_number":329,"context_line":"    enabled: \"{{ enable_prometheus_alertmanager | bool }}\""},{"line_number":330,"context_line":"  - endpoints: \"{% set rabbitmq_endpoints \u003d [] %}{% for host in groups.get(\u0027rabbitmq\u0027, []) %}{{ rabbitmq_endpoints.append(\u0027rabbitmq_\u0027 + host + \u0027:tcp_connect:\u0027 + (\u0027api\u0027 | kolla_address(host) | put_address_in_context(\u0027url\u0027)) + \u0027:\u0027 + hostvars[host][\u0027rabbitmq_port\u0027] ) }}{% endfor %}{{ rabbitmq_endpoints }}\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"a5c0d801_15cff1c1","line":327,"updated":"2024-05-13 15:27:05.000000000","message":"This is only open when enable_prometheus_alertmanager_external is true","commit_id":"1b36285914efed9fbd4e74bd8acfceb639049cf9"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"e8c13c027d8e183b952a7301ec921f27bac08e3c","unresolved":false,"context_lines":[{"line_number":324,"context_line":"      - \"{{ (\u0027prometheus_internal:http_2xx:\u0027 + prometheus_internal_endpoint) if not kolla_same_external_internal_vip | bool }}\""},{"line_number":325,"context_line":"    enabled: \"{{ enable_prometheus | bool }}\""},{"line_number":326,"context_line":"  - endpoints:"},{"line_number":327,"context_line":"      - \"prometheus_alertmanager:http_2xx_alertmanager:{{ prometheus_alertmanager_public_endpoint }}\""},{"line_number":328,"context_line":"      - \"{{ (\u0027prometheus_alertmanager_internal:http_2xx:\u0027 + prometheus_alertmanager_internal_endpoint) if not kolla_same_external_internal_vip | bool }}\""},{"line_number":329,"context_line":"    enabled: \"{{ enable_prometheus_alertmanager | bool }}\""},{"line_number":330,"context_line":"  - endpoints: \"{% set rabbitmq_endpoints \u003d [] %}{% for host in groups.get(\u0027rabbitmq\u0027, []) %}{{ rabbitmq_endpoints.append(\u0027rabbitmq_\u0027 + host + \u0027:tcp_connect:\u0027 + (\u0027api\u0027 | kolla_address(host) | put_address_in_context(\u0027url\u0027)) + \u0027:\u0027 + hostvars[host][\u0027rabbitmq_port\u0027] ) }}{% endfor %}{{ rabbitmq_endpoints }}\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"392f163a_b9007230","line":327,"in_reply_to":"a5c0d801_15cff1c1","updated":"2024-05-16 10:18:13.000000000","message":"Done","commit_id":"1b36285914efed9fbd4e74bd8acfceb639049cf9"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"14672edb3c388f01c321bdc4d82e1f5c0985d3ff","unresolved":true,"context_lines":[{"line_number":325,"context_line":"    enabled: \"{{ enable_prometheus | bool }}\""},{"line_number":326,"context_line":"  - endpoints:"},{"line_number":327,"context_line":"      - \"prometheus_alertmanager:http_2xx_alertmanager:{{ prometheus_alertmanager_public_endpoint }}\""},{"line_number":328,"context_line":"      - \"{{ (\u0027prometheus_alertmanager_internal:http_2xx:\u0027 + prometheus_alertmanager_internal_endpoint) if not kolla_same_external_internal_vip | bool }}\""},{"line_number":329,"context_line":"    enabled: \"{{ enable_prometheus_alertmanager | bool }}\""},{"line_number":330,"context_line":"  - endpoints: \"{% set rabbitmq_endpoints \u003d [] %}{% for host in groups.get(\u0027rabbitmq\u0027, []) %}{{ rabbitmq_endpoints.append(\u0027rabbitmq_\u0027 + host + \u0027:tcp_connect:\u0027 + (\u0027api\u0027 | kolla_address(host) | put_address_in_context(\u0027url\u0027)) + \u0027:\u0027 + hostvars[host][\u0027rabbitmq_port\u0027] ) }}{% endfor %}{{ rabbitmq_endpoints }}\""},{"line_number":331,"context_line":"    enabled: \"{{ enable_rabbitmq | bool }}\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"eb1d0381_a9c46b57","line":328,"updated":"2024-05-13 15:27:05.000000000","message":"Needs to use http_2xx_alertmanager?","commit_id":"1b36285914efed9fbd4e74bd8acfceb639049cf9"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"e8c13c027d8e183b952a7301ec921f27bac08e3c","unresolved":false,"context_lines":[{"line_number":325,"context_line":"    enabled: \"{{ enable_prometheus | bool }}\""},{"line_number":326,"context_line":"  - endpoints:"},{"line_number":327,"context_line":"      - \"prometheus_alertmanager:http_2xx_alertmanager:{{ prometheus_alertmanager_public_endpoint }}\""},{"line_number":328,"context_line":"      - \"{{ (\u0027prometheus_alertmanager_internal:http_2xx:\u0027 + prometheus_alertmanager_internal_endpoint) if not kolla_same_external_internal_vip | bool }}\""},{"line_number":329,"context_line":"    enabled: \"{{ enable_prometheus_alertmanager | bool }}\""},{"line_number":330,"context_line":"  - endpoints: \"{% set rabbitmq_endpoints \u003d [] %}{% for host in groups.get(\u0027rabbitmq\u0027, []) %}{{ rabbitmq_endpoints.append(\u0027rabbitmq_\u0027 + host + \u0027:tcp_connect:\u0027 + (\u0027api\u0027 | kolla_address(host) | put_address_in_context(\u0027url\u0027)) + \u0027:\u0027 + hostvars[host][\u0027rabbitmq_port\u0027] ) }}{% endfor %}{{ rabbitmq_endpoints }}\""},{"line_number":331,"context_line":"    enabled: \"{{ enable_rabbitmq | bool }}\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"27fa2939_59bb4cd1","line":328,"in_reply_to":"eb1d0381_a9c46b57","updated":"2024-05-16 10:18:13.000000000","message":"Done","commit_id":"1b36285914efed9fbd4e74bd8acfceb639049cf9"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"14672edb3c388f01c321bdc4d82e1f5c0985d3ff","unresolved":true,"context_lines":[{"line_number":327,"context_line":"      - \"prometheus_alertmanager:http_2xx_alertmanager:{{ prometheus_alertmanager_public_endpoint }}\""},{"line_number":328,"context_line":"      - \"{{ (\u0027prometheus_alertmanager_internal:http_2xx:\u0027 + prometheus_alertmanager_internal_endpoint) if not kolla_same_external_internal_vip | bool }}\""},{"line_number":329,"context_line":"    enabled: \"{{ enable_prometheus_alertmanager | bool }}\""},{"line_number":330,"context_line":"  - endpoints: \"{% set rabbitmq_endpoints \u003d [] %}{% for host in groups.get(\u0027rabbitmq\u0027, []) %}{{ rabbitmq_endpoints.append(\u0027rabbitmq_\u0027 + host + \u0027:tcp_connect:\u0027 + (\u0027api\u0027 | kolla_address(host) | put_address_in_context(\u0027url\u0027)) + \u0027:\u0027 + hostvars[host][\u0027rabbitmq_port\u0027] ) }}{% endfor %}{{ rabbitmq_endpoints }}\""},{"line_number":331,"context_line":"    enabled: \"{{ enable_rabbitmq | bool }}\""},{"line_number":332,"context_line":"  - endpoints: \"{% set redis_endpoints \u003d [] %}{% for host in groups.get(\u0027redis\u0027, []) %}{{ redis_endpoints.append(\u0027redis_\u0027 + host + \u0027:tcp_connect:\u0027 + (\u0027api\u0027 | kolla_address(host) | put_address_in_context(\u0027url\u0027)) + \u0027:\u0027 + hostvars[host][\u0027redis_port\u0027]) }}{% endfor %}{{ redis_endpoints }}\""},{"line_number":333,"context_line":"    enabled: \"{{ enable_redis | bool }}\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"14935653_add9c2b8","line":330,"updated":"2024-05-13 15:27:05.000000000","message":"Ideally this would use tls_connect when RabbitMQ TLS is enabled (rabbitmq_enable_tls) to allow us to check certs.","commit_id":"1b36285914efed9fbd4e74bd8acfceb639049cf9"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"e8c13c027d8e183b952a7301ec921f27bac08e3c","unresolved":false,"context_lines":[{"line_number":327,"context_line":"      - \"prometheus_alertmanager:http_2xx_alertmanager:{{ prometheus_alertmanager_public_endpoint }}\""},{"line_number":328,"context_line":"      - \"{{ (\u0027prometheus_alertmanager_internal:http_2xx:\u0027 + prometheus_alertmanager_internal_endpoint) if not kolla_same_external_internal_vip | bool }}\""},{"line_number":329,"context_line":"    enabled: \"{{ enable_prometheus_alertmanager | bool }}\""},{"line_number":330,"context_line":"  - endpoints: \"{% set rabbitmq_endpoints \u003d [] %}{% for host in groups.get(\u0027rabbitmq\u0027, []) %}{{ rabbitmq_endpoints.append(\u0027rabbitmq_\u0027 + host + \u0027:tcp_connect:\u0027 + (\u0027api\u0027 | kolla_address(host) | put_address_in_context(\u0027url\u0027)) + \u0027:\u0027 + hostvars[host][\u0027rabbitmq_port\u0027] ) }}{% endfor %}{{ rabbitmq_endpoints }}\""},{"line_number":331,"context_line":"    enabled: \"{{ enable_rabbitmq | bool }}\""},{"line_number":332,"context_line":"  - endpoints: \"{% set redis_endpoints \u003d [] %}{% for host in groups.get(\u0027redis\u0027, []) %}{{ redis_endpoints.append(\u0027redis_\u0027 + host + \u0027:tcp_connect:\u0027 + (\u0027api\u0027 | kolla_address(host) | put_address_in_context(\u0027url\u0027)) + \u0027:\u0027 + hostvars[host][\u0027redis_port\u0027]) }}{% endfor %}{{ redis_endpoints }}\""},{"line_number":333,"context_line":"    enabled: \"{{ enable_redis | bool }}\""}],"source_content_type":"text/x-yaml","patch_set":19,"id":"d87a7d15_620cce64","line":330,"in_reply_to":"14935653_add9c2b8","updated":"2024-05-16 10:18:13.000000000","message":"Done","commit_id":"1b36285914efed9fbd4e74bd8acfceb639049cf9"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"824bf21e1db7652a0e1070c4ed4b8c071eb8f754","unresolved":true,"context_lines":[{"line_number":178,"context_line":"# A list of endpoints to monitor. Each target is in the format:"},{"line_number":179,"context_line":"# \u0027service_name:blackbox_exporter_module:endpoint\u0027 for example:"},{"line_number":180,"context_line":"#"},{"line_number":181,"context_line":"# prometheus_blackbox_exporter_endpoints_custom:"},{"line_number":182,"context_line":"#   - \u0027custom_service:http_2xx:{{ public_protocol }}://{{ external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ custom_serivce_port }}\u0027"},{"line_number":183,"context_line":"#"},{"line_number":184,"context_line":"# For a list of default endpoints see"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"1c51c31d_96fffbe9","line":181,"range":{"start_line":181,"start_character":2,"end_line":181,"end_character":47},"updated":"2024-05-28 10:21:58.000000000","message":"shouldn\u0027t this endpoint be also defined in globals, to stay consistent?\n\nBut I honestly don\u0027t currently understand why we even shuffle every endpoint definition from the respective service into the globals.yml instead. Could you explain that a little bit? thanks!","commit_id":"91470d4c21731dad9d933dc72840a4af04c4510d"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"636c935ce103c5f7df29509f46de5560479439bf","unresolved":true,"context_lines":[{"line_number":178,"context_line":"# A list of endpoints to monitor. Each target is in the format:"},{"line_number":179,"context_line":"# \u0027service_name:blackbox_exporter_module:endpoint\u0027 for example:"},{"line_number":180,"context_line":"#"},{"line_number":181,"context_line":"# prometheus_blackbox_exporter_endpoints_custom:"},{"line_number":182,"context_line":"#   - \u0027custom_service:http_2xx:{{ public_protocol }}://{{ external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ custom_serivce_port }}\u0027"},{"line_number":183,"context_line":"#"},{"line_number":184,"context_line":"# For a list of default endpoints see"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"75666fb5_7884b27e","line":181,"range":{"start_line":181,"start_character":2,"end_line":181,"end_character":47},"in_reply_to":"1c51c31d_96fffbe9","updated":"2024-05-31 15:31:45.000000000","message":"The shuffling is used to change the variable scope so that the Prometheus role can see them. Eg. `cinder_internal_base_endpoint` defined in the Cinder role is not defined in the Prometheus role, so it\u0027s been promoted out of the Cinder role.","commit_id":"91470d4c21731dad9d933dc72840a4af04c4510d"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"ff92f9907542e3366ca1358775c72b99da953c5b","unresolved":false,"context_lines":[{"line_number":178,"context_line":"# A list of endpoints to monitor. Each target is in the format:"},{"line_number":179,"context_line":"# \u0027service_name:blackbox_exporter_module:endpoint\u0027 for example:"},{"line_number":180,"context_line":"#"},{"line_number":181,"context_line":"# prometheus_blackbox_exporter_endpoints_custom:"},{"line_number":182,"context_line":"#   - \u0027custom_service:http_2xx:{{ public_protocol }}://{{ external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ custom_serivce_port }}\u0027"},{"line_number":183,"context_line":"#"},{"line_number":184,"context_line":"# For a list of default endpoints see"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"2375cba6_6aa3595f","line":181,"range":{"start_line":181,"start_character":2,"end_line":181,"end_character":47},"in_reply_to":"75666fb5_7884b27e","updated":"2024-06-10 09:54:48.000000000","message":"Acknowledged","commit_id":"91470d4c21731dad9d933dc72840a4af04c4510d"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"824bf21e1db7652a0e1070c4ed4b8c071eb8f754","unresolved":true,"context_lines":[{"line_number":179,"context_line":"# \u0027service_name:blackbox_exporter_module:endpoint\u0027 for example:"},{"line_number":180,"context_line":"#"},{"line_number":181,"context_line":"# prometheus_blackbox_exporter_endpoints_custom:"},{"line_number":182,"context_line":"#   - \u0027custom_service:http_2xx:{{ public_protocol }}://{{ external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ custom_serivce_port }}\u0027"},{"line_number":183,"context_line":"#"},{"line_number":184,"context_line":"# For a list of default endpoints see"},{"line_number":185,"context_line":"# prometheus_blackbox_exporter_endpoints_default."}],"source_content_type":"text/x-yaml","patch_set":23,"id":"e30d4ce1_e204b14f","line":182,"range":{"start_line":182,"start_character":0,"end_line":182,"end_character":2},"updated":"2024-05-28 10:21:58.000000000","message":"please put a working production example of a custom endpoint in the upgrade notes and in the docs.","commit_id":"91470d4c21731dad9d933dc72840a4af04c4510d"}],"releasenotes/notes/automated-blackbox-endpoints-b0ffd7bf9e3d16de.yaml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"e81b8e0cedfd010522326ed2798f69e9c880d1d9","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Blackbox monitoring endpoint configuration is now automated many common"},{"line_number":5,"context_line":"    services. The default endpoint list,"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"ad7ebbb5_2fff4897","line":2,"updated":"2024-04-17 16:14:47.000000000","message":"Might also want to add an upgrade note saying that if you\u0027ve overridden prometheus_blackbox_exporter_endpoints it will splat the new rules, so you may want to use _custom instead.","commit_id":"a4eeeaefd123e7e4f8b1cc124373eac07722b098"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"6b082748a4503a551113883caf7c5196bbb9b0da","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Blackbox monitoring endpoint configuration is now automated many common"},{"line_number":5,"context_line":"    services. The default endpoint list,"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"c709c2c6_c0f42c7e","line":2,"in_reply_to":"ad7ebbb5_2fff4897","updated":"2024-04-22 15:20:17.000000000","message":"Done","commit_id":"a4eeeaefd123e7e4f8b1cc124373eac07722b098"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"e81b8e0cedfd010522326ed2798f69e9c880d1d9","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Blackbox monitoring endpoint configuration is now automated many common"},{"line_number":5,"context_line":"    services. The default endpoint list,"},{"line_number":6,"context_line":"    ``prometheus_blackbox_exporter_endpoints_default``, varies according to the"},{"line_number":7,"context_line":"    services that are enabled. Custom endpoints can be added to"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"d5821fc5_d2c9559a","line":4,"updated":"2024-04-17 16:14:47.000000000","message":"for","commit_id":"a4eeeaefd123e7e4f8b1cc124373eac07722b098"},{"author":{"_account_id":35264,"name":"Alex Welsh","email":"alex@stackhpc.com","username":"alex-welsh"},"change_message_id":"6b082748a4503a551113883caf7c5196bbb9b0da","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Blackbox monitoring endpoint configuration is now automated many common"},{"line_number":5,"context_line":"    services. The default endpoint list,"},{"line_number":6,"context_line":"    ``prometheus_blackbox_exporter_endpoints_default``, varies according to the"},{"line_number":7,"context_line":"    services that are enabled. Custom endpoints can be added to"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"793c11f6_18201106","line":4,"in_reply_to":"d5821fc5_d2c9559a","updated":"2024-04-22 15:20:17.000000000","message":"Done","commit_id":"a4eeeaefd123e7e4f8b1cc124373eac07722b098"}]}
