)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"5711d6cd2ca6a5905596834058b4f470bed74528","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Host haproxy configurations will be rendered by jinja2"},{"line_number":10,"context_line":"template. And a process monitor will be used to manage"},{"line_number":11,"context_line":"the host metedata haproxy, which takes care of the"},{"line_number":12,"context_line":"lifecycle of the host metedata haproxy."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Partially-Implements: blueprint distributed-metadata-datapath"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5b0ff8f4_fe39ad72","line":11,"range":{"start_line":11,"start_character":9,"end_line":11,"end_character":17},"updated":"2022-11-29 14:14:59.000000000","message":"nit: metadata","commit_id":"499d9dc1e749fcc2e9cebca22b2c00e05cbe5912"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"4fd7bc432eab97cef2103786f34d1622d13f58fa","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Host haproxy configurations will be rendered by jinja2"},{"line_number":10,"context_line":"template. And a process monitor will be used to manage"},{"line_number":11,"context_line":"the host metedata haproxy, which takes care of the"},{"line_number":12,"context_line":"lifecycle of the host metedata haproxy."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Partially-Implements: blueprint distributed-metadata-datapath"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"02ff2262_9722f3cb","line":11,"range":{"start_line":11,"start_character":9,"end_line":11,"end_character":17},"in_reply_to":"5b0ff8f4_fe39ad72","updated":"2022-12-05 04:39:00.000000000","message":"Done","commit_id":"499d9dc1e749fcc2e9cebca22b2c00e05cbe5912"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"5711d6cd2ca6a5905596834058b4f470bed74528","unresolved":true,"context_lines":[{"line_number":9,"context_line":"Host haproxy configurations will be rendered by jinja2"},{"line_number":10,"context_line":"template. And a process monitor will be used to manage"},{"line_number":11,"context_line":"the host metedata haproxy, which takes care of the"},{"line_number":12,"context_line":"lifecycle of the host metedata haproxy."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Partially-Implements: blueprint distributed-metadata-datapath"},{"line_number":15,"context_line":"Change-Id: Ie7be84d503f5d60d3c50d3ac3aaaf55c13adf7af"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"205f005a_1f722ae6","line":12,"range":{"start_line":12,"start_character":22,"end_line":12,"end_character":30},"updated":"2022-11-29 14:14:59.000000000","message":"nit: metadata","commit_id":"499d9dc1e749fcc2e9cebca22b2c00e05cbe5912"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"4fd7bc432eab97cef2103786f34d1622d13f58fa","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Host haproxy configurations will be rendered by jinja2"},{"line_number":10,"context_line":"template. And a process monitor will be used to manage"},{"line_number":11,"context_line":"the host metedata haproxy, which takes care of the"},{"line_number":12,"context_line":"lifecycle of the host metedata haproxy."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Partially-Implements: blueprint distributed-metadata-datapath"},{"line_number":15,"context_line":"Change-Id: Ie7be84d503f5d60d3c50d3ac3aaaf55c13adf7af"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"cd8c6169_3dfce651","line":12,"range":{"start_line":12,"start_character":22,"end_line":12,"end_character":30},"in_reply_to":"205f005a_1f722ae6","updated":"2022-12-05 04:39:00.000000000","message":"Done","commit_id":"499d9dc1e749fcc2e9cebca22b2c00e05cbe5912"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"8dd637808259cf0b717033c26114d4334ad669f6","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add host metadata haproxy manager"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Host haproxy configurations will be rendered by jinja2"},{"line_number":10,"context_line":"template. And a process monitor will be used to manage"},{"line_number":11,"context_line":"the host metadata haproxy, which takes care of the"},{"line_number":12,"context_line":"lifecycle of the host metadata haproxy."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"39635b72_538b7a1e","line":9,"updated":"2023-04-05 10:01:26.000000000","message":"Do you think it will be possible to have a fullstack test for that?","commit_id":"3e7cfb26836a2b7cc25261ec3ac08a9f01e34274"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"17867e19b313929355512ab737ace172c4311f54","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3bc628e2_822a1337","updated":"2022-11-16 06:08:29.000000000","message":"recheck","commit_id":"499d9dc1e749fcc2e9cebca22b2c00e05cbe5912"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"09d0d3f8793df1ffccedce7b87f252b2892c6bb3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"24eb54aa_7c55f247","updated":"2022-12-14 06:32:56.000000000","message":"recheck","commit_id":"37e7d7ebc3b7fc5ed7f17a7426e9526e68ec4b46"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"a6a4536ffb602c9920ab07950a99981f4f83cc97","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"9cfbe43c_90d39cbf","updated":"2022-12-16 07:42:42.000000000","message":"recheck","commit_id":"4b819533cce7f441b9650eb541f2597d46c81e71"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ed74697089612f524ff8af4f82311bff9a4a0160","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"f94f9ee1_1af7682b","updated":"2023-02-14 16:33:43.000000000","message":"I think there is also code missing from neutron/opts.py:list_ovs_opts() - the new options should be added there.","commit_id":"96ebdd9f9279a78bc8ab20d68b594bdee8953b6a"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"29a76c867bd1d8a5afdb4f1e82fd72582466d760","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"675d449c_2f060f2e","updated":"2023-02-14 09:56:02.000000000","message":"recheck","commit_id":"96ebdd9f9279a78bc8ab20d68b594bdee8953b6a"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"082f4a31d7016f9df4530d7bb0584e1e9f869f70","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"eca4975a_3801f9d4","in_reply_to":"f94f9ee1_1af7682b","updated":"2023-03-09 01:02:45.000000000","message":"Done","commit_id":"96ebdd9f9279a78bc8ab20d68b594bdee8953b6a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ecfb54d98d928f98af6b916355c477592273db3c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"76d503aa_e202de30","updated":"2023-03-20 18:07:19.000000000","message":"I think this is looking Ok, except for the one warning I noticed.","commit_id":"3e7cfb26836a2b7cc25261ec3ac08a9f01e34274"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"0fb53f86c2fcead0b2007a46f3dca696a746e252","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"687d5236_c3136a26","updated":"2023-03-14 00:51:13.000000000","message":"recheck","commit_id":"3e7cfb26836a2b7cc25261ec3ac08a9f01e34274"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"63a07898a9c252ed548feb9d7d09172f1fb34133","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"83533854_c864bb02","updated":"2023-03-13 05:44:40.000000000","message":"recheck","commit_id":"3e7cfb26836a2b7cc25261ec3ac08a9f01e34274"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"bd1e04b21d371d0f82b2eb50b33a094b2f050f74","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"a1478b88_c9277caf","updated":"2023-03-13 08:33:42.000000000","message":"recheck","commit_id":"3e7cfb26836a2b7cc25261ec3ac08a9f01e34274"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"471520ad643250cdca1525aa43bbe579b9841c57","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"ba72a8ad_5880885b","updated":"2023-03-11 03:48:32.000000000","message":"recheck","commit_id":"3e7cfb26836a2b7cc25261ec3ac08a9f01e34274"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ff899c99f96adacca0c1dab62eca6f89da816b47","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"c6f46ef7_9b78de38","updated":"2023-04-28 15:23:34.000000000","message":"I added Miguel since he\u0027s also working on an update to the metadata code at https://review.opendev.org/c/openstack/neutron/+/858879 and wanted to make sure they were compatible with each other.","commit_id":"94eb1ebb74e98ab08ce440738129832a79754cea"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f3df0de7274cd36f1f7f7b69668d8d5cc788cfba","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"c77fdaa3_8021de3c","updated":"2023-05-05 09:32:58.000000000","message":"Sorry for the -1, but re-reviewing this raised some questions. You define three new config options, so there should be a release note. But they don\u0027t seem to be used in this patch, should they be moved to the one where they are first used?","commit_id":"94eb1ebb74e98ab08ce440738129832a79754cea"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"7d1f53fde2f48cf6c9d2a42ea0f2b8cec7611c99","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"8484b4c5_6f6c851b","in_reply_to":"c77fdaa3_8021de3c","updated":"2023-05-08 00:40:01.000000000","message":"Thanks, moved to next patch. And release notes will be added for the new config options.","commit_id":"94eb1ebb74e98ab08ce440738129832a79754cea"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"52388e7ad26746ab3809a6d63ccb8c1b44bb3779","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"856d5d2f_15de2b2e","updated":"2023-05-08 14:43:44.000000000","message":"Thanks Liu.","commit_id":"dde1d69c78fdada1d4441914e685f8a202f68896"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"21b2cc65bb16413f1bca5ed481a46fbd3ada6399","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"33b77262_21edba58","updated":"2023-05-11 07:27:25.000000000","message":"recheck","commit_id":"dde1d69c78fdada1d4441914e685f8a202f68896"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"2c815271291932a67e27390b9bce5a4a9c250392","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"443f1074_d2525e02","updated":"2023-05-12 06:35:14.000000000","message":"recheck","commit_id":"dde1d69c78fdada1d4441914e685f8a202f68896"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"b75173a9a36896541709f74650141316c9281082","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"639958f3_a981e8af","updated":"2023-05-12 01:36:28.000000000","message":"recheck","commit_id":"dde1d69c78fdada1d4441914e685f8a202f68896"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"55a86cba74d2437585626c4a961f39ed0188efd4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"6d19f1f0_48e796b8","updated":"2023-05-10 03:29:16.000000000","message":"recheck","commit_id":"dde1d69c78fdada1d4441914e685f8a202f68896"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"88f26fcddd6bdb159158329d5ab70b8d7fbdae8e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"b0ee014a_c2e6053f","updated":"2023-05-11 05:31:59.000000000","message":"recheck","commit_id":"dde1d69c78fdada1d4441914e685f8a202f68896"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"8bcdbb6cb0876ac1c7b969b971f9eb1fe7f7868e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"ef436cf2_fc35ab1e","updated":"2023-05-10 00:50:15.000000000","message":"recheck","commit_id":"dde1d69c78fdada1d4441914e685f8a202f68896"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"c22a7acc32f8571c2e30a1c95fdda34a17befbdc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"f96f4e40_a85293e8","updated":"2023-05-15 01:01:16.000000000","message":"recheck","commit_id":"dde1d69c78fdada1d4441914e685f8a202f68896"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"6147f96cdcbad162153b2417578281ea0a081446","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"db7c9671_98a4cef5","updated":"2023-05-15 13:22:11.000000000","message":"recheck https://review.opendev.org/c/openstack/neutron/+/883081 merged","commit_id":"dde1d69c78fdada1d4441914e685f8a202f68896"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"edfafd85090d0b42fd6ac50cc77189a9c3225cb6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"a859e1d4_4e1e7792","updated":"2023-05-11 19:44:46.000000000","message":"recheck ovn rally failure","commit_id":"dde1d69c78fdada1d4441914e685f8a202f68896"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"6a5ac90afb5984cdda8933eb4af92ca104b4c9dc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"411a010f_97676049","updated":"2023-05-09 21:22:48.000000000","message":"recheck unrelated tempest failure","commit_id":"dde1d69c78fdada1d4441914e685f8a202f68896"}],"neutron/agent/l2/extensions/metadata/host_metadata_proxy.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"5711d6cd2ca6a5905596834058b4f470bed74528","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"_HOST_PATH_PROXY_TEMPLATE \u003d jinja2.Template(\"\"\""},{"line_number":38,"context_line":"global"},{"line_number":39,"context_line":"    log         /dev/log local0 {{ log_level }}"},{"line_number":40,"context_line":"    user        {{ user }}"},{"line_number":41,"context_line":"    group       {{ group }}"},{"line_number":42,"context_line":"    maxconn     {{ maxconn }}"}],"source_content_type":"text/x-python","patch_set":2,"id":"97dbf6c0_6a2ae76a","line":39,"updated":"2022-11-29 14:14:59.000000000","message":"The existing metadata driver uses log_tag as well to that entries have a string prepended, should look into that.","commit_id":"499d9dc1e749fcc2e9cebca22b2c00e05cbe5912"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"4fd7bc432eab97cef2103786f34d1622d13f58fa","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"_HOST_PATH_PROXY_TEMPLATE \u003d jinja2.Template(\"\"\""},{"line_number":38,"context_line":"global"},{"line_number":39,"context_line":"    log         /dev/log local0 {{ log_level }}"},{"line_number":40,"context_line":"    user        {{ user }}"},{"line_number":41,"context_line":"    group       {{ group }}"},{"line_number":42,"context_line":"    maxconn     {{ maxconn }}"}],"source_content_type":"text/x-python","patch_set":2,"id":"e7a82b90_fb7d0aca","line":39,"in_reply_to":"97dbf6c0_6a2ae76a","updated":"2022-12-05 04:39:00.000000000","message":"Done","commit_id":"499d9dc1e749fcc2e9cebca22b2c00e05cbe5912"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"5711d6cd2ca6a5905596834058b4f470bed74528","unresolved":true,"context_lines":[{"line_number":49,"context_line":"    option          httplog"},{"line_number":50,"context_line":"    option          dontlognull"},{"line_number":51,"context_line":"    maxconn         {{ maxconn }}"},{"line_number":52,"context_line":"    timeout client  30s"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    monitor-uri     /monitoruri"},{"line_number":55,"context_line":"    stats uri       /admin/stats"}],"source_content_type":"text/x-python","patch_set":2,"id":"c8c5f908_7c54fa82","line":52,"range":{"start_line":52,"start_character":20,"end_line":52,"end_character":23},"updated":"2022-11-29 14:14:59.000000000","message":"Again, I don\u0027t know why the existing code uses 32s here (maybe that was a typo), but I guess we should use the same defaults? Also, are these options all that should be set?","commit_id":"499d9dc1e749fcc2e9cebca22b2c00e05cbe5912"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"4fd7bc432eab97cef2103786f34d1622d13f58fa","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    option          httplog"},{"line_number":50,"context_line":"    option          dontlognull"},{"line_number":51,"context_line":"    maxconn         {{ maxconn }}"},{"line_number":52,"context_line":"    timeout client  30s"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    monitor-uri     /monitoruri"},{"line_number":55,"context_line":"    stats uri       /admin/stats"}],"source_content_type":"text/x-python","patch_set":2,"id":"d01303ad_ae4340ff","line":52,"range":{"start_line":52,"start_character":20,"end_line":52,"end_character":23},"in_reply_to":"c8c5f908_7c54fa82","updated":"2022-12-05 04:39:00.000000000","message":"Done","commit_id":"499d9dc1e749fcc2e9cebca22b2c00e05cbe5912"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"5711d6cd2ca6a5905596834058b4f470bed74528","unresolved":true,"context_lines":[{"line_number":64,"context_line":"    instance.provider_ip }}"},{"line_number":65,"context_line":"{% endfor %}"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"{% for instance in instance_list %}"},{"line_number":68,"context_line":"backend backend_{{ instance.uuid }}_{{ instance.provider_ip }}"},{"line_number":69,"context_line":"    mode            http"},{"line_number":70,"context_line":"    balance         roundrobin"}],"source_content_type":"text/x-python","patch_set":2,"id":"40bee546_a41f31c7","line":67,"updated":"2022-11-29 14:14:59.000000000","message":"Question: this loop is done three times, can it just be done once with all these blocks inside?","commit_id":"499d9dc1e749fcc2e9cebca22b2c00e05cbe5912"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"4fd7bc432eab97cef2103786f34d1622d13f58fa","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    instance.provider_ip }}"},{"line_number":65,"context_line":"{% endfor %}"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"{% for instance in instance_list %}"},{"line_number":68,"context_line":"backend backend_{{ instance.uuid }}_{{ instance.provider_ip }}"},{"line_number":69,"context_line":"    mode            http"},{"line_number":70,"context_line":"    balance         roundrobin"}],"source_content_type":"text/x-python","patch_set":2,"id":"08ffd256_0732f0e5","line":67,"in_reply_to":"40bee546_a41f31c7","updated":"2022-12-05 04:39:00.000000000","message":"It cannot. Because \"acl\" should be set together, same to \"use_backend\" and \"backend\". The configuration sequence should be:\nacl_1\nacl_2\n\nuse_backend_1\nuse_backend_2\n\nbackend_1\nbackend_2.\n\nIf set them in one loop, the configuration file will be:\nacl_1\nuse_backend_1\nbackend_1\n\nacl_2\nuse_backend_2\nbackend_2\n\nwhich can not be parsed by haproxy.","commit_id":"499d9dc1e749fcc2e9cebca22b2c00e05cbe5912"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"5711d6cd2ca6a5905596834058b4f470bed74528","unresolved":true,"context_lines":[{"line_number":135,"context_line":"            log_level\u003d\u0027debug\u0027,"},{"line_number":136,"context_line":"            user\u003dusername,"},{"line_number":137,"context_line":"            group\u003dgroupname,"},{"line_number":138,"context_line":"            maxconn\u003d1000,"},{"line_number":139,"context_line":"            instance_list\u003dinstance_infos,"},{"line_number":140,"context_line":"            meta_api\u003dmeta_api))"},{"line_number":141,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"426948e5_6d561cfb","line":138,"range":{"start_line":138,"start_character":20,"end_line":138,"end_character":24},"updated":"2022-11-29 14:14:59.000000000","message":"nit: existing code uses 1024","commit_id":"499d9dc1e749fcc2e9cebca22b2c00e05cbe5912"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"4fd7bc432eab97cef2103786f34d1622d13f58fa","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            log_level\u003d\u0027debug\u0027,"},{"line_number":136,"context_line":"            user\u003dusername,"},{"line_number":137,"context_line":"            group\u003dgroupname,"},{"line_number":138,"context_line":"            maxconn\u003d1000,"},{"line_number":139,"context_line":"            instance_list\u003dinstance_infos,"},{"line_number":140,"context_line":"            meta_api\u003dmeta_api))"},{"line_number":141,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"be49aa6f_ebae7bc1","line":138,"range":{"start_line":138,"start_character":20,"end_line":138,"end_character":24},"in_reply_to":"426948e5_6d561cfb","updated":"2022-12-05 04:39:00.000000000","message":"Done","commit_id":"499d9dc1e749fcc2e9cebca22b2c00e05cbe5912"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"5711d6cd2ca6a5905596834058b4f470bed74528","unresolved":true,"context_lines":[{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    def _spawn_proxy(self, haproxy_conf):"},{"line_number":156,"context_line":"        def callback(pid_file):"},{"line_number":157,"context_line":"            proxy_cmd \u003d [\u0027haproxy\u0027, \u0027-f\u0027, \u0027%s\u0027 % haproxy_conf,"},{"line_number":158,"context_line":"                         \u0027-p\u0027, \u0027%s\u0027 % pid_file]"},{"line_number":159,"context_line":"            return proxy_cmd"},{"line_number":160,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"f26da3b2_4b3e9b47","line":157,"range":{"start_line":157,"start_character":25,"end_line":157,"end_character":34},"updated":"2022-11-29 14:14:59.000000000","message":"s/PROXY_SERVICE_CMD ?","commit_id":"499d9dc1e749fcc2e9cebca22b2c00e05cbe5912"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"4fd7bc432eab97cef2103786f34d1622d13f58fa","unresolved":false,"context_lines":[{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    def _spawn_proxy(self, haproxy_conf):"},{"line_number":156,"context_line":"        def callback(pid_file):"},{"line_number":157,"context_line":"            proxy_cmd \u003d [\u0027haproxy\u0027, \u0027-f\u0027, \u0027%s\u0027 % haproxy_conf,"},{"line_number":158,"context_line":"                         \u0027-p\u0027, \u0027%s\u0027 % pid_file]"},{"line_number":159,"context_line":"            return proxy_cmd"},{"line_number":160,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"d909dfe5_537e20dc","line":157,"range":{"start_line":157,"start_character":25,"end_line":157,"end_character":34},"in_reply_to":"f26da3b2_4b3e9b47","updated":"2022-12-05 04:39:00.000000000","message":"Done","commit_id":"499d9dc1e749fcc2e9cebca22b2c00e05cbe5912"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3157edfb52be981580f3a95466cd5c0244d0a286","unresolved":true,"context_lines":[{"line_number":180,"context_line":"        if infos:"},{"line_number":181,"context_line":"            self.haproxy_conf \u003d self._generate_proxy_conf(infos)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    def enable(self):"},{"line_number":184,"context_line":"        if self.haproxy_conf:"},{"line_number":185,"context_line":"            self._spawn_proxy(self.haproxy_conf)"},{"line_number":186,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":3,"id":"33cc9bd5_b11b2fc7","line":183,"updated":"2022-12-05 16:40:46.000000000","message":"I didn\u0027t see this called from anywhere except the test? Maybe there\u0027s a follow-on patch?","commit_id":"b17e32b2eef3b711ac6cece5392c24cd3a6b15da"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"5108ba80291d42a3c7ee294a1690bc1d032a6f78","unresolved":false,"context_lines":[{"line_number":180,"context_line":"        if infos:"},{"line_number":181,"context_line":"            self.haproxy_conf \u003d self._generate_proxy_conf(infos)"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"    def enable(self):"},{"line_number":184,"context_line":"        if self.haproxy_conf:"},{"line_number":185,"context_line":"            self._spawn_proxy(self.haproxy_conf)"},{"line_number":186,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":3,"id":"539162e3_3ca87cbf","line":183,"in_reply_to":"33cc9bd5_b11b2fc7","updated":"2022-12-06 01:21:24.000000000","message":"Yes, it will be called from the metadata extension.","commit_id":"b17e32b2eef3b711ac6cece5392c24cd3a6b15da"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3157edfb52be981580f3a95466cd5c0244d0a286","unresolved":true,"context_lines":[{"line_number":191,"context_line":"        self._process_monitor.unregister(uuid\u003dself._host_id,"},{"line_number":192,"context_line":"                                         service_name\u003dPROXY_SERVICE_NAME)"},{"line_number":193,"context_line":"        pm \u003d self._get_proxy_process_manager()"},{"line_number":194,"context_line":"        pm.disable()"},{"line_number":195,"context_line":"        utils.remove_conf_files(cfg.CONF.state_path, self._host_id)"},{"line_number":196,"context_line":"        LOG.debug(\"Host metadata proxy disabled for host %s\", self._host_id)"},{"line_number":197,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"a0443553_2c384eae","line":194,"updated":"2022-12-05 16:40:46.000000000","message":"Is this enough? I know the metadata proxy has a try/except waiting for !pm.active","commit_id":"b17e32b2eef3b711ac6cece5392c24cd3a6b15da"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"5108ba80291d42a3c7ee294a1690bc1d032a6f78","unresolved":false,"context_lines":[{"line_number":191,"context_line":"        self._process_monitor.unregister(uuid\u003dself._host_id,"},{"line_number":192,"context_line":"                                         service_name\u003dPROXY_SERVICE_NAME)"},{"line_number":193,"context_line":"        pm \u003d self._get_proxy_process_manager()"},{"line_number":194,"context_line":"        pm.disable()"},{"line_number":195,"context_line":"        utils.remove_conf_files(cfg.CONF.state_path, self._host_id)"},{"line_number":196,"context_line":"        LOG.debug(\"Host metadata proxy disabled for host %s\", self._host_id)"},{"line_number":197,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a8f2314_9eb18ec6","line":194,"in_reply_to":"a0443553_2c384eae","updated":"2022-12-06 01:21:24.000000000","message":"Sure, make sense, most of this code is a bit similar to the radvd manager, this is our local implementation aligin to the early version which has no try-catch block.","commit_id":"b17e32b2eef3b711ac6cece5392c24cd3a6b15da"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3157edfb52be981580f3a95466cd5c0244d0a286","unresolved":true,"context_lines":[{"line_number":196,"context_line":"        LOG.debug(\"Host metadata proxy disabled for host %s\", self._host_id)"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    @property"},{"line_number":199,"context_line":"    def enabled(self):"},{"line_number":200,"context_line":"        return self._get_proxy_process_manager().active"}],"source_content_type":"text/x-python","patch_set":3,"id":"e8b9d1aa_e7f39c86","line":199,"updated":"2022-12-05 16:40:46.000000000","message":"I didn\u0027t see this called either, and wondering if the name should be \u0027active\u0027 since that is different from enabled.","commit_id":"b17e32b2eef3b711ac6cece5392c24cd3a6b15da"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"5108ba80291d42a3c7ee294a1690bc1d032a6f78","unresolved":false,"context_lines":[{"line_number":196,"context_line":"        LOG.debug(\"Host metadata proxy disabled for host %s\", self._host_id)"},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"    @property"},{"line_number":199,"context_line":"    def enabled(self):"},{"line_number":200,"context_line":"        return self._get_proxy_process_manager().active"}],"source_content_type":"text/x-python","patch_set":3,"id":"687be67d_3dfd450d","line":199,"in_reply_to":"e8b9d1aa_e7f39c86","updated":"2022-12-06 01:21:24.000000000","message":"This code is a bit similar to the radvd manager, neutron/agent/linux/ra.py","commit_id":"b17e32b2eef3b711ac6cece5392c24cd3a6b15da"}],"neutron/conf/plugins/ml2/drivers/ovs_conf.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3157edfb52be981580f3a95466cd5c0244d0a286","unresolved":true,"context_lines":[{"line_number":263,"context_line":"                      \"available on the br-meta.\")),"},{"line_number":264,"context_line":"    cfg.StrOpt(\u0027meta_base_mac\u0027, default\u003d\"fa:16:ee:00:00:00\","},{"line_number":265,"context_line":"               help\u003d_(\"The base MAC address Neutron openvswitch agent \""},{"line_number":266,"context_line":"                      \"will be used for metadata traffic. \")),"},{"line_number":267,"context_line":"] + meta_conf.METADATA_PROXY_HANDLER_OPTS"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"6d3833ab_e6ebde2a","line":266,"range":{"start_line":266,"start_character":57,"end_line":266,"end_character":58},"updated":"2022-12-05 16:40:46.000000000","message":"super nit: trailing space","commit_id":"b17e32b2eef3b711ac6cece5392c24cd3a6b15da"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"5108ba80291d42a3c7ee294a1690bc1d032a6f78","unresolved":false,"context_lines":[{"line_number":263,"context_line":"                      \"available on the br-meta.\")),"},{"line_number":264,"context_line":"    cfg.StrOpt(\u0027meta_base_mac\u0027, default\u003d\"fa:16:ee:00:00:00\","},{"line_number":265,"context_line":"               help\u003d_(\"The base MAC address Neutron openvswitch agent \""},{"line_number":266,"context_line":"                      \"will be used for metadata traffic. \")),"},{"line_number":267,"context_line":"] + meta_conf.METADATA_PROXY_HANDLER_OPTS"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"b82ba06c_0be2cec8","line":266,"range":{"start_line":266,"start_character":57,"end_line":266,"end_character":58},"in_reply_to":"6d3833ab_e6ebde2a","updated":"2022-12-06 01:21:24.000000000","message":"Done","commit_id":"b17e32b2eef3b711ac6cece5392c24cd3a6b15da"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"f7455af3ac56506841084f418306c76ffb6361e4","unresolved":true,"context_lines":[{"line_number":256,"context_line":""},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"metadata_opts \u003d ["},{"line_number":259,"context_line":"    cfg.StrOpt(\u0027meta_cidr\u0027, default\u003d\u0027240.0.0.0/16\u0027,"},{"line_number":260,"context_line":"               help\u003d_(\"Local metadata CIDR for VMs metadata traffic.\")),"},{"line_number":261,"context_line":"    cfg.IntOpt(\u0027meta_dev_vlan_id\u0027, default\u003d1,"},{"line_number":262,"context_line":"               help\u003d_(\"The tap-meta\u0027s local vlan ID. This is only \""}],"source_content_type":"text/x-python","patch_set":6,"id":"9b0ab164_65fd1f5f","line":259,"range":{"start_line":259,"start_character":37,"end_line":259,"end_character":46},"updated":"2022-12-16 12:38:25.000000000","message":"this cidr is shadowing 169.254.169.254 ?","commit_id":"4b819533cce7f441b9650eb541f2597d46c81e71"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"46d6d017cb4f25e0ee80955d6bb2dbc17e6f28a4","unresolved":false,"context_lines":[{"line_number":256,"context_line":""},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"metadata_opts \u003d ["},{"line_number":259,"context_line":"    cfg.StrOpt(\u0027meta_cidr\u0027, default\u003d\u0027240.0.0.0/16\u0027,"},{"line_number":260,"context_line":"               help\u003d_(\"Local metadata CIDR for VMs metadata traffic.\")),"},{"line_number":261,"context_line":"    cfg.IntOpt(\u0027meta_dev_vlan_id\u0027, default\u003d1,"},{"line_number":262,"context_line":"               help\u003d_(\"The tap-meta\u0027s local vlan ID. This is only \""}],"source_content_type":"text/x-python","patch_set":6,"id":"0b50e75b_249849dc","line":259,"range":{"start_line":259,"start_character":37,"end_line":259,"end_character":46},"in_reply_to":"9b0ab164_65fd1f5f","updated":"2023-02-14 00:59:05.000000000","message":"This is for host haproxy to find uniq destination IP for return traffic.","commit_id":"4b819533cce7f441b9650eb541f2597d46c81e71"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"f7455af3ac56506841084f418306c76ffb6361e4","unresolved":true,"context_lines":[{"line_number":263,"context_line":"                      \"available on the br-meta.\")),"},{"line_number":264,"context_line":"    cfg.StrOpt(\u0027meta_base_mac\u0027, default\u003d\"fa:16:ee:00:00:00\","},{"line_number":265,"context_line":"               help\u003d_(\"The base MAC address Neutron openvswitch agent \""},{"line_number":266,"context_line":"                      \"will be used for metadata traffic.\")),"},{"line_number":267,"context_line":"] + meta_conf.METADATA_PROXY_HANDLER_OPTS"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"6776017c_f3ed18f5","line":266,"updated":"2022-12-16 12:38:25.000000000","message":"In the spec different names were discussed:\n(https://review.opendev.org/c/openstack/neutron-specs/+/802854/9/specs/yoga/distributed-metadata-data-path.rst)\nprovider_cidr, provider_vlan, provider_base_mac","commit_id":"4b819533cce7f441b9650eb541f2597d46c81e71"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"46d6d017cb4f25e0ee80955d6bb2dbc17e6f28a4","unresolved":false,"context_lines":[{"line_number":263,"context_line":"                      \"available on the br-meta.\")),"},{"line_number":264,"context_line":"    cfg.StrOpt(\u0027meta_base_mac\u0027, default\u003d\"fa:16:ee:00:00:00\","},{"line_number":265,"context_line":"               help\u003d_(\"The base MAC address Neutron openvswitch agent \""},{"line_number":266,"context_line":"                      \"will be used for metadata traffic.\")),"},{"line_number":267,"context_line":"] + meta_conf.METADATA_PROXY_HANDLER_OPTS"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"af20dea1_a1280c7a","line":266,"in_reply_to":"6776017c_f3ed18f5","updated":"2023-02-14 00:59:05.000000000","message":"Done","commit_id":"4b819533cce7f441b9650eb541f2597d46c81e71"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"f7455af3ac56506841084f418306c76ffb6361e4","unresolved":true,"context_lines":[{"line_number":273,"context_line":"    cfg.register_opts(dhcp_opts, \"DHCP\")"},{"line_number":274,"context_line":"    cfg.register_opts(common.DHCP_PROTOCOL_OPTS, \"DHCP\")"},{"line_number":275,"context_line":"    cfg.register_opts(local_ip_opts, \"LOCAL_IP\")"},{"line_number":276,"context_line":"    cfg.register_opts(metadata_opts, \"METADATA\")"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"def register_ovs_opts(cfg\u003dcfg.CONF):"}],"source_content_type":"text/x-python","patch_set":6,"id":"dc2eb872_9fe454df","line":276,"range":{"start_line":276,"start_character":38,"end_line":276,"end_character":46},"updated":"2022-12-16 12:38:25.000000000","message":"Shall it be OVS_METADATA to make it clear?","commit_id":"4b819533cce7f441b9650eb541f2597d46c81e71"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"46d6d017cb4f25e0ee80955d6bb2dbc17e6f28a4","unresolved":false,"context_lines":[{"line_number":273,"context_line":"    cfg.register_opts(dhcp_opts, \"DHCP\")"},{"line_number":274,"context_line":"    cfg.register_opts(common.DHCP_PROTOCOL_OPTS, \"DHCP\")"},{"line_number":275,"context_line":"    cfg.register_opts(local_ip_opts, \"LOCAL_IP\")"},{"line_number":276,"context_line":"    cfg.register_opts(metadata_opts, \"METADATA\")"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"def register_ovs_opts(cfg\u003dcfg.CONF):"}],"source_content_type":"text/x-python","patch_set":6,"id":"51030ba8_50c966b9","line":276,"range":{"start_line":276,"start_character":38,"end_line":276,"end_character":46},"in_reply_to":"dc2eb872_9fe454df","updated":"2023-02-14 00:59:05.000000000","message":"This config is only for ovs-agent, so the prefix is not needed IMO. Other sections do not have the prefix either.","commit_id":"4b819533cce7f441b9650eb541f2597d46c81e71"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ed74697089612f524ff8af4f82311bff9a4a0160","unresolved":true,"context_lines":[{"line_number":262,"context_line":"                      \"VM\u0027s metadata IP.\")),"},{"line_number":263,"context_line":"    cfg.IntOpt(\u0027provider_vlan_id\u0027, default\u003d1,"},{"line_number":264,"context_line":"               help\u003d_(\"The tap-meta\u0027s local vlan ID. This is only \""},{"line_number":265,"context_line":"                      \"available on the br-meta.\")),"},{"line_number":266,"context_line":"    cfg.StrOpt(\u0027provider_base_mac\u0027, default\u003d\"fa:16:ee:00:00:00\","},{"line_number":267,"context_line":"               help\u003d_(\"The base MAC address Neutron openvswitch agent \""},{"line_number":268,"context_line":"                      \"will be used for metadata traffic.\")),"}],"source_content_type":"text/x-python","patch_set":7,"id":"c1949278_f19593de","line":265,"range":{"start_line":265,"start_character":36,"end_line":265,"end_character":47},"updated":"2023-02-14 16:33:43.000000000","message":"Either just \u0027br-meta\u0027 or \u0027the br-meta bridge\u0027","commit_id":"96ebdd9f9279a78bc8ab20d68b594bdee8953b6a"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"082f4a31d7016f9df4530d7bb0584e1e9f869f70","unresolved":false,"context_lines":[{"line_number":262,"context_line":"                      \"VM\u0027s metadata IP.\")),"},{"line_number":263,"context_line":"    cfg.IntOpt(\u0027provider_vlan_id\u0027, default\u003d1,"},{"line_number":264,"context_line":"               help\u003d_(\"The tap-meta\u0027s local vlan ID. This is only \""},{"line_number":265,"context_line":"                      \"available on the br-meta.\")),"},{"line_number":266,"context_line":"    cfg.StrOpt(\u0027provider_base_mac\u0027, default\u003d\"fa:16:ee:00:00:00\","},{"line_number":267,"context_line":"               help\u003d_(\"The base MAC address Neutron openvswitch agent \""},{"line_number":268,"context_line":"                      \"will be used for metadata traffic.\")),"}],"source_content_type":"text/x-python","patch_set":7,"id":"31af5230_4ba7cf22","line":265,"range":{"start_line":265,"start_character":36,"end_line":265,"end_character":47},"in_reply_to":"c1949278_f19593de","updated":"2023-03-09 01:02:45.000000000","message":"Done","commit_id":"96ebdd9f9279a78bc8ab20d68b594bdee8953b6a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ed74697089612f524ff8af4f82311bff9a4a0160","unresolved":true,"context_lines":[{"line_number":265,"context_line":"                      \"available on the br-meta.\")),"},{"line_number":266,"context_line":"    cfg.StrOpt(\u0027provider_base_mac\u0027, default\u003d\"fa:16:ee:00:00:00\","},{"line_number":267,"context_line":"               help\u003d_(\"The base MAC address Neutron openvswitch agent \""},{"line_number":268,"context_line":"                      \"will be used for metadata traffic.\")),"},{"line_number":269,"context_line":"] + meta_conf.METADATA_PROXY_HANDLER_OPTS"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"f506bc2a_60fe9b39","line":268,"range":{"start_line":268,"start_character":28,"end_line":268,"end_character":35},"updated":"2023-02-14 16:33:43.000000000","message":"s/use","commit_id":"96ebdd9f9279a78bc8ab20d68b594bdee8953b6a"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"082f4a31d7016f9df4530d7bb0584e1e9f869f70","unresolved":false,"context_lines":[{"line_number":265,"context_line":"                      \"available on the br-meta.\")),"},{"line_number":266,"context_line":"    cfg.StrOpt(\u0027provider_base_mac\u0027, default\u003d\"fa:16:ee:00:00:00\","},{"line_number":267,"context_line":"               help\u003d_(\"The base MAC address Neutron openvswitch agent \""},{"line_number":268,"context_line":"                      \"will be used for metadata traffic.\")),"},{"line_number":269,"context_line":"] + meta_conf.METADATA_PROXY_HANDLER_OPTS"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"4ff01ecb_6cd2c087","line":268,"range":{"start_line":268,"start_character":28,"end_line":268,"end_character":35},"in_reply_to":"f506bc2a_60fe9b39","updated":"2023-03-09 01:02:45.000000000","message":"Done","commit_id":"96ebdd9f9279a78bc8ab20d68b594bdee8953b6a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ed74697089612f524ff8af4f82311bff9a4a0160","unresolved":true,"context_lines":[{"line_number":266,"context_line":"    cfg.StrOpt(\u0027provider_base_mac\u0027, default\u003d\"fa:16:ee:00:00:00\","},{"line_number":267,"context_line":"               help\u003d_(\"The base MAC address Neutron openvswitch agent \""},{"line_number":268,"context_line":"                      \"will be used for metadata traffic.\")),"},{"line_number":269,"context_line":"] + meta_conf.METADATA_PROXY_HANDLER_OPTS"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"def register_ovs_agent_opts(cfg\u003dcfg.CONF):"}],"source_content_type":"text/x-python","patch_set":7,"id":"17674522_d0faea65","line":269,"range":{"start_line":269,"start_character":4,"end_line":269,"end_character":41},"updated":"2023-02-14 16:33:43.000000000","message":"I think this should just be used in the register code below since (I think) this will duplicate sections right?","commit_id":"96ebdd9f9279a78bc8ab20d68b594bdee8953b6a"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"082f4a31d7016f9df4530d7bb0584e1e9f869f70","unresolved":false,"context_lines":[{"line_number":266,"context_line":"    cfg.StrOpt(\u0027provider_base_mac\u0027, default\u003d\"fa:16:ee:00:00:00\","},{"line_number":267,"context_line":"               help\u003d_(\"The base MAC address Neutron openvswitch agent \""},{"line_number":268,"context_line":"                      \"will be used for metadata traffic.\")),"},{"line_number":269,"context_line":"] + meta_conf.METADATA_PROXY_HANDLER_OPTS"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"def register_ovs_agent_opts(cfg\u003dcfg.CONF):"}],"source_content_type":"text/x-python","patch_set":7,"id":"726c65ad_ca66062e","line":269,"range":{"start_line":269,"start_character":4,"end_line":269,"end_character":41},"in_reply_to":"17674522_d0faea65","updated":"2023-03-09 01:02:45.000000000","message":"Done","commit_id":"96ebdd9f9279a78bc8ab20d68b594bdee8953b6a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f3df0de7274cd36f1f7f7b69668d8d5cc788cfba","unresolved":true,"context_lines":[{"line_number":262,"context_line":"                      \"VM\u0027s metadata IP.\")),"},{"line_number":263,"context_line":"    cfg.IntOpt(\u0027provider_vlan_id\u0027, default\u003d1,"},{"line_number":264,"context_line":"               help\u003d_(\"The tap-meta\u0027s local vlan ID. This is only \""},{"line_number":265,"context_line":"                      \"available on br-meta.\")),"},{"line_number":266,"context_line":"    cfg.StrOpt(\u0027provider_base_mac\u0027, default\u003d\"fa:16:ee:00:00:00\","},{"line_number":267,"context_line":"               help\u003d_(\"The base MAC address Neutron openvswitch agent \""},{"line_number":268,"context_line":"                      \"will use for metadata traffic.\")),"}],"source_content_type":"text/x-python","patch_set":9,"id":"b3e9449f_647eff7c","line":265,"updated":"2023-05-05 09:32:58.000000000","message":"After looking at the follow-on, should probably make this help text more generic as br-meta is not necessarily the name that will be used, maybe use \"the metadata bridge device\" ? Also, \u0027tap-meta\u0027 is the metadata tap device? Should just spell that out.","commit_id":"94eb1ebb74e98ab08ce440738129832a79754cea"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"7d1f53fde2f48cf6c9d2a42ea0f2b8cec7611c99","unresolved":false,"context_lines":[{"line_number":262,"context_line":"                      \"VM\u0027s metadata IP.\")),"},{"line_number":263,"context_line":"    cfg.IntOpt(\u0027provider_vlan_id\u0027, default\u003d1,"},{"line_number":264,"context_line":"               help\u003d_(\"The tap-meta\u0027s local vlan ID. This is only \""},{"line_number":265,"context_line":"                      \"available on br-meta.\")),"},{"line_number":266,"context_line":"    cfg.StrOpt(\u0027provider_base_mac\u0027, default\u003d\"fa:16:ee:00:00:00\","},{"line_number":267,"context_line":"               help\u003d_(\"The base MAC address Neutron openvswitch agent \""},{"line_number":268,"context_line":"                      \"will use for metadata traffic.\")),"}],"source_content_type":"text/x-python","patch_set":9,"id":"25770b5a_014be3a8","line":265,"in_reply_to":"b3e9449f_647eff7c","updated":"2023-05-08 00:40:01.000000000","message":"Done","commit_id":"94eb1ebb74e98ab08ce440738129832a79754cea"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f3df0de7274cd36f1f7f7b69668d8d5cc788cfba","unresolved":true,"context_lines":[{"line_number":264,"context_line":"               help\u003d_(\"The tap-meta\u0027s local vlan ID. This is only \""},{"line_number":265,"context_line":"                      \"available on br-meta.\")),"},{"line_number":266,"context_line":"    cfg.StrOpt(\u0027provider_base_mac\u0027, default\u003d\"fa:16:ee:00:00:00\","},{"line_number":267,"context_line":"               help\u003d_(\"The base MAC address Neutron openvswitch agent \""},{"line_number":268,"context_line":"                      \"will use for metadata traffic.\")),"},{"line_number":269,"context_line":"]"},{"line_number":270,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5b1ffedc_04827649","line":267,"range":{"start_line":267,"start_character":52,"end_line":267,"end_character":63},"updated":"2023-05-05 09:32:58.000000000","message":"s/Openvswitch","commit_id":"94eb1ebb74e98ab08ce440738129832a79754cea"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"7d1f53fde2f48cf6c9d2a42ea0f2b8cec7611c99","unresolved":false,"context_lines":[{"line_number":264,"context_line":"               help\u003d_(\"The tap-meta\u0027s local vlan ID. This is only \""},{"line_number":265,"context_line":"                      \"available on br-meta.\")),"},{"line_number":266,"context_line":"    cfg.StrOpt(\u0027provider_base_mac\u0027, default\u003d\"fa:16:ee:00:00:00\","},{"line_number":267,"context_line":"               help\u003d_(\"The base MAC address Neutron openvswitch agent \""},{"line_number":268,"context_line":"                      \"will use for metadata traffic.\")),"},{"line_number":269,"context_line":"]"},{"line_number":270,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"9559105e_b11b016a","line":267,"range":{"start_line":267,"start_character":52,"end_line":267,"end_character":63},"in_reply_to":"5b1ffedc_04827649","updated":"2023-05-08 00:40:01.000000000","message":"Done","commit_id":"94eb1ebb74e98ab08ce440738129832a79754cea"}],"neutron/opts.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ecfb54d98d928f98af6b916355c477592273db3c","unresolved":true,"context_lines":[{"line_number":356,"context_line":"         itertools.chain("},{"line_number":357,"context_line":"             neutron.conf.plugins.ml2.drivers.ovs_conf.dhcp_opts,"},{"line_number":358,"context_line":"             neutron.conf.agent.common.DHCP_PROTOCOL_OPTS)),"},{"line_number":359,"context_line":"        (\u0027METADATA\u0027,"},{"line_number":360,"context_line":"         itertools.chain("},{"line_number":361,"context_line":"             neutron.conf.plugins.ml2.drivers.ovs_conf.metadata_opts,"},{"line_number":362,"context_line":"             meta_conf.METADATA_PROXY_HANDLER_OPTS))"}],"source_content_type":"text/x-python","patch_set":8,"id":"307352d7_d5eeff66","line":359,"range":{"start_line":359,"start_character":10,"end_line":359,"end_character":18},"updated":"2023-03-20 18:07:19.000000000","message":"Needs to be lower-case, else it will generate a warning, see any of the temptest job-output.txt files:\n\nWARNING:oslo_config.generator:normalizing group name \u0027METADATA\u0027 to \u0027metadata\u0027","commit_id":"3e7cfb26836a2b7cc25261ec3ac08a9f01e34274"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"69a9509ec788c709689fd8cde388edf8b554dbc3","unresolved":false,"context_lines":[{"line_number":356,"context_line":"         itertools.chain("},{"line_number":357,"context_line":"             neutron.conf.plugins.ml2.drivers.ovs_conf.dhcp_opts,"},{"line_number":358,"context_line":"             neutron.conf.agent.common.DHCP_PROTOCOL_OPTS)),"},{"line_number":359,"context_line":"        (\u0027METADATA\u0027,"},{"line_number":360,"context_line":"         itertools.chain("},{"line_number":361,"context_line":"             neutron.conf.plugins.ml2.drivers.ovs_conf.metadata_opts,"},{"line_number":362,"context_line":"             meta_conf.METADATA_PROXY_HANDLER_OPTS))"}],"source_content_type":"text/x-python","patch_set":8,"id":"b9e13a85_8b96fe57","line":359,"range":{"start_line":359,"start_character":10,"end_line":359,"end_character":18},"in_reply_to":"307352d7_d5eeff66","updated":"2023-04-10 07:42:17.000000000","message":"Done","commit_id":"3e7cfb26836a2b7cc25261ec3ac08a9f01e34274"}],"neutron/tests/unit/agent/l2/extensions/metadata/test_host_metadata_proxy.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3157edfb52be981580f3a95466cd5c0244d0a286","unresolved":true,"context_lines":[{"line_number":71,"context_line":"        self.assertIn(_join(\u0027-f\u0027, conffile), cmd)"},{"line_number":72,"context_line":"        self.assertIn(_join(\u0027-p\u0027, pidfile), cmd)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def test_generate_host_metadata_haporxy_config(self):"},{"line_number":75,"context_line":"        cfg.CONF.set_override(\u0027metadata_proxy_shared_secret\u0027,"},{"line_number":76,"context_line":"                              \u0027secret\u0027, group\u003d\u0027METADATA\u0027)"},{"line_number":77,"context_line":"        sig \u003d ("}],"source_content_type":"text/x-python","patch_set":3,"id":"03702c1b_35125143","line":74,"range":{"start_line":74,"start_character":36,"end_line":74,"end_character":43},"updated":"2022-12-05 16:40:46.000000000","message":"nit: haproxy","commit_id":"b17e32b2eef3b711ac6cece5392c24cd3a6b15da"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"5108ba80291d42a3c7ee294a1690bc1d032a6f78","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        self.assertIn(_join(\u0027-f\u0027, conffile), cmd)"},{"line_number":72,"context_line":"        self.assertIn(_join(\u0027-p\u0027, pidfile), cmd)"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def test_generate_host_metadata_haporxy_config(self):"},{"line_number":75,"context_line":"        cfg.CONF.set_override(\u0027metadata_proxy_shared_secret\u0027,"},{"line_number":76,"context_line":"                              \u0027secret\u0027, group\u003d\u0027METADATA\u0027)"},{"line_number":77,"context_line":"        sig \u003d ("}],"source_content_type":"text/x-python","patch_set":3,"id":"acf81537_6f91dd7b","line":74,"range":{"start_line":74,"start_character":36,"end_line":74,"end_character":43},"in_reply_to":"03702c1b_35125143","updated":"2022-12-06 01:21:24.000000000","message":"Done","commit_id":"b17e32b2eef3b711ac6cece5392c24cd3a6b15da"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ff899c99f96adacca0c1dab62eca6f89da816b47","unresolved":true,"context_lines":[{"line_number":81,"context_line":"                              group\u003d\u0027METADATA\u0027)"},{"line_number":82,"context_line":"        cfg.CONF.set_override(\u0027nova_metadata_port\u0027,"},{"line_number":83,"context_line":"                              \u00278775\u0027,"},{"line_number":84,"context_line":"                              group\u003d\u0027METADATA\u0027)"},{"line_number":85,"context_line":"        process_monitor \u003d external_process.ProcessMonitor("},{"line_number":86,"context_line":"            config\u003dcfg.CONF,"},{"line_number":87,"context_line":"            resource_type\u003d\u0027MetadataPath\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"12c25bac_a2a8ee62","line":84,"updated":"2023-04-28 15:23:34.000000000","message":"nit: the default is 8775 so this override isn\u0027t necessary.","commit_id":"94eb1ebb74e98ab08ce440738129832a79754cea"}]}
