)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"2e212aca115d2283bea73a6e2fd6bbf91dc64a81","unresolved":true,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-Bug: #2156758"},{"line_number":13,"context_line":"Change-Id: Ib24a04657f297ebb323686aa1d80f9bf019f44f2"},{"line_number":14,"context_line":"Signed-off-by: TBExtent \u003cjed@stackhpc.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"21e3eb8d_b5573753","line":14,"updated":"2026-06-15 12:32:26.000000000","message":"It\u0027s nitpicky, but preferred if you use your full name here, rather than username.\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#using-signed-off-by\n\n\n```suggestion\nSigned-off-by: Jed Preist \u003cjed@stackhpc.com\u003e\n```","commit_id":"5469baa334d63f87547585e2f1e1362943854c50"},{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"bb3a66c191f2893168843a9489aca1fc90ad0fc8","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-Bug: #2156758"},{"line_number":13,"context_line":"Change-Id: Ib24a04657f297ebb323686aa1d80f9bf019f44f2"},{"line_number":14,"context_line":"Signed-off-by: TBExtent \u003cjed@stackhpc.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9bfebff9_476e3b37","line":14,"in_reply_to":"21e3eb8d_b5573753","updated":"2026-06-15 12:50:34.000000000","message":"Done","commit_id":"5469baa334d63f87547585e2f1e1362943854c50"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":35263,"name":"Matt Crees","email":"mattc@stackhpc.com","username":"mattcrees"},"change_message_id":"bb3a66c191f2893168843a9489aca1fc90ad0fc8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0e629282_b8670f7a","updated":"2026-06-15 12:50:34.000000000","message":"Looks sensible","commit_id":"49b0189aa1d6db54e051f868e11a442c2ba2e3f3"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"ac71a14db8794ce6a6ee9985d970f58a5d6beaf9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c9e89336_d66f2a6d","updated":"2026-06-15 13:54:07.000000000","message":"Thanks Jed. This affects all supported releases. We can create the missing directory in the Kolla extend_start script.","commit_id":"49b0189aa1d6db54e051f868e11a442c2ba2e3f3"},{"author":{"_account_id":39213,"name":"Jed Preist","display_name":"Jed Preist","email":"jed@stackhpc.com","username":"jed-preist"},"change_message_id":"2f7e9a89d36ce7cf8795a583565d96eaa02da718","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"857793b9_c7b41177","updated":"2026-06-15 13:27:25.000000000","message":"This causes Ironic to throw an error immediately because /var/lib/ironic/tmp does not exist. Will need more work to make sure that it actually has a suitable temp directory.","commit_id":"49b0189aa1d6db54e051f868e11a442c2ba2e3f3"},{"author":{"_account_id":39213,"name":"Jed Preist","display_name":"Jed Preist","email":"jed@stackhpc.com","username":"jed-preist"},"change_message_id":"ed62c7eac80e37f912f78a9ca128f250ef796ef4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"aa711858_4ba2f611","in_reply_to":"857793b9_c7b41177","updated":"2026-06-17 13:15:54.000000000","message":"Should be fixed by adding the tmp directory into ironic-conductor.json","commit_id":"49b0189aa1d6db54e051f868e11a442c2ba2e3f3"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"3caec942eae016a46a43eef6d843a9045eb4e6ed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"77f9a1c8_5b326a05","updated":"2026-06-15 15:25:57.000000000","message":"This looks fine to me - holding back +2 due to comment to move the directory creation to this patch (for master).","commit_id":"19966e8b8042a5da109c4c9200220ebf6062e264"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"2ab1d460c553b570385a507426ebef58ba8a39ed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"80702316_6af15c25","updated":"2026-06-15 17:00:30.000000000","message":"excellent first patch 👍","commit_id":"f1436c1adf1e6a6a1c40731515a76fe22f6b7e91"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"a711a87326912e896373704d169a9ac9ccb569d0","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":6,"id":"36980cc3_cb57ef23","updated":"2026-06-17 13:35:02.000000000","message":"Backport is fine, remember the config.json directories support is not there in 2025.2 and 2025.1","commit_id":"5ab8ac0c8aff000160fe8101568c98c2619b14af"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"fb2e6f95502979ac787d7d72926f12aff0979faa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"7e8a09ce_4f26a318","updated":"2026-06-17 11:34:59.000000000","message":"CI failures don\u0027t relate to this - the change appears fine.","commit_id":"5ab8ac0c8aff000160fe8101568c98c2619b14af"},{"author":{"_account_id":39213,"name":"Jed Preist","display_name":"Jed Preist","email":"jed@stackhpc.com","username":"jed-preist"},"change_message_id":"6f7ad0dc61a5589c520dc153a2a1015cf5541ad0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"c4943d75_0069f3bf","updated":"2026-06-18 09:15:43.000000000","message":"recheck: Unrelated linter error that appears to have been resolved.","commit_id":"ba5d4219749099cb7a797deb77685c5293fb9bf5"}],"ansible/roles/ironic/templates/ironic-conductor.json.j2":[{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"2ab1d460c553b570385a507426ebef58ba8a39ed","unresolved":true,"context_lines":[{"line_number":41,"context_line":"        {"},{"line_number":42,"context_line":"            \"path\": \"/var/lib/ironic/tmp\","},{"line_number":43,"context_line":"            \"owner\": \"ironic:ironic\","},{"line_number":44,"context_line":"            \"perm\": \"0755\""},{"line_number":45,"context_line":"        }"},{"line_number":46,"context_line":"    ]"},{"line_number":47,"context_line":"}"}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"f071188b_91c77d5e","line":44,"updated":"2026-06-15 17:00:30.000000000","message":"It might be worth tightening this to 0700 out of paranoia (eg. to keep the iso file as private as possible). I suspect most operators won\u0027t care, but there are some that might.","commit_id":"f1436c1adf1e6a6a1c40731515a76fe22f6b7e91"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"96668dfefcba62ca9d7478e72f88d8ad87f01e82","unresolved":true,"context_lines":[{"line_number":41,"context_line":"        {"},{"line_number":42,"context_line":"            \"path\": \"/var/lib/ironic/tmp\","},{"line_number":43,"context_line":"            \"owner\": \"ironic:ironic\","},{"line_number":44,"context_line":"            \"perm\": \"0755\""},{"line_number":45,"context_line":"        }"},{"line_number":46,"context_line":"    ]"},{"line_number":47,"context_line":"}"}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"4f7b5cd9_a11e26e4","line":44,"in_reply_to":"136c61f5_3b81a3d0","updated":"2026-06-17 08:42:05.000000000","message":"This tmp folder is only used by Ironic conductor so we only ever expect the `ironic` user to read/write from it. The sticky bit has its uses, but it wouldn\u0027t stop read access from non-ironic users.","commit_id":"f1436c1adf1e6a6a1c40731515a76fe22f6b7e91"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"6a14cd00cab8bd6757c51f110ee2d033af039f59","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        {"},{"line_number":42,"context_line":"            \"path\": \"/var/lib/ironic/tmp\","},{"line_number":43,"context_line":"            \"owner\": \"ironic:ironic\","},{"line_number":44,"context_line":"            \"perm\": \"0755\""},{"line_number":45,"context_line":"        }"},{"line_number":46,"context_line":"    ]"},{"line_number":47,"context_line":"}"}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"a4577315_4d766a6b","line":44,"in_reply_to":"4f7b5cd9_a11e26e4","updated":"2026-06-17 08:49:02.000000000","message":"Acknowledged","commit_id":"f1436c1adf1e6a6a1c40731515a76fe22f6b7e91"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"ef540a1a6096d60d9f387a7f57e9c8b25e38a02f","unresolved":true,"context_lines":[{"line_number":41,"context_line":"        {"},{"line_number":42,"context_line":"            \"path\": \"/var/lib/ironic/tmp\","},{"line_number":43,"context_line":"            \"owner\": \"ironic:ironic\","},{"line_number":44,"context_line":"            \"perm\": \"0755\""},{"line_number":45,"context_line":"        }"},{"line_number":46,"context_line":"    ]"},{"line_number":47,"context_line":"}"}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"136c61f5_3b81a3d0","line":44,"in_reply_to":"f071188b_91c77d5e","updated":"2026-06-15 18:45:53.000000000","message":"Maybe the sticky bit is the right solution here.","commit_id":"f1436c1adf1e6a6a1c40731515a76fe22f6b7e91"}],"releasenotes/notes/fix-bug-2156758-e536b254fdd3fd32.yaml":[{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"2ab1d460c553b570385a507426ebef58ba8a39ed","unresolved":true,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixes the Ironic temp directory causing invalid cross device links when"},{"line_number":5,"context_line":"    deploying baremetal images."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"c9cd6ae1_81ca95ee","line":5,"updated":"2026-06-15 17:00:30.000000000","message":"you could extend this to: ```deploying baremetal images using the virtualmedia boot interface.``` or something like that. It shouldn\u0027t affect folks using regular iPXE / PXE.","commit_id":"f1436c1adf1e6a6a1c40731515a76fe22f6b7e91"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"fb2e6f95502979ac787d7d72926f12aff0979faa","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixes the Ironic temp directory causing invalid cross device links when"},{"line_number":5,"context_line":"    deploying baremetal images."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"97089b1b_f0643863","line":5,"in_reply_to":"c9cd6ae1_81ca95ee","updated":"2026-06-17 11:34:59.000000000","message":"Done","commit_id":"f1436c1adf1e6a6a1c40731515a76fe22f6b7e91"}]}
