)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"812986b57ee2d06c80ec533e4bf8497ee59b8b54","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Simplify cron jobs for log rotate."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"There was a lot of repetitive code for the cron templates for"},{"line_number":10,"context_line":"logrotate, but they were also fairly infrequently overriden from"},{"line_number":11,"context_line":"the default. Let\u0027s DRY up this code by having a default template"},{"line_number":12,"context_line":"and only overriding it when required."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"aa841fd2_907b1db9","line":9,"range":{"start_line":9,"start_character":30,"end_line":9,"end_character":34},"updated":"2025-12-01 19:04:33.000000000","message":"you\u0027ve changed templates not code ;)","commit_id":"98bd73efc8c26ab2fb00197ca6948875556d30d9"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"3af9eca97859c123ae08992e99eb060df3b7805c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Simplify cron jobs for log rotate."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"There was a lot of repetitive code for the cron templates for"},{"line_number":10,"context_line":"logrotate, but they were also fairly infrequently overriden from"},{"line_number":11,"context_line":"the default. Let\u0027s DRY up this code by having a default template"},{"line_number":12,"context_line":"and only overriding it when required."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"e99b28c9_c03ab8ab","line":9,"range":{"start_line":9,"start_character":30,"end_line":9,"end_character":34},"in_reply_to":"aa841fd2_907b1db9","updated":"2025-12-02 19:04:37.000000000","message":"Acknowledged","commit_id":"98bd73efc8c26ab2fb00197ca6948875556d30d9"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"e827091f914664a267dab8cf1e84f5222653629a","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"a69c7362_72bd6b06","updated":"2025-12-01 19:03:22.000000000","message":"interesting solution, but if we want to customize any services logrotate?","commit_id":"98bd73efc8c26ab2fb00197ca6948875556d30d9"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"f3794bb22855130ba4a293aeb8a072615dc6209e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"6914aa43_e6d391ed","in_reply_to":"87d45375_3e722625","updated":"2025-12-02 21:38:23.000000000","message":"Acknowledged","commit_id":"98bd73efc8c26ab2fb00197ca6948875556d30d9"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"3af9eca97859c123ae08992e99eb060df3b7805c","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"87d45375_3e722625","in_reply_to":"a69c7362_72bd6b06","updated":"2025-12-02 19:04:37.000000000","message":"There is an example of overriding the default template in this review -- well sort of. The change leaves kolla-ansible/ansible/roles/cron/templates/cron-logrotate-neutron.conf.j2 unchanged, and jinja should use the more specific template (the one with the service name in its filename) if it exists. It will only use the more generic template if the first option in the list is not found.","commit_id":"98bd73efc8c26ab2fb00197ca6948875556d30d9"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"37acee53ad941b74d3554b01f1f32b2a4e34f898","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"2d22e5af_cd8004fa","updated":"2025-12-03 18:33:35.000000000","message":"I am happy enough to write a reno and update docs for this change, but I will need some hints. Given the change doesn\u0027t change the \"user interface\" of these templates, I am unsure what you would actually like to me say. I\u0027m also unsure where in the docs things like templates are covered. Do deployers actually customize these at all at the moment? If so how?\n\nMy mental model for this change is that it is an internal refactor with no impact on deployers. Is that somehow incorrect?","commit_id":"af1f2110079405ee1c48f76087e8b5278cf32873"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"6c3f61e48af8d97d83910624d176928d7c2f89f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ce24fa33_e2e5269c","updated":"2025-12-03 18:46:37.000000000","message":"No reno needed, nothing changes for users from what I see.","commit_id":"af1f2110079405ee1c48f76087e8b5278cf32873"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"6861a64cdd4691e5f56a6dccca73ec9456aa215d","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"fed9cb8d_63af02a0","updated":"2025-12-03 18:36:22.000000000","message":"just for refactoring. but lets see other opinions.","commit_id":"af1f2110079405ee1c48f76087e8b5278cf32873"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"f3794bb22855130ba4a293aeb8a072615dc6209e","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"f9ad4e50_019bf9b9","updated":"2025-12-02 21:38:23.000000000","message":"lack of reno and customisation examples in the docs","commit_id":"af1f2110079405ee1c48f76087e8b5278cf32873"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"87d552e3a09d9703d2f99ea19f3abf141ec2be47","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"cf46af4c_9cad5ecd","in_reply_to":"ce24fa33_e2e5269c","updated":"2025-12-03 19:08:12.000000000","message":"OK, let\u0027s merge it as a simple refactoring.","commit_id":"af1f2110079405ee1c48f76087e8b5278cf32873"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"87d552e3a09d9703d2f99ea19f3abf141ec2be47","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"fd842501_ef151a18","in_reply_to":"f9ad4e50_019bf9b9","updated":"2025-12-03 19:08:12.000000000","message":"Done","commit_id":"af1f2110079405ee1c48f76087e8b5278cf32873"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"87d552e3a09d9703d2f99ea19f3abf141ec2be47","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"97cd225b_79c85843","in_reply_to":"fed9cb8d_63af02a0","updated":"2025-12-03 19:08:12.000000000","message":"Done","commit_id":"af1f2110079405ee1c48f76087e8b5278cf32873"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"e9771b2a1655718ef8515282c5c244855fd17ad0","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"858e49d4_609b2ecf","updated":"2025-12-10 10:13:03.000000000","message":"+1 as the patch looks good to me. However, I don\u0027t think this relies on the other patches in the relation chain. Could you submit it separated?","commit_id":"590ea35db9541451a776d6bb5adc9499783b7d3e"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"de70ccbe66c0e17deb757551df6fbb4d33eaab98","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"bbe170d8_e695a4bc","in_reply_to":"071b54e1_567915eb","updated":"2026-01-18 18:16:07.000000000","message":"Done","commit_id":"590ea35db9541451a776d6bb5adc9499783b7d3e"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"c9bcd5c1d669f2246f1cf124efd861af73be8880","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"071b54e1_567915eb","in_reply_to":"858e49d4_609b2ecf","updated":"2025-12-10 18:33:11.000000000","message":"You\u0027re right that the only thing which relates the patches in this series is that they\u0027re a stream of work getting to an endpoint (spice-direct consoles now being supported in Kolla-Ansible).\n\nI can separate out this one, but honestly I was hoping to have this batch merged sooner rather than later so I can get onto proposing the next batch. I am trying to not have too many patches in flight in gerrit at one time to reduce confusion (both review and rebasing from me).","commit_id":"590ea35db9541451a776d6bb5adc9499783b7d3e"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"52c71ead24ca55e690b1398bc9bea2be1b3118cd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"48d025bd_1cc99aa2","updated":"2026-02-16 03:48:28.000000000","message":"Sadly this one has now sat long enough that it now does need to be dragged back into the spice-direct topic, or otherwise I cannot upload the next patch in the series that depends upon this one.","commit_id":"7058da05c300b371deb4563b51d6a2742397b4b4"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"0402bbc629920a8a9a192af92cc25401840b2f4a","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":17,"id":"7977dc44_b82e07a7","updated":"2026-03-25 11:18:18.000000000","message":"First of all, we need to fix the triggers to at least trigger aio jobs on ansible/roles/cron, second of all - won\u0027t we have some leftover files from previous approach?","commit_id":"cc7de6715cfb1a499ff8fea25070b80ce84ba00c"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"22c718c227d12253ec32a1da8c0c590b04d69904","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"9ee95517_af8a808e","in_reply_to":"70421468_fdf251ef","updated":"2026-04-08 10:19:32.000000000","message":"Thanks Michael, for me I\u0027m happy with seeing CI write out logrotate.conf, which looks good to me now.","commit_id":"cc7de6715cfb1a499ff8fea25070b80ce84ba00c"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"e216c79eda4ef70a9d6d11f0efed2d7185dcfd69","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":17,"id":"915729c2_79824285","in_reply_to":"7977dc44_b82e07a7","updated":"2026-03-25 11:20:02.000000000","message":"Ah, no leftover files because we included them in the global template, but still we need some CI to run","commit_id":"cc7de6715cfb1a499ff8fea25070b80ce84ba00c"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"55af6f21f71c850b8a95bc0e22c3b798d550eaec","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":17,"id":"a01ad647_a498ac2e","in_reply_to":"915729c2_79824285","updated":"2026-04-02 13:40:02.000000000","message":"Agree - the change looks good to me, but I\u0027d like to see it functionally tested in CI","commit_id":"cc7de6715cfb1a499ff8fea25070b80ce84ba00c"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"9eaaa2db8452cbd7207c5680051b67988b9c7487","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":17,"id":"70421468_fdf251ef","in_reply_to":"a01ad647_a498ac2e","updated":"2026-04-02 19:46:21.000000000","message":"I am unsure what is meant by \"tested in CI\" here. Is there some way I can test if logrotate works in tempest?","commit_id":"cc7de6715cfb1a499ff8fea25070b80ce84ba00c"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"43d1882669274c457f919266a8bcdd8a26a3c60f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"8ef8a892_40350041","updated":"2026-04-02 13:47:21.000000000","message":"Waiting for CI, hopefully AIO runs now. I also rebased on master.","commit_id":"cc144ec464c9d5dfbbdcc2d85a3106df39470994"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"6c1cf55eee987f1c9f4dba3c69f0a3627c239c35","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"250139fb_ed307c8e","updated":"2026-04-02 15:19:59.000000000","message":"nit: Looks like we\u0027ve lost the newline:\n\n```\n\"/var/log/kolla/ansible.log\"\n{\n}\"/var/log/kolla/fluentd/*.log\"\n{\n}\"/var/log/kolla/glance/*.log\"\n{\n}\"/var/log/kolla/haproxy/*.log\"\n{\n}\"/var/log/kolla/heat/*.log\"\n{\n}\"/var/log/kolla/horizon/*.log\"\n{\n}\"/var/log/kolla/keystone/*.log\"\n{\n}\"/var/log/kolla/mariadb/*.log\"\n{\n}\"/var/log/kolla/neutron/*.log\"\n{\n    postrotate\n        chmod 644 /var/log/kolla/neutron/*.log\n    endscript\n}\"/var/log/kolla/nova/*.log\"\n{\n}\"/var/log/kolla/libvirt/*.log\"\n{\n}\"/var/log/kolla/openvswitch/*.log\"\n{\n}\"/var/log/kolla/placement/*.log\"\n{\n}\"/var/log/kolla/proxysql/*.log\"\n{\n}\"/var/log/kolla/rabbitmq/*.log\"\n{\n}\n```","commit_id":"cc144ec464c9d5dfbbdcc2d85a3106df39470994"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"c6f16faaceb474c5ca674f14eb3f60e288443f9c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"1b34d4b4_962aeb7e","in_reply_to":"250139fb_ed307c8e","updated":"2026-04-02 20:36:22.000000000","message":"Hopefully now fixed.","commit_id":"cc144ec464c9d5dfbbdcc2d85a3106df39470994"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"22c718c227d12253ec32a1da8c0c590b04d69904","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"e36b859d_7cd72b20","updated":"2026-04-08 10:19:32.000000000","message":"Looks good to me, many thanks","commit_id":"d0e7c7b62d3935d65c0041fd021975ab8df2cb13"}],"ansible/roles/cron/templates/cron-logrotate-global.conf.j2":[{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"3af9eca97859c123ae08992e99eb060df3b7805c","unresolved":true,"context_lines":[{"line_number":19,"context_line":"su root kolla"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"{% for service in cron_logrotate_enabled_services %}"},{"line_number":22,"context_line":"{% include [\"cron-logrotate-\" ~ service ~ \".conf.j2\", \"cron-logrotate-default.conf.j2\"] %}"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"{% endfor %}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"02f6aee5_839ef1ab","line":22,"updated":"2025-12-02 19:04:37.000000000","message":"This is a list of templates to search for. So, if \"cron-logrotate-{{ service }}.cron.j2\" exists, it will be used. Otherwise we fall back to the more generic \"cron-logrotate-default.conf.j2\".","commit_id":"98bd73efc8c26ab2fb00197ca6948875556d30d9"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"f3794bb22855130ba4a293aeb8a072615dc6209e","unresolved":false,"context_lines":[{"line_number":19,"context_line":"su root kolla"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"{% for service in cron_logrotate_enabled_services %}"},{"line_number":22,"context_line":"{% include [\"cron-logrotate-\" ~ service ~ \".conf.j2\", \"cron-logrotate-default.conf.j2\"] %}"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"{% endfor %}"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"0ca0e7ed_d5eaf64f","line":22,"in_reply_to":"02f6aee5_839ef1ab","updated":"2025-12-02 21:38:23.000000000","message":"Acknowledged","commit_id":"98bd73efc8c26ab2fb00197ca6948875556d30d9"}],"ansible/roles/cron/templates/cron-logrotate-nova-libvirt.conf.j2":[{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"7ca8b3ec44206fdde133102fb8512cc030d15c36","unresolved":true,"context_lines":[{"line_number":1,"context_line":"\"/var/log/kolla/libvirt/*.log\""},{"line_number":2,"context_line":"{"},{"line_number":3,"context_line":"}"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"0ae80e87_ebfca281","side":"PARENT","line":1,"updated":"2025-12-09 11:45:59.000000000","message":"It looks like we\u0027ll loose libvirt log rotation here, as the `service` is `nova-libvirt` while the logs directory is just `libvirt`?","commit_id":"2685c2cdf395358989754fd323f42ebbb01474a7"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"2c25be1790bba3e8f92b2cab2ca4e00455cee302","unresolved":true,"context_lines":[{"line_number":1,"context_line":"\"/var/log/kolla/libvirt/*.log\""},{"line_number":2,"context_line":"{"},{"line_number":3,"context_line":"}"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"4b4e6d3e_278a6910","side":"PARENT","line":1,"in_reply_to":"0ae80e87_ebfca281","updated":"2025-12-10 04:33:31.000000000","message":"Good catch, thank you. I will restore this one as an override.","commit_id":"2685c2cdf395358989754fd323f42ebbb01474a7"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"e9771b2a1655718ef8515282c5c244855fd17ad0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\"/var/log/kolla/libvirt/*.log\""},{"line_number":2,"context_line":"{"},{"line_number":3,"context_line":"}"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"4816de5e_70550ce6","side":"PARENT","line":1,"in_reply_to":"4b4e6d3e_278a6910","updated":"2025-12-10 10:13:03.000000000","message":"Thanks!","commit_id":"2685c2cdf395358989754fd323f42ebbb01474a7"}],"ansible/roles/cron/templates/cron-logrotate-opensearch-dashboards.conf.j2":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"b1c06dc1e17b60f52af3d8e5736c5c9b50c39dfa","unresolved":true,"context_lines":[{"line_number":1,"context_line":"\"/var/log/kolla/opensearch-dashboards/*.log\""},{"line_number":2,"context_line":"{"},{"line_number":3,"context_line":"}"}],"source_content_type":"text/x-jinja2","patch_set":17,"id":"d1c4fc2d_538f1b10","line":1,"updated":"2026-03-25 12:53:02.000000000","message":"why did you leave this file in place? doesn\u0027t look special to me. or did you just miss it was added recently-ish?","commit_id":"cc7de6715cfb1a499ff8fea25070b80ce84ba00c"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"72ed36fdaea385ce9e56e0b834aff904c625a597","unresolved":false,"context_lines":[{"line_number":1,"context_line":"\"/var/log/kolla/opensearch-dashboards/*.log\""},{"line_number":2,"context_line":"{"},{"line_number":3,"context_line":"}"}],"source_content_type":"text/x-jinja2","patch_set":17,"id":"545ed881_e5db0a12","line":1,"in_reply_to":"c3f25862_2b5191ba","updated":"2026-04-02 12:03:46.000000000","message":"Done","commit_id":"cc7de6715cfb1a499ff8fea25070b80ce84ba00c"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"fe9b32a0e9f1903be99c12c39e231714fea555c1","unresolved":true,"context_lines":[{"line_number":1,"context_line":"\"/var/log/kolla/opensearch-dashboards/*.log\""},{"line_number":2,"context_line":"{"},{"line_number":3,"context_line":"}"}],"source_content_type":"text/x-jinja2","patch_set":17,"id":"c3f25862_2b5191ba","line":1,"in_reply_to":"d1c4fc2d_538f1b10","updated":"2026-04-01 10:02:06.000000000","message":"This template was added on 8 January of this year, which is simply newer than this patch. Removed.","commit_id":"cc7de6715cfb1a499ff8fea25070b80ce84ba00c"}]}
