)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"5a61f4c2d5afce4f8eda134513cf02ad1eae1017","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In ml2/ovn setups, the neutron-metadata-agent spawns haproxy processes to"},{"line_number":10,"context_line":"serve metadata requests. To run these haproxy instances inside their own"},{"line_number":11,"context_line":"containers, the wrapper script must be available in the metadata-agent"},{"line_number":12,"context_line":"container."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ia47af98ff723ebe8ea8461d05a2bc3b58af845f9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7f2b0687_b7694e6a","line":11,"updated":"2025-09-12 08:36:44.000000000","message":"Is there a reason we need to do it?","commit_id":"5dba1ced70f64b5fde849d325d117c423bb02f81"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"0829bbe5cc8c545d4c0d84fef3b37bad3beb7fb6","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In ml2/ovn setups, the neutron-metadata-agent spawns haproxy processes to"},{"line_number":10,"context_line":"serve metadata requests. To run these haproxy instances inside their own"},{"line_number":11,"context_line":"containers, the wrapper script must be available in the metadata-agent"},{"line_number":12,"context_line":"container."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ia47af98ff723ebe8ea8461d05a2bc3b58af845f9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"aca8cc98_6828a79c","line":11,"in_reply_to":"25cf6016_f02d82d5","updated":"2025-09-12 09:30:12.000000000","message":"I guess makes sense, just has a bit smaller impact than l3 agent.","commit_id":"5dba1ced70f64b5fde849d325d117c423bb02f81"},{"author":{"_account_id":34380,"name":"Maximilian Stinsky","email":"maximilian@stinsky.com","username":"mstinsky"},"change_message_id":"2701a172c9a8fcd0c49196dabd7d7c6e0e25a08d","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In ml2/ovn setups, the neutron-metadata-agent spawns haproxy processes to"},{"line_number":10,"context_line":"serve metadata requests. To run these haproxy instances inside their own"},{"line_number":11,"context_line":"containers, the wrapper script must be available in the metadata-agent"},{"line_number":12,"context_line":"container."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ia47af98ff723ebe8ea8461d05a2bc3b58af845f9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"25cf6016_f02d82d5","line":11,"in_reply_to":"7f2b0687_b7694e6a","updated":"2025-09-12 09:16:53.000000000","message":"Same reason why we do this in the l3-agent and dhcp-agent container for ml2/ovs or not?\nRestarting the neutron-metadata-agent container will kill all haproxy processes and metadata will not work for vms until the processes are started again.\nWith this restarting the metadata agent is just more graceful for workloads.","commit_id":"5dba1ced70f64b5fde849d325d117c423bb02f81"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"9555b7972f2c0d470fedd5ccf6fb57eddd0559f8","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"neutron-metadata-agent: copy wrapper script for haproxy processes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In ml2/ovn setups, the neutron-metadata-agent spawns haproxy processes to"},{"line_number":10,"context_line":"serve metadata requests. To run these haproxy instances inside their own"},{"line_number":11,"context_line":"containers, the wrapper script must be available in the metadata-agent"},{"line_number":12,"context_line":"container."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"655e0098_5c01e42a","line":9,"range":{"start_line":9,"start_character":71,"end_line":9,"end_character":73},"updated":"2025-09-16 15:03:17.000000000","message":"nit: line should be wrapped before the \u0027to\u0027 word","commit_id":"ac9373f422762d07487cc6c068e09c22e061d054"},{"author":{"_account_id":34380,"name":"Maximilian Stinsky","email":"maximilian@stinsky.com","username":"mstinsky"},"change_message_id":"b0dd0720e7c8c9cbbbc4caf8e513369b6659c91b","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"neutron-metadata-agent: copy wrapper script for haproxy processes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In ml2/ovn setups, the neutron-metadata-agent spawns haproxy processes to"},{"line_number":10,"context_line":"serve metadata requests. To run these haproxy instances inside their own"},{"line_number":11,"context_line":"containers, the wrapper script must be available in the metadata-agent"},{"line_number":12,"context_line":"container."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"aeace7db_6a4dd282","line":9,"range":{"start_line":9,"start_character":71,"end_line":9,"end_character":73},"in_reply_to":"655e0098_5c01e42a","updated":"2025-09-17 07:23:06.000000000","message":"Done","commit_id":"ac9373f422762d07487cc6c068e09c22e061d054"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"9555b7972f2c0d470fedd5ccf6fb57eddd0559f8","unresolved":true,"context_lines":[{"line_number":10,"context_line":"serve metadata requests. To run these haproxy instances inside their own"},{"line_number":11,"context_line":"containers, the wrapper script must be available in the metadata-agent"},{"line_number":12,"context_line":"container."},{"line_number":13,"context_line":"This is a follow up on Change-Id: I679ac66186d457ae53f89469fe22c5662089019a"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: Ia47af98ff723ebe8ea8461d05a2bc3b58af845f9"},{"line_number":16,"context_line":"Signed-off-by: Maximilian Stinsky \u003cmaximilian.stinsky-damke@wiit.cloud\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9159fec1_75b8bdd0","line":13,"range":{"start_line":13,"start_character":23,"end_line":13,"end_character":32},"updated":"2025-09-16 15:03:17.000000000","message":"nit: word \u0027Change-Id\u0027 is extra. Gerrit understand Id and creates visual link for reviewers.","commit_id":"ac9373f422762d07487cc6c068e09c22e061d054"},{"author":{"_account_id":34380,"name":"Maximilian Stinsky","email":"maximilian@stinsky.com","username":"mstinsky"},"change_message_id":"b0dd0720e7c8c9cbbbc4caf8e513369b6659c91b","unresolved":false,"context_lines":[{"line_number":10,"context_line":"serve metadata requests. To run these haproxy instances inside their own"},{"line_number":11,"context_line":"containers, the wrapper script must be available in the metadata-agent"},{"line_number":12,"context_line":"container."},{"line_number":13,"context_line":"This is a follow up on Change-Id: I679ac66186d457ae53f89469fe22c5662089019a"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: Ia47af98ff723ebe8ea8461d05a2bc3b58af845f9"},{"line_number":16,"context_line":"Signed-off-by: Maximilian Stinsky \u003cmaximilian.stinsky-damke@wiit.cloud\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3fa0961a_38fa9cc2","line":13,"range":{"start_line":13,"start_character":23,"end_line":13,"end_character":32},"in_reply_to":"9159fec1_75b8bdd0","updated":"2025-09-17 07:23:06.000000000","message":"Done","commit_id":"ac9373f422762d07487cc6c068e09c22e061d054"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"cbe90d7f37bf99348aabc4709858859ea97cb872","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"14a26ce7_9049da71","updated":"2025-09-17 07:25:42.000000000","message":"Well, a reno would be nice. Can you add one?","commit_id":"34d010dc9b495b1561c2688892827f633397fdc3"},{"author":{"_account_id":34380,"name":"Maximilian Stinsky","email":"maximilian@stinsky.com","username":"mstinsky"},"change_message_id":"74127856fed185dbd2eadec67333ab53379a9330","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"2a4e055b_74deb762","in_reply_to":"14a26ce7_9049da71","updated":"2025-09-17 07:50:41.000000000","message":"Added a release note.\nThought that because the \"parent\" patch https://review.opendev.org/c/openstack/kolla/+/946215 did not have a reno its not required here.","commit_id":"34d010dc9b495b1561c2688892827f633397fdc3"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"cae002001d451e834952399a8bef4985eef03282","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"de771710_9a70e840","updated":"2025-10-24 07:57:51.000000000","message":"recheck get new results","commit_id":"df4d573eb55bb8f72c9059b1a353e5357eec8e6e"}],"docker/neutron/neutron-metadata-agent/extend_start.sh":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"d708b26f1222bffdec5e214e89d15dcb1a784300","unresolved":true,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":"if [[ \"${KOLLA_NEUTRON_WRAPPERS:-false}\" \u003d\u003d \"true\" ]]; then"},{"line_number":11,"context_line":"    echo \"Copying neutron agent wrappers to /usr/local/bin\""},{"line_number":12,"context_line":"    sudo -E /usr/local/lib/neutron-wrappers/copy-wrappers"},{"line_number":13,"context_line":"else"},{"line_number":14,"context_line":"    echo \"Removing neutron agent wrappers from /usr/local/bin\""},{"line_number":15,"context_line":"    sudo -E /usr/local/lib/neutron-wrappers/delete-wrappers"}],"source_content_type":"text/x-sh","patch_set":1,"id":"946004ca_d9b61255","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":57},"updated":"2025-09-14 19:03:13.000000000","message":"I don\u0027t see this binary inside the Docker container.","commit_id":"5dba1ced70f64b5fde849d325d117c423bb02f81"},{"author":{"_account_id":34380,"name":"Maximilian Stinsky","email":"maximilian@stinsky.com","username":"mstinsky"},"change_message_id":"b6aa5d5abb2126a8a1bd1fdc3867cb57ae591674","unresolved":false,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":"if [[ \"${KOLLA_NEUTRON_WRAPPERS:-false}\" \u003d\u003d \"true\" ]]; then"},{"line_number":11,"context_line":"    echo \"Copying neutron agent wrappers to /usr/local/bin\""},{"line_number":12,"context_line":"    sudo -E /usr/local/lib/neutron-wrappers/copy-wrappers"},{"line_number":13,"context_line":"else"},{"line_number":14,"context_line":"    echo \"Removing neutron agent wrappers from /usr/local/bin\""},{"line_number":15,"context_line":"    sudo -E /usr/local/lib/neutron-wrappers/delete-wrappers"}],"source_content_type":"text/x-sh","patch_set":1,"id":"4eeab6b4_4957e4c9","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":57},"in_reply_to":"016a850c_caeb8101","updated":"2025-09-16 08:01:02.000000000","message":"Changed commit message.","commit_id":"5dba1ced70f64b5fde849d325d117c423bb02f81"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"f3eb8af438d6a2cf431b178b6f5f9ef5ae46c51c","unresolved":true,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":"if [[ \"${KOLLA_NEUTRON_WRAPPERS:-false}\" \u003d\u003d \"true\" ]]; then"},{"line_number":11,"context_line":"    echo \"Copying neutron agent wrappers to /usr/local/bin\""},{"line_number":12,"context_line":"    sudo -E /usr/local/lib/neutron-wrappers/copy-wrappers"},{"line_number":13,"context_line":"else"},{"line_number":14,"context_line":"    echo \"Removing neutron agent wrappers from /usr/local/bin\""},{"line_number":15,"context_line":"    sudo -E /usr/local/lib/neutron-wrappers/delete-wrappers"}],"source_content_type":"text/x-sh","patch_set":1,"id":"016a850c_caeb8101","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":57},"in_reply_to":"48e87e9d_c4767788","updated":"2025-09-15 21:37:41.000000000","message":"@maximilian@stinsky.com may be the good idea to add something like ``follow up on I679ac66186d457ae53f89469fe22c5662089019a`` to the commit message?","commit_id":"5dba1ced70f64b5fde849d325d117c423bb02f81"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"7ca5a640ebc6c9d23e7eb03820423236d7c33327","unresolved":false,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":"if [[ \"${KOLLA_NEUTRON_WRAPPERS:-false}\" \u003d\u003d \"true\" ]]; then"},{"line_number":11,"context_line":"    echo \"Copying neutron agent wrappers to /usr/local/bin\""},{"line_number":12,"context_line":"    sudo -E /usr/local/lib/neutron-wrappers/copy-wrappers"},{"line_number":13,"context_line":"else"},{"line_number":14,"context_line":"    echo \"Removing neutron agent wrappers from /usr/local/bin\""},{"line_number":15,"context_line":"    sudo -E /usr/local/lib/neutron-wrappers/delete-wrappers"}],"source_content_type":"text/x-sh","patch_set":1,"id":"48e87e9d_c4767788","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":57},"in_reply_to":"8d79f597_e8376e6a","updated":"2025-09-15 21:15:00.000000000","message":"ah, the change I\u0027ve missed since was on vacation)\nhttps://review.opendev.org/c/openstack/kolla/+/946215\nok, thanks.","commit_id":"5dba1ced70f64b5fde849d325d117c423bb02f81"},{"author":{"_account_id":34380,"name":"Maximilian Stinsky","email":"maximilian@stinsky.com","username":"mstinsky"},"change_message_id":"2abcedddb213f3caf2d5784b9ea62a113429c82f","unresolved":true,"context_lines":[{"line_number":9,"context_line":""},{"line_number":10,"context_line":"if [[ \"${KOLLA_NEUTRON_WRAPPERS:-false}\" \u003d\u003d \"true\" ]]; then"},{"line_number":11,"context_line":"    echo \"Copying neutron agent wrappers to /usr/local/bin\""},{"line_number":12,"context_line":"    sudo -E /usr/local/lib/neutron-wrappers/copy-wrappers"},{"line_number":13,"context_line":"else"},{"line_number":14,"context_line":"    echo \"Removing neutron agent wrappers from /usr/local/bin\""},{"line_number":15,"context_line":"    sudo -E /usr/local/lib/neutron-wrappers/delete-wrappers"}],"source_content_type":"text/x-sh","patch_set":1,"id":"8d79f597_e8376e6a","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":57},"in_reply_to":"946004ca_d9b61255","updated":"2025-09-15 09:48:59.000000000","message":"Those scripts are copied inside the neutron-base image [1]. Therefore they are inside the container.\nOutput from inside the neutron-metadata-agent container:\nls -ltr /usr/local/lib/neutron-wrappers/\ntotal 28\n-rw-r--r-- 1 root root 1663 Jan  1  1970 radvd\n-rw-r--r-- 1 root root 1363 Jan  1  1970 neutron-keepalived-state-change\n-rw-r--r-- 1 root root 1674 Jan  1  1970 keepalived\n-rw-r--r-- 1 root root 1729 Jan  1  1970 haproxy\n-rw-r--r-- 1 root root 1568 Jan  1  1970 dnsmasq\n-rwxr-xr-x 1 root root  181 Jan  1  1970 delete-wrappers\n-rwxr-xr-x 1 root root  452 Jan  1  1970 copy-wrappers\n\n[1] https://github.com/openstack/kolla/blob/5781b359efc32726645a7d5d5570bcec9f0035fa/docker/neutron/neutron-base/Dockerfile.j2#L73-L76","commit_id":"5dba1ced70f64b5fde849d325d117c423bb02f81"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"d708b26f1222bffdec5e214e89d15dcb1a784300","unresolved":true,"context_lines":[{"line_number":12,"context_line":"    sudo -E /usr/local/lib/neutron-wrappers/copy-wrappers"},{"line_number":13,"context_line":"else"},{"line_number":14,"context_line":"    echo \"Removing neutron agent wrappers from /usr/local/bin\""},{"line_number":15,"context_line":"    sudo -E /usr/local/lib/neutron-wrappers/delete-wrappers"},{"line_number":16,"context_line":"fi"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":". /usr/local/bin/kolla_neutron_extend_start"}],"source_content_type":"text/x-sh","patch_set":1,"id":"8ced4911_adfab2b2","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":59},"updated":"2025-09-14 19:03:13.000000000","message":"ditto","commit_id":"5dba1ced70f64b5fde849d325d117c423bb02f81"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"7ca5a640ebc6c9d23e7eb03820423236d7c33327","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    sudo -E /usr/local/lib/neutron-wrappers/copy-wrappers"},{"line_number":13,"context_line":"else"},{"line_number":14,"context_line":"    echo \"Removing neutron agent wrappers from /usr/local/bin\""},{"line_number":15,"context_line":"    sudo -E /usr/local/lib/neutron-wrappers/delete-wrappers"},{"line_number":16,"context_line":"fi"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":". /usr/local/bin/kolla_neutron_extend_start"}],"source_content_type":"text/x-sh","patch_set":1,"id":"08da6687_c76a435e","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":59},"in_reply_to":"8ced4911_adfab2b2","updated":"2025-09-15 21:15:00.000000000","message":"Done","commit_id":"5dba1ced70f64b5fde849d325d117c423bb02f81"}]}
