)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"5a37d58c556de2c6246ce155eb4e2b5cfe847b90","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7457f559_a1cba089","updated":"2025-10-10 13:06:32.000000000","message":"This is obvious, and therefore, we need to add the same comment everywhere about passwords, not just for S3.","commit_id":"5e3eb57aff3be62a0d80bc088bccb1b75346dc18"},{"author":{"_account_id":36717,"name":"Vudn5","display_name":"Vu Dang","email":"dangngocvu4@gmail.com","username":"vudn"},"change_message_id":"a7a5db18bbdf9b6d16f10f46d50afbe5cd30ecb3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"e3ac5f78_3971856a","updated":"2025-10-14 03:20:27.000000000","message":"@mnasiadka@gmail.com  Please take some time to review this commit. Thank you very much.","commit_id":"daee02148be3df4477792b8c88c83f5b457e1eb7"},{"author":{"_account_id":36717,"name":"Vudn5","display_name":"Vu Dang","email":"dangngocvu4@gmail.com","username":"vudn"},"change_message_id":"20b16977cc42a43f92ab43378455f087752b736b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"5c0d8998_397b6039","updated":"2025-10-13 03:23:09.000000000","message":"Please review this commit. Thanks @bartosz@stackhpc.com","commit_id":"daee02148be3df4477792b8c88c83f5b457e1eb7"},{"author":{"_account_id":36717,"name":"Vudn5","display_name":"Vu Dang","email":"dangngocvu4@gmail.com","username":"vudn"},"change_message_id":"055b68d5a03b7c5f4111be884bbd34cf24c7c725","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"4d530e60_1dc3b014","updated":"2025-10-22 03:06:22.000000000","message":"Dear @bartosz@stackhpc.com, @mnasiadka@gmail.com, and everyone,\nPlease review this commit. \nThank you.","commit_id":"4ecef8de1a6c6750b7529fd791b78a130cd3147d"}],"etc/kolla/globals.yml":[{"author":{"_account_id":15197,"name":"Pierre Riteau","email":"pierre@stackhpc.com","username":"priteau","status":"StackHPC"},"change_message_id":"12fc69d1a53f9bfc1b4af81507e03c5152884867","unresolved":true,"context_lines":[{"line_number":446,"context_line":"#s3_bucket:"},{"line_number":447,"context_line":"#s3_access_key:"},{"line_number":448,"context_line":"#s3_secret_key:"},{"line_number":449,"context_line":"# Following the zero-trust principle:"},{"line_number":450,"context_line":"# It is recommended not to store secrets in globals.yml or version control."},{"line_number":451,"context_line":"# Use Ansible Vault or an external secret manager (e.g., HashiCorp Vault) instead."},{"line_number":452,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"5dbe57f1_8f823ace","line":449,"range":{"start_line":449,"start_character":2,"end_line":449,"end_character":37},"updated":"2025-10-10 14:26:20.000000000","message":"I don\u0027t think this is related to zero-trust principle.","commit_id":"5e3eb57aff3be62a0d80bc088bccb1b75346dc18"},{"author":{"_account_id":36717,"name":"Vudn5","display_name":"Vu Dang","email":"dangngocvu4@gmail.com","username":"vudn"},"change_message_id":"20b16977cc42a43f92ab43378455f087752b736b","unresolved":false,"context_lines":[{"line_number":446,"context_line":"#s3_bucket:"},{"line_number":447,"context_line":"#s3_access_key:"},{"line_number":448,"context_line":"#s3_secret_key:"},{"line_number":449,"context_line":"# Following the zero-trust principle:"},{"line_number":450,"context_line":"# It is recommended not to store secrets in globals.yml or version control."},{"line_number":451,"context_line":"# Use Ansible Vault or an external secret manager (e.g., HashiCorp Vault) instead."},{"line_number":452,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"1e263ea7_ea35e642","line":449,"range":{"start_line":449,"start_character":2,"end_line":449,"end_character":37},"in_reply_to":"5dbe57f1_8f823ace","updated":"2025-10-13 03:23:09.000000000","message":"Thanks","commit_id":"5e3eb57aff3be62a0d80bc088bccb1b75346dc18"}],"etc/kolla/passwords.yml":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"1d3280ddf7b9dbb195bd29c9b30934f33fa736b2","unresolved":true,"context_lines":[{"line_number":27,"context_line":"####################"},{"line_number":28,"context_line":"# S3 options"},{"line_number":29,"context_line":"####################"},{"line_number":30,"context_line":"s3_secret_key:"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"#####################"},{"line_number":33,"context_line":"# Hitachi NAS support"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"155396e8_4fb733ea","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":14},"updated":"2025-10-10 20:41:43.000000000","message":"kolla passwords tools know nothing about this kind of data:\nhttps://opendev.org/openstack/kolla-ansible/src/branch/master/kolla_ansible/cmd/genpwd.py#L59","commit_id":"1ca72ba7e45ff11ed1e9e4c0c6864ce3e8fc6b6d"},{"author":{"_account_id":36717,"name":"Vudn5","display_name":"Vu Dang","email":"dangngocvu4@gmail.com","username":"vudn"},"change_message_id":"20b16977cc42a43f92ab43378455f087752b736b","unresolved":false,"context_lines":[{"line_number":27,"context_line":"####################"},{"line_number":28,"context_line":"# S3 options"},{"line_number":29,"context_line":"####################"},{"line_number":30,"context_line":"s3_secret_key:"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"#####################"},{"line_number":33,"context_line":"# Hitachi NAS support"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"4dfae2e6_3c54dd18","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":14},"in_reply_to":"155396e8_4fb733ea","updated":"2025-10-13 03:23:09.000000000","message":"Yes, you right. Thanks","commit_id":"1ca72ba7e45ff11ed1e9e4c0c6864ce3e8fc6b6d"}],"kolla_ansible/cmd/genpwd.py":[{"author":{"_account_id":35916,"name":"Pham Le Gia Dai","display_name":"Dai","email":"daipham.3213@gmail.com","username":"daiplg","status":"Full Stack Dev"},"change_message_id":"1100113c59b0c3f8f9ff0716192ba2970862772c","unresolved":true,"context_lines":[{"line_number":148,"context_line":"                \u0027haproxy_ssh_key\u0027]"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    # If these keys are None, leave them as None"},{"line_number":151,"context_line":"    blank_keys \u003d ["},{"line_number":152,"context_line":"        # Docker registry"},{"line_number":153,"context_line":"        \u0027docker_registry_password\u0027,"},{"line_number":154,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"c64090b8_4edc0afc","line":151,"updated":"2025-10-15 03:38:08.000000000","message":"why does we need to change the file mode here?","commit_id":"daee02148be3df4477792b8c88c83f5b457e1eb7"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"061d619e3604cb63c809bb7a7dbb554cb3803ab7","unresolved":false,"context_lines":[{"line_number":148,"context_line":"                \u0027haproxy_ssh_key\u0027]"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    # If these keys are None, leave them as None"},{"line_number":151,"context_line":"    blank_keys \u003d ["},{"line_number":152,"context_line":"        # Docker registry"},{"line_number":153,"context_line":"        \u0027docker_registry_password\u0027,"},{"line_number":154,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9166ae36_26d397ec","line":151,"in_reply_to":"8fec26b8_66e881e5","updated":"2025-10-15 08:06:40.000000000","message":"Done","commit_id":"daee02148be3df4477792b8c88c83f5b457e1eb7"},{"author":{"_account_id":36717,"name":"Vudn5","display_name":"Vu Dang","email":"dangngocvu4@gmail.com","username":"vudn"},"change_message_id":"284570a75bc7a73efb4e5713eeeec103ac47364b","unresolved":false,"context_lines":[{"line_number":148,"context_line":"                \u0027haproxy_ssh_key\u0027]"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    # If these keys are None, leave them as None"},{"line_number":151,"context_line":"    blank_keys \u003d ["},{"line_number":152,"context_line":"        # Docker registry"},{"line_number":153,"context_line":"        \u0027docker_registry_password\u0027,"},{"line_number":154,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"e5b18fd3_ac1c73bc","line":151,"in_reply_to":"9166ae36_26d397ec","updated":"2025-10-15 08:36:37.000000000","message":"Thanks! If you don’t mind, please give a +1 on the code review. @maksim.malchuk@gmail.com","commit_id":"daee02148be3df4477792b8c88c83f5b457e1eb7"},{"author":{"_account_id":36717,"name":"Vudn5","display_name":"Vu Dang","email":"dangngocvu4@gmail.com","username":"vudn"},"change_message_id":"454177f46df5845226e04fae9697b935e494667b","unresolved":false,"context_lines":[{"line_number":148,"context_line":"                \u0027haproxy_ssh_key\u0027]"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    # If these keys are None, leave them as None"},{"line_number":151,"context_line":"    blank_keys \u003d ["},{"line_number":152,"context_line":"        # Docker registry"},{"line_number":153,"context_line":"        \u0027docker_registry_password\u0027,"},{"line_number":154,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"cdc19feb_06731b74","line":151,"in_reply_to":"c64090b8_4edc0afc","updated":"2025-10-15 03:58:19.000000000","message":"We need to change the file mode here because by default that file doesn’t need execute permissions in Kolla Ansible.\nKolla Ansible only requires the file to be readable (and sometimes writable) by the appropriate user or service — not executable — so removing the execute bit helps follow the principle of least privilege and avoids unnecessary permission exposure.","commit_id":"daee02148be3df4477792b8c88c83f5b457e1eb7"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"9292dab2e8d445ab3c591dace13476f3324131da","unresolved":true,"context_lines":[{"line_number":148,"context_line":"                \u0027haproxy_ssh_key\u0027]"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    # If these keys are None, leave them as None"},{"line_number":151,"context_line":"    blank_keys \u003d ["},{"line_number":152,"context_line":"        # Docker registry"},{"line_number":153,"context_line":"        \u0027docker_registry_password\u0027,"},{"line_number":154,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"8fec26b8_66e881e5","line":151,"in_reply_to":"cdc19feb_06731b74","updated":"2025-10-15 07:48:02.000000000","message":"This is a binary script. Look at the shebang on line 1. Please preserve file permissions.","commit_id":"daee02148be3df4477792b8c88c83f5b457e1eb7"}]}
