)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"30b827a4a93a0096dc6d8fc64019c00339b0ec1b","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"034ae767_c0cb87f7","updated":"2024-08-13 14:03:45.000000000","message":"need to fix the variable naming:\n\n```\n\nTASK [prometheus : Validating prometheus config files] *************************\n\ntask path: /home/zuul/kolla-ansible-venv/share/kolla-ansible/ansible/roles/prometheus/tasks/config_validate.yml:2\n\nTuesday 13 August 2024  13:51:48 +0000 (0:00:00.092)       0:00:06.928 ******** \n\nfatal: [primary]: FAILED! \u003d\u003e {\n\n    \"msg\": \"The conditional check \u0027inventory_hostname in groups[service.group]\u0027 failed. The error was: error while evaluating conditional (inventory_hostname in groups[service.group]): {{ prometheus_services[service_name] }}: \u0027service_name\u0027 is undefined. \u0027service_name\u0027 is undefined. {{ prometheus_services[service_name] }}: \u0027service_name\u0027 is undefined. \u0027service_name\u0027 is undefined\\n\\nThe error appears to be in \u0027/home/zuul/kolla-ansible-venv/share/kolla-ansible/ansible/roles/prometheus/tasks/config_validate.yml\u0027: line 2, column 3, but may\\nbe elsewhere in the file depending on the exact syntax problem.\\n\\nThe offending line appears to be:\\n\\n---\\n- name: Validating prometheus config files\\n  ^ here\\n\"\n\n}\n\nERROR! Invalid variable name in \u0027register\u0027 specified: \u0027{{ service }}_config_validation_result\u0027\n\n\n```","commit_id":"56d2161d0d1bbeda188cc11a29dd5fc70ce9650f"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"89d92d53153d995bda57809938a4497689a148c2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"51a88358_9338c280","in_reply_to":"034ae767_c0cb87f7","updated":"2024-08-21 13:59:24.000000000","message":"Done","commit_id":"56d2161d0d1bbeda188cc11a29dd5fc70ce9650f"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"029b223670f5224fc0d50b8ac3d84d316ccedfa2","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"338c8d55_45d2dec3","updated":"2024-08-21 16:09:07.000000000","message":"promtool is missing from the container or at least from the default path, I\u0027m currently figuring out how to deploy it properly (most install manuals say to curl | bash from github).","commit_id":"cfb618cd48d692c57d73981d071063da64636419"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"4e3df4836f915c700cd9215c326f7074f22a4682","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"68ccecf1_e2e5854f","in_reply_to":"0c8cdde0_54ee0ca6","updated":"2024-08-21 16:26:32.000000000","message":"Done","commit_id":"cfb618cd48d692c57d73981d071063da64636419"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"7292c7d1efee0efbc0ed5e3e921a3cd1659b90e4","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0c8cdde0_54ee0ca6","in_reply_to":"338c8d55_45d2dec3","updated":"2024-08-21 16:21:50.000000000","message":"Okay, I checked, promtool is in the release binary we use included, guess I just need to adjust the path I call:\n\nhttps://github.com/prometheus/prometheus/releases/download/v2.50.1/prometheus-2.50.1.linux-amd64.tar.gz","commit_id":"cfb618cd48d692c57d73981d071063da64636419"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d1d4eaa93884b59f9724d387ae08e39a031d3427","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"f5512fe3_9ee65cec","updated":"2024-08-22 08:31:34.000000000","message":"Needs a reno?","commit_id":"2638447b9d245123330d301fa65116828bd1b23a"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"4a220e0f4977f86682bfa33baedd0466db9c8125","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"8763db35_3734f137","in_reply_to":"f5512fe3_9ee65cec","updated":"2024-08-23 12:55:31.000000000","message":"as you wanted a reno - I didn\u0027t intially provide one because I thought of this feature for internal CI only - I added one.\n\nI also realized that this is quite useful for users, so I went ahead and added at least some minimal docs, as I couldn\u0027t find any documentation on this feature in our current docs.","commit_id":"2638447b9d245123330d301fa65116828bd1b23a"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"cc51750fea07354d4e42406d529cd270accadabe","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"d7a4f578_ced8ce21","updated":"2024-08-23 12:56:39.000000000","message":"as this is only validation/CI relevant code I\u0027d actually like to backport this.\nAlso we had no real docs for this feature (config validation in general), so it would be nice to backport those as well.\n\nWhat do you think?","commit_id":"95b75f5fdea72bdd1fef20a1e8f8200ac2aa50d9"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"0216989f12ca26f11a84046038319cc4b98b1d5c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"cad81043_a85d6c31","in_reply_to":"d7a4f578_ced8ce21","updated":"2024-08-28 13:12:52.000000000","message":"Acknowledged","commit_id":"95b75f5fdea72bdd1fef20a1e8f8200ac2aa50d9"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"92b99218ecf4c7dd5a15a4b919f32bb2489a7ab1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"1fb97881_6dc35986","updated":"2024-09-04 01:18:44.000000000","message":"CI only, let\u0027s not leave this to rot ;-)","commit_id":"e38ca5c7229d710ab186a59551291252693bc79b"}],"ansible/roles/prometheus/tasks/config_validate.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"6b52cd8010f74e9ff3ba433db11264d70a1ea048","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Validating prometheus config files"},{"line_number":3,"context_line":"  vars:"},{"line_number":4,"context_line":"    service: \"{{ prometheus_services[service_name] }}\""},{"line_number":5,"context_line":"  shell: \u003e-"},{"line_number":6,"context_line":"    {{ kolla_container_engine }} exec -i {{ item.value.container_name }}"},{"line_number":7,"context_line":"    promtool check config {{ node_config_directory }}/{{ item.key }}/*.yml"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9778dfff_8d610db7","line":4,"range":{"start_line":4,"start_character":37,"end_line":4,"end_character":49},"updated":"2024-08-19 10:58:45.000000000","message":"service_name not defined?\n\nWould be cleaner (in code \u0026 output) to remove the loop and reference the prometheus_server service directly.","commit_id":"47c843e0ef401bed49ad7f92534544280f29496c"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"40c6153833b68594d11b944464581825a4eaa863","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Validating prometheus config files"},{"line_number":3,"context_line":"  vars:"},{"line_number":4,"context_line":"    service: \"{{ prometheus_services[service_name] }}\""},{"line_number":5,"context_line":"  shell: \u003e-"},{"line_number":6,"context_line":"    {{ kolla_container_engine }} exec -i {{ item.value.container_name }}"},{"line_number":7,"context_line":"    promtool check config {{ node_config_directory }}/{{ item.key }}/*.yml"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"b5904516_fe233947","line":4,"range":{"start_line":4,"start_character":37,"end_line":4,"end_character":49},"in_reply_to":"2c3ef42c_1b4b4baf","updated":"2024-08-21 13:36:24.000000000","message":"discussed during todays (2024-08-21) kolla meeting: PTL says:\n\u003e [15:34] \u003cmnasiadka\u003e SvenKieske: I would say we don\u0027t care about exporters - that should be validated in the CI if we\u0027re able to scrape from them\n\nSo I will rewrite this to only validate prometheus server configs for now, will make this simpler.","commit_id":"47c843e0ef401bed49ad7f92534544280f29496c"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"7d0aa1ba1e47948cdf94953fce46d9e0457d8645","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Validating prometheus config files"},{"line_number":3,"context_line":"  vars:"},{"line_number":4,"context_line":"    service: \"{{ prometheus_services[service_name] }}\""},{"line_number":5,"context_line":"  shell: \u003e-"},{"line_number":6,"context_line":"    {{ kolla_container_engine }} exec -i {{ item.value.container_name }}"},{"line_number":7,"context_line":"    promtool check config {{ node_config_directory }}/{{ item.key }}/*.yml"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"2c3ef42c_1b4b4baf","line":4,"range":{"start_line":4,"start_character":37,"end_line":4,"end_character":49},"in_reply_to":"9778dfff_8d610db7","updated":"2024-08-21 12:22:32.000000000","message":"problem is, we have many different prometheus containers, currently thinking about introducing a meta-group \"prometheus\" that contains all the exporters.\n\nOr should I just ignore the exporters for now and only validate `prometheus-server` container for now?","commit_id":"47c843e0ef401bed49ad7f92534544280f29496c"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"6b52cd8010f74e9ff3ba433db11264d70a1ea048","unresolved":true,"context_lines":[{"line_number":19,"context_line":"  assert:"},{"line_number":20,"context_line":"    that: \"item.rc \u003d\u003d 0\""},{"line_number":21,"context_line":"    fail_msg: \u003e-"},{"line_number":22,"context_line":"      \"{{ service }} config files are invalid\""},{"line_number":23,"context_line":"    success_msg: \u003e-"},{"line_number":24,"context_line":"      \"{{ service }} config files are valid\""},{"line_number":25,"context_line":"  loop: \"{{ config_validation_results.results }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"db0a80e4_0a6f6f66","line":22,"updated":"2024-08-19 10:58:45.000000000","message":"Should we include the output of promtool?","commit_id":"47c843e0ef401bed49ad7f92534544280f29496c"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"89d92d53153d995bda57809938a4497689a148c2","unresolved":false,"context_lines":[{"line_number":19,"context_line":"  assert:"},{"line_number":20,"context_line":"    that: \"item.rc \u003d\u003d 0\""},{"line_number":21,"context_line":"    fail_msg: \u003e-"},{"line_number":22,"context_line":"      \"{{ service }} config files are invalid\""},{"line_number":23,"context_line":"    success_msg: \u003e-"},{"line_number":24,"context_line":"      \"{{ service }} config files are valid\""},{"line_number":25,"context_line":"  loop: \"{{ config_validation_results.results }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"03ea320a_1f9464e1","line":22,"in_reply_to":"c62d58cb_8c1bd310","updated":"2024-08-21 13:59:24.000000000","message":"Done","commit_id":"47c843e0ef401bed49ad7f92534544280f29496c"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"40c6153833b68594d11b944464581825a4eaa863","unresolved":true,"context_lines":[{"line_number":19,"context_line":"  assert:"},{"line_number":20,"context_line":"    that: \"item.rc \u003d\u003d 0\""},{"line_number":21,"context_line":"    fail_msg: \u003e-"},{"line_number":22,"context_line":"      \"{{ service }} config files are invalid\""},{"line_number":23,"context_line":"    success_msg: \u003e-"},{"line_number":24,"context_line":"      \"{{ service }} config files are valid\""},{"line_number":25,"context_line":"  loop: \"{{ config_validation_results.results }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"c62d58cb_8c1bd310","line":22,"in_reply_to":"db0a80e4_0a6f6f66","updated":"2024-08-21 13:36:24.000000000","message":"ack, will do!","commit_id":"47c843e0ef401bed49ad7f92534544280f29496c"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d1d4eaa93884b59f9724d387ae08e39a031d3427","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  vars:"},{"line_number":4,"context_line":"    service: \"{{ prometheus_services[\u0027prometheus-server\u0027] }}\""},{"line_number":5,"context_line":"  shell: \u003e-"},{"line_number":6,"context_line":"    {{ kolla_container_engine }} exec -i prometheus_server"},{"line_number":7,"context_line":"    /opt/prometheus/promtool check config /etc/prometheus/*.yml"},{"line_number":8,"context_line":"  register: \"prometheus_config_validation_results\""},{"line_number":9,"context_line":"  check_mode: false"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"f7a445fa_3a4f918d","line":6,"updated":"2024-08-22 08:31:34.000000000","message":"```suggestion\n    {{ kolla_container_engine }} exec -i {{ service.container_name }}\n```","commit_id":"2638447b9d245123330d301fa65116828bd1b23a"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"4a220e0f4977f86682bfa33baedd0466db9c8125","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  vars:"},{"line_number":4,"context_line":"    service: \"{{ prometheus_services[\u0027prometheus-server\u0027] }}\""},{"line_number":5,"context_line":"  shell: \u003e-"},{"line_number":6,"context_line":"    {{ kolla_container_engine }} exec -i prometheus_server"},{"line_number":7,"context_line":"    /opt/prometheus/promtool check config /etc/prometheus/*.yml"},{"line_number":8,"context_line":"  register: \"prometheus_config_validation_results\""},{"line_number":9,"context_line":"  check_mode: false"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"e1a9f396_65708d7f","line":6,"in_reply_to":"f7a445fa_3a4f918d","updated":"2024-08-23 12:55:31.000000000","message":"Done","commit_id":"2638447b9d245123330d301fa65116828bd1b23a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d1d4eaa93884b59f9724d387ae08e39a031d3427","unresolved":true,"context_lines":[{"line_number":18,"context_line":"  assert:"},{"line_number":19,"context_line":"    that: \"prometheus_config_validation_results.rc \u003d\u003d 0\""},{"line_number":20,"context_line":"    fail_msg: \u003e-"},{"line_number":21,"context_line":"      \"{{ service }} config files are invalid, the output was:"},{"line_number":22,"context_line":"       {{ prometheus_config_validation_results.stdout }}\""},{"line_number":23,"context_line":"    success_msg: \u003e-"},{"line_number":24,"context_line":"      \"{{ service }} config files are valid\""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"80d8d679_fa968d20","line":21,"updated":"2024-08-22 08:31:34.000000000","message":"```suggestion\n      \"{{ service.container_name }} config files are invalid, the output was:\n```","commit_id":"2638447b9d245123330d301fa65116828bd1b23a"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"4a220e0f4977f86682bfa33baedd0466db9c8125","unresolved":false,"context_lines":[{"line_number":18,"context_line":"  assert:"},{"line_number":19,"context_line":"    that: \"prometheus_config_validation_results.rc \u003d\u003d 0\""},{"line_number":20,"context_line":"    fail_msg: \u003e-"},{"line_number":21,"context_line":"      \"{{ service }} config files are invalid, the output was:"},{"line_number":22,"context_line":"       {{ prometheus_config_validation_results.stdout }}\""},{"line_number":23,"context_line":"    success_msg: \u003e-"},{"line_number":24,"context_line":"      \"{{ service }} config files are valid\""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"d0e06076_25127d67","line":21,"in_reply_to":"80d8d679_fa968d20","updated":"2024-08-23 12:55:31.000000000","message":"Done","commit_id":"2638447b9d245123330d301fa65116828bd1b23a"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d1d4eaa93884b59f9724d387ae08e39a031d3427","unresolved":true,"context_lines":[{"line_number":21,"context_line":"      \"{{ service }} config files are invalid, the output was:"},{"line_number":22,"context_line":"       {{ prometheus_config_validation_results.stdout }}\""},{"line_number":23,"context_line":"    success_msg: \u003e-"},{"line_number":24,"context_line":"      \"{{ service }} config files are valid\""},{"line_number":25,"context_line":"  when:"},{"line_number":26,"context_line":"    - inventory_hostname in groups[service.group]"},{"line_number":27,"context_line":"    - service.enabled | bool"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"fd7f8bb7_7f38aec3","line":24,"updated":"2024-08-22 08:31:34.000000000","message":"```suggestion\n      \"{{ service.container_name }} config files are valid\"\n```","commit_id":"2638447b9d245123330d301fa65116828bd1b23a"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"4a220e0f4977f86682bfa33baedd0466db9c8125","unresolved":false,"context_lines":[{"line_number":21,"context_line":"      \"{{ service }} config files are invalid, the output was:"},{"line_number":22,"context_line":"       {{ prometheus_config_validation_results.stdout }}\""},{"line_number":23,"context_line":"    success_msg: \u003e-"},{"line_number":24,"context_line":"      \"{{ service }} config files are valid\""},{"line_number":25,"context_line":"  when:"},{"line_number":26,"context_line":"    - inventory_hostname in groups[service.group]"},{"line_number":27,"context_line":"    - service.enabled | bool"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"ef61d6b5_f1192b79","line":24,"in_reply_to":"fd7f8bb7_7f38aec3","updated":"2024-08-23 12:55:31.000000000","message":"Done","commit_id":"2638447b9d245123330d301fa65116828bd1b23a"}]}
