)]}'
{"neutron/db/l3_dvr_db.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"7df245aa2cec5ea3e23fb14d2602f54c7772f95c","unresolved":false,"context_lines":[{"line_number":374,"context_line":"            # Delete the Floating IP agent gateway port"},{"line_number":375,"context_line":"            # bindings on all hosts"},{"line_number":376,"context_line":"            l3_obj.DvrFipGatewayPortAgentBinding.delete_objects("},{"line_number":377,"context_line":"                context,"},{"line_number":378,"context_line":"                network_id\u003dnetwork_id)"},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"    def _delete_fip_agent_port(self, context, network_id, host_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf51134e_a5bb57e3","line":377,"updated":"2020-06-16 04:50:07.000000000","message":"pep8: F821 undefined name \u0027context\u0027","commit_id":"cb9e7f45878aaa32f825e84bb643cf20a841ce99"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"a04c2aedc3580d34dc9b7375cb21ed32ae550239","unresolved":false,"context_lines":[{"line_number":375,"context_line":"            # bindings on all hosts"},{"line_number":376,"context_line":"            l3_obj.DvrFipGatewayPortAgentBinding.delete_objects("},{"line_number":377,"context_line":"                payload.context,"},{"line_number":378,"context_line":"                network_id\u003dnetwork_id)"},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"    def _delete_fip_agent_port(self, context, network_id, host_id):"},{"line_number":381,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"bf51134e_ef499e8b","line":378,"updated":"2020-07-02 12:29:50.000000000","message":"I\u0027m ok with this patch but IMO the correct way to solve this issue, like with other binding objects, is to link the DvrFipGatewayPortAgentBinding object to the Agent GW port, not to the GW itself.\n\nDoing this, when the port is deleted, the binding is deleted too. I\u0027m talking about something like this: http://paste.openstack.org/show/795497/\n\nOf course, this change is more complicated. But the result is more elegant and we ensure, via the DB backend, that the binding object will never survive the port deletion.","commit_id":"8dee0d9a4eb4282b989f2c77a79e55aa89554788"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"34e2a3273fd1768bc7b195359f9a30027b3766cd","unresolved":false,"context_lines":[{"line_number":375,"context_line":"            # bindings on all hosts"},{"line_number":376,"context_line":"            l3_obj.DvrFipGatewayPortAgentBinding.delete_objects("},{"line_number":377,"context_line":"                payload.context,"},{"line_number":378,"context_line":"                network_id\u003dnetwork_id)"},{"line_number":379,"context_line":""},{"line_number":380,"context_line":"    def _delete_fip_agent_port(self, context, network_id, host_id):"},{"line_number":381,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"bf51134e_262d7c46","line":378,"in_reply_to":"bf51134e_ef499e8b","updated":"2020-07-02 15:16:52.000000000","message":"Binding to agent_id is to aviod the multiple fip gw port creation, the uniq constraint is \"network_id\" + \"agent_id\", so each one binding can ensure there is only one gw port. If change it to \"network_id\" + \"port_id\", one same agent clould have more than one fip gw port in same network. That is the orignal code expectation.","commit_id":"8dee0d9a4eb4282b989f2c77a79e55aa89554788"}]}
