)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"38828fba17c3bce87b65f30d3be3f66bbbea1928","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"[1] https://www.ovn.org/support/dist-docs/ovn-nb.5.txt"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Depends-On: https://review.opendev.org/#/c/732141/"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I0a69f1bddaa7030c7287216e62ec1ac6dd381475"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ff570b3c_bf1beac7","line":18,"updated":"2020-06-01 15:13:18.000000000","message":"This doesn\u0027t work for a library, it needs a release :(","commit_id":"3bd5a752ffe6bdce4a0091a5b8f0982b01e8eb7e"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"196e9f442718034484e6372904c08d74c54dc06e","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"[1] https://www.ovn.org/support/dist-docs/ovn-nb.5.txt"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Depends-On: https://review.opendev.org/#/c/732141/"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I0a69f1bddaa7030c7287216e62ec1ac6dd381475"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ff570b3c_2fbca404","line":18,"in_reply_to":"ff570b3c_1aff79ab","updated":"2020-07-07 08:19:35.000000000","message":"Done","commit_id":"3bd5a752ffe6bdce4a0091a5b8f0982b01e8eb7e"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"57573018badd1907a24ee8b5b70a317ec26904f9","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"[1] https://www.ovn.org/support/dist-docs/ovn-nb.5.txt"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Depends-On: https://review.opendev.org/#/c/732141/"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Change-Id: I0a69f1bddaa7030c7287216e62ec1ac6dd381475"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ff570b3c_1aff79ab","line":18,"in_reply_to":"ff570b3c_bf1beac7","updated":"2020-06-02 07:53:05.000000000","message":"Ah, ok. So I might add the same to common/_constants.py along with adding it to neutron-lib. While neutron-lib will be released, I\u0027ll delete it from _constants.py","commit_id":"3bd5a752ffe6bdce4a0091a5b8f0982b01e8eb7e"}],"lower-constraints.txt":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ec92d4a3ecc8bd126cbf064fe4d806e2e3a6d7a1","unresolved":false,"context_lines":[{"line_number":50,"context_line":"munch\u003d\u003d2.1.0"},{"line_number":51,"context_line":"netaddr\u003d\u003d0.7.18"},{"line_number":52,"context_line":"netifaces\u003d\u003d0.10.4"},{"line_number":53,"context_line":"neutron-lib\u003d\u003d2.4.0"},{"line_number":54,"context_line":"openstacksdk\u003d\u003d0.31.2"},{"line_number":55,"context_line":"os-client-config\u003d\u003d1.28.0"},{"line_number":56,"context_line":"os-ken\u003d\u003d0.3.0"}],"source_content_type":"text/plain","patch_set":11,"id":"bf51134e_18ab2c89","line":53,"updated":"2020-07-08 12:16:00.000000000","message":"You need to bump it on requirements.txt too","commit_id":"c50b85fc05bb8581a22ffef6f59dc7315aa8ea07"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"75726d2c3859f5a55b7e55bfd5586216e2bf05b0","unresolved":false,"context_lines":[{"line_number":50,"context_line":"munch\u003d\u003d2.1.0"},{"line_number":51,"context_line":"netaddr\u003d\u003d0.7.18"},{"line_number":52,"context_line":"netifaces\u003d\u003d0.10.4"},{"line_number":53,"context_line":"neutron-lib\u003d\u003d2.4.0"},{"line_number":54,"context_line":"openstacksdk\u003d\u003d0.31.2"},{"line_number":55,"context_line":"os-client-config\u003d\u003d1.28.0"},{"line_number":56,"context_line":"os-ken\u003d\u003d0.3.0"}],"source_content_type":"text/plain","patch_set":11,"id":"bf51134e_8b1b6819","line":53,"in_reply_to":"bf51134e_18ab2c89","updated":"2020-07-08 12:39:45.000000000","message":"Done","commit_id":"c50b85fc05bb8581a22ffef6f59dc7315aa8ea07"}],"neutron/common/ovn/utils.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"38828fba17c3bce87b65f30d3be3f66bbbea1928","unresolved":false,"context_lines":[{"line_number":433,"context_line":"    The DHCP ports with the device_id equals to \u0027reserved_dhcp_port\u0027"},{"line_number":434,"context_line":"    or starting with the word \u0027dhcp\u0027 belongs to the Neutron DHCP agents."},{"line_number":435,"context_line":"    \"\"\""},{"line_number":436,"context_line":"    return (port[\u0027device_owner\u0027] \u003d\u003d const.DEVICE_OWNER_DISTRIBUTED and"},{"line_number":437,"context_line":"            (port[\u0027device_id\u0027] \u003d\u003d const.DEVICE_ID_RESERVED_DHCP_PORT or"},{"line_number":438,"context_line":"             port[\u0027device_id\u0027].startswith(\u0027dhcp\u0027)))"},{"line_number":439,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_ff9a8211","line":436,"updated":"2020-06-01 15:13:18.000000000","message":"This seems like it would break something by removing the DHCP device owner","commit_id":"3bd5a752ffe6bdce4a0091a5b8f0982b01e8eb7e"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"57573018badd1907a24ee8b5b70a317ec26904f9","unresolved":false,"context_lines":[{"line_number":433,"context_line":"    The DHCP ports with the device_id equals to \u0027reserved_dhcp_port\u0027"},{"line_number":434,"context_line":"    or starting with the word \u0027dhcp\u0027 belongs to the Neutron DHCP agents."},{"line_number":435,"context_line":"    \"\"\""},{"line_number":436,"context_line":"    return (port[\u0027device_owner\u0027] \u003d\u003d const.DEVICE_OWNER_DISTRIBUTED and"},{"line_number":437,"context_line":"            (port[\u0027device_id\u0027] \u003d\u003d const.DEVICE_ID_RESERVED_DHCP_PORT or"},{"line_number":438,"context_line":"             port[\u0027device_id\u0027].startswith(\u0027dhcp\u0027)))"},{"line_number":439,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_3a0a3dd1","line":436,"in_reply_to":"ff570b3c_ff9a8211","updated":"2020-06-02 07:53:05.000000000","message":"Ahh! Right. I shouldn\u0027t touch this method. Thanks for raising this ++.\nIts used in places like:\nneutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py\n\nto avoid performing actions on such ports.","commit_id":"3bd5a752ffe6bdce4a0091a5b8f0982b01e8eb7e"}],"neutron/db/db_base_plugin_v2.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"4198d9b3bb5f681a42594a57430c9589254d7cca","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2012 OpenStack Foundation."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_e2a9457c","line":1,"updated":"2020-06-01 15:51:57.000000000","message":"pep8: E902 TokenError: EOF in multi-line statement","commit_id":"3bd5a752ffe6bdce4a0091a5b8f0982b01e8eb7e"}],"neutron/db/migration/alembic_migrations/versions/CONTRACT_HEAD":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"38828fba17c3bce87b65f30d3be3f66bbbea1928","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fd6107509ccd"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"ff570b3c_ff68c2f5","line":1,"updated":"2020-06-01 15:13:18.000000000","message":"I\u0027m not sure we support contractions any more, at least it\u0027s been a long time since I\u0027ve seen one.","commit_id":"3bd5a752ffe6bdce4a0091a5b8f0982b01e8eb7e"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"57573018badd1907a24ee8b5b70a317ec26904f9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fd6107509ccd"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"ff570b3c_dae6a116","line":1,"in_reply_to":"ff570b3c_ff68c2f5","updated":"2020-06-02 07:53:05.000000000","message":"Yeah, that is the question. I think that it would be better to make sure that the migration happend on offline API servers, because while there would be a request like neutron segment add, the code will still look after DEVICE_OWNER_DHCP, but in the DB all of those will be changed to DEVICE_OWNER_DISTRIBUTED.\n\nWhat do you think? Or I just shouldn\u0027t care about it because while upgrading the API there are alembic migrations automatically started and then the neutron-server is restarted on post-install actions?","commit_id":"3bd5a752ffe6bdce4a0091a5b8f0982b01e8eb7e"}],"neutron/db/migration/alembic_migrations/versions/ussuri/contract/fd6107509ccd_ovn_distributed_device_owner.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"38828fba17c3bce87b65f30d3be3f66bbbea1928","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    with session.begin(subtransactions\u003dTrue):"},{"line_number":49,"context_line":"        session.execute(ports.update().values("},{"line_number":50,"context_line":"            device_owner\u003dconstants.DEVICE_OWNER_DISTRIBUTED).where("},{"line_number":51,"context_line":"            ports.c.device_owner \u003d\u003d constants.DEVICE_OWNER_DHCP).where("},{"line_number":52,"context_line":"            ports.c.device_id.like(\u0027{}%\u0027.format(OVN_METADATA_PREFIX))))"},{"line_number":53,"context_line":"    session.commit()"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_dfa85e21","line":51,"updated":"2020-06-01 15:13:18.000000000","message":"So we\u0027re changing all DHCP port owners to distributed?\n\nAlso, this file would have to be in a victoria directory","commit_id":"3bd5a752ffe6bdce4a0091a5b8f0982b01e8eb7e"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"57573018badd1907a24ee8b5b70a317ec26904f9","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    with session.begin(subtransactions\u003dTrue):"},{"line_number":49,"context_line":"        session.execute(ports.update().values("},{"line_number":50,"context_line":"            device_owner\u003dconstants.DEVICE_OWNER_DISTRIBUTED).where("},{"line_number":51,"context_line":"            ports.c.device_owner \u003d\u003d constants.DEVICE_OWNER_DHCP).where("},{"line_number":52,"context_line":"            ports.c.device_id.like(\u0027{}%\u0027.format(OVN_METADATA_PREFIX))))"},{"line_number":53,"context_line":"    session.commit()"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff570b3c_9aa709bd","line":51,"in_reply_to":"ff570b3c_dfa85e21","updated":"2020-06-02 07:53:05.000000000","message":"Yes, all DHCP port owner that are used by OVN (next line).\n\nHmm, yes I thought that it should be added to Victoria, but while I tried with:\nneutron-db-manage revision -m \"ovn_distributed_device_owner\" --contract\n\nIt automatically added it to Ussuri, even when the:\nhttps://review.opendev.org/#/c/721207/\nis in my tree.\n\nAnyways, I\u0027ll move it!","commit_id":"3bd5a752ffe6bdce4a0091a5b8f0982b01e8eb7e"}],"neutron/ipam/requests.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5440b483a309f45ef9a38f031d213176b7facc68","unresolved":false,"context_lines":[{"line_number":285,"context_line":"        elif ip_dict.get(\u0027eui64_address\u0027):"},{"line_number":286,"context_line":"            return AutomaticAddressRequest(prefix\u003dip_dict[\u0027subnet_cidr\u0027],"},{"line_number":287,"context_line":"                                           mac\u003dip_dict[\u0027mac\u0027])"},{"line_number":288,"context_line":"        elif (port[\u0027device_owner\u0027] \u003d\u003d constants.DEVICE_OWNER_DHCP or"},{"line_number":289,"context_line":"              port[\u0027device_owner\u0027] \u003d\u003d constants.DEVICE_OWNER_DISTRIBUTED):"},{"line_number":290,"context_line":"            # preserve previous behavior of DHCP ports choosing start of pool"},{"line_number":291,"context_line":"            return PreferNextAddressRequest()"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_151cbc68","line":288,"range":{"start_line":288,"start_character":14,"end_line":288,"end_character":34},"updated":"2020-07-06 13:29:07.000000000","message":"port[\u0027device_owner\u0027] in AUTO_DELETE_PORT_OWNERS","commit_id":"37da46635edb9938645b4a01ef22b40a7123417d"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"196e9f442718034484e6372904c08d74c54dc06e","unresolved":false,"context_lines":[{"line_number":285,"context_line":"        elif ip_dict.get(\u0027eui64_address\u0027):"},{"line_number":286,"context_line":"            return AutomaticAddressRequest(prefix\u003dip_dict[\u0027subnet_cidr\u0027],"},{"line_number":287,"context_line":"                                           mac\u003dip_dict[\u0027mac\u0027])"},{"line_number":288,"context_line":"        elif (port[\u0027device_owner\u0027] \u003d\u003d constants.DEVICE_OWNER_DHCP or"},{"line_number":289,"context_line":"              port[\u0027device_owner\u0027] \u003d\u003d constants.DEVICE_OWNER_DISTRIBUTED):"},{"line_number":290,"context_line":"            # preserve previous behavior of DHCP ports choosing start of pool"},{"line_number":291,"context_line":"            return PreferNextAddressRequest()"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_bc716d0f","line":288,"range":{"start_line":288,"start_character":14,"end_line":288,"end_character":34},"in_reply_to":"bf51134e_151cbc68","updated":"2020-07-07 08:19:35.000000000","message":"This is not related to AUTO_DELETE_PORT_OWNERS, actually I don\u0027t think we should use this constant here, even tho the values are the same (what if some other type will be added to AUTO_DELETE_PORT_OWNERS later in time but we don\u0027t want to allocate next() address for it?)","commit_id":"37da46635edb9938645b4a01ef22b40a7123417d"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"459149c0d68e6850c9e61cc527f3b96ad4042a61","unresolved":false,"context_lines":[{"line_number":286,"context_line":"            return AutomaticAddressRequest(prefix\u003dip_dict[\u0027subnet_cidr\u0027],"},{"line_number":287,"context_line":"                                           mac\u003dip_dict[\u0027mac\u0027])"},{"line_number":288,"context_line":"        elif (port[\u0027device_owner\u0027] \u003d\u003d constants.DEVICE_OWNER_DHCP or"},{"line_number":289,"context_line":"              port[\u0027device_owner\u0027] \u003d\u003d constants.DEVICE_OWNER_DISTRIBUTED):"},{"line_number":290,"context_line":"            # preserve previous behavior of DHCP ports choosing start of pool"},{"line_number":291,"context_line":"            return PreferNextAddressRequest()"},{"line_number":292,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":13,"id":"bf51134e_290d0435","line":289,"updated":"2020-07-08 13:39:11.000000000","message":"nit:\n\nelif port[\u0027device_owner\u0027] in (..., ...):","commit_id":"b2b40b6a8caeb768239715f0103ab700e47b7019"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"d3bf9574ccbb562e6ecb82a00d5cb64592419827","unresolved":false,"context_lines":[{"line_number":286,"context_line":"            return AutomaticAddressRequest(prefix\u003dip_dict[\u0027subnet_cidr\u0027],"},{"line_number":287,"context_line":"                                           mac\u003dip_dict[\u0027mac\u0027])"},{"line_number":288,"context_line":"        elif (port[\u0027device_owner\u0027] \u003d\u003d constants.DEVICE_OWNER_DHCP or"},{"line_number":289,"context_line":"              port[\u0027device_owner\u0027] \u003d\u003d constants.DEVICE_OWNER_DISTRIBUTED):"},{"line_number":290,"context_line":"            # preserve previous behavior of DHCP ports choosing start of pool"},{"line_number":291,"context_line":"            return PreferNextAddressRequest()"},{"line_number":292,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":13,"id":"bf51134e_06b9e9ca","line":289,"in_reply_to":"bf51134e_0690c942","updated":"2020-07-10 08:18:07.000000000","message":"Yeah, if respin I\u0027ll update that one. thanks","commit_id":"b2b40b6a8caeb768239715f0103ab700e47b7019"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"6d789dcdb91a2fa0aa83b0f0cb743b7d36c2db60","unresolved":false,"context_lines":[{"line_number":286,"context_line":"            return AutomaticAddressRequest(prefix\u003dip_dict[\u0027subnet_cidr\u0027],"},{"line_number":287,"context_line":"                                           mac\u003dip_dict[\u0027mac\u0027])"},{"line_number":288,"context_line":"        elif (port[\u0027device_owner\u0027] \u003d\u003d constants.DEVICE_OWNER_DHCP or"},{"line_number":289,"context_line":"              port[\u0027device_owner\u0027] \u003d\u003d constants.DEVICE_OWNER_DISTRIBUTED):"},{"line_number":290,"context_line":"            # preserve previous behavior of DHCP ports choosing start of pool"},{"line_number":291,"context_line":"            return PreferNextAddressRequest()"},{"line_number":292,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":13,"id":"bf51134e_0690c942","line":289,"in_reply_to":"bf51134e_290d0435","updated":"2020-07-10 08:16:12.000000000","message":"+1... if respin","commit_id":"b2b40b6a8caeb768239715f0103ab700e47b7019"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5440b483a309f45ef9a38f031d213176b7facc68","unresolved":false,"context_lines":[{"line_number":261,"context_line":"            # DHCP agents."},{"line_number":262,"context_line":"            # TODO(mjozefcz): Remove const.DEVICE_OWNER_DHCP"},{"line_number":263,"context_line":"            # from get_ports in W-release."},{"line_number":264,"context_line":"            if (port[\u0027device_owner\u0027] in ["},{"line_number":265,"context_line":"                    const.DEVICE_OWNER_DISTRIBUTED,"},{"line_number":266,"context_line":"                    const.DEVICE_OWNER_DHCP] and"},{"line_number":267,"context_line":"                    not utils.is_neutron_dhcp_agent_port(port)):"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_d20c1a44","line":264,"updated":"2020-07-06 13:29:07.000000000","message":"port[\u0027device_owner\u0027] in AUTO_DELETE_PORT_OWNERS","commit_id":"37da46635edb9938645b4a01ef22b40a7123417d"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f6addfa86ad14f1a8eb69a2f8714fc7d0519a683","unresolved":false,"context_lines":[{"line_number":261,"context_line":"            # DHCP agents."},{"line_number":262,"context_line":"            # TODO(mjozefcz): Remove const.DEVICE_OWNER_DHCP"},{"line_number":263,"context_line":"            # from get_ports in W-release."},{"line_number":264,"context_line":"            if (port[\u0027device_owner\u0027] in ["},{"line_number":265,"context_line":"                    const.DEVICE_OWNER_DISTRIBUTED,"},{"line_number":266,"context_line":"                    const.DEVICE_OWNER_DHCP] and"},{"line_number":267,"context_line":"                    not utils.is_neutron_dhcp_agent_port(port)):"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_91c60a49","line":264,"in_reply_to":"bf51134e_7cfeb538","updated":"2020-07-07 14:17:59.000000000","message":"Yeah, makes sense. And the NOTE will be there to remind everyone that this should be removed soon.\n\nCool!","commit_id":"37da46635edb9938645b4a01ef22b40a7123417d"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"196e9f442718034484e6372904c08d74c54dc06e","unresolved":false,"context_lines":[{"line_number":261,"context_line":"            # DHCP agents."},{"line_number":262,"context_line":"            # TODO(mjozefcz): Remove const.DEVICE_OWNER_DHCP"},{"line_number":263,"context_line":"            # from get_ports in W-release."},{"line_number":264,"context_line":"            if (port[\u0027device_owner\u0027] in ["},{"line_number":265,"context_line":"                    const.DEVICE_OWNER_DISTRIBUTED,"},{"line_number":266,"context_line":"                    const.DEVICE_OWNER_DHCP] and"},{"line_number":267,"context_line":"                    not utils.is_neutron_dhcp_agent_port(port)):"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_7cfeb538","line":264,"in_reply_to":"bf51134e_d20c1a44","updated":"2020-07-07 08:19:35.000000000","message":"Same. I believe we should leave it as it it.\n\nI did this `IF` to prevent situations like:\n\n1) For now we use alembics only for EXPAND_HEAD. That means the service could be UP while performing the migration.\n\n2) What if the neutron-api has been upgraded but the migrations are not yet executed? In this situation there could be a request or even execution of maintenance task  that will not find any valid metadata port.\n\n3) That will end with second metadata/dhcp port created.\n\nThat is why I added this check if device_owner is in list and I added a note to remove DEVICE_OWNER_DHCP from get_ports in next release.","commit_id":"37da46635edb9938645b4a01ef22b40a7123417d"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5440b483a309f45ef9a38f031d213176b7facc68","unresolved":false,"context_lines":[{"line_number":2038,"context_line":"        # from get_ports in W-release."},{"line_number":2039,"context_line":"        ports \u003d self._plugin.get_ports(context, filters\u003ddict("},{"line_number":2040,"context_line":"            network_id\u003d[network_id],"},{"line_number":2041,"context_line":"            device_owner\u003d["},{"line_number":2042,"context_line":"                const.DEVICE_OWNER_DHCP,"},{"line_number":2043,"context_line":"                const.DEVICE_OWNER_DISTRIBUTED]))"},{"line_number":2044,"context_line":"        # TODO(mjozefcz): Remove this compatibility code in W release."}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_b207e61d","line":2041,"updated":"2020-07-06 13:29:07.000000000","message":"AUTO_DELETE_PORT_OWNERS","commit_id":"37da46635edb9938645b4a01ef22b40a7123417d"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"196e9f442718034484e6372904c08d74c54dc06e","unresolved":false,"context_lines":[{"line_number":2038,"context_line":"        # from get_ports in W-release."},{"line_number":2039,"context_line":"        ports \u003d self._plugin.get_ports(context, filters\u003ddict("},{"line_number":2040,"context_line":"            network_id\u003d[network_id],"},{"line_number":2041,"context_line":"            device_owner\u003d["},{"line_number":2042,"context_line":"                const.DEVICE_OWNER_DHCP,"},{"line_number":2043,"context_line":"                const.DEVICE_OWNER_DISTRIBUTED]))"},{"line_number":2044,"context_line":"        # TODO(mjozefcz): Remove this compatibility code in W release."}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_1c95f9e4","line":2041,"in_reply_to":"bf51134e_b207e61d","updated":"2020-07-07 08:19:35.000000000","message":"Same","commit_id":"37da46635edb9938645b4a01ef22b40a7123417d"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5440b483a309f45ef9a38f031d213176b7facc68","unresolved":false,"context_lines":[{"line_number":2045,"context_line":"        # First look for const.DEVICE_OWNER_DISTRIBUTED and then for"},{"line_number":2046,"context_line":"        # const.DEVICE_OWNER_DHCP."},{"line_number":2047,"context_line":"        for port in ports:"},{"line_number":2048,"context_line":"            if port[\u0027device_owner\u0027] \u003d\u003d const.DEVICE_OWNER_DISTRIBUTED:"},{"line_number":2049,"context_line":"                return port"},{"line_number":2050,"context_line":"        # Metadata ports are DHCP ports not belonging to the Neutron"},{"line_number":2051,"context_line":"        # DHCP agents"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_554c7475","line":2048,"updated":"2020-07-06 13:29:07.000000000","message":"I don\u0027t understand this. You first filter by (DEVICE_OWNER_DHCP, DEVICE_OWNER_DHCP) and then you only get  DEVICE_OWNER_DISTRIBUTED.\n\nWhy do you need that?","commit_id":"37da46635edb9938645b4a01ef22b40a7123417d"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"196e9f442718034484e6372904c08d74c54dc06e","unresolved":false,"context_lines":[{"line_number":2045,"context_line":"        # First look for const.DEVICE_OWNER_DISTRIBUTED and then for"},{"line_number":2046,"context_line":"        # const.DEVICE_OWNER_DHCP."},{"line_number":2047,"context_line":"        for port in ports:"},{"line_number":2048,"context_line":"            if port[\u0027device_owner\u0027] \u003d\u003d const.DEVICE_OWNER_DISTRIBUTED:"},{"line_number":2049,"context_line":"                return port"},{"line_number":2050,"context_line":"        # Metadata ports are DHCP ports not belonging to the Neutron"},{"line_number":2051,"context_line":"        # DHCP agents"}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_1cbe9964","line":2048,"in_reply_to":"bf51134e_554c7475","updated":"2020-07-07 08:19:35.000000000","message":"As per previous comment. This covers the situation while the alembics are not yet runned (EXPAND_HEAD) and the code is fresh on one of the APIs. This compatibility code should be removed in W-release.","commit_id":"37da46635edb9938645b4a01ef22b40a7123417d"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5440b483a309f45ef9a38f031d213176b7facc68","unresolved":false,"context_lines":[{"line_number":2049,"context_line":"                return port"},{"line_number":2050,"context_line":"        # Metadata ports are DHCP ports not belonging to the Neutron"},{"line_number":2051,"context_line":"        # DHCP agents"},{"line_number":2052,"context_line":"        for port in ports:"},{"line_number":2053,"context_line":"            if not utils.is_neutron_dhcp_agent_port(port):"},{"line_number":2054,"context_line":"                return port"},{"line_number":2055,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_354f406b","line":2052,"updated":"2020-07-06 13:29:07.000000000","message":"Do we need this now?","commit_id":"37da46635edb9938645b4a01ef22b40a7123417d"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"196e9f442718034484e6372904c08d74c54dc06e","unresolved":false,"context_lines":[{"line_number":2049,"context_line":"                return port"},{"line_number":2050,"context_line":"        # Metadata ports are DHCP ports not belonging to the Neutron"},{"line_number":2051,"context_line":"        # DHCP agents"},{"line_number":2052,"context_line":"        for port in ports:"},{"line_number":2053,"context_line":"            if not utils.is_neutron_dhcp_agent_port(port):"},{"line_number":2054,"context_line":"                return port"},{"line_number":2055,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_7cacf534","line":2052,"in_reply_to":"bf51134e_354f406b","updated":"2020-07-07 08:19:35.000000000","message":"Yes we do for now, unless we will delete compatibility code. Then we can delete this one also and just return found ports in L2039.","commit_id":"37da46635edb9938645b4a01ef22b40a7123417d"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5440b483a309f45ef9a38f031d213176b7facc68","unresolved":false,"context_lines":[{"line_number":747,"context_line":"        for net in self.core_plugin.get_networks(ctx):"},{"line_number":748,"context_line":"            dhcp_ports \u003d self.core_plugin.get_ports(ctx, filters\u003ddict("},{"line_number":749,"context_line":"                network_id\u003d[net[\u0027id\u0027]],"},{"line_number":750,"context_line":"                device_owner\u003d["},{"line_number":751,"context_line":"                    constants.DEVICE_OWNER_DISTRIBUTED,"},{"line_number":752,"context_line":"                    constants.DEVICE_OWNER_DHCP]))"},{"line_number":753,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_95560c06","line":750,"updated":"2020-07-06 13:29:07.000000000","message":"AUTO_DELETE_PORT_OWNERS","commit_id":"37da46635edb9938645b4a01ef22b40a7123417d"},{"author":{"_account_id":24791,"name":"Maciej Jozefczyk","email":"jeicam.pl@gmail.com","username":"maciej.jozefczyk"},"change_message_id":"196e9f442718034484e6372904c08d74c54dc06e","unresolved":false,"context_lines":[{"line_number":747,"context_line":"        for net in self.core_plugin.get_networks(ctx):"},{"line_number":748,"context_line":"            dhcp_ports \u003d self.core_plugin.get_ports(ctx, filters\u003ddict("},{"line_number":749,"context_line":"                network_id\u003d[net[\u0027id\u0027]],"},{"line_number":750,"context_line":"                device_owner\u003d["},{"line_number":751,"context_line":"                    constants.DEVICE_OWNER_DISTRIBUTED,"},{"line_number":752,"context_line":"                    constants.DEVICE_OWNER_DHCP]))"},{"line_number":753,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"bf51134e_bca68d52","line":750,"in_reply_to":"bf51134e_95560c06","updated":"2020-07-07 08:19:35.000000000","message":"Same. The list AUTO_DELETE_PORT_OWNERS is used while deleting segments and for now it has the same value, but the logical purpose of its use is different than this one here. \nI would stay with current state.","commit_id":"37da46635edb9938645b4a01ef22b40a7123417d"}]}
