)]}'
{"/COMMIT_MSG":[{"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":"6f0e4f930b061ce13695dd8dc55e818e3bf27bf3","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Rafael Weingärtner \u003crafael@apache.org\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-10-28 08:18:01 -0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add feature to support managing dynamic poolsters"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Depends-On: https://review.opendev.org/#/c/677031/"},{"line_number":10,"context_line":"Change-Id: I273aa795cf5c92f344accae2c219dbb51d318b59"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3fa7e38b_663c1593","line":7,"range":{"start_line":7,"start_character":40,"end_line":7,"end_character":49},"updated":"2019-10-28 17:15:55.000000000","message":"pollsters","commit_id":"87907a42ce4b3c589428f77a8edb241e40e8c028"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"464f91fe586529099fe07b63668341ee7c79cc8c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Rafael Weingärtner \u003crafael@apache.org\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-10-28 08:18:01 -0300"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add feature to support managing dynamic poolsters"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Depends-On: https://review.opendev.org/#/c/677031/"},{"line_number":10,"context_line":"Change-Id: I273aa795cf5c92f344accae2c219dbb51d318b59"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3fa7e38b_c6cf097d","line":7,"range":{"start_line":7,"start_character":40,"end_line":7,"end_character":49},"in_reply_to":"3fa7e38b_663c1593","updated":"2019-10-28 17:30:49.000000000","message":"fixed","commit_id":"87907a42ce4b3c589428f77a8edb241e40e8c028"}],"ansible/roles/ceilometer/defaults/main.yml":[{"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":"6f0e4f930b061ce13695dd8dc55e818e3bf27bf3","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"ceilometer_custom_meters_local_folder: \"meters.d\""},{"line_number":114,"context_line":"ceilometer_dynamic_pollsters_local_folder: \"pollsters.d\""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"####################"},{"line_number":118,"context_line":"# Keystone"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3fa7e38b_66ee5523","line":115,"updated":"2019-10-28 17:15:55.000000000","message":"nit: line","commit_id":"87907a42ce4b3c589428f77a8edb241e40e8c028"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"464f91fe586529099fe07b63668341ee7c79cc8c","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"ceilometer_custom_meters_local_folder: \"meters.d\""},{"line_number":114,"context_line":"ceilometer_dynamic_pollsters_local_folder: \"pollsters.d\""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"####################"},{"line_number":118,"context_line":"# Keystone"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3fa7e38b_a6c20d52","line":115,"in_reply_to":"3fa7e38b_66ee5523","updated":"2019-10-28 17:30:49.000000000","message":"fixed","commit_id":"87907a42ce4b3c589428f77a8edb241e40e8c028"}],"ansible/roles/ceilometer/tasks/config.yml":[{"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":"6f0e4f930b061ce13695dd8dc55e818e3bf27bf3","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    - \"Restart {{ item.key }} container\""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"- name: Check if the folder [\"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\"] for dynamic pollsters definitions exist"},{"line_number":62,"context_line":"  local_action: stat path\u003d\"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\""},{"line_number":63,"context_line":"  register: ceilometer_dynamic_pollsters_folder"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"- name: Find all *.yaml files in dynamic pollsters definitions folder (if the folder exist)"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3fa7e38b_c64aa925","line":62,"range":{"start_line":62,"start_character":2,"end_line":62,"end_character":14},"updated":"2019-10-28 17:15:55.000000000","message":"It is preferred to use the module the modern way and target the task at localhost instead.","commit_id":"87907a42ce4b3c589428f77a8edb241e40e8c028"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"2a5153b0c838d04256aa46bcd183a616483ea255","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    - \"Restart {{ item.key }} container\""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"- name: Check if the folder [\"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\"] for dynamic pollsters definitions exist"},{"line_number":62,"context_line":"  local_action: stat path\u003d\"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\""},{"line_number":63,"context_line":"  register: ceilometer_dynamic_pollsters_folder"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"- name: Find all *.yaml files in dynamic pollsters definitions folder (if the folder exist)"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3fa7e38b_66e2d5d7","line":62,"range":{"start_line":62,"start_character":2,"end_line":62,"end_character":14},"in_reply_to":"3fa7e38b_468a391b","updated":"2019-10-28 17:34:27.000000000","message":"local_action is completely unreadable, even ansible-lint does not recommend using it.","commit_id":"87907a42ce4b3c589428f77a8edb241e40e8c028"},{"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":"377275839cf6b35957e72d8e3bb4597790a4da3e","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    - \"Restart {{ item.key }} container\""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"- name: Check if the folder [\"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\"] for dynamic pollsters definitions exist"},{"line_number":62,"context_line":"  local_action: stat path\u003d\"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\""},{"line_number":63,"context_line":"  register: ceilometer_dynamic_pollsters_folder"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"- name: Find all *.yaml files in dynamic pollsters definitions folder (if the folder exist)"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3fa7e38b_e65c854c","line":62,"range":{"start_line":62,"start_character":2,"end_line":62,"end_character":14},"in_reply_to":"3fa7e38b_66e2d5d7","updated":"2019-10-28 17:54:15.000000000","message":"Use:\ndelegate_to: localhost\nwith the recommended way of specifying module parameters - as a dictionary...","commit_id":"87907a42ce4b3c589428f77a8edb241e40e8c028"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"464f91fe586529099fe07b63668341ee7c79cc8c","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    - \"Restart {{ item.key }} container\""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"- name: Check if the folder [\"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\"] for dynamic pollsters definitions exist"},{"line_number":62,"context_line":"  local_action: stat path\u003d\"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\""},{"line_number":63,"context_line":"  register: ceilometer_dynamic_pollsters_folder"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"- name: Find all *.yaml files in dynamic pollsters definitions folder (if the folder exist)"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3fa7e38b_468a391b","line":62,"range":{"start_line":62,"start_character":2,"end_line":62,"end_character":14},"in_reply_to":"3fa7e38b_c64aa925","updated":"2019-10-28 17:30:49.000000000","message":"I am not sure I follow. Could you provide more details on what you have in mind?","commit_id":"87907a42ce4b3c589428f77a8edb241e40e8c028"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"084c4b0f0ed79791cfc197b23819b16b1d62d2be","unresolved":false,"context_lines":[{"line_number":59,"context_line":"    - \"Restart {{ item.key }} container\""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"- name: Check if the folder [\"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\"] for dynamic pollsters definitions exist"},{"line_number":62,"context_line":"  local_action: stat path\u003d\"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\""},{"line_number":63,"context_line":"  register: ceilometer_dynamic_pollsters_folder"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"- name: Find all *.yaml files in dynamic pollsters definitions folder (if the folder exist)"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3fa7e38b_78b7cdd9","line":62,"range":{"start_line":62,"start_character":2,"end_line":62,"end_character":14},"in_reply_to":"3fa7e38b_e65c854c","updated":"2019-10-28 21:47:48.000000000","message":"ah. Ok. Now I get it.","commit_id":"87907a42ce4b3c589428f77a8edb241e40e8c028"},{"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":"377275839cf6b35957e72d8e3bb4597790a4da3e","unresolved":false,"context_lines":[{"line_number":68,"context_line":"  when: ceilometer_dynamic_pollsters_folder.stat.exists and ceilometer_dynamic_pollsters_folder.stat.isdir"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"- name: Create default folder for dynamic pollsters definitions"},{"line_number":71,"context_line":"  file:"},{"line_number":72,"context_line":"    path: \"{{ node_config_directory }}/{{ item.key }}/pollsters.d\""},{"line_number":73,"context_line":"    state: \"directory\""},{"line_number":74,"context_line":"    owner: \"{{ config_owner_user }}\""},{"line_number":75,"context_line":"    group: \"{{ config_owner_group }}\""},{"line_number":76,"context_line":"    mode: \"0770\""},{"line_number":77,"context_line":"  become: true"},{"line_number":78,"context_line":"  with_dict: \"{{ ceilometer_services }}\""},{"line_number":79,"context_line":"  when:"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3fa7e38b_86559120","line":76,"range":{"start_line":71,"start_character":0,"end_line":76,"end_character":16},"updated":"2019-10-28 17:54:15.000000000","message":"... like here","commit_id":"87907a42ce4b3c589428f77a8edb241e40e8c028"},{"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":"6f0e4f930b061ce13695dd8dc55e818e3bf27bf3","unresolved":false,"context_lines":[{"line_number":100,"context_line":"  notify:"},{"line_number":101,"context_line":"    - \"Restart {{ item.key }} container\""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"- name: Check if custom polling.yaml exists"},{"line_number":105,"context_line":"  local_action: stat path\u003d\"{{ node_custom_config }}/ceilometer/polling.yaml\""},{"line_number":106,"context_line":"  register: ceilometer_polling_file"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3fa7e38b_a68a0d61","line":103,"updated":"2019-10-28 17:15:55.000000000","message":"nit: line","commit_id":"87907a42ce4b3c589428f77a8edb241e40e8c028"},{"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":"744e8997da83fa55e1b3a84bb7337ec3071d6c40","unresolved":false,"context_lines":[{"line_number":65,"context_line":"  register: ceilometer_dynamic_pollsters_folder"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"- name: Find all *.yaml files in dynamic pollsters definitions folder (if the folder exist)"},{"line_number":68,"context_line":"  local_action: find paths\u003d\"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\" patterns\u003d\"*.yaml\""},{"line_number":69,"context_line":"  register: ceilometer_dynamic_pollsters_folder_found_files"},{"line_number":70,"context_line":"  when: ceilometer_dynamic_pollsters_folder.stat.exists and ceilometer_dynamic_pollsters_folder.stat.isdir"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3fa7e38b_9f4388b0","line":68,"range":{"start_line":68,"start_character":2,"end_line":68,"end_character":14},"updated":"2019-10-29 13:24:46.000000000","message":"another local","commit_id":"7c478339b1068a8d83250b19b376fe57388cf0a2"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"414564ba76037aa41d1732d0f38320c60f7fc437","unresolved":false,"context_lines":[{"line_number":65,"context_line":"  register: ceilometer_dynamic_pollsters_folder"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"- name: Find all *.yaml files in dynamic pollsters definitions folder (if the folder exist)"},{"line_number":68,"context_line":"  local_action: find paths\u003d\"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\" patterns\u003d\"*.yaml\""},{"line_number":69,"context_line":"  register: ceilometer_dynamic_pollsters_folder_found_files"},{"line_number":70,"context_line":"  when: ceilometer_dynamic_pollsters_folder.stat.exists and ceilometer_dynamic_pollsters_folder.stat.isdir"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3fa7e38b_aebad407","line":68,"range":{"start_line":68,"start_character":2,"end_line":68,"end_character":14},"in_reply_to":"3fa7e38b_9f4388b0","updated":"2019-10-29 17:32:11.000000000","message":"fixed","commit_id":"7c478339b1068a8d83250b19b376fe57388cf0a2"},{"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":"b46c489c43626efb3cf7c813e20aee5b06ff9791","unresolved":false,"context_lines":[{"line_number":66,"context_line":"- name: Check if the folder [\"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\"] for dynamic pollsters definitions exist"},{"line_number":67,"context_line":"  stat:"},{"line_number":68,"context_line":"    path: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\""},{"line_number":69,"context_line":"  delegate_to: localhost"},{"line_number":70,"context_line":"  register: ceilometer_dynamic_pollsters_folder"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"- name: Find all *.yaml files in dynamic pollsters definitions folder (if the folder exist)"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa7e38b_d2b3ee4c","line":69,"updated":"2019-11-25 11:51:46.000000000","message":"run_once","commit_id":"8db0f2f785a41bfe6bd2abb510f51a039c39cac5"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"b28c5c2e3042678ff54859467648f5c9e51e7567","unresolved":false,"context_lines":[{"line_number":66,"context_line":"- name: Check if the folder [\"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\"] for dynamic pollsters definitions exist"},{"line_number":67,"context_line":"  stat:"},{"line_number":68,"context_line":"    path: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\""},{"line_number":69,"context_line":"  delegate_to: localhost"},{"line_number":70,"context_line":"  register: ceilometer_dynamic_pollsters_folder"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"- name: Find all *.yaml files in dynamic pollsters definitions folder (if the folder exist)"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa7e38b_72ca3aa0","line":69,"in_reply_to":"3fa7e38b_d2b3ee4c","updated":"2019-11-25 12:01:54.000000000","message":"Good catch!\nDone. Thanks.","commit_id":"8db0f2f785a41bfe6bd2abb510f51a039c39cac5"},{"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":"b46c489c43626efb3cf7c813e20aee5b06ff9791","unresolved":false,"context_lines":[{"line_number":73,"context_line":"  find:"},{"line_number":74,"context_line":"    paths: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\""},{"line_number":75,"context_line":"    patterns: \"*.yaml\""},{"line_number":76,"context_line":"  delegate_to: localhost"},{"line_number":77,"context_line":"  register: ceilometer_dynamic_pollsters_folder_found_files"},{"line_number":78,"context_line":"  when: ceilometer_dynamic_pollsters_folder.stat.exists and ceilometer_dynamic_pollsters_folder.stat.isdir"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa7e38b_f2ae2ae2","line":76,"updated":"2019-11-25 11:51:46.000000000","message":"run_once","commit_id":"8db0f2f785a41bfe6bd2abb510f51a039c39cac5"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"b28c5c2e3042678ff54859467648f5c9e51e7567","unresolved":false,"context_lines":[{"line_number":73,"context_line":"  find:"},{"line_number":74,"context_line":"    paths: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\""},{"line_number":75,"context_line":"    patterns: \"*.yaml\""},{"line_number":76,"context_line":"  delegate_to: localhost"},{"line_number":77,"context_line":"  register: ceilometer_dynamic_pollsters_folder_found_files"},{"line_number":78,"context_line":"  when: ceilometer_dynamic_pollsters_folder.stat.exists and ceilometer_dynamic_pollsters_folder.stat.isdir"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa7e38b_523cde90","line":76,"in_reply_to":"3fa7e38b_f2ae2ae2","updated":"2019-11-25 12:01:54.000000000","message":"Done","commit_id":"8db0f2f785a41bfe6bd2abb510f51a039c39cac5"},{"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":"b46c489c43626efb3cf7c813e20aee5b06ff9791","unresolved":false,"context_lines":[{"line_number":87,"context_line":"  become: true"},{"line_number":88,"context_line":"  with_dict: \"{{ ceilometer_services }}\""},{"line_number":89,"context_line":"  when:"},{"line_number":90,"context_line":"    - ceilometer_dynamic_pollsters_folder.stat.exists and ceilometer_dynamic_pollsters_folder.stat.isdir"},{"line_number":91,"context_line":"    - ceilometer_dynamic_pollsters_folder_found_files is defined and ceilometer_dynamic_pollsters_folder_found_files.matched \u003e 0"},{"line_number":92,"context_line":"    - \"{{ ceilometer-central \u003d\u003d item.value.group }}\""},{"line_number":93,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":94,"context_line":"    - item.value.enabled | bool"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa7e38b_52793e7f","line":91,"range":{"start_line":90,"start_character":0,"end_line":91,"end_character":128},"updated":"2019-11-25 11:51:46.000000000","message":"follow should_copy_custom_meter_definitions way of handling this - much cleaner","commit_id":"8db0f2f785a41bfe6bd2abb510f51a039c39cac5"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"b28c5c2e3042678ff54859467648f5c9e51e7567","unresolved":false,"context_lines":[{"line_number":87,"context_line":"  become: true"},{"line_number":88,"context_line":"  with_dict: \"{{ ceilometer_services }}\""},{"line_number":89,"context_line":"  when:"},{"line_number":90,"context_line":"    - ceilometer_dynamic_pollsters_folder.stat.exists and ceilometer_dynamic_pollsters_folder.stat.isdir"},{"line_number":91,"context_line":"    - ceilometer_dynamic_pollsters_folder_found_files is defined and ceilometer_dynamic_pollsters_folder_found_files.matched \u003e 0"},{"line_number":92,"context_line":"    - \"{{ ceilometer-central \u003d\u003d item.value.group }}\""},{"line_number":93,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":94,"context_line":"    - item.value.enabled | bool"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa7e38b_7258faf7","line":91,"range":{"start_line":90,"start_character":0,"end_line":91,"end_character":128},"in_reply_to":"3fa7e38b_52793e7f","updated":"2019-11-25 12:01:54.000000000","message":"Sure, will do it.","commit_id":"8db0f2f785a41bfe6bd2abb510f51a039c39cac5"},{"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":"b46c489c43626efb3cf7c813e20aee5b06ff9791","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    mode: \"0600\""},{"line_number":102,"context_line":"  become: true"},{"line_number":103,"context_line":"  when:"},{"line_number":104,"context_line":"    - ceilometer_dynamic_pollsters_folder.stat.exists and ceilometer_dynamic_pollsters_folder.stat.isdir"},{"line_number":105,"context_line":"    - ceilometer_dynamic_pollsters_folder_found_files is defined and ceilometer_dynamic_pollsters_folder_found_files.matched \u003e 0"},{"line_number":106,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":107,"context_line":"    - \"{{ ceilometer-central \u003d\u003d item.value.group }}\""},{"line_number":108,"context_line":"    - item.value.enabled | bool"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa7e38b_727c7a70","line":105,"range":{"start_line":104,"start_character":0,"end_line":105,"end_character":128},"updated":"2019-11-25 11:51:46.000000000","message":"ditto","commit_id":"8db0f2f785a41bfe6bd2abb510f51a039c39cac5"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"b28c5c2e3042678ff54859467648f5c9e51e7567","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    mode: \"0600\""},{"line_number":102,"context_line":"  become: true"},{"line_number":103,"context_line":"  when:"},{"line_number":104,"context_line":"    - ceilometer_dynamic_pollsters_folder.stat.exists and ceilometer_dynamic_pollsters_folder.stat.isdir"},{"line_number":105,"context_line":"    - ceilometer_dynamic_pollsters_folder_found_files is defined and ceilometer_dynamic_pollsters_folder_found_files.matched \u003e 0"},{"line_number":106,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":107,"context_line":"    - \"{{ ceilometer-central \u003d\u003d item.value.group }}\""},{"line_number":108,"context_line":"    - item.value.enabled | bool"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"3fa7e38b_720d5ae5","line":105,"range":{"start_line":104,"start_character":0,"end_line":105,"end_character":128},"in_reply_to":"3fa7e38b_727c7a70","updated":"2019-11-25 12:01:54.000000000","message":"Done","commit_id":"8db0f2f785a41bfe6bd2abb510f51a039c39cac5"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"1af8fb922d1eefd3f48ddd6383c4089a6c261167","unresolved":false,"context_lines":[{"line_number":73,"context_line":"- name: Find all *.yaml files in dynamic pollsters definitions folder (if the folder exist)"},{"line_number":74,"context_line":"  find:"},{"line_number":75,"context_line":"    paths: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\""},{"line_number":76,"context_line":"    patterns: \"*.yaml\""},{"line_number":77,"context_line":"  delegate_to: localhost"},{"line_number":78,"context_line":"  register: ceilometer_dynamic_pollsters_folder_found_files"},{"line_number":79,"context_line":"  when: ceilometer_dynamic_pollsters_folder.stat.exists and ceilometer_dynamic_pollsters_folder.stat.isdir"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"1fa4df85_40562f09","line":76,"updated":"2020-02-24 12:55:30.000000000","message":"I would prefer to search here for yaml and yml","commit_id":"f2435faf34c0c47ac76f0a1336ed316731c80b59"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"b4a191dd104982b70bb82f34852c78808715666e","unresolved":false,"context_lines":[{"line_number":73,"context_line":"- name: Find all *.yaml files in dynamic pollsters definitions folder (if the folder exist)"},{"line_number":74,"context_line":"  find:"},{"line_number":75,"context_line":"    paths: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\""},{"line_number":76,"context_line":"    patterns: \"*.yaml\""},{"line_number":77,"context_line":"  delegate_to: localhost"},{"line_number":78,"context_line":"  register: ceilometer_dynamic_pollsters_folder_found_files"},{"line_number":79,"context_line":"  when: ceilometer_dynamic_pollsters_folder.stat.exists and ceilometer_dynamic_pollsters_folder.stat.isdir"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"1fa4df85_5b829e51","line":76,"in_reply_to":"1fa4df85_40562f09","updated":"2020-02-24 15:16:44.000000000","message":"Done","commit_id":"f2435faf34c0c47ac76f0a1336ed316731c80b59"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"1af8fb922d1eefd3f48ddd6383c4089a6c261167","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":99,"context_line":"    - item.value.enabled | bool"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"- name: Copying dynamic pollsters definitions to Ceilometer"},{"line_number":102,"context_line":"  copy:"},{"line_number":103,"context_line":"    src: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}/\""},{"line_number":104,"context_line":"    dest: \"{{ node_config_directory }}/{{ item.key }}/pollsters.d\""}],"source_content_type":"text/x-yaml","patch_set":10,"id":"1fa4df85_8075079b","line":101,"range":{"start_line":101,"start_character":45,"end_line":101,"end_character":59},"updated":"2020-02-24 12:55:30.000000000","message":"I think \"to Ceilometer\" can be removed","commit_id":"f2435faf34c0c47ac76f0a1336ed316731c80b59"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"b4a191dd104982b70bb82f34852c78808715666e","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":99,"context_line":"    - item.value.enabled | bool"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"- name: Copying dynamic pollsters definitions to Ceilometer"},{"line_number":102,"context_line":"  copy:"},{"line_number":103,"context_line":"    src: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}/\""},{"line_number":104,"context_line":"    dest: \"{{ node_config_directory }}/{{ item.key }}/pollsters.d\""}],"source_content_type":"text/x-yaml","patch_set":10,"id":"1fa4df85_1b94268b","line":101,"range":{"start_line":101,"start_character":45,"end_line":101,"end_character":59},"in_reply_to":"1fa4df85_8075079b","updated":"2020-02-24 15:16:44.000000000","message":"Done","commit_id":"f2435faf34c0c47ac76f0a1336ed316731c80b59"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"1af8fb922d1eefd3f48ddd6383c4089a6c261167","unresolved":false,"context_lines":[{"line_number":103,"context_line":"    src: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}/\""},{"line_number":104,"context_line":"    dest: \"{{ node_config_directory }}/{{ item.key }}/pollsters.d\""},{"line_number":105,"context_line":"    force: True"},{"line_number":106,"context_line":"    mode: \"0600\""},{"line_number":107,"context_line":"  become: true"},{"line_number":108,"context_line":"  when:"},{"line_number":109,"context_line":"    - should_copy_dynamic_pollster_definitions"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"1fa4df85_c049bf60","line":106,"updated":"2020-02-24 12:55:30.000000000","message":"Above, 0770 is used for the directory. Should 0660 be used here then?","commit_id":"f2435faf34c0c47ac76f0a1336ed316731c80b59"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"b4a191dd104982b70bb82f34852c78808715666e","unresolved":false,"context_lines":[{"line_number":103,"context_line":"    src: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}/\""},{"line_number":104,"context_line":"    dest: \"{{ node_config_directory }}/{{ item.key }}/pollsters.d\""},{"line_number":105,"context_line":"    force: True"},{"line_number":106,"context_line":"    mode: \"0600\""},{"line_number":107,"context_line":"  become: true"},{"line_number":108,"context_line":"  when:"},{"line_number":109,"context_line":"    - should_copy_dynamic_pollster_definitions"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"1fa4df85_dbe20e30","line":106,"in_reply_to":"1fa4df85_c049bf60","updated":"2020-02-24 15:16:44.000000000","message":"Done","commit_id":"f2435faf34c0c47ac76f0a1336ed316731c80b59"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"4af17b0b917c517c7c59b5d085ebe9e7127e4432","unresolved":false,"context_lines":[{"line_number":22,"context_line":"  set_fact:"},{"line_number":23,"context_line":"    custom_meter_folder_exist: \"{{ ceilometer_custom_meters_folder.stat.exists and ceilometer_custom_meters_folder.stat.isdir }}\""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"- name: Find all *.yaml files in custom meter definitions folder (if the folder exist)"},{"line_number":26,"context_line":"  find:"},{"line_number":27,"context_line":"    paths: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_custom_meters_local_folder }}\""},{"line_number":28,"context_line":"    patterns: \"*.yaml,*.yml\""}],"source_content_type":"text/x-yaml","patch_set":12,"id":"1fa4df85_579fc54f","line":25,"range":{"start_line":25,"start_character":17,"end_line":25,"end_character":23},"updated":"2020-02-25 08:09:32.000000000","message":"now this doesn\u0027t fit the patterns: argument","commit_id":"67c63f52481be5cf06d4699c59a25864d2f07b8f"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"30360a13a40f31e3949922ef893885a39669cc82","unresolved":false,"context_lines":[{"line_number":22,"context_line":"  set_fact:"},{"line_number":23,"context_line":"    custom_meter_folder_exist: \"{{ ceilometer_custom_meters_folder.stat.exists and ceilometer_custom_meters_folder.stat.isdir }}\""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"- name: Find all *.yaml files in custom meter definitions folder (if the folder exist)"},{"line_number":26,"context_line":"  find:"},{"line_number":27,"context_line":"    paths: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_custom_meters_local_folder }}\""},{"line_number":28,"context_line":"    patterns: \"*.yaml,*.yml\""}],"source_content_type":"text/x-yaml","patch_set":12,"id":"1fa4df85_caaf8792","line":25,"range":{"start_line":25,"start_character":17,"end_line":25,"end_character":23},"in_reply_to":"1fa4df85_579fc54f","updated":"2020-02-25 12:54:29.000000000","message":"I just checked the source code. Ceilometer only accepts *.yaml.","commit_id":"67c63f52481be5cf06d4699c59a25864d2f07b8f"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"4af17b0b917c517c7c59b5d085ebe9e7127e4432","unresolved":false,"context_lines":[{"line_number":63,"context_line":"  notify:"},{"line_number":64,"context_line":"    - \"Restart {{ item.key }} container\""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"- name: Check if the folder [\"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\"] for dynamic pollsters definitions exist"},{"line_number":67,"context_line":"  stat:"},{"line_number":68,"context_line":"    path: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\""},{"line_number":69,"context_line":"  delegate_to: localhost"},{"line_number":70,"context_line":"  register: ceilometer_dynamic_pollsters_folder"},{"line_number":71,"context_line":"  run_once: True"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"- name: Find all *.yaml files in dynamic pollsters definitions folder (if the folder exist)"},{"line_number":74,"context_line":"  find:"},{"line_number":75,"context_line":"    paths: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\""},{"line_number":76,"context_line":"    patterns: \"*.yaml\""},{"line_number":77,"context_line":"  delegate_to: localhost"},{"line_number":78,"context_line":"  register: ceilometer_dynamic_pollsters_folder_found_files"},{"line_number":79,"context_line":"  when: ceilometer_dynamic_pollsters_folder.stat.exists and ceilometer_dynamic_pollsters_folder.stat.isdir"},{"line_number":80,"context_line":"  run_once: True"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"- name: Set the variable that control the copy of dynamic pollsters definitions"},{"line_number":83,"context_line":"  set_fact:"},{"line_number":84,"context_line":"    should_copy_dynamic_pollster_definitions: \"{{ ceilometer_dynamic_pollsters_folder_found_files and ceilometer_dynamic_pollsters_folder_found_files.matched \u003e 0 }}\""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"- name: Create default folder for dynamic pollsters definitions"},{"line_number":87,"context_line":"  file:"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"1fa4df85_17d70df0","line":84,"range":{"start_line":66,"start_character":0,"end_line":84,"end_character":165},"updated":"2020-02-25 08:09:32.000000000","message":"All this magic is nice, but wouldn\u0027t it be easier if we introduced ceilometer_custom_dynamic_pollsters variable in group_vars/globals and wrote some documentation around how to use it? We\u0027re burning cycles on checking how many files are there in a directory...","commit_id":"67c63f52481be5cf06d4699c59a25864d2f07b8f"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"30360a13a40f31e3949922ef893885a39669cc82","unresolved":false,"context_lines":[{"line_number":63,"context_line":"  notify:"},{"line_number":64,"context_line":"    - \"Restart {{ item.key }} container\""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"- name: Check if the folder [\"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\"] for dynamic pollsters definitions exist"},{"line_number":67,"context_line":"  stat:"},{"line_number":68,"context_line":"    path: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\""},{"line_number":69,"context_line":"  delegate_to: localhost"},{"line_number":70,"context_line":"  register: ceilometer_dynamic_pollsters_folder"},{"line_number":71,"context_line":"  run_once: True"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"- name: Find all *.yaml files in dynamic pollsters definitions folder (if the folder exist)"},{"line_number":74,"context_line":"  find:"},{"line_number":75,"context_line":"    paths: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\""},{"line_number":76,"context_line":"    patterns: \"*.yaml\""},{"line_number":77,"context_line":"  delegate_to: localhost"},{"line_number":78,"context_line":"  register: ceilometer_dynamic_pollsters_folder_found_files"},{"line_number":79,"context_line":"  when: ceilometer_dynamic_pollsters_folder.stat.exists and ceilometer_dynamic_pollsters_folder.stat.isdir"},{"line_number":80,"context_line":"  run_once: True"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"- name: Set the variable that control the copy of dynamic pollsters definitions"},{"line_number":83,"context_line":"  set_fact:"},{"line_number":84,"context_line":"    should_copy_dynamic_pollster_definitions: \"{{ ceilometer_dynamic_pollsters_folder_found_files and ceilometer_dynamic_pollsters_folder_found_files.matched \u003e 0 }}\""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"- name: Create default folder for dynamic pollsters definitions"},{"line_number":87,"context_line":"  file:"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"1fa4df85_4ac2b735","line":84,"range":{"start_line":66,"start_character":0,"end_line":84,"end_character":165},"in_reply_to":"1fa4df85_17d70df0","updated":"2020-02-25 12:54:29.000000000","message":"I am not following your idea. Wouldn\u0027t I have to list all the files anyways, and execute the copy? Or, do you want to use a simple synchronization method between the folders?","commit_id":"67c63f52481be5cf06d4699c59a25864d2f07b8f"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"ecc77566122835bd5ae98cd9d5be8cae3918b9fa","unresolved":false,"context_lines":[{"line_number":63,"context_line":"  notify:"},{"line_number":64,"context_line":"    - \"Restart {{ item.key }} container\""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"- name: Check if the folder [\"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\"] for dynamic pollsters definitions exist"},{"line_number":67,"context_line":"  stat:"},{"line_number":68,"context_line":"    path: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\""},{"line_number":69,"context_line":"  delegate_to: localhost"},{"line_number":70,"context_line":"  register: ceilometer_dynamic_pollsters_folder"},{"line_number":71,"context_line":"  run_once: True"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"- name: Find all *.yaml files in dynamic pollsters definitions folder (if the folder exist)"},{"line_number":74,"context_line":"  find:"},{"line_number":75,"context_line":"    paths: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\""},{"line_number":76,"context_line":"    patterns: \"*.yaml\""},{"line_number":77,"context_line":"  delegate_to: localhost"},{"line_number":78,"context_line":"  register: ceilometer_dynamic_pollsters_folder_found_files"},{"line_number":79,"context_line":"  when: ceilometer_dynamic_pollsters_folder.stat.exists and ceilometer_dynamic_pollsters_folder.stat.isdir"},{"line_number":80,"context_line":"  run_once: True"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"- name: Set the variable that control the copy of dynamic pollsters definitions"},{"line_number":83,"context_line":"  set_fact:"},{"line_number":84,"context_line":"    should_copy_dynamic_pollster_definitions: \"{{ ceilometer_dynamic_pollsters_folder_found_files and ceilometer_dynamic_pollsters_folder_found_files.matched \u003e 0 }}\""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"- name: Create default folder for dynamic pollsters definitions"},{"line_number":87,"context_line":"  file:"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"1fa4df85_eabda368","line":84,"range":{"start_line":66,"start_character":0,"end_line":84,"end_character":165},"in_reply_to":"1fa4df85_4ac2b735","updated":"2020-02-25 13:14:20.000000000","message":"And where are you currently using the list of files as an argument to the copy command? You just copy them all.","commit_id":"67c63f52481be5cf06d4699c59a25864d2f07b8f"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"fdc552fd1c89799ed26e5e9e0d2b65c234276082","unresolved":false,"context_lines":[{"line_number":63,"context_line":"  notify:"},{"line_number":64,"context_line":"    - \"Restart {{ item.key }} container\""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"- name: Check if the folder [\"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\"] for dynamic pollsters definitions exist"},{"line_number":67,"context_line":"  stat:"},{"line_number":68,"context_line":"    path: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\""},{"line_number":69,"context_line":"  delegate_to: localhost"},{"line_number":70,"context_line":"  register: ceilometer_dynamic_pollsters_folder"},{"line_number":71,"context_line":"  run_once: True"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"- name: Find all *.yaml files in dynamic pollsters definitions folder (if the folder exist)"},{"line_number":74,"context_line":"  find:"},{"line_number":75,"context_line":"    paths: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}\""},{"line_number":76,"context_line":"    patterns: \"*.yaml\""},{"line_number":77,"context_line":"  delegate_to: localhost"},{"line_number":78,"context_line":"  register: ceilometer_dynamic_pollsters_folder_found_files"},{"line_number":79,"context_line":"  when: ceilometer_dynamic_pollsters_folder.stat.exists and ceilometer_dynamic_pollsters_folder.stat.isdir"},{"line_number":80,"context_line":"  run_once: True"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"- name: Set the variable that control the copy of dynamic pollsters definitions"},{"line_number":83,"context_line":"  set_fact:"},{"line_number":84,"context_line":"    should_copy_dynamic_pollster_definitions: \"{{ ceilometer_dynamic_pollsters_folder_found_files and ceilometer_dynamic_pollsters_folder_found_files.matched \u003e 0 }}\""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"- name: Create default folder for dynamic pollsters definitions"},{"line_number":87,"context_line":"  file:"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"1fa4df85_b0271a65","line":84,"range":{"start_line":66,"start_character":0,"end_line":84,"end_character":165},"in_reply_to":"1fa4df85_eabda368","updated":"2020-02-25 14:41:35.000000000","message":"Got it. Done.","commit_id":"67c63f52481be5cf06d4699c59a25864d2f07b8f"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"a5c1f2f0b8d18bbbf6c565258b0f081e48dfa2bc","unresolved":false,"context_lines":[{"line_number":85,"context_line":"  with_dict: \"{{ ceilometer_services }}\""},{"line_number":86,"context_line":"  when:"},{"line_number":87,"context_line":"    - should_copy_dynamic_pollster_definitions"},{"line_number":88,"context_line":"    - \"{{ ceilometer-central \u003d\u003d item.value.group }}\""},{"line_number":89,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":90,"context_line":"    - item.value.enabled | bool"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"df33271e_46504d0b","line":88,"range":{"start_line":88,"start_character":6,"end_line":88,"end_character":52},"updated":"2020-03-26 14:48:32.000000000","message":"Don\u0027t need {{ }} for when. Also, this is invalid - ceilometer-central needs quotes. It would be more clear to check the item.key, rather than the group. Or better, avoid the loop and do this once.","commit_id":"f9611c75dc58c8088f021cda55312a5548c08479"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"3af0f29de1bc2bb62963a85e74dbd4c7d2e73891","unresolved":false,"context_lines":[{"line_number":85,"context_line":"  with_dict: \"{{ ceilometer_services }}\""},{"line_number":86,"context_line":"  when:"},{"line_number":87,"context_line":"    - should_copy_dynamic_pollster_definitions"},{"line_number":88,"context_line":"    - \"{{ ceilometer-central \u003d\u003d item.value.group }}\""},{"line_number":89,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":90,"context_line":"    - item.value.enabled | bool"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"df33271e_c46455e8","line":88,"range":{"start_line":88,"start_character":6,"end_line":88,"end_character":52},"in_reply_to":"df33271e_46504d0b","updated":"2020-03-26 16:10:28.000000000","message":"Done","commit_id":"f9611c75dc58c8088f021cda55312a5548c08479"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"a5c1f2f0b8d18bbbf6c565258b0f081e48dfa2bc","unresolved":false,"context_lines":[{"line_number":90,"context_line":"    - item.value.enabled | bool"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"- name: Copying dynamic pollsters definitions"},{"line_number":93,"context_line":"  synchronize:"},{"line_number":94,"context_line":"    src: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}/\""},{"line_number":95,"context_line":"    dest: \"{{ node_config_directory }}/{{ item.key }}/pollsters.d\""},{"line_number":96,"context_line":"    mode: \"push\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"df33271e_d308a12e","line":93,"range":{"start_line":93,"start_character":2,"end_line":93,"end_character":13},"updated":"2020-03-26 14:48:32.000000000","message":"We don\u0027t generally use synchronise as it requires rsync.","commit_id":"f9611c75dc58c8088f021cda55312a5548c08479"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"3af0f29de1bc2bb62963a85e74dbd4c7d2e73891","unresolved":false,"context_lines":[{"line_number":90,"context_line":"    - item.value.enabled | bool"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"- name: Copying dynamic pollsters definitions"},{"line_number":93,"context_line":"  synchronize:"},{"line_number":94,"context_line":"    src: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}/\""},{"line_number":95,"context_line":"    dest: \"{{ node_config_directory }}/{{ item.key }}/pollsters.d\""},{"line_number":96,"context_line":"    mode: \"push\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"df33271e_44d5e542","line":93,"range":{"start_line":93,"start_character":2,"end_line":93,"end_character":13},"in_reply_to":"df33271e_d308a12e","updated":"2020-03-26 16:10:28.000000000","message":"Done","commit_id":"f9611c75dc58c8088f021cda55312a5548c08479"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"59e5ab665c94eacb3687ab925e1f65729af643c1","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"- name: Clean default folder for dynamic pollsters definitions"},{"line_number":78,"context_line":"  file:"},{"line_number":79,"context_line":"    state: absent"},{"line_number":80,"context_line":"    path: \"{{ node_config_directory }}/ceilometer-central/pollsters.d/\""},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"- name: Create default folder for dynamic pollsters definitions"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"df33271e_6d20bcb1","line":79,"range":{"start_line":79,"start_character":11,"end_line":79,"end_character":17},"updated":"2020-03-27 13:45:34.000000000","message":"This will make it non-idempotent - the copy will happen every time.","commit_id":"dc0ba649520c04bc2af049bfc7f3a63b4314167b"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"e28f05d43a8089aac6cccd29a8bd6b28e71ad889","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"- name: Clean default folder for dynamic pollsters definitions"},{"line_number":78,"context_line":"  file:"},{"line_number":79,"context_line":"    state: absent"},{"line_number":80,"context_line":"    path: \"{{ node_config_directory }}/ceilometer-central/pollsters.d/\""},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"- name: Create default folder for dynamic pollsters definitions"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"df33271e_c83616e7","line":79,"range":{"start_line":79,"start_character":11,"end_line":79,"end_character":17},"in_reply_to":"df33271e_6d20bcb1","updated":"2020-03-27 14:18:17.000000000","message":"That is the idea. Otherwise, we will not remove the \"removed\" pollster configuration from the source folder. When using the sync method, we would not need to care about that. Do you proposed something else?","commit_id":"dc0ba649520c04bc2af049bfc7f3a63b4314167b"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"82ea271c47c092d5acef8abb5ac4709e4a33867f","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"- name: Clean default folder for dynamic pollsters definitions"},{"line_number":78,"context_line":"  file:"},{"line_number":79,"context_line":"    state: absent"},{"line_number":80,"context_line":"    path: \"{{ node_config_directory }}/ceilometer-central/pollsters.d/\""},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"- name: Create default folder for dynamic pollsters definitions"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"1f493fa4_2952edde","line":79,"range":{"start_line":79,"start_character":11,"end_line":79,"end_character":17},"in_reply_to":"df33271e_c83616e7","updated":"2020-04-28 11:41:48.000000000","message":"My preference would be to just keep it simple and use a recursive copy, as we do in other places. If we improve on that pattern via sync or some other method, it should be done everywhere.\n\nThat said, if you really do want this then I prefer losing idempotency to adding a dependency on sync at this point.","commit_id":"dc0ba649520c04bc2af049bfc7f3a63b4314167b"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"59e5ab665c94eacb3687ab925e1f65729af643c1","unresolved":false,"context_lines":[{"line_number":90,"context_line":"  when:"},{"line_number":91,"context_line":"    - should_copy_dynamic_pollster_definitions"},{"line_number":92,"context_line":"    - inventory_hostname in groups[\u0027ceilometer-central\u0027]"},{"line_number":93,"context_line":"    - item.value.enabled | bool"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"- name: Copying dynamic pollsters definitions"},{"line_number":96,"context_line":"  copy:"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"df33271e_ad2ac48c","line":93,"range":{"start_line":93,"start_character":6,"end_line":93,"end_character":10},"updated":"2020-03-27 13:45:34.000000000","message":"item doesn\u0027t exist - you removed the loop\n\nPlease test these patches, since we don\u0027t have CI for ceilometer.","commit_id":"dc0ba649520c04bc2af049bfc7f3a63b4314167b"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"e28f05d43a8089aac6cccd29a8bd6b28e71ad889","unresolved":false,"context_lines":[{"line_number":90,"context_line":"  when:"},{"line_number":91,"context_line":"    - should_copy_dynamic_pollster_definitions"},{"line_number":92,"context_line":"    - inventory_hostname in groups[\u0027ceilometer-central\u0027]"},{"line_number":93,"context_line":"    - item.value.enabled | bool"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"- name: Copying dynamic pollsters definitions"},{"line_number":96,"context_line":"  copy:"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"df33271e_285b422e","line":93,"range":{"start_line":93,"start_character":6,"end_line":93,"end_character":10},"in_reply_to":"df33271e_ad2ac48c","updated":"2020-03-27 14:18:17.000000000","message":"sorry for this one.\nDone.","commit_id":"dc0ba649520c04bc2af049bfc7f3a63b4314167b"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"59e5ab665c94eacb3687ab925e1f65729af643c1","unresolved":false,"context_lines":[{"line_number":96,"context_line":"  copy:"},{"line_number":97,"context_line":"    src: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}/\""},{"line_number":98,"context_line":"    dest: \"{{ node_config_directory }}/{{ item.key }}/pollsters.d/\""},{"line_number":99,"context_line":"    force: True"},{"line_number":100,"context_line":"    mode: \"0660\""},{"line_number":101,"context_line":"  become: true"},{"line_number":102,"context_line":"  when:"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"df33271e_8d0ee038","line":99,"range":{"start_line":99,"start_character":4,"end_line":99,"end_character":9},"updated":"2020-03-27 13:45:34.000000000","message":"This is the default.","commit_id":"dc0ba649520c04bc2af049bfc7f3a63b4314167b"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"e28f05d43a8089aac6cccd29a8bd6b28e71ad889","unresolved":false,"context_lines":[{"line_number":96,"context_line":"  copy:"},{"line_number":97,"context_line":"    src: \"{{ node_custom_config }}/ceilometer/{{ ceilometer_dynamic_pollsters_local_folder }}/\""},{"line_number":98,"context_line":"    dest: \"{{ node_config_directory }}/{{ item.key }}/pollsters.d/\""},{"line_number":99,"context_line":"    force: True"},{"line_number":100,"context_line":"    mode: \"0660\""},{"line_number":101,"context_line":"  become: true"},{"line_number":102,"context_line":"  when:"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"df33271e_886a4eb0","line":99,"range":{"start_line":99,"start_character":4,"end_line":99,"end_character":9},"in_reply_to":"df33271e_8d0ee038","updated":"2020-03-27 14:18:17.000000000","message":"Done","commit_id":"dc0ba649520c04bc2af049bfc7f3a63b4314167b"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"59e5ab665c94eacb3687ab925e1f65729af643c1","unresolved":false,"context_lines":[{"line_number":102,"context_line":"  when:"},{"line_number":103,"context_line":"    - should_copy_dynamic_pollster_definitions"},{"line_number":104,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":105,"context_line":"    - \"{{ ceilometer-central \u003d\u003d item.value.group }}\""},{"line_number":106,"context_line":"    - item.value.enabled | bool"},{"line_number":107,"context_line":"  with_dict: \"{{ ceilometer_services }}\""},{"line_number":108,"context_line":"  notify:"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"df33271e_ad03e40e","line":105,"range":{"start_line":105,"start_character":6,"end_line":105,"end_character":52},"updated":"2020-03-27 13:45:34.000000000","message":"Same issue as above","commit_id":"dc0ba649520c04bc2af049bfc7f3a63b4314167b"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"e28f05d43a8089aac6cccd29a8bd6b28e71ad889","unresolved":false,"context_lines":[{"line_number":102,"context_line":"  when:"},{"line_number":103,"context_line":"    - should_copy_dynamic_pollster_definitions"},{"line_number":104,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":105,"context_line":"    - \"{{ ceilometer-central \u003d\u003d item.value.group }}\""},{"line_number":106,"context_line":"    - item.value.enabled | bool"},{"line_number":107,"context_line":"  with_dict: \"{{ ceilometer_services }}\""},{"line_number":108,"context_line":"  notify:"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"df33271e_68654ae1","line":105,"range":{"start_line":105,"start_character":6,"end_line":105,"end_character":52},"in_reply_to":"df33271e_ad03e40e","updated":"2020-03-27 14:18:17.000000000","message":"Done","commit_id":"dc0ba649520c04bc2af049bfc7f3a63b4314167b"}],"ansible/roles/ceilometer/templates/ceilometer-central.json.j2":[{"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":"b46c489c43626efb3cf7c813e20aee5b06ff9791","unresolved":false,"context_lines":[{"line_number":30,"context_line":"            \"dest\": \"/etc/ceilometer/meters.d\","},{"line_number":31,"context_line":"            \"owner\": \"ceilometer\","},{"line_number":32,"context_line":"            \"perm\": \"0700\""},{"line_number":33,"context_line":"        }{% endif %}{% if ceilometer_dynamic_pollsters_folder_found_files is defined and ceilometer_dynamic_pollsters_folder_found_files.matched \u003e 0 %},"},{"line_number":34,"context_line":"        {"},{"line_number":35,"context_line":"            \"source\": \"{{ container_config_directory }}/{{ ceilometer_dynamic_pollsters_local_folder }}\","},{"line_number":36,"context_line":"            \"dest\": \"/etc/ceilometer/pollsters.d\","}],"source_content_type":"text/x-jinja2","patch_set":9,"id":"3fa7e38b_12974692","line":33,"range":{"start_line":33,"start_character":27,"end_line":33,"end_character":151},"updated":"2019-11-25 11:51:46.000000000","message":"ditto","commit_id":"8db0f2f785a41bfe6bd2abb510f51a039c39cac5"},{"author":{"_account_id":28356,"name":"Rafael Weingartner","email":"rafael@apache.org","username":"rafaelweingartner"},"change_message_id":"b28c5c2e3042678ff54859467648f5c9e51e7567","unresolved":false,"context_lines":[{"line_number":30,"context_line":"            \"dest\": \"/etc/ceilometer/meters.d\","},{"line_number":31,"context_line":"            \"owner\": \"ceilometer\","},{"line_number":32,"context_line":"            \"perm\": \"0700\""},{"line_number":33,"context_line":"        }{% endif %}{% if ceilometer_dynamic_pollsters_folder_found_files is defined and ceilometer_dynamic_pollsters_folder_found_files.matched \u003e 0 %},"},{"line_number":34,"context_line":"        {"},{"line_number":35,"context_line":"            \"source\": \"{{ container_config_directory }}/{{ ceilometer_dynamic_pollsters_local_folder }}\","},{"line_number":36,"context_line":"            \"dest\": \"/etc/ceilometer/pollsters.d\","}],"source_content_type":"text/x-jinja2","patch_set":9,"id":"3fa7e38b_922d7647","line":33,"range":{"start_line":33,"start_character":27,"end_line":33,"end_character":151},"in_reply_to":"3fa7e38b_12974692","updated":"2019-11-25 12:01:54.000000000","message":"Done","commit_id":"8db0f2f785a41bfe6bd2abb510f51a039c39cac5"}],"releasenotes/notes/manage_dynamic_pollster_configs-14bd3b6775e6a07a.yaml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"a5c1f2f0b8d18bbbf6c565258b0f081e48dfa2bc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Add support for managing dynamic pollster configuration in"},{"line_number":5,"context_line":"    Kolla-ansible. This feature will look for configurations in"},{"line_number":6,"context_line":"    ``{{ node_custom_config }}/ceilometer/pollster.d/`` by default."},{"line_number":7,"context_line":"    If there are configs there, they are copied to the control nodes,"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"df33271e_865a5527","line":4,"range":{"start_line":4,"start_character":28,"end_line":4,"end_character":29},"updated":"2020-03-26 14:48:32.000000000","message":"Ceilometer","commit_id":"f9611c75dc58c8088f021cda55312a5548c08479"}]}
