)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"edaa5708654d357826b85a1b78916db7b8f32a23","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"50b4224a_99b05194","updated":"2026-05-06 11:53:17.000000000","message":"Good patch just one comment regarding the name convention for the port","commit_id":"07db68e1e3c03a04ad98ff3510d1d3635fd7b438"}],"ovn_octavia_provider/common/constants.py":[{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"d572b55e238c88be2eaf4e86e53ca6f21018ba9e","unresolved":true,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"# TODO(froyo): Use from neutron-lib once released."},{"line_number":39,"context_line":"OVN_LB_HM_PORT_DISTRIBUTED \u003d \u0027ovn-lb-hm:distributed\u0027"},{"line_number":40,"context_line":"OVN_LB_VIP_PORT_DISTRIBUTED \u003d \u0027ovn-lb-vip:distributed\u0027"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"LB_EXT_IDS_LS_REFS_KEY \u003d \u0027ls_refs\u0027"},{"line_number":43,"context_line":"LB_EXT_IDS_LR_REF_KEY \u003d \u0027lr_ref\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"22b9614d_21a45e4b","line":40,"updated":"2026-05-06 12:12:21.000000000","message":"I think we should break the DISTRIBUTED concept here, maybe better something as ovn-lb:vip?","commit_id":"07db68e1e3c03a04ad98ff3510d1d3635fd7b438"},{"author":{"_account_id":38822,"name":"JayGue Lee","display_name":"JayGue Lee","email":"enginrect@gmail.com","username":"enginrect"},"change_message_id":"389fbd59d8e4df027ddbbe80ccfc97782f480b83","unresolved":true,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"# TODO(froyo): Use from neutron-lib once released."},{"line_number":39,"context_line":"OVN_LB_HM_PORT_DISTRIBUTED \u003d \u0027ovn-lb-hm:distributed\u0027"},{"line_number":40,"context_line":"OVN_LB_VIP_PORT_DISTRIBUTED \u003d \u0027ovn-lb-vip:distributed\u0027"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"LB_EXT_IDS_LS_REFS_KEY \u003d \u0027ls_refs\u0027"},{"line_number":43,"context_line":"LB_EXT_IDS_LR_REF_KEY \u003d \u0027lr_ref\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"6c15bba9_2a04c7bb","line":40,"in_reply_to":"22b9614d_21a45e4b","updated":"2026-05-06 23:42:16.000000000","message":"Agreed. Dropping the misleading \":distributed\" suffix and renaming\nto OVN_LB_VIP_PORT \u003d \u0027ovn-lb:vip\u0027 in patchset 2. (HM keeps its\nexisting name because it really is localport-distributed; VIP is\nvirtual, so re-using \":distributed\" was wrong.)","commit_id":"07db68e1e3c03a04ad98ff3510d1d3635fd7b438"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"3c4fbb45555cff8ab4ace7c736616c1524f6787c","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"# TODO(froyo): Use from neutron-lib once released."},{"line_number":39,"context_line":"OVN_LB_HM_PORT_DISTRIBUTED \u003d \u0027ovn-lb-hm:distributed\u0027"},{"line_number":40,"context_line":"OVN_LB_VIP_PORT_DISTRIBUTED \u003d \u0027ovn-lb-vip:distributed\u0027"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"LB_EXT_IDS_LS_REFS_KEY \u003d \u0027ls_refs\u0027"},{"line_number":43,"context_line":"LB_EXT_IDS_LR_REF_KEY \u003d \u0027lr_ref\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"bc3ab524_8d19158d","line":40,"in_reply_to":"6c15bba9_2a04c7bb","updated":"2026-05-07 06:25:05.000000000","message":"Done","commit_id":"07db68e1e3c03a04ad98ff3510d1d3635fd7b438"}],"ovn_octavia_provider/maintenance.py":[{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"d572b55e238c88be2eaf4e86e53ca6f21018ba9e","unresolved":true,"context_lines":[{"line_number":140,"context_line":"        This task walks every OVN load balancer row and, for each VIP"},{"line_number":141,"context_line":"        and additional-VIP port referenced from its ``external_ids``,"},{"line_number":142,"context_line":"        sets ``device_id\u003d\u0027lb-\u003clb_id\u003e\u0027`` and"},{"line_number":143,"context_line":"        ``device_owner\u003dovn-lb-vip:distributed`` so existing deployments"},{"line_number":144,"context_line":"        are aligned with the protection now applied at creation time."},{"line_number":145,"context_line":"        Ports whose ``device_id`` is already set to a different value"},{"line_number":146,"context_line":"        are intentionally skipped: rewriting them could mask a misuse"}],"source_content_type":"text/x-python","patch_set":1,"id":"21f5224f_990beceb","line":143,"range":{"start_line":143,"start_character":23,"end_line":143,"end_character":45},"updated":"2026-05-06 12:12:21.000000000","message":"fix this if finally another label is used","commit_id":"07db68e1e3c03a04ad98ff3510d1d3635fd7b438"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"3c4fbb45555cff8ab4ace7c736616c1524f6787c","unresolved":false,"context_lines":[{"line_number":140,"context_line":"        This task walks every OVN load balancer row and, for each VIP"},{"line_number":141,"context_line":"        and additional-VIP port referenced from its ``external_ids``,"},{"line_number":142,"context_line":"        sets ``device_id\u003d\u0027lb-\u003clb_id\u003e\u0027`` and"},{"line_number":143,"context_line":"        ``device_owner\u003dovn-lb-vip:distributed`` so existing deployments"},{"line_number":144,"context_line":"        are aligned with the protection now applied at creation time."},{"line_number":145,"context_line":"        Ports whose ``device_id`` is already set to a different value"},{"line_number":146,"context_line":"        are intentionally skipped: rewriting them could mask a misuse"}],"source_content_type":"text/x-python","patch_set":1,"id":"e9a21481_f432ea58","line":143,"range":{"start_line":143,"start_character":23,"end_line":143,"end_character":45},"in_reply_to":"1f845107_7d82bee4","updated":"2026-05-07 06:25:05.000000000","message":"Done","commit_id":"07db68e1e3c03a04ad98ff3510d1d3635fd7b438"},{"author":{"_account_id":38822,"name":"JayGue Lee","display_name":"JayGue Lee","email":"enginrect@gmail.com","username":"enginrect"},"change_message_id":"389fbd59d8e4df027ddbbe80ccfc97782f480b83","unresolved":true,"context_lines":[{"line_number":140,"context_line":"        This task walks every OVN load balancer row and, for each VIP"},{"line_number":141,"context_line":"        and additional-VIP port referenced from its ``external_ids``,"},{"line_number":142,"context_line":"        sets ``device_id\u003d\u0027lb-\u003clb_id\u003e\u0027`` and"},{"line_number":143,"context_line":"        ``device_owner\u003dovn-lb-vip:distributed`` so existing deployments"},{"line_number":144,"context_line":"        are aligned with the protection now applied at creation time."},{"line_number":145,"context_line":"        Ports whose ``device_id`` is already set to a different value"},{"line_number":146,"context_line":"        are intentionally skipped: rewriting them could mask a misuse"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f845107_7d82bee4","line":143,"range":{"start_line":143,"start_character":23,"end_line":143,"end_character":45},"in_reply_to":"21f5224f_990beceb","updated":"2026-05-06 23:42:16.000000000","message":"Will be updated to the new label (\"ovn-lb:vip\") in patchset 2.","commit_id":"07db68e1e3c03a04ad98ff3510d1d3635fd7b438"}],"releasenotes/notes/protect-ovn-lb-vip-port-2150682-7adb09b830065875.yaml":[{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"d572b55e238c88be2eaf4e86e53ca6f21018ba9e","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    OVN Octavia provider load balancer VIP and additional VIP Neutron"},{"line_number":5,"context_line":"    ports are now created with ``device_id`` set to ``lb-\u003clb_id\u003e`` and"},{"line_number":6,"context_line":"    ``device_owner`` set to ``ovn-lb-vip:distributed``. This matches"},{"line_number":7,"context_line":"    the protection the Amphora driver has always provided and prevents"},{"line_number":8,"context_line":"    other workloads (e.g. Nova instances) from attaching the VIP port,"},{"line_number":9,"context_line":"    which would otherwise leave OVN NAT state for an attached floating"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"63f89400_b52ffa46","line":6,"range":{"start_line":6,"start_character":30,"end_line":6,"end_character":52},"updated":"2026-05-06 12:12:21.000000000","message":"change this in case another label is used","commit_id":"07db68e1e3c03a04ad98ff3510d1d3635fd7b438"},{"author":{"_account_id":34451,"name":"Fernando Royo","email":"froyo@redhat.com","username":"froyo"},"change_message_id":"3c4fbb45555cff8ab4ace7c736616c1524f6787c","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    OVN Octavia provider load balancer VIP and additional VIP Neutron"},{"line_number":5,"context_line":"    ports are now created with ``device_id`` set to ``lb-\u003clb_id\u003e`` and"},{"line_number":6,"context_line":"    ``device_owner`` set to ``ovn-lb-vip:distributed``. This matches"},{"line_number":7,"context_line":"    the protection the Amphora driver has always provided and prevents"},{"line_number":8,"context_line":"    other workloads (e.g. Nova instances) from attaching the VIP port,"},{"line_number":9,"context_line":"    which would otherwise leave OVN NAT state for an attached floating"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"4e023881_99d2f850","line":6,"range":{"start_line":6,"start_character":30,"end_line":6,"end_character":52},"in_reply_to":"3be9cc71_79e92696","updated":"2026-05-07 06:25:05.000000000","message":"Done","commit_id":"07db68e1e3c03a04ad98ff3510d1d3635fd7b438"},{"author":{"_account_id":38822,"name":"JayGue Lee","display_name":"JayGue Lee","email":"enginrect@gmail.com","username":"enginrect"},"change_message_id":"389fbd59d8e4df027ddbbe80ccfc97782f480b83","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    OVN Octavia provider load balancer VIP and additional VIP Neutron"},{"line_number":5,"context_line":"    ports are now created with ``device_id`` set to ``lb-\u003clb_id\u003e`` and"},{"line_number":6,"context_line":"    ``device_owner`` set to ``ovn-lb-vip:distributed``. This matches"},{"line_number":7,"context_line":"    the protection the Amphora driver has always provided and prevents"},{"line_number":8,"context_line":"    other workloads (e.g. Nova instances) from attaching the VIP port,"},{"line_number":9,"context_line":"    which would otherwise leave OVN NAT state for an attached floating"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"3be9cc71_79e92696","line":6,"range":{"start_line":6,"start_character":30,"end_line":6,"end_character":52},"in_reply_to":"63f89400_b52ffa46","updated":"2026-05-06 23:42:16.000000000","message":"Will be updated to the new label (\"ovn-lb:vip\") in patchset 2.","commit_id":"07db68e1e3c03a04ad98ff3510d1d3635fd7b438"}]}
