)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"197389f35298c6ebbadc63af1c3facf057eb41f7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"8a196226_54a39811","updated":"2022-09-05 08:26:07.000000000","message":"I fixed merge conflicts and changed the variable name to match existing ones.","commit_id":"39bd9f03f2d6c39b0fedb6028c21e3560bfeb3fd"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"29ca2bb5339f19ae6c578d1312accb00799994ba","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"831301c1_acf71992","updated":"2023-09-08 15:09:27.000000000","message":"this needs a security warning so people really know what they are doing when exposing this service.\n\nafaik recent versions of prometheus are more sane than in the past, but please consult\nhttps://prometheus.io/docs/operating/security/ first.\n\nSo imho this should not be enabled by default and the boolean controlling this should have a banner with an apropriate security warning.\n\nanother solution would be to configure prometheus securely for this use case in kolla itself.","commit_id":"a6843abbf2f8c2ff5e21d7cdf2e58799ae20a972"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"fe183fb5866b7cd2c638cbe3a4e2936b9eb8e928","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"456b8f5a_a6a8625b","in_reply_to":"4b63e52c_bdb7ef2c","updated":"2023-09-08 16:14:05.000000000","message":"There where unresolved comments which wanted you to set the password. as these where not resolved I thought they where not addressed just yet.\n\nI see that the configuration seems to be done now more secure, thank you.","commit_id":"a6843abbf2f8c2ff5e21d7cdf2e58799ae20a972"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"23bf2043fa2f668d4efc67810e7ccce56ae86431","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"4b63e52c_bdb7ef2c","in_reply_to":"831301c1_acf71992","updated":"2023-09-08 15:26:07.000000000","message":"\u003e So imho this should not be enabled by default and the boolean controlling this should have a banner with an appropriate security warning.\n\nI was proposing for this to be off by default. I can add a security warning if you like but how is it any different from the other services that are behind basic auth and exposed externally?\n\n\u003e another solution would be to configure prometheus securely for this use case in kolla itself \n\nWhat do you mean?","commit_id":"a6843abbf2f8c2ff5e21d7cdf2e58799ae20a972"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"90c0c9e38763d850d84d813504decd5457dd2cad","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"bfd58b2f_7ae893d6","updated":"2023-09-08 16:23:29.000000000","message":"LGTM appart from some of the open comments (use kolla_url etc).","commit_id":"44cc64bddde1a61c816f5882b80f4ae1c7c1e817"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"19fd531d33cab118d9eed4ea465005d38844c6bc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"eed977fe_9f6a8aa9","in_reply_to":"bfd58b2f_7ae893d6","updated":"2023-09-08 16:56:57.000000000","message":"I see what you. I\u0027ve resolved the comments now and made a few tweaks for issues I hit during testing.","commit_id":"44cc64bddde1a61c816f5882b80f4ae1c7c1e817"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"f3611e0a02dfcec51af5409d812f87f21af3eb57","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"178bff01_3110776d","updated":"2023-09-11 08:15:55.000000000","message":"shouldn\u0027t we check in a precheck that the new variables, especially salt and password, are not empty?","commit_id":"6426ea77c202e68ab2f5592f2a3eed28580077bb"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"a83eaf29ba7c3f8c23ecb552b28a7efd8bdb5dc0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"c632c470_40069199","in_reply_to":"178bff01_3110776d","updated":"2023-09-13 15:55:50.000000000","message":"Good call","commit_id":"6426ea77c202e68ab2f5592f2a3eed28580077bb"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"bd93d569626b52855a4878b2f7c565471afad886","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"31928596_4cf90c5b","updated":"2023-09-26 10:32:58.000000000","message":"I agree with Maksims comment regarding the ansible version, should be easy to fix.","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"358ed5eee0eab04769d6d170c03bc6cf8fd5b380","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"e8a5043e_b6b9fbfe","updated":"2023-09-27 08:27:16.000000000","message":"Thanks for the review. Seeking a couple of clarifications and then I\u0027ll make the changes.","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"2f06abd917f4e115c331010ef267a99b0f735a54","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"4585e677_2b180b05","updated":"2023-09-25 08:33:30.000000000","message":"my -1 mostly about pin Ansible versions","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"2b3bfb288cedf902743e6e80c778c99978de50e0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"2433073a_fbe40c77","updated":"2023-10-05 12:06:38.000000000","message":"I guess the previous comments are addressed, but I didn\u0027t want to resolve them, because I didn\u0027t bring up these points originally.\n\nStill -1 because I don\u0027t understand why this changeset is changing the zuul configuration. at least that needs to be explained why it\u0027s needed or moved to a new changeset.","commit_id":"330ded1cabc2cdf075eee62344bfe68c78b8aab9"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"1f87ce7870bc7002994d0d61903fbad96783b6ea","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"6fb874e6_d43f0553","updated":"2023-09-28 14:01:12.000000000","message":"recheck - broken mirrors","commit_id":"330ded1cabc2cdf075eee62344bfe68c78b8aab9"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"d3df320d10fbab4661e95a39e9ea1a7204302589","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"550aef42_d8b50c1a","in_reply_to":"2433073a_fbe40c77","updated":"2023-10-06 15:37:15.000000000","message":"For tests/run-hashi-vault.yml we need to install ansible in the virtualenv because of the change to kolla_ansible/cmd/genpwd.py. To do this we use the variables from the kolla-ansible-variables job:\n\n-ansible_version_min\n-ansible_version_max\n-ansible_version_constraint\n\nfor tests/test-prometheus-opensearch.sh, we need to supply credentials when querying the prometheus endpoint.\n\nDoes that make sense?","commit_id":"330ded1cabc2cdf075eee62344bfe68c78b8aab9"}],"ansible/group_vars/all.yml":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"cde4bb7b357eaa6d2649ba79e8c1d034fd57fb74","unresolved":true,"context_lines":[{"line_number":1150,"context_line":"prometheus_libvirt_exporter_interval: \"60s\""},{"line_number":1151,"context_line":"prometheus_msteams_webhook_url:"},{"line_number":1152,"context_line":""},{"line_number":1153,"context_line":"prometheus_public_endpoint: \"{{ public_protocol }}://{{ kolla_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ prometheus_port }}\""},{"line_number":1154,"context_line":"prometheus_internal_endpoint: \"{{ internal_protocol }}://{{ kolla_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ prometheus_port }}\""},{"line_number":1155,"context_line":""},{"line_number":1156,"context_line":"############"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"4b5d9b2f_a5a2f038","line":1153,"range":{"start_line":1153,"start_character":28,"end_line":1153,"end_character":133},"updated":"2023-09-08 15:42:02.000000000","message":"use kolla_url?\nshould we have prometheus_external_fqdn?","commit_id":"44cc64bddde1a61c816f5882b80f4ae1c7c1e817"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"0d671eeef67f1e5a9b888354bf2ab6947c3d11a4","unresolved":false,"context_lines":[{"line_number":1150,"context_line":"prometheus_libvirt_exporter_interval: \"60s\""},{"line_number":1151,"context_line":"prometheus_msteams_webhook_url:"},{"line_number":1152,"context_line":""},{"line_number":1153,"context_line":"prometheus_public_endpoint: \"{{ public_protocol }}://{{ kolla_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ prometheus_port }}\""},{"line_number":1154,"context_line":"prometheus_internal_endpoint: \"{{ internal_protocol }}://{{ kolla_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ prometheus_port }}\""},{"line_number":1155,"context_line":""},{"line_number":1156,"context_line":"############"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"3dd15c69_ba91b7dc","line":1153,"range":{"start_line":1153,"start_character":28,"end_line":1153,"end_character":133},"in_reply_to":"4b5d9b2f_a5a2f038","updated":"2023-09-08 16:55:51.000000000","message":"Done","commit_id":"44cc64bddde1a61c816f5882b80f4ae1c7c1e817"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"cde4bb7b357eaa6d2649ba79e8c1d034fd57fb74","unresolved":true,"context_lines":[{"line_number":1151,"context_line":"prometheus_msteams_webhook_url:"},{"line_number":1152,"context_line":""},{"line_number":1153,"context_line":"prometheus_public_endpoint: \"{{ public_protocol }}://{{ kolla_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ prometheus_port }}\""},{"line_number":1154,"context_line":"prometheus_internal_endpoint: \"{{ internal_protocol }}://{{ kolla_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ prometheus_port }}\""},{"line_number":1155,"context_line":""},{"line_number":1156,"context_line":"############"},{"line_number":1157,"context_line":"# Vitrage"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"7182b535_411ce595","line":1154,"range":{"start_line":1154,"start_character":30,"end_line":1154,"end_character":137},"updated":"2023-09-08 15:42:02.000000000","message":"ditto","commit_id":"44cc64bddde1a61c816f5882b80f4ae1c7c1e817"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"0d671eeef67f1e5a9b888354bf2ab6947c3d11a4","unresolved":false,"context_lines":[{"line_number":1151,"context_line":"prometheus_msteams_webhook_url:"},{"line_number":1152,"context_line":""},{"line_number":1153,"context_line":"prometheus_public_endpoint: \"{{ public_protocol }}://{{ kolla_external_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ prometheus_port }}\""},{"line_number":1154,"context_line":"prometheus_internal_endpoint: \"{{ internal_protocol }}://{{ kolla_internal_fqdn | put_address_in_context(\u0027url\u0027) }}:{{ prometheus_port }}\""},{"line_number":1155,"context_line":""},{"line_number":1156,"context_line":"############"},{"line_number":1157,"context_line":"# Vitrage"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"637cd97f_0e916993","line":1154,"range":{"start_line":1154,"start_character":30,"end_line":1154,"end_character":137},"in_reply_to":"7182b535_411ce595","updated":"2023-09-08 16:55:51.000000000","message":"Done","commit_id":"44cc64bddde1a61c816f5882b80f4ae1c7c1e817"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"4b95482457bb437fce680496f807d5f3bc511be5","unresolved":true,"context_lines":[{"line_number":1265,"context_line":"prometheus_libvirt_exporter_interval: \"60s\""},{"line_number":1266,"context_line":"prometheus_msteams_webhook_url:"},{"line_number":1267,"context_line":""},{"line_number":1268,"context_line":"prometheus_public_endpoint: \"{{ prometheus_external_fqdn | kolla_url(internal_protocol, prometheus_port) }}\""},{"line_number":1269,"context_line":"prometheus_internal_endpoint: \"{{ prometheus_internal_fqdn | kolla_url(internal_protocol, prometheus_port) }}\""},{"line_number":1270,"context_line":""},{"line_number":1271,"context_line":"############"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"54a09bcd_bb392b12","line":1268,"range":{"start_line":1268,"start_character":69,"end_line":1268,"end_character":86},"updated":"2023-09-19 16:04:39.000000000","message":"Shouldn\u0027t this be public_protocol?","commit_id":"ff355797fbce4f247e663f14469d86759fac8f4d"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"21bfb87c06371efaef80fcd1154aaaab6ead1860","unresolved":false,"context_lines":[{"line_number":1265,"context_line":"prometheus_libvirt_exporter_interval: \"60s\""},{"line_number":1266,"context_line":"prometheus_msteams_webhook_url:"},{"line_number":1267,"context_line":""},{"line_number":1268,"context_line":"prometheus_public_endpoint: \"{{ prometheus_external_fqdn | kolla_url(internal_protocol, prometheus_port) }}\""},{"line_number":1269,"context_line":"prometheus_internal_endpoint: \"{{ prometheus_internal_fqdn | kolla_url(internal_protocol, prometheus_port) }}\""},{"line_number":1270,"context_line":""},{"line_number":1271,"context_line":"############"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"738c48b5_43a708e2","line":1268,"range":{"start_line":1268,"start_character":69,"end_line":1268,"end_character":86},"in_reply_to":"54a09bcd_bb392b12","updated":"2023-09-21 08:20:55.000000000","message":"Done","commit_id":"ff355797fbce4f247e663f14469d86759fac8f4d"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"50075a3757d1eefeb45e1abb38cb5821da970def","unresolved":true,"context_lines":[{"line_number":1266,"context_line":"prometheus_libvirt_exporter_interval: \"60s\""},{"line_number":1267,"context_line":"prometheus_msteams_webhook_url:"},{"line_number":1268,"context_line":""},{"line_number":1269,"context_line":"prometheus_public_endpoint: \"{{ prometheus_external_fqdn | kolla_url(public_protocol, prometheus_port) }}\""},{"line_number":1270,"context_line":"prometheus_internal_endpoint: \"{{ prometheus_internal_fqdn | kolla_url(internal_protocol, prometheus_port) }}\""},{"line_number":1271,"context_line":""},{"line_number":1272,"context_line":"############"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"b9953b5c_f425eaf0","line":1269,"range":{"start_line":1269,"start_character":86,"end_line":1269,"end_character":101},"updated":"2023-09-21 10:07:33.000000000","message":"prometheus_public_port","commit_id":"ae0b99b2ccdf48215c05638c87f261d770d8cb04"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"dac00c6a8bef2e4c7eca7630b8432e0a84c628c6","unresolved":false,"context_lines":[{"line_number":1266,"context_line":"prometheus_libvirt_exporter_interval: \"60s\""},{"line_number":1267,"context_line":"prometheus_msteams_webhook_url:"},{"line_number":1268,"context_line":""},{"line_number":1269,"context_line":"prometheus_public_endpoint: \"{{ prometheus_external_fqdn | kolla_url(public_protocol, prometheus_port) }}\""},{"line_number":1270,"context_line":"prometheus_internal_endpoint: \"{{ prometheus_internal_fqdn | kolla_url(internal_protocol, prometheus_port) }}\""},{"line_number":1271,"context_line":""},{"line_number":1272,"context_line":"############"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"3e3b2fa6_88b781af","line":1269,"range":{"start_line":1269,"start_character":86,"end_line":1269,"end_character":101},"in_reply_to":"b9953b5c_f425eaf0","updated":"2023-09-21 15:05:21.000000000","message":"Done","commit_id":"ae0b99b2ccdf48215c05638c87f261d770d8cb04"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"358ed5eee0eab04769d6d170c03bc6cf8fd5b380","unresolved":false,"context_lines":[{"line_number":1266,"context_line":"prometheus_libvirt_exporter_interval: \"60s\""},{"line_number":1267,"context_line":"prometheus_msteams_webhook_url:"},{"line_number":1268,"context_line":""},{"line_number":1269,"context_line":"prometheus_public_endpoint: \"{{ prometheus_external_fqdn | kolla_url(public_protocol, prometheus_port) }}\""},{"line_number":1270,"context_line":"prometheus_internal_endpoint: \"{{ prometheus_internal_fqdn | kolla_url(internal_protocol, prometheus_port) }}\""},{"line_number":1271,"context_line":""},{"line_number":1272,"context_line":"############"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"77689eeb_6ea948dc","line":1269,"range":{"start_line":1269,"start_character":86,"end_line":1269,"end_character":101},"in_reply_to":"b9953b5c_f425eaf0","updated":"2023-09-27 08:27:16.000000000","message":"Done, thanks","commit_id":"ae0b99b2ccdf48215c05638c87f261d770d8cb04"}],"ansible/roles/grafana/templates/prometheus.yaml.j2":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"5f24fb7a0247c2ea09d45a1fdeb51caca2b5cd29","unresolved":true,"context_lines":[{"line_number":6,"context_line":"  access: proxy"},{"line_number":7,"context_line":"  basicAuth: true"},{"line_number":8,"context_line":"  basicAuthPassword: \"{{ prometheus_grafana_password }}\""},{"line_number":9,"context_line":"  basicAuthUser: grafana"},{"line_number":10,"context_line":"  orgId: 1"},{"line_number":11,"context_line":"  url: {{ grafana_prometheus_url }}"},{"line_number":12,"context_line":"  version: 1"}],"source_content_type":"text/x-jinja2","patch_set":22,"id":"1f113667_bf37b3e8","line":9,"range":{"start_line":9,"start_character":17,"end_line":9,"end_character":24},"updated":"2023-09-25 08:01:42.000000000","message":"should we create the prometheus_grafana_user too?","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"358ed5eee0eab04769d6d170c03bc6cf8fd5b380","unresolved":true,"context_lines":[{"line_number":6,"context_line":"  access: proxy"},{"line_number":7,"context_line":"  basicAuth: true"},{"line_number":8,"context_line":"  basicAuthPassword: \"{{ prometheus_grafana_password }}\""},{"line_number":9,"context_line":"  basicAuthUser: grafana"},{"line_number":10,"context_line":"  orgId: 1"},{"line_number":11,"context_line":"  url: {{ grafana_prometheus_url }}"},{"line_number":12,"context_line":"  version: 1"}],"source_content_type":"text/x-jinja2","patch_set":22,"id":"d0138635_7b807c65","line":9,"range":{"start_line":9,"start_character":17,"end_line":9,"end_character":24},"in_reply_to":"1f113667_bf37b3e8","updated":"2023-09-27 08:27:16.000000000","message":"Sure, I can add that if you think it would be useful.","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"9a80e6507dff9ac62d6f95e99ef164644840b8fa","unresolved":false,"context_lines":[{"line_number":6,"context_line":"  access: proxy"},{"line_number":7,"context_line":"  basicAuth: true"},{"line_number":8,"context_line":"  basicAuthPassword: \"{{ prometheus_grafana_password }}\""},{"line_number":9,"context_line":"  basicAuthUser: grafana"},{"line_number":10,"context_line":"  orgId: 1"},{"line_number":11,"context_line":"  url: {{ grafana_prometheus_url }}"},{"line_number":12,"context_line":"  version: 1"}],"source_content_type":"text/x-jinja2","patch_set":22,"id":"ef722c66_6ada9d62","line":9,"range":{"start_line":9,"start_character":17,"end_line":9,"end_character":24},"in_reply_to":"d0138635_7b807c65","updated":"2023-09-29 09:18:16.000000000","message":"Done","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"}],"ansible/roles/prometheus/defaults/main.yml":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"280b0f41e8f4afc666d8b30479781a07e131765d","unresolved":true,"context_lines":[{"line_number":14,"context_line":"        external: false"},{"line_number":15,"context_line":"        port: \"{{ prometheus_port }}\""},{"line_number":16,"context_line":"      prometheus_server_external:"},{"line_number":17,"context_line":"      enabled: \"{{  enable_prometheus_server | bool }}\""},{"line_number":18,"context_line":"      mode: \"http\""},{"line_number":19,"context_line":"      external: true"},{"line_number":20,"context_line":"      port: \"{{ prometheus_port }}\""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"1e2bf457_57313adf","line":17,"range":{"start_line":17,"start_character":20,"end_line":17,"end_character":44},"updated":"2022-02-10 11:21:26.000000000","message":"looks like something users would want to explicitly enable, isn\u0027t that some security issue to expose metrics unprotected over the internet?","commit_id":"92ec70cc9c76cbe64c4eaee05b115cebde1ad7c5"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"29ca2bb5339f19ae6c578d1312accb00799994ba","unresolved":true,"context_lines":[{"line_number":14,"context_line":"        external: false"},{"line_number":15,"context_line":"        port: \"{{ prometheus_port }}\""},{"line_number":16,"context_line":"      prometheus_server_external:"},{"line_number":17,"context_line":"      enabled: \"{{  enable_prometheus_server | bool }}\""},{"line_number":18,"context_line":"      mode: \"http\""},{"line_number":19,"context_line":"      external: true"},{"line_number":20,"context_line":"      port: \"{{ prometheus_port }}\""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"542e4e18_3f5ee9e4","line":17,"range":{"start_line":17,"start_character":20,"end_line":17,"end_character":44},"in_reply_to":"1e2bf457_57313adf","updated":"2023-09-08 15:09:27.000000000","message":"yes!","commit_id":"92ec70cc9c76cbe64c4eaee05b115cebde1ad7c5"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"0d671eeef67f1e5a9b888354bf2ab6947c3d11a4","unresolved":false,"context_lines":[{"line_number":14,"context_line":"        external: false"},{"line_number":15,"context_line":"        port: \"{{ prometheus_port }}\""},{"line_number":16,"context_line":"      prometheus_server_external:"},{"line_number":17,"context_line":"      enabled: \"{{  enable_prometheus_server | bool }}\""},{"line_number":18,"context_line":"      mode: \"http\""},{"line_number":19,"context_line":"      external: true"},{"line_number":20,"context_line":"      port: \"{{ prometheus_port }}\""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"1a83392e_5feeb501","line":17,"range":{"start_line":17,"start_character":20,"end_line":17,"end_character":44},"in_reply_to":"542e4e18_3f5ee9e4","updated":"2023-09-08 16:55:51.000000000","message":"Done","commit_id":"92ec70cc9c76cbe64c4eaee05b115cebde1ad7c5"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"278a1f57b6348b18f076e49a5196ad4a2da0c226","unresolved":true,"context_lines":[{"line_number":18,"context_line":"        mode: \"http\""},{"line_number":19,"context_line":"        external: true"},{"line_number":20,"context_line":"        port: \"{{ prometheus_port }}\""},{"line_number":21,"context_line":"        auth_user: \"{{ prometheus_user }}\""},{"line_number":22,"context_line":"        auth_pass: \"{{ prometheus_password }}\""},{"line_number":23,"context_line":"  prometheus-node-exporter:"},{"line_number":24,"context_line":"    container_name: prometheus_node_exporter"},{"line_number":25,"context_line":"    group: prometheus-node-exporter"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"24a9fba8_4dfc94d3","line":22,"range":{"start_line":21,"start_character":0,"end_line":22,"end_character":46},"updated":"2022-02-21 10:33:28.000000000","message":"Should we add auth to the internal API also?","commit_id":"b357cd0070b3ec4326c6dce5d362b7f89944ec4f"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"64cf7316c6d320c2052ba74965ac965358207cb8","unresolved":true,"context_lines":[{"line_number":18,"context_line":"        mode: \"http\""},{"line_number":19,"context_line":"        external: true"},{"line_number":20,"context_line":"        port: \"{{ prometheus_port }}\""},{"line_number":21,"context_line":"        auth_user: \"{{ prometheus_user }}\""},{"line_number":22,"context_line":"        auth_pass: \"{{ prometheus_password }}\""},{"line_number":23,"context_line":"  prometheus-node-exporter:"},{"line_number":24,"context_line":"    container_name: prometheus_node_exporter"},{"line_number":25,"context_line":"    group: prometheus-node-exporter"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"dcdfb989_be76f4ea","line":22,"range":{"start_line":21,"start_character":0,"end_line":22,"end_character":46},"in_reply_to":"24a9fba8_4dfc94d3","updated":"2022-02-21 16:23:12.000000000","message":"If we do, we have to make sure that clients are updated: Grafana, CloudKitty.\n\nI would make it a separate change, so we can easily cherry-pick this one.","commit_id":"b357cd0070b3ec4326c6dce5d362b7f89944ec4f"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"0d671eeef67f1e5a9b888354bf2ab6947c3d11a4","unresolved":false,"context_lines":[{"line_number":18,"context_line":"        mode: \"http\""},{"line_number":19,"context_line":"        external: true"},{"line_number":20,"context_line":"        port: \"{{ prometheus_port }}\""},{"line_number":21,"context_line":"        auth_user: \"{{ prometheus_user }}\""},{"line_number":22,"context_line":"        auth_pass: \"{{ prometheus_password }}\""},{"line_number":23,"context_line":"  prometheus-node-exporter:"},{"line_number":24,"context_line":"    container_name: prometheus_node_exporter"},{"line_number":25,"context_line":"    group: prometheus-node-exporter"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"372863bc_de053cb7","line":22,"range":{"start_line":21,"start_character":0,"end_line":22,"end_character":46},"in_reply_to":"5f30a4d6_9716e0b8","updated":"2023-09-08 16:55:51.000000000","message":"Done","commit_id":"b357cd0070b3ec4326c6dce5d362b7f89944ec4f"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"16d4a4babe3afd58fd5ea134117b1739c102a2c8","unresolved":true,"context_lines":[{"line_number":18,"context_line":"        mode: \"http\""},{"line_number":19,"context_line":"        external: true"},{"line_number":20,"context_line":"        port: \"{{ prometheus_port }}\""},{"line_number":21,"context_line":"        auth_user: \"{{ prometheus_user }}\""},{"line_number":22,"context_line":"        auth_pass: \"{{ prometheus_password }}\""},{"line_number":23,"context_line":"  prometheus-node-exporter:"},{"line_number":24,"context_line":"    container_name: prometheus_node_exporter"},{"line_number":25,"context_line":"    group: prometheus-node-exporter"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"bae7ea44_ae14bf4b","line":22,"range":{"start_line":21,"start_character":0,"end_line":22,"end_character":46},"in_reply_to":"b6a88e5b_dbabaa6b","updated":"2022-03-14 09:42:38.000000000","message":"That would be better, since it would ensure the authentication cannot be bypassed by going to Prometheus directly.","commit_id":"b357cd0070b3ec4326c6dce5d362b7f89944ec4f"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"50ac9517685ad4fc4372f1a9af4ac0c1cb8d66be","unresolved":true,"context_lines":[{"line_number":18,"context_line":"        mode: \"http\""},{"line_number":19,"context_line":"        external: true"},{"line_number":20,"context_line":"        port: \"{{ prometheus_port }}\""},{"line_number":21,"context_line":"        auth_user: \"{{ prometheus_user }}\""},{"line_number":22,"context_line":"        auth_pass: \"{{ prometheus_password }}\""},{"line_number":23,"context_line":"  prometheus-node-exporter:"},{"line_number":24,"context_line":"    container_name: prometheus_node_exporter"},{"line_number":25,"context_line":"    group: prometheus-node-exporter"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"ec0f6c54_6eaf1c63","line":22,"range":{"start_line":21,"start_character":0,"end_line":22,"end_character":46},"in_reply_to":"bae7ea44_ae14bf4b","updated":"2022-03-14 09:44:50.000000000","message":"Looks like ansible can generate the hash for you:\n\npw | password_hash(\u0027bcrypt\u0027)","commit_id":"b357cd0070b3ec4326c6dce5d362b7f89944ec4f"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"170b47e5b18ed4a6a529ef9e40c3b1c16ffac09b","unresolved":true,"context_lines":[{"line_number":18,"context_line":"        mode: \"http\""},{"line_number":19,"context_line":"        external: true"},{"line_number":20,"context_line":"        port: \"{{ prometheus_port }}\""},{"line_number":21,"context_line":"        auth_user: \"{{ prometheus_user }}\""},{"line_number":22,"context_line":"        auth_pass: \"{{ prometheus_password }}\""},{"line_number":23,"context_line":"  prometheus-node-exporter:"},{"line_number":24,"context_line":"    container_name: prometheus_node_exporter"},{"line_number":25,"context_line":"    group: prometheus-node-exporter"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"b6a88e5b_dbabaa6b","line":22,"range":{"start_line":21,"start_character":0,"end_line":22,"end_character":46},"in_reply_to":"dcdfb989_be76f4ea","updated":"2022-03-08 15:50:46.000000000","message":"Wouldn\u0027t it be better to use Prometheus native mechanism, instead of relying for haproxy (and limiting ourselves to one user)? ref: https://prometheus.io/docs/guides/basic-auth/","commit_id":"b357cd0070b3ec4326c6dce5d362b7f89944ec4f"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"cd3b3debe9251ec81377590f5a03c1d87c740374","unresolved":true,"context_lines":[{"line_number":18,"context_line":"        mode: \"http\""},{"line_number":19,"context_line":"        external: true"},{"line_number":20,"context_line":"        port: \"{{ prometheus_port }}\""},{"line_number":21,"context_line":"        auth_user: \"{{ prometheus_user }}\""},{"line_number":22,"context_line":"        auth_pass: \"{{ prometheus_password }}\""},{"line_number":23,"context_line":"  prometheus-node-exporter:"},{"line_number":24,"context_line":"    container_name: prometheus_node_exporter"},{"line_number":25,"context_line":"    group: prometheus-node-exporter"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"5f30a4d6_9716e0b8","line":22,"range":{"start_line":21,"start_character":0,"end_line":22,"end_character":46},"in_reply_to":"ec0f6c54_6eaf1c63","updated":"2022-09-06 08:33:01.000000000","message":"Please work on supporting Prometheus-native auth instead.","commit_id":"b357cd0070b3ec4326c6dce5d362b7f89944ec4f"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"ac168e7c2aa3a8242cbbc8a97760c612cd4f29e2","unresolved":true,"context_lines":[{"line_number":18,"context_line":"        enabled: \"{{ enable_prometheus_server_external | bool }}\""},{"line_number":19,"context_line":"        mode: \"http\""},{"line_number":20,"context_line":"        external: true"},{"line_number":21,"context_line":"        port: \"{{ prometheus_port }}\""},{"line_number":22,"context_line":"        active_passive: \"{{ prometheus_active_passive | bool }}\""},{"line_number":23,"context_line":"  prometheus-node-exporter:"},{"line_number":24,"context_line":"    container_name: prometheus_node_exporter"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"d6d77b95_7625c2d6","line":21,"range":{"start_line":21,"start_character":18,"end_line":21,"end_character":33},"updated":"2023-09-21 08:24:29.000000000","message":"prometheus_public_port just like other services so it supports single external frontend?","commit_id":"cf4fe525896957ce37a2e5d6996203c5da69b3d9"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"101662d71119ecb731bcc348a46cfa0159af55a2","unresolved":false,"context_lines":[{"line_number":18,"context_line":"        enabled: \"{{ enable_prometheus_server_external | bool }}\""},{"line_number":19,"context_line":"        mode: \"http\""},{"line_number":20,"context_line":"        external: true"},{"line_number":21,"context_line":"        port: \"{{ prometheus_port }}\""},{"line_number":22,"context_line":"        active_passive: \"{{ prometheus_active_passive | bool }}\""},{"line_number":23,"context_line":"  prometheus-node-exporter:"},{"line_number":24,"context_line":"    container_name: prometheus_node_exporter"}],"source_content_type":"text/x-yaml","patch_set":19,"id":"d8d2c02a_1a914d19","line":21,"range":{"start_line":21,"start_character":18,"end_line":21,"end_character":33},"in_reply_to":"d6d77b95_7625c2d6","updated":"2023-09-21 09:49:14.000000000","message":"Done, thanks","commit_id":"cf4fe525896957ce37a2e5d6996203c5da69b3d9"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"5f24fb7a0247c2ea09d45a1fdeb51caca2b5cd29","unresolved":true,"context_lines":[{"line_number":152,"context_line":"  - username: admin"},{"line_number":153,"context_line":"    password: \"{{ prometheus_password }}\""},{"line_number":154,"context_line":"    enabled: true"},{"line_number":155,"context_line":"  - username: grafana"},{"line_number":156,"context_line":"    password: \"{{ prometheus_grafana_password }}\""},{"line_number":157,"context_line":"    enabled: \"{{ enable_grafana }}\""},{"line_number":158,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":22,"id":"dacb574d_4ad2dd4c","line":155,"range":{"start_line":155,"start_character":14,"end_line":155,"end_character":21},"updated":"2023-09-25 08:01:42.000000000","message":"ditto","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"9a80e6507dff9ac62d6f95e99ef164644840b8fa","unresolved":false,"context_lines":[{"line_number":152,"context_line":"  - username: admin"},{"line_number":153,"context_line":"    password: \"{{ prometheus_password }}\""},{"line_number":154,"context_line":"    enabled: true"},{"line_number":155,"context_line":"  - username: grafana"},{"line_number":156,"context_line":"    password: \"{{ prometheus_grafana_password }}\""},{"line_number":157,"context_line":"    enabled: \"{{ enable_grafana }}\""},{"line_number":158,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":22,"id":"e38c5dc9_c30384bc","line":155,"range":{"start_line":155,"start_character":14,"end_line":155,"end_character":21},"in_reply_to":"dacb574d_4ad2dd4c","updated":"2023-09-29 09:18:16.000000000","message":"Done","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"}],"ansible/roles/prometheus/tasks/config.yml":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"5f24fb7a0247c2ea09d45a1fdeb51caca2b5cd29","unresolved":true,"context_lines":[{"line_number":109,"context_line":"    - inventory_hostname in groups[service.group]"},{"line_number":110,"context_line":"    - service.enabled | bool"},{"line_number":111,"context_line":"  with_first_found:"},{"line_number":112,"context_line":"    - \"{{ node_custom_config }}/prometheus/{{ inventory_hostname }}/web.yml\""},{"line_number":113,"context_line":"    - \"{{ node_custom_config }}/prometheus/web.yml\""},{"line_number":114,"context_line":"    - \"{{ role_path }}/templates/prometheus-web.yml.j2\""},{"line_number":115,"context_line":"  notify:"},{"line_number":116,"context_line":"    - Restart prometheus-server container"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"04cd2a69_fb5a4c82","line":113,"range":{"start_line":112,"start_character":4,"end_line":113,"end_character":51},"updated":"2023-09-25 08:01:42.000000000","message":"may be reverse priority?","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"82ec35739c4d1b2561a0e4bbb5ca02f69eb1be4a","unresolved":true,"context_lines":[{"line_number":109,"context_line":"    - inventory_hostname in groups[service.group]"},{"line_number":110,"context_line":"    - service.enabled | bool"},{"line_number":111,"context_line":"  with_first_found:"},{"line_number":112,"context_line":"    - \"{{ node_custom_config }}/prometheus/{{ inventory_hostname }}/web.yml\""},{"line_number":113,"context_line":"    - \"{{ node_custom_config }}/prometheus/web.yml\""},{"line_number":114,"context_line":"    - \"{{ role_path }}/templates/prometheus-web.yml.j2\""},{"line_number":115,"context_line":"  notify:"},{"line_number":116,"context_line":"    - Restart prometheus-server container"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"eef1c144_02adcdb8","line":113,"range":{"start_line":112,"start_character":4,"end_line":113,"end_character":51},"in_reply_to":"04cd2a69_fb5a4c82","updated":"2023-09-25 08:23:56.000000000","message":"Can you explain why? It uses the first file found, so the host-specific config takes precedence over the global one. This is the same in other tasks.","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"12e83eb9efc1f56314716dc880974dd52a23f3a1","unresolved":false,"context_lines":[{"line_number":109,"context_line":"    - inventory_hostname in groups[service.group]"},{"line_number":110,"context_line":"    - service.enabled | bool"},{"line_number":111,"context_line":"  with_first_found:"},{"line_number":112,"context_line":"    - \"{{ node_custom_config }}/prometheus/{{ inventory_hostname }}/web.yml\""},{"line_number":113,"context_line":"    - \"{{ node_custom_config }}/prometheus/web.yml\""},{"line_number":114,"context_line":"    - \"{{ role_path }}/templates/prometheus-web.yml.j2\""},{"line_number":115,"context_line":"  notify:"},{"line_number":116,"context_line":"    - Restart prometheus-server container"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"a7d522cd_d72276c7","line":113,"range":{"start_line":112,"start_character":4,"end_line":113,"end_character":51},"in_reply_to":"3a71fa65_aaa1efbd","updated":"2023-09-25 09:57:02.000000000","message":"yep, confused, sorry)","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"bac8f96dfb34c59739b942366858ee7532d29e38","unresolved":true,"context_lines":[{"line_number":109,"context_line":"    - inventory_hostname in groups[service.group]"},{"line_number":110,"context_line":"    - service.enabled | bool"},{"line_number":111,"context_line":"  with_first_found:"},{"line_number":112,"context_line":"    - \"{{ node_custom_config }}/prometheus/{{ inventory_hostname }}/web.yml\""},{"line_number":113,"context_line":"    - \"{{ node_custom_config }}/prometheus/web.yml\""},{"line_number":114,"context_line":"    - \"{{ role_path }}/templates/prometheus-web.yml.j2\""},{"line_number":115,"context_line":"  notify:"},{"line_number":116,"context_line":"    - Restart prometheus-server container"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"3a71fa65_aaa1efbd","line":113,"range":{"start_line":112,"start_character":4,"end_line":113,"end_character":51},"in_reply_to":"6a63b36d_8aa72beb","updated":"2023-09-25 08:51:01.000000000","message":"The exact same order is used in cinder here: https://opendev.org/openstack/kolla-ansible/src/branch/master/ansible/roles/cinder/tasks/config.yml#L65-L68\n\nAre you confusing with tasks that use merge_config/merge_yaml? A relevant comment would be: should we use merge_yaml instead of with_first_found? Like here: https://opendev.org/openstack/kolla-ansible/src/branch/master/ansible/roles/opensearch/tasks/config.yml#L51-L55","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"2f06abd917f4e115c331010ef267a99b0f735a54","unresolved":true,"context_lines":[{"line_number":109,"context_line":"    - inventory_hostname in groups[service.group]"},{"line_number":110,"context_line":"    - service.enabled | bool"},{"line_number":111,"context_line":"  with_first_found:"},{"line_number":112,"context_line":"    - \"{{ node_custom_config }}/prometheus/{{ inventory_hostname }}/web.yml\""},{"line_number":113,"context_line":"    - \"{{ node_custom_config }}/prometheus/web.yml\""},{"line_number":114,"context_line":"    - \"{{ role_path }}/templates/prometheus-web.yml.j2\""},{"line_number":115,"context_line":"  notify:"},{"line_number":116,"context_line":"    - Restart prometheus-server container"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"6a63b36d_8aa72beb","line":113,"range":{"start_line":112,"start_character":4,"end_line":113,"end_character":51},"in_reply_to":"eef1c144_02adcdb8","updated":"2023-09-25 08:33:30.000000000","message":"this was only a question. anyway quick look on cinder, ceilometer, glance, heat, etc. show the order I asked for)","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"}],"ansible/roles/prometheus/templates/prometheus-server.json.j2":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"cde4bb7b357eaa6d2649ba79e8c1d034fd57fb74","unresolved":true,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"command\": \"/opt/prometheus/prometheus --web.config.file\u003d/etc/prometheus/web.yml --config.file /etc/prometheus/prometheus.yml --web.listen-address {{ api_interface_address | put_address_in_context(\u0027url\u0027) }}:{{ prometheus_port }} --web.external-url\u003d{{ prometheus_public_endpoint if enable_prometheus_server_external else prometheus_internal_endpoint }} --storage.tsdb.path /var/lib/prometheus{% if prometheus_cmdline_extras %} {{ prometheus_cmdline_extras }}{% endif %}\","},{"line_number":3,"context_line":"    \"config_files\": ["},{"line_number":4,"context_line":"        {"},{"line_number":5,"context_line":"            \"source\": \"{{ container_config_directory }}/prometheus.yml\","}],"source_content_type":"text/x-jinja2","patch_set":7,"id":"85ffb4ba_3089d911","line":2,"range":{"start_line":2,"start_character":16,"end_line":2,"end_character":472},"updated":"2023-09-08 15:42:02.000000000","message":"can we move that to a var in role defaults? that\u0027s getting extremely long","commit_id":"44cc64bddde1a61c816f5882b80f4ae1c7c1e817"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"0d671eeef67f1e5a9b888354bf2ab6947c3d11a4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"command\": \"/opt/prometheus/prometheus --web.config.file\u003d/etc/prometheus/web.yml --config.file /etc/prometheus/prometheus.yml --web.listen-address {{ api_interface_address | put_address_in_context(\u0027url\u0027) }}:{{ prometheus_port }} --web.external-url\u003d{{ prometheus_public_endpoint if enable_prometheus_server_external else prometheus_internal_endpoint }} --storage.tsdb.path /var/lib/prometheus{% if prometheus_cmdline_extras %} {{ prometheus_cmdline_extras }}{% endif %}\","},{"line_number":3,"context_line":"    \"config_files\": ["},{"line_number":4,"context_line":"        {"},{"line_number":5,"context_line":"            \"source\": \"{{ container_config_directory }}/prometheus.yml\","}],"source_content_type":"text/x-jinja2","patch_set":7,"id":"2b59319a_c4c99ad6","line":2,"range":{"start_line":2,"start_character":16,"end_line":2,"end_character":472},"in_reply_to":"85ffb4ba_3089d911","updated":"2023-09-08 16:55:51.000000000","message":"Done","commit_id":"44cc64bddde1a61c816f5882b80f4ae1c7c1e817"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"5f24fb7a0247c2ea09d45a1fdeb51caca2b5cd29","unresolved":true,"context_lines":[{"line_number":11,"context_line":"            \"source\": \"{{ container_config_directory }}/web.yml\","},{"line_number":12,"context_line":"            \"dest\": \"/etc/prometheus/web.yml\","},{"line_number":13,"context_line":"            \"owner\": \"prometheus\","},{"line_number":14,"context_line":"            \"perm\": \"0600\""},{"line_number":15,"context_line":"        },"},{"line_number":16,"context_line":"        {"},{"line_number":17,"context_line":"            \"source\": \"{{ container_config_directory }}/extras/*\","}],"source_content_type":"text/x-jinja2","patch_set":22,"id":"e26c572b_fdc0bf7f","line":14,"range":{"start_line":14,"start_character":21,"end_line":14,"end_character":25},"updated":"2023-09-25 08:01:42.000000000","message":"in the template there is 0660","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"147b14976dfb9158d680135015a039ec03775b8d","unresolved":true,"context_lines":[{"line_number":11,"context_line":"            \"source\": \"{{ container_config_directory }}/web.yml\","},{"line_number":12,"context_line":"            \"dest\": \"/etc/prometheus/web.yml\","},{"line_number":13,"context_line":"            \"owner\": \"prometheus\","},{"line_number":14,"context_line":"            \"perm\": \"0600\""},{"line_number":15,"context_line":"        },"},{"line_number":16,"context_line":"        {"},{"line_number":17,"context_line":"            \"source\": \"{{ container_config_directory }}/extras/*\","}],"source_content_type":"text/x-jinja2","patch_set":22,"id":"bbf28b5b_215be806","line":14,"range":{"start_line":14,"start_character":21,"end_line":14,"end_character":25},"in_reply_to":"29f692a1_ec4b4815","updated":"2023-10-06 14:27:41.000000000","message":"Trying it out now","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"3664ac6efea2e80a8c32e2cac07e5f3ea03d83d2","unresolved":false,"context_lines":[{"line_number":11,"context_line":"            \"source\": \"{{ container_config_directory }}/web.yml\","},{"line_number":12,"context_line":"            \"dest\": \"/etc/prometheus/web.yml\","},{"line_number":13,"context_line":"            \"owner\": \"prometheus\","},{"line_number":14,"context_line":"            \"perm\": \"0600\""},{"line_number":15,"context_line":"        },"},{"line_number":16,"context_line":"        {"},{"line_number":17,"context_line":"            \"source\": \"{{ container_config_directory }}/extras/*\","}],"source_content_type":"text/x-jinja2","patch_set":22,"id":"5681551f_c7417581","line":14,"range":{"start_line":14,"start_character":21,"end_line":14,"end_character":25},"in_reply_to":"bbf28b5b_215be806","updated":"2023-10-06 14:44:19.000000000","message":"Done, thanks Sven.","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"358ed5eee0eab04769d6d170c03bc6cf8fd5b380","unresolved":true,"context_lines":[{"line_number":11,"context_line":"            \"source\": \"{{ container_config_directory }}/web.yml\","},{"line_number":12,"context_line":"            \"dest\": \"/etc/prometheus/web.yml\","},{"line_number":13,"context_line":"            \"owner\": \"prometheus\","},{"line_number":14,"context_line":"            \"perm\": \"0600\""},{"line_number":15,"context_line":"        },"},{"line_number":16,"context_line":"        {"},{"line_number":17,"context_line":"            \"source\": \"{{ container_config_directory }}/extras/*\","}],"source_content_type":"text/x-jinja2","patch_set":22,"id":"faf8f58d_6097f560","line":14,"range":{"start_line":14,"start_character":21,"end_line":14,"end_character":25},"in_reply_to":"e26c572b_fdc0bf7f","updated":"2023-09-27 08:27:16.000000000","message":"Good spot. This is consistent with what we are currently doing with prometheus.yml where it is 0660 on the host and 0600 when copied into place in the container. Would it make sense to change that in a follow up commit, so that we can keep things consistent and not let the scope of this change creep? Do you think we should have the more restrictive 0600 everywhere?","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"2b3bfb288cedf902743e6e80c778c99978de50e0","unresolved":true,"context_lines":[{"line_number":11,"context_line":"            \"source\": \"{{ container_config_directory }}/web.yml\","},{"line_number":12,"context_line":"            \"dest\": \"/etc/prometheus/web.yml\","},{"line_number":13,"context_line":"            \"owner\": \"prometheus\","},{"line_number":14,"context_line":"            \"perm\": \"0600\""},{"line_number":15,"context_line":"        },"},{"line_number":16,"context_line":"        {"},{"line_number":17,"context_line":"            \"source\": \"{{ container_config_directory }}/extras/*\","}],"source_content_type":"text/x-jinja2","patch_set":22,"id":"29f692a1_ec4b4815","line":14,"range":{"start_line":14,"start_character":21,"end_line":14,"end_character":25},"in_reply_to":"faf8f58d_6097f560","updated":"2023-10-05 12:06:38.000000000","message":"there is only ever one correct answer to the question: \"which permissions are needed on a given file?\"\n\nthe answer to this question should be applied here. I don\u0027t really care what permissions some template has or if it is consistent or not, if the template has lax permissions it\u0027s a bug not worth copying only to achieve some \"purity\" goal like consistency.\n\na file should only have the minimal needed permissions on it which are needed for the corresponding service to be able to work.\n\nso if 0600 works, keep that. if more is needed change it.\n\nI agree that other places can and should be fixed later.","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"}],"kolla_ansible/cmd/genpwd.py":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"f3611e0a02dfcec51af5409d812f87f21af3eb57","unresolved":true,"context_lines":[{"line_number":100,"context_line":"            elif k in fernet_keys:"},{"line_number":101,"context_line":"                passwords[k] \u003d fernet.Fernet.generate_key().decode()"},{"line_number":102,"context_line":"            elif k in bcrypt_keys:"},{"line_number":103,"context_line":"                # NOTE(wszusmki) To be compatible the ansible password_hash"},{"line_number":104,"context_line":"                # filter we use the utility functon from the ansible library."},{"line_number":105,"context_line":"                passwords[k] \u003d random_salt(22)"},{"line_number":106,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":10,"id":"7fd29a26_cd2f225c","line":103,"range":{"start_line":103,"start_character":33,"end_line":103,"end_character":75},"updated":"2023-09-11 08:15:55.000000000","message":"nit: To be compatible with the ansible password_hash","commit_id":"6426ea77c202e68ab2f5592f2a3eed28580077bb"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"a83eaf29ba7c3f8c23ecb552b28a7efd8bdb5dc0","unresolved":false,"context_lines":[{"line_number":100,"context_line":"            elif k in fernet_keys:"},{"line_number":101,"context_line":"                passwords[k] \u003d fernet.Fernet.generate_key().decode()"},{"line_number":102,"context_line":"            elif k in bcrypt_keys:"},{"line_number":103,"context_line":"                # NOTE(wszusmki) To be compatible the ansible password_hash"},{"line_number":104,"context_line":"                # filter we use the utility functon from the ansible library."},{"line_number":105,"context_line":"                passwords[k] \u003d random_salt(22)"},{"line_number":106,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":10,"id":"9c54da17_c9a57d7d","line":103,"range":{"start_line":103,"start_character":33,"end_line":103,"end_character":75},"in_reply_to":"7fd29a26_cd2f225c","updated":"2023-09-13 15:55:50.000000000","message":"Done","commit_id":"6426ea77c202e68ab2f5592f2a3eed28580077bb"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"4b95482457bb437fce680496f807d5f3bc511be5","unresolved":true,"context_lines":[{"line_number":101,"context_line":"                passwords[k] \u003d fernet.Fernet.generate_key().decode()"},{"line_number":102,"context_line":"            elif k in bcrypt_keys:"},{"line_number":103,"context_line":"                # NOTE(wszusmki) To be compatible with the ansible"},{"line_number":104,"context_line":"                # password_hash filter, we use the utility functon from the"},{"line_number":105,"context_line":"                # ansible library."},{"line_number":106,"context_line":"                passwords[k] \u003d random_salt(22)"},{"line_number":107,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":18,"id":"f1d9e307_7633f321","line":104,"range":{"start_line":104,"start_character":59,"end_line":104,"end_character":66},"updated":"2023-09-19 16:04:39.000000000","message":"function","commit_id":"ff355797fbce4f247e663f14469d86759fac8f4d"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"21bfb87c06371efaef80fcd1154aaaab6ead1860","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                passwords[k] \u003d fernet.Fernet.generate_key().decode()"},{"line_number":102,"context_line":"            elif k in bcrypt_keys:"},{"line_number":103,"context_line":"                # NOTE(wszusmki) To be compatible with the ansible"},{"line_number":104,"context_line":"                # password_hash filter, we use the utility functon from the"},{"line_number":105,"context_line":"                # ansible library."},{"line_number":106,"context_line":"                passwords[k] \u003d random_salt(22)"},{"line_number":107,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":18,"id":"01ab6ce6_6c4392c2","line":104,"range":{"start_line":104,"start_character":59,"end_line":104,"end_character":66},"in_reply_to":"f1d9e307_7633f321","updated":"2023-09-21 08:20:55.000000000","message":"Done","commit_id":"ff355797fbce4f247e663f14469d86759fac8f4d"}],"releasenotes/notes/expose-prometheus-on-external-api-78d5fff60f6e75a5.yaml":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"9761b4e550ccb1b5a08ac1f915ba5001a3e2deb9","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Exposes prometheus on the external interface protected by basic auth. The"},{"line_number":5,"context_line":"    password is under the key, ``prometheus_password`` in the kolla passwords"},{"line_number":6,"context_line":"    file. The username can be configued with ``prometheus_user`` and defaults"},{"line_number":7,"context_line":"    to ``admin``."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"ce7c7842_288e97a2","line":6,"range":{"start_line":6,"start_character":30,"end_line":6,"end_character":39},"updated":"2022-02-10 11:18:15.000000000","message":"configured","commit_id":"92ec70cc9c76cbe64c4eaee05b115cebde1ad7c5"},{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"e3ab66b8e8c3e690fcda9d5d40aa4b0beb7f4c75","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Exposes prometheus on the external interface protected by basic auth. The"},{"line_number":5,"context_line":"    password is under the key, ``prometheus_password`` in the kolla passwords"},{"line_number":6,"context_line":"    file. The username can be configued with ``prometheus_user`` and defaults"},{"line_number":7,"context_line":"    to ``admin``."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"db2740a1_1008ec00","line":6,"range":{"start_line":6,"start_character":30,"end_line":6,"end_character":39},"in_reply_to":"ce7c7842_288e97a2","updated":"2022-10-06 11:38:59.000000000","message":"Done","commit_id":"92ec70cc9c76cbe64c4eaee05b115cebde1ad7c5"}],"tests/run-hashi-vault.yml":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"5f24fb7a0247c2ea09d45a1fdeb51caca2b5cd29","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    - name: install kolla-ansible and dependencies"},{"line_number":38,"context_line":"      vars:"},{"line_number":39,"context_line":"        ansible_core_version_min: \"\u003d\u003d2.13.*\""},{"line_number":40,"context_line":"        ansible_core_version_max: \"\u003d\u003d2.14.*\""},{"line_number":41,"context_line":"        # Test latest ansible version on Ubuntu, minimum supported on others."},{"line_number":42,"context_line":"        ansible_core_version_constraint: \u003e-"},{"line_number":43,"context_line":"          {{ ansible_core_version_min if base_distro !\u003d \u0027ubuntu\u0027 else ansible_core_version_max }}"},{"line_number":44,"context_line":"        ansible_version_min: \"\u003d\u003d6.*\""},{"line_number":45,"context_line":"        ansible_version_max: \"\u003d\u003d7.*\""},{"line_number":46,"context_line":"        # Test latest ansible version on Ubuntu, minimum supported on others."},{"line_number":47,"context_line":"        ansible_version_constraint: \u003e-"},{"line_number":48,"context_line":"          {{ ansible_version_min if base_distro !\u003d \u0027ubuntu\u0027 else ansible_version_max }}"},{"line_number":49,"context_line":"      pip:"},{"line_number":50,"context_line":"        executable: \"pip3\""},{"line_number":51,"context_line":"        extra_args: \"-c {{ upper_constraints_file }} --user\""}],"source_content_type":"text/x-yaml","patch_set":22,"id":"011f4a54_58997e2a","line":48,"range":{"start_line":39,"start_character":8,"end_line":48,"end_character":87},"updated":"2023-09-25 08:01:42.000000000","message":"already have this in the I57425680a4cdbf0daeb9b2cc35920f1b933aa4a8","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"358ed5eee0eab04769d6d170c03bc6cf8fd5b380","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    - name: install kolla-ansible and dependencies"},{"line_number":38,"context_line":"      vars:"},{"line_number":39,"context_line":"        ansible_core_version_min: \"\u003d\u003d2.13.*\""},{"line_number":40,"context_line":"        ansible_core_version_max: \"\u003d\u003d2.14.*\""},{"line_number":41,"context_line":"        # Test latest ansible version on Ubuntu, minimum supported on others."},{"line_number":42,"context_line":"        ansible_core_version_constraint: \u003e-"},{"line_number":43,"context_line":"          {{ ansible_core_version_min if base_distro !\u003d \u0027ubuntu\u0027 else ansible_core_version_max }}"},{"line_number":44,"context_line":"        ansible_version_min: \"\u003d\u003d6.*\""},{"line_number":45,"context_line":"        ansible_version_max: \"\u003d\u003d7.*\""},{"line_number":46,"context_line":"        # Test latest ansible version on Ubuntu, minimum supported on others."},{"line_number":47,"context_line":"        ansible_version_constraint: \u003e-"},{"line_number":48,"context_line":"          {{ ansible_version_min if base_distro !\u003d \u0027ubuntu\u0027 else ansible_version_max }}"},{"line_number":49,"context_line":"      pip:"},{"line_number":50,"context_line":"        executable: \"pip3\""},{"line_number":51,"context_line":"        extra_args: \"-c {{ upper_constraints_file }} --user\""}],"source_content_type":"text/x-yaml","patch_set":22,"id":"adb6f737_f70407b7","line":48,"range":{"start_line":39,"start_character":8,"end_line":48,"end_character":87},"in_reply_to":"011f4a54_58997e2a","updated":"2023-09-27 08:27:16.000000000","message":"Those variables don\u0027t affect run-hashi-vault.yml. Are you suggesting that we move these variables to a common file so that they can be shared?","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"2f212c90f5d2fd0ded5e0b9609a23a6c96e58c14","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    - name: install kolla-ansible and dependencies"},{"line_number":38,"context_line":"      vars:"},{"line_number":39,"context_line":"        ansible_core_version_min: \"\u003d\u003d2.13.*\""},{"line_number":40,"context_line":"        ansible_core_version_max: \"\u003d\u003d2.14.*\""},{"line_number":41,"context_line":"        # Test latest ansible version on Ubuntu, minimum supported on others."},{"line_number":42,"context_line":"        ansible_core_version_constraint: \u003e-"},{"line_number":43,"context_line":"          {{ ansible_core_version_min if base_distro !\u003d \u0027ubuntu\u0027 else ansible_core_version_max }}"},{"line_number":44,"context_line":"        ansible_version_min: \"\u003d\u003d6.*\""},{"line_number":45,"context_line":"        ansible_version_max: \"\u003d\u003d7.*\""},{"line_number":46,"context_line":"        # Test latest ansible version on Ubuntu, minimum supported on others."},{"line_number":47,"context_line":"        ansible_version_constraint: \u003e-"},{"line_number":48,"context_line":"          {{ ansible_version_min if base_distro !\u003d \u0027ubuntu\u0027 else ansible_version_max }}"},{"line_number":49,"context_line":"      pip:"},{"line_number":50,"context_line":"        executable: \"pip3\""},{"line_number":51,"context_line":"        extra_args: \"-c {{ upper_constraints_file }} --user\""}],"source_content_type":"text/x-yaml","patch_set":22,"id":"bb39ceac_3cc38ba3","line":48,"range":{"start_line":39,"start_character":8,"end_line":48,"end_character":87},"in_reply_to":"6da02154_e925d15c","updated":"2023-10-06 13:36:37.000000000","message":"Done","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"a8b096b880a523988276794bf007e50930d06815","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    - name: install kolla-ansible and dependencies"},{"line_number":38,"context_line":"      vars:"},{"line_number":39,"context_line":"        ansible_core_version_min: \"\u003d\u003d2.13.*\""},{"line_number":40,"context_line":"        ansible_core_version_max: \"\u003d\u003d2.14.*\""},{"line_number":41,"context_line":"        # Test latest ansible version on Ubuntu, minimum supported on others."},{"line_number":42,"context_line":"        ansible_core_version_constraint: \u003e-"},{"line_number":43,"context_line":"          {{ ansible_core_version_min if base_distro !\u003d \u0027ubuntu\u0027 else ansible_core_version_max }}"},{"line_number":44,"context_line":"        ansible_version_min: \"\u003d\u003d6.*\""},{"line_number":45,"context_line":"        ansible_version_max: \"\u003d\u003d7.*\""},{"line_number":46,"context_line":"        # Test latest ansible version on Ubuntu, minimum supported on others."},{"line_number":47,"context_line":"        ansible_version_constraint: \u003e-"},{"line_number":48,"context_line":"          {{ ansible_version_min if base_distro !\u003d \u0027ubuntu\u0027 else ansible_version_max }}"},{"line_number":49,"context_line":"      pip:"},{"line_number":50,"context_line":"        executable: \"pip3\""},{"line_number":51,"context_line":"        extra_args: \"-c {{ upper_constraints_file }} --user\""}],"source_content_type":"text/x-yaml","patch_set":22,"id":"ca073434_330fc3e3","line":48,"range":{"start_line":39,"start_character":8,"end_line":48,"end_character":87},"in_reply_to":"adb6f737_f70407b7","updated":"2023-09-27 08:38:25.000000000","message":"I think we could potentially define these here:\n\nhttps://github.com/openstack/kolla-ansible/blob/f64c86de1ddec947b7c5cf9d262346d7f0d8fce4/zuul.d/base.yaml#L30-L50\n\nThe one difference between run.yml and run-has-vault.yml is that run.yml uses a virtualenv, otherwise we could extract the task. I didn\u0027t really want to get into a massive refactoring in this change.","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"98b2f525e938ab3bbdd9f203b0b221f07e9efac1","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    - name: install kolla-ansible and dependencies"},{"line_number":38,"context_line":"      vars:"},{"line_number":39,"context_line":"        ansible_core_version_min: \"\u003d\u003d2.13.*\""},{"line_number":40,"context_line":"        ansible_core_version_max: \"\u003d\u003d2.14.*\""},{"line_number":41,"context_line":"        # Test latest ansible version on Ubuntu, minimum supported on others."},{"line_number":42,"context_line":"        ansible_core_version_constraint: \u003e-"},{"line_number":43,"context_line":"          {{ ansible_core_version_min if base_distro !\u003d \u0027ubuntu\u0027 else ansible_core_version_max }}"},{"line_number":44,"context_line":"        ansible_version_min: \"\u003d\u003d6.*\""},{"line_number":45,"context_line":"        ansible_version_max: \"\u003d\u003d7.*\""},{"line_number":46,"context_line":"        # Test latest ansible version on Ubuntu, minimum supported on others."},{"line_number":47,"context_line":"        ansible_version_constraint: \u003e-"},{"line_number":48,"context_line":"          {{ ansible_version_min if base_distro !\u003d \u0027ubuntu\u0027 else ansible_version_max }}"},{"line_number":49,"context_line":"      pip:"},{"line_number":50,"context_line":"        executable: \"pip3\""},{"line_number":51,"context_line":"        extra_args: \"-c {{ upper_constraints_file }} --user\""}],"source_content_type":"text/x-yaml","patch_set":22,"id":"6da02154_e925d15c","line":48,"range":{"start_line":39,"start_character":8,"end_line":48,"end_character":87},"in_reply_to":"ca073434_330fc3e3","updated":"2023-09-27 09:31:30.000000000","message":"Oh, I see now. The versions changed. I\u0027ve tried to move them to a common place so we don\u0027t have the madness of keeping them in sync.","commit_id":"180fa08357458932621c51707b759d19f5a6ae44"}],"zuul.d/base.yaml":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"2b3bfb288cedf902743e6e80c778c99978de50e0","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- job:"},{"line_number":3,"context_line":"    name: kolla-ansible-variables"},{"line_number":4,"context_line":"    vars:"},{"line_number":5,"context_line":"      previous_release: \"2023.1\""},{"line_number":6,"context_line":"      container_engine: \"docker\""},{"line_number":7,"context_line":"      scenario: core"},{"line_number":8,"context_line":"      virt_type: qemu"},{"line_number":9,"context_line":"      is_upgrade: no"},{"line_number":10,"context_line":"      api_network_prefix: \"192.0.2.\""},{"line_number":11,"context_line":"      api_network_prefix_length: \"24\""},{"line_number":12,"context_line":"      api_interface_name: vxlan0"},{"line_number":13,"context_line":"      kolla_internal_vip_address: \"192.0.2.10\""},{"line_number":14,"context_line":"      address_family: \u0027ipv4\u0027"},{"line_number":15,"context_line":"      neutron_external_network_prefix: \"198.51.100.\""},{"line_number":16,"context_line":"      neutron_external_network_prefix_length: \"24\""},{"line_number":17,"context_line":"      neutron_external_bridge_name: br0"},{"line_number":18,"context_line":"      neutron_external_interface_name: \"veth-{{ neutron_external_bridge_name }}-ext\""},{"line_number":19,"context_line":"      neutron_external_vxlan_interface_name: vxlan1"},{"line_number":20,"context_line":"      neutron_tenant_network_prefix: \"203.0.113.\""},{"line_number":21,"context_line":"      neutron_tenant_network_prefix_length: \"24\""},{"line_number":22,"context_line":"      neutron_tenant_network_dns_server: \"8.8.8.8\""},{"line_number":23,"context_line":"      tls_enabled: false"},{"line_number":24,"context_line":"      configure_swap_size: 0"},{"line_number":25,"context_line":"      ansible_core_version_min: \"\u003d\u003d2.14.*\""},{"line_number":26,"context_line":"      ansible_core_version_max: \"\u003d\u003d2.15.*\""},{"line_number":27,"context_line":"      # Test latest ansible version on Ubuntu, minimum supported on others."},{"line_number":28,"context_line":"      ansible_core_version_constraint: \u003e-"},{"line_number":29,"context_line":"        {{ ansible_core_version_min if is_upgrade or base_distro !\u003d \u0027ubuntu\u0027 else ansible_core_version_max }}"},{"line_number":30,"context_line":"      ansible_version_min: \"\u003d\u003d7.*\""},{"line_number":31,"context_line":"      ansible_version_max: \"\u003d\u003d8.*\""},{"line_number":32,"context_line":"      # Test latest ansible version on Ubuntu, minimum supported on others."},{"line_number":33,"context_line":"      ansible_version_constraint: \u003e-"},{"line_number":34,"context_line":"        {{ ansible_version_min if is_upgrade or base_distro !\u003d \u0027ubuntu\u0027 else ansible_version_max }}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"- job:"},{"line_number":37,"context_line":"    parent: kolla-ansible-variables"},{"line_number":38,"context_line":"    name: kolla-ansible-base"},{"line_number":39,"context_line":"    pre-run: tests/pre.yml"},{"line_number":40,"context_line":"    run: tests/run.yml"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"d0650baf_af29c65d","line":37,"range":{"start_line":2,"start_character":2,"end_line":37,"end_character":35},"updated":"2023-10-05 12:06:38.000000000","message":"why is this done in this changeset to support prometheus_server externally?\n\nThis seems like a totally unrelated change? Please provide this in a different changeset or explain how it is related to the prometheus change.","commit_id":"330ded1cabc2cdf075eee62344bfe68c78b8aab9"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"e4ec3c2a0f42c16b24b54dbe82bfcea98e2d6e3f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- job:"},{"line_number":3,"context_line":"    name: kolla-ansible-variables"},{"line_number":4,"context_line":"    vars:"},{"line_number":5,"context_line":"      previous_release: \"2023.1\""},{"line_number":6,"context_line":"      container_engine: \"docker\""},{"line_number":7,"context_line":"      scenario: core"},{"line_number":8,"context_line":"      virt_type: qemu"},{"line_number":9,"context_line":"      is_upgrade: no"},{"line_number":10,"context_line":"      api_network_prefix: \"192.0.2.\""},{"line_number":11,"context_line":"      api_network_prefix_length: \"24\""},{"line_number":12,"context_line":"      api_interface_name: vxlan0"},{"line_number":13,"context_line":"      kolla_internal_vip_address: \"192.0.2.10\""},{"line_number":14,"context_line":"      address_family: \u0027ipv4\u0027"},{"line_number":15,"context_line":"      neutron_external_network_prefix: \"198.51.100.\""},{"line_number":16,"context_line":"      neutron_external_network_prefix_length: \"24\""},{"line_number":17,"context_line":"      neutron_external_bridge_name: br0"},{"line_number":18,"context_line":"      neutron_external_interface_name: \"veth-{{ neutron_external_bridge_name }}-ext\""},{"line_number":19,"context_line":"      neutron_external_vxlan_interface_name: vxlan1"},{"line_number":20,"context_line":"      neutron_tenant_network_prefix: \"203.0.113.\""},{"line_number":21,"context_line":"      neutron_tenant_network_prefix_length: \"24\""},{"line_number":22,"context_line":"      neutron_tenant_network_dns_server: \"8.8.8.8\""},{"line_number":23,"context_line":"      tls_enabled: false"},{"line_number":24,"context_line":"      configure_swap_size: 0"},{"line_number":25,"context_line":"      ansible_core_version_min: \"\u003d\u003d2.14.*\""},{"line_number":26,"context_line":"      ansible_core_version_max: \"\u003d\u003d2.15.*\""},{"line_number":27,"context_line":"      # Test latest ansible version on Ubuntu, minimum supported on others."},{"line_number":28,"context_line":"      ansible_core_version_constraint: \u003e-"},{"line_number":29,"context_line":"        {{ ansible_core_version_min if is_upgrade or base_distro !\u003d \u0027ubuntu\u0027 else ansible_core_version_max }}"},{"line_number":30,"context_line":"      ansible_version_min: \"\u003d\u003d7.*\""},{"line_number":31,"context_line":"      ansible_version_max: \"\u003d\u003d8.*\""},{"line_number":32,"context_line":"      # Test latest ansible version on Ubuntu, minimum supported on others."},{"line_number":33,"context_line":"      ansible_version_constraint: \u003e-"},{"line_number":34,"context_line":"        {{ ansible_version_min if is_upgrade or base_distro !\u003d \u0027ubuntu\u0027 else ansible_version_max }}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"- job:"},{"line_number":37,"context_line":"    parent: kolla-ansible-variables"},{"line_number":38,"context_line":"    name: kolla-ansible-base"},{"line_number":39,"context_line":"    pre-run: tests/pre.yml"},{"line_number":40,"context_line":"    run: tests/run.yml"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"1a1f0e53_256450e3","line":37,"range":{"start_line":2,"start_character":2,"end_line":37,"end_character":35},"in_reply_to":"130af1c8_b4d3c13b","updated":"2023-10-06 13:06:00.000000000","message":"sure","commit_id":"330ded1cabc2cdf075eee62344bfe68c78b8aab9"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"dc44f8bc386cc98dc061ecb06975619faafa1c8e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- job:"},{"line_number":3,"context_line":"    name: kolla-ansible-variables"},{"line_number":4,"context_line":"    vars:"},{"line_number":5,"context_line":"      previous_release: \"2023.1\""},{"line_number":6,"context_line":"      container_engine: \"docker\""},{"line_number":7,"context_line":"      scenario: core"},{"line_number":8,"context_line":"      virt_type: qemu"},{"line_number":9,"context_line":"      is_upgrade: no"},{"line_number":10,"context_line":"      api_network_prefix: \"192.0.2.\""},{"line_number":11,"context_line":"      api_network_prefix_length: \"24\""},{"line_number":12,"context_line":"      api_interface_name: vxlan0"},{"line_number":13,"context_line":"      kolla_internal_vip_address: \"192.0.2.10\""},{"line_number":14,"context_line":"      address_family: \u0027ipv4\u0027"},{"line_number":15,"context_line":"      neutron_external_network_prefix: \"198.51.100.\""},{"line_number":16,"context_line":"      neutron_external_network_prefix_length: \"24\""},{"line_number":17,"context_line":"      neutron_external_bridge_name: br0"},{"line_number":18,"context_line":"      neutron_external_interface_name: \"veth-{{ neutron_external_bridge_name }}-ext\""},{"line_number":19,"context_line":"      neutron_external_vxlan_interface_name: vxlan1"},{"line_number":20,"context_line":"      neutron_tenant_network_prefix: \"203.0.113.\""},{"line_number":21,"context_line":"      neutron_tenant_network_prefix_length: \"24\""},{"line_number":22,"context_line":"      neutron_tenant_network_dns_server: \"8.8.8.8\""},{"line_number":23,"context_line":"      tls_enabled: false"},{"line_number":24,"context_line":"      configure_swap_size: 0"},{"line_number":25,"context_line":"      ansible_core_version_min: \"\u003d\u003d2.14.*\""},{"line_number":26,"context_line":"      ansible_core_version_max: \"\u003d\u003d2.15.*\""},{"line_number":27,"context_line":"      # Test latest ansible version on Ubuntu, minimum supported on others."},{"line_number":28,"context_line":"      ansible_core_version_constraint: \u003e-"},{"line_number":29,"context_line":"        {{ ansible_core_version_min if is_upgrade or base_distro !\u003d \u0027ubuntu\u0027 else ansible_core_version_max }}"},{"line_number":30,"context_line":"      ansible_version_min: \"\u003d\u003d7.*\""},{"line_number":31,"context_line":"      ansible_version_max: \"\u003d\u003d8.*\""},{"line_number":32,"context_line":"      # Test latest ansible version on Ubuntu, minimum supported on others."},{"line_number":33,"context_line":"      ansible_version_constraint: \u003e-"},{"line_number":34,"context_line":"        {{ ansible_version_min if is_upgrade or base_distro !\u003d \u0027ubuntu\u0027 else ansible_version_max }}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"- job:"},{"line_number":37,"context_line":"    parent: kolla-ansible-variables"},{"line_number":38,"context_line":"    name: kolla-ansible-base"},{"line_number":39,"context_line":"    pre-run: tests/pre.yml"},{"line_number":40,"context_line":"    run: tests/run.yml"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"e4db8e01_3a48dee5","line":37,"range":{"start_line":2,"start_character":2,"end_line":37,"end_character":35},"in_reply_to":"1a1f0e53_256450e3","updated":"2023-10-06 13:36:09.000000000","message":"Done","commit_id":"330ded1cabc2cdf075eee62344bfe68c78b8aab9"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"39589d7b21837871596e8d3389f895001386fad5","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- job:"},{"line_number":3,"context_line":"    name: kolla-ansible-variables"},{"line_number":4,"context_line":"    vars:"},{"line_number":5,"context_line":"      previous_release: \"2023.1\""},{"line_number":6,"context_line":"      container_engine: \"docker\""},{"line_number":7,"context_line":"      scenario: core"},{"line_number":8,"context_line":"      virt_type: qemu"},{"line_number":9,"context_line":"      is_upgrade: no"},{"line_number":10,"context_line":"      api_network_prefix: \"192.0.2.\""},{"line_number":11,"context_line":"      api_network_prefix_length: \"24\""},{"line_number":12,"context_line":"      api_interface_name: vxlan0"},{"line_number":13,"context_line":"      kolla_internal_vip_address: \"192.0.2.10\""},{"line_number":14,"context_line":"      address_family: \u0027ipv4\u0027"},{"line_number":15,"context_line":"      neutron_external_network_prefix: \"198.51.100.\""},{"line_number":16,"context_line":"      neutron_external_network_prefix_length: \"24\""},{"line_number":17,"context_line":"      neutron_external_bridge_name: br0"},{"line_number":18,"context_line":"      neutron_external_interface_name: \"veth-{{ neutron_external_bridge_name }}-ext\""},{"line_number":19,"context_line":"      neutron_external_vxlan_interface_name: vxlan1"},{"line_number":20,"context_line":"      neutron_tenant_network_prefix: \"203.0.113.\""},{"line_number":21,"context_line":"      neutron_tenant_network_prefix_length: \"24\""},{"line_number":22,"context_line":"      neutron_tenant_network_dns_server: \"8.8.8.8\""},{"line_number":23,"context_line":"      tls_enabled: false"},{"line_number":24,"context_line":"      configure_swap_size: 0"},{"line_number":25,"context_line":"      ansible_core_version_min: \"\u003d\u003d2.14.*\""},{"line_number":26,"context_line":"      ansible_core_version_max: \"\u003d\u003d2.15.*\""},{"line_number":27,"context_line":"      # Test latest ansible version on Ubuntu, minimum supported on others."},{"line_number":28,"context_line":"      ansible_core_version_constraint: \u003e-"},{"line_number":29,"context_line":"        {{ ansible_core_version_min if is_upgrade or base_distro !\u003d \u0027ubuntu\u0027 else ansible_core_version_max }}"},{"line_number":30,"context_line":"      ansible_version_min: \"\u003d\u003d7.*\""},{"line_number":31,"context_line":"      ansible_version_max: \"\u003d\u003d8.*\""},{"line_number":32,"context_line":"      # Test latest ansible version on Ubuntu, minimum supported on others."},{"line_number":33,"context_line":"      ansible_version_constraint: \u003e-"},{"line_number":34,"context_line":"        {{ ansible_version_min if is_upgrade or base_distro !\u003d \u0027ubuntu\u0027 else ansible_version_max }}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"- job:"},{"line_number":37,"context_line":"    parent: kolla-ansible-variables"},{"line_number":38,"context_line":"    name: kolla-ansible-base"},{"line_number":39,"context_line":"    pre-run: tests/pre.yml"},{"line_number":40,"context_line":"    run: tests/run.yml"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"130af1c8_b4d3c13b","line":37,"range":{"start_line":2,"start_character":2,"end_line":37,"end_character":35},"in_reply_to":"41abd7ab_e5018bc5","updated":"2023-10-05 16:28:45.000000000","message":"Can we have this as a separate change?","commit_id":"330ded1cabc2cdf075eee62344bfe68c78b8aab9"},{"author":{"_account_id":28048,"name":"Will Szumski","email":"will@stackhpc.com","username":"jovial"},"change_message_id":"45bdfde09b7e440dbb085125710c61c743338348","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- job:"},{"line_number":3,"context_line":"    name: kolla-ansible-variables"},{"line_number":4,"context_line":"    vars:"},{"line_number":5,"context_line":"      previous_release: \"2023.1\""},{"line_number":6,"context_line":"      container_engine: \"docker\""},{"line_number":7,"context_line":"      scenario: core"},{"line_number":8,"context_line":"      virt_type: qemu"},{"line_number":9,"context_line":"      is_upgrade: no"},{"line_number":10,"context_line":"      api_network_prefix: \"192.0.2.\""},{"line_number":11,"context_line":"      api_network_prefix_length: \"24\""},{"line_number":12,"context_line":"      api_interface_name: vxlan0"},{"line_number":13,"context_line":"      kolla_internal_vip_address: \"192.0.2.10\""},{"line_number":14,"context_line":"      address_family: \u0027ipv4\u0027"},{"line_number":15,"context_line":"      neutron_external_network_prefix: \"198.51.100.\""},{"line_number":16,"context_line":"      neutron_external_network_prefix_length: \"24\""},{"line_number":17,"context_line":"      neutron_external_bridge_name: br0"},{"line_number":18,"context_line":"      neutron_external_interface_name: \"veth-{{ neutron_external_bridge_name }}-ext\""},{"line_number":19,"context_line":"      neutron_external_vxlan_interface_name: vxlan1"},{"line_number":20,"context_line":"      neutron_tenant_network_prefix: \"203.0.113.\""},{"line_number":21,"context_line":"      neutron_tenant_network_prefix_length: \"24\""},{"line_number":22,"context_line":"      neutron_tenant_network_dns_server: \"8.8.8.8\""},{"line_number":23,"context_line":"      tls_enabled: false"},{"line_number":24,"context_line":"      configure_swap_size: 0"},{"line_number":25,"context_line":"      ansible_core_version_min: \"\u003d\u003d2.14.*\""},{"line_number":26,"context_line":"      ansible_core_version_max: \"\u003d\u003d2.15.*\""},{"line_number":27,"context_line":"      # Test latest ansible version on Ubuntu, minimum supported on others."},{"line_number":28,"context_line":"      ansible_core_version_constraint: \u003e-"},{"line_number":29,"context_line":"        {{ ansible_core_version_min if is_upgrade or base_distro !\u003d \u0027ubuntu\u0027 else ansible_core_version_max }}"},{"line_number":30,"context_line":"      ansible_version_min: \"\u003d\u003d7.*\""},{"line_number":31,"context_line":"      ansible_version_max: \"\u003d\u003d8.*\""},{"line_number":32,"context_line":"      # Test latest ansible version on Ubuntu, minimum supported on others."},{"line_number":33,"context_line":"      ansible_version_constraint: \u003e-"},{"line_number":34,"context_line":"        {{ ansible_version_min if is_upgrade or base_distro !\u003d \u0027ubuntu\u0027 else ansible_version_max }}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"- job:"},{"line_number":37,"context_line":"    parent: kolla-ansible-variables"},{"line_number":38,"context_line":"    name: kolla-ansible-base"},{"line_number":39,"context_line":"    pre-run: tests/pre.yml"},{"line_number":40,"context_line":"    run: tests/run.yml"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"41abd7ab_e5018bc5","line":37,"range":{"start_line":2,"start_character":2,"end_line":37,"end_character":35},"in_reply_to":"d0650baf_af29c65d","updated":"2023-10-05 16:25:08.000000000","message":"Its so we don\u0027t have to duplicate variables in the hashicorp vault job. Otherwise there are two places to keep them up to date. We now need ansible installed to generate passwords.yml now that we use the ansible library function to generate the salt.","commit_id":"330ded1cabc2cdf075eee62344bfe68c78b8aab9"}]}
