)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"bb951429f5463c72dd92eb77c32af2595701574f","unresolved":true,"context_lines":[{"line_number":10,"context_line":"This means that DHCPv6 leases are lost as they can\u0027t be regenerated."},{"line_number":11,"context_line":"This changes the agent to only delete the config files if the agent\u0027s"},{"line_number":12,"context_line":"ports are also removed."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I25742880b24f31a1b52a84487bd3d85996102d76"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"be625058_8dbc014e","line":13,"updated":"2021-06-10 11:34:33.000000000","message":"Do you have a launchpad bug for this issue?\nPlease add it to the commit msg: Closes-Bug: #xxyyyy","commit_id":"9e55af0642f173766bb24fcb190ffe2905fbd0cd"},{"author":{"_account_id":11290,"name":"Gaudenz Steinlin","email":"gaudenz.steinlin@cloudscale.ch","username":"gaudenz"},"change_message_id":"8302d80937f84c63cf58f4fedf04dc4b32b0f21a","unresolved":false,"context_lines":[{"line_number":10,"context_line":"This means that DHCPv6 leases are lost as they can\u0027t be regenerated."},{"line_number":11,"context_line":"This changes the agent to only delete the config files if the agent\u0027s"},{"line_number":12,"context_line":"ports are also removed."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I25742880b24f31a1b52a84487bd3d85996102d76"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"cd7f1a29_df7ff349","line":13,"in_reply_to":"172ee2f5_7c328300","updated":"2021-06-15 18:56:34.000000000","message":"OK, added this as a related bug.","commit_id":"9e55af0642f173766bb24fcb190ffe2905fbd0cd"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"12ce0d04668a26ebd7edbc20f2681849c946ddeb","unresolved":true,"context_lines":[{"line_number":10,"context_line":"This means that DHCPv6 leases are lost as they can\u0027t be regenerated."},{"line_number":11,"context_line":"This changes the agent to only delete the config files if the agent\u0027s"},{"line_number":12,"context_line":"ports are also removed."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I25742880b24f31a1b52a84487bd3d85996102d76"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"172ee2f5_7c328300","line":13,"in_reply_to":"3b53258d_1df99fbb","updated":"2021-06-15 09:01:56.000000000","message":"Related-bug can go for this I think, please add it.","commit_id":"9e55af0642f173766bb24fcb190ffe2905fbd0cd"},{"author":{"_account_id":11290,"name":"Gaudenz Steinlin","email":"gaudenz.steinlin@cloudscale.ch","username":"gaudenz"},"change_message_id":"5bbf045d1307fbff2474ac38bad6cc7795cf3b17","unresolved":true,"context_lines":[{"line_number":10,"context_line":"This means that DHCPv6 leases are lost as they can\u0027t be regenerated."},{"line_number":11,"context_line":"This changes the agent to only delete the config files if the agent\u0027s"},{"line_number":12,"context_line":"ports are also removed."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I25742880b24f31a1b52a84487bd3d85996102d76"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3b53258d_1df99fbb","line":13,"in_reply_to":"be625058_8dbc014e","updated":"2021-06-14 07:51:12.000000000","message":"I don\u0027t have a bug report for exactly this issue. We discovered this after fixing #1722126 with https://review.opendev.org/c/openstack/neutron/+/762874 as there was still an issue left. If you want I can add this as a related bug.","commit_id":"9e55af0642f173766bb24fcb190ffe2905fbd0cd"}],"neutron/agent/linux/dhcp.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"c00e746b4ca74ccd369db2adfdb04ce8f1ea20ba","unresolved":true,"context_lines":[{"line_number":302,"context_line":"            common_utils.wait_until_true(lambda: not self.active)"},{"line_number":303,"context_line":"        if not retain_port:"},{"line_number":304,"context_line":"            self._destroy_namespace_and_port()"},{"line_number":305,"context_line":"            self._remove_config_files()"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    def _destroy_namespace_and_port(self):"},{"line_number":308,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":3,"id":"344fc52e_3f5e67a6","line":305,"updated":"2021-06-17 16:26:04.000000000","message":"That won\u0027t do anything. When dnsmasq is started, \"DhcpLocalProcess.enable\" is called, that will call \"DhcpLocalProcess._enable\", that will call \"Dnsmasq.spawn_process\". This method always re-generates the leases file (\"self._output_init_lease_file\"). That means the leases file will be always overwritten.","commit_id":"355a0c28c24ed2454c6274245158afe62c3de38c"},{"author":{"_account_id":11290,"name":"Gaudenz Steinlin","email":"gaudenz.steinlin@cloudscale.ch","username":"gaudenz"},"change_message_id":"a6ae6e4eef285ddfbcf35e151a64ef687fc20eb2","unresolved":true,"context_lines":[{"line_number":302,"context_line":"            common_utils.wait_until_true(lambda: not self.active)"},{"line_number":303,"context_line":"        if not retain_port:"},{"line_number":304,"context_line":"            self._destroy_namespace_and_port()"},{"line_number":305,"context_line":"            self._remove_config_files()"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    def _destroy_namespace_and_port(self):"},{"line_number":308,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":3,"id":"a4b4fa70_d5a63c36","line":305,"in_reply_to":"344fc52e_3f5e67a6","updated":"2021-06-20 19:48:38.000000000","message":"It\u0027s true that this won\u0027t completely solve the problem. But it\u0027s part of the solution. The other part is addressed in https://review.opendev.org/c/openstack/neutron/+/762874. If you prefer I can also combine these two changes into one.","commit_id":"355a0c28c24ed2454c6274245158afe62c3de38c"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"0a45aefcc24368dacacc13c74ec411900a8f9bf7","unresolved":true,"context_lines":[{"line_number":302,"context_line":"            common_utils.wait_until_true(lambda: not self.active)"},{"line_number":303,"context_line":"        if not retain_port:"},{"line_number":304,"context_line":"            self._destroy_namespace_and_port()"},{"line_number":305,"context_line":"            self._remove_config_files()"},{"line_number":306,"context_line":""},{"line_number":307,"context_line":"    def _destroy_namespace_and_port(self):"},{"line_number":308,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":3,"id":"98b66e3a_b2b9c35f","line":305,"in_reply_to":"a4b4fa70_d5a63c36","updated":"2021-06-24 20:23:17.000000000","message":"Actually you are right: this change must be in 762874, not in an independent patch.\n\nI\u0027ll keep my -1 because this patch, by itself, does nothing.","commit_id":"355a0c28c24ed2454c6274245158afe62c3de38c"}],"neutron/tests/unit/agent/linux/test_dhcp.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"65a176043f87a6fafde81ba18b1a39d0424864c6","unresolved":true,"context_lines":[{"line_number":1242,"context_line":""},{"line_number":1243,"context_line":"        delete_ns.assert_called_with(\u0027qdhcp-ns\u0027)"},{"line_number":1244,"context_line":""},{"line_number":1245,"context_line":"    def test_disable_config_dir_removed_after_destroy(self):"},{"line_number":1246,"context_line":"        parent \u003d mock.MagicMock()"},{"line_number":1247,"context_line":"        parent.attach_mock(self.rmtree, \u0027rmtree\u0027)"},{"line_number":1248,"context_line":"        parent.attach_mock(self.mock_mgr, \u0027DeviceManager\u0027)"},{"line_number":1249,"context_line":""},{"line_number":1250,"context_line":"        lp \u003d LocalChild(self.conf, FakeDualNetwork())"},{"line_number":1251,"context_line":"        with mock.patch(\u0027neutron.agent.linux.ip_lib.\u0027"},{"line_number":1252,"context_line":"                        \u0027delete_network_namespace\u0027) as delete_ns:"},{"line_number":1253,"context_line":"            lp.disable(retain_port\u003dFalse)"},{"line_number":1254,"context_line":""},{"line_number":1255,"context_line":"        expected \u003d [mock.call.DeviceManager().destroy(mock.ANY, mock.ANY),"},{"line_number":1256,"context_line":"                    mock.call.rmtree(mock.ANY, ignore_errors\u003dTrue)]"},{"line_number":1257,"context_line":"        parent.assert_has_calls(expected)"},{"line_number":1258,"context_line":"        delete_ns.assert_called_with(\u0027qdhcp-ns\u0027)"},{"line_number":1259,"context_line":""},{"line_number":1260,"context_line":"    def test_get_interface_name(self):"},{"line_number":1261,"context_line":"        net \u003d FakeDualNetwork()"}],"source_content_type":"text/x-python","patch_set":2,"id":"fc5b01db_a974ef1d","line":1258,"range":{"start_line":1245,"start_character":0,"end_line":1258,"end_character":48},"updated":"2021-06-17 07:47:21.000000000","message":"This test should be split or similar to cover the case if port is destoryed and not","commit_id":"611416228a85aff63c1df50303a6885a32581587"}]}
