)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"48a87485f91c3b3905928e42327e6c498d7fbb77","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4d5a7b47_f3d9501c","updated":"2023-04-28 00:30:03.000000000","message":"I think it\u0027s worth going with this because \u0027*\u0027 in names is just asking for trouble.  I\u0027ll monitor it","commit_id":"1e2ea795c295f4076c1216bce183468e8bfb40f2"}],"playbooks/roles/logrotate/tasks/main.yaml":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"d9e9bdee2de6e1ff344a476583bd7537dcfb893f","unresolved":true,"context_lines":[{"line_number":15,"context_line":"  when: logrotate_frequency \u003d\u003d \u0027size\u0027"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"# Hash the full path to avoid any conflicts but remain idempotent."},{"line_number":18,"context_line":"# \"/var/log/ansible/ansible.log\" becomes \"ansible.log.37237.conf\" for example"},{"line_number":19,"context_line":"- name: Create a unique config name"},{"line_number":20,"context_line":"  set_fact:"},{"line_number":21,"context_line":"    logrotate_generated_config_file_name: \"{{ logrotate_file_name | basename }}.{{ (logrotate_file_name|hash(\u0027sha1\u0027))[0:5] }}.conf\""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"3b93ab21_3275764c","side":"PARENT","line":18,"range":{"start_line":18,"start_character":42,"end_line":18,"end_character":64},"updated":"2023-02-13 17:52:15.000000000","message":"We have a testinfra test that asserts this file is created which is why this change fails. Need to update that test to look for the new hashed path.","commit_id":"56610a10d16996c2c28c0550f66c1d07a88d1c51"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"e43745b14646e23e25b596cad7ee8e86170371d4","unresolved":false,"context_lines":[{"line_number":15,"context_line":"  when: logrotate_frequency \u003d\u003d \u0027size\u0027"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"# Hash the full path to avoid any conflicts but remain idempotent."},{"line_number":18,"context_line":"# \"/var/log/ansible/ansible.log\" becomes \"ansible.log.37237.conf\" for example"},{"line_number":19,"context_line":"- name: Create a unique config name"},{"line_number":20,"context_line":"  set_fact:"},{"line_number":21,"context_line":"    logrotate_generated_config_file_name: \"{{ logrotate_file_name | basename }}.{{ (logrotate_file_name|hash(\u0027sha1\u0027))[0:5] }}.conf\""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"bac06fb5_4f6d9323","side":"PARENT","line":18,"range":{"start_line":18,"start_character":42,"end_line":18,"end_character":64},"in_reply_to":"3b93ab21_3275764c","updated":"2023-02-13 20:34:43.000000000","message":"Done","commit_id":"56610a10d16996c2c28c0550f66c1d07a88d1c51"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"c41cc548f8b4a9b9c641f014b4842655c3532352","unresolved":true,"context_lines":[{"line_number":22,"context_line":"    # dropped using the file-name component.  After we\u0027ve removed them"},{"line_number":23,"context_line":"    # we can drop this."},{"line_number":24,"context_line":"    _old_logrotate_generated_config_file_name: \"{{ logrotate_file_name | basename }}.{{ (logrotate_file_name|hash(\u0027sha1\u0027))[0:5] }}.conf\""},{"line_number":25,"context_line":"    logrotate_generated_config_file_name:  \"{{ (logrotate_file_name | hash(\u0027sha1\u0027))[0:6] }}.conf\""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"- name: Clear out potentially confusing config files"},{"line_number":28,"context_line":"  file:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"59992ccb_5eae37de","line":25,"range":{"start_line":25,"start_character":76,"end_line":25,"end_character":80},"updated":"2023-02-13 17:49:32.000000000","message":"Nit with things moving away from sha1 should we use sha2 just to prevent people complaining later?","commit_id":"a7f8a81935c36ec4be4b04881e5c1bbd09979aef"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"e43745b14646e23e25b596cad7ee8e86170371d4","unresolved":true,"context_lines":[{"line_number":22,"context_line":"    # dropped using the file-name component.  After we\u0027ve removed them"},{"line_number":23,"context_line":"    # we can drop this."},{"line_number":24,"context_line":"    _old_logrotate_generated_config_file_name: \"{{ logrotate_file_name | basename }}.{{ (logrotate_file_name|hash(\u0027sha1\u0027))[0:5] }}.conf\""},{"line_number":25,"context_line":"    logrotate_generated_config_file_name:  \"{{ (logrotate_file_name | hash(\u0027sha1\u0027))[0:6] }}.conf\""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"- name: Clear out potentially confusing config files"},{"line_number":28,"context_line":"  file:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"3c995933_2c48bd29","line":25,"range":{"start_line":25,"start_character":76,"end_line":25,"end_character":80},"in_reply_to":"59992ccb_5eae37de","updated":"2023-02-13 20:34:43.000000000","message":"I think the chance of a path name colliding is probably sufficiently small that we can use whatever we want here","commit_id":"a7f8a81935c36ec4be4b04881e5c1bbd09979aef"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"c41cc548f8b4a9b9c641f014b4842655c3532352","unresolved":true,"context_lines":[{"line_number":27,"context_line":"- name: Clear out potentially confusing config files"},{"line_number":28,"context_line":"  file:"},{"line_number":29,"context_line":"    state: absent"},{"line_number":30,"context_line":"    path: \u0027{{ _old_logrotate_generated_config_file_name }}\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"- name: \u0027Install {{ logrotate_file_name }} rotatation config file\u0027"},{"line_number":33,"context_line":"  template:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"434fce42_b3a0e4b4","line":30,"updated":"2023-02-13 17:49:32.000000000","message":"The commit message rightly indicates that * in filenames can be problematic. Ansible should be ok with removing files with *\u0027s in their name because ansible shouldn\u0027t be using a shell to remove files. Do we need to test this explicitly given the pain if it goes wrong?","commit_id":"a7f8a81935c36ec4be4b04881e5c1bbd09979aef"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"e43745b14646e23e25b596cad7ee8e86170371d4","unresolved":true,"context_lines":[{"line_number":27,"context_line":"- name: Clear out potentially confusing config files"},{"line_number":28,"context_line":"  file:"},{"line_number":29,"context_line":"    state: absent"},{"line_number":30,"context_line":"    path: \u0027{{ _old_logrotate_generated_config_file_name }}\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"- name: \u0027Install {{ logrotate_file_name }} rotatation config file\u0027"},{"line_number":33,"context_line":"  template:"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"d052f6ee_c9a868b9","line":30,"in_reply_to":"434fce42_b3a0e4b4","updated":"2023-02-13 20:34:43.000000000","message":"I\u0027m fairly confident seeing as it has created the file that it will remove it.  There\u0027s no globbing going on in the file: path: interpretation.  I was more worried about interactive use, where we miss something and suddenly have a unqouted * in a rm command or something.","commit_id":"a7f8a81935c36ec4be4b04881e5c1bbd09979aef"}]}
