)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":12712,"name":"Gleb Stepanov","email":"gstepanov@mirantis.com","username":"stgleb"},"change_message_id":"066d7c730648bd98b7e5dbcd212104b468e811c3","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Reset dns_name of ports when delete the vm"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"\"dns_name\" of the vm was not reset,when the vm was deleted."},{"line_number":10,"context_line":"When create a new VM with this pre-exist port , the vm status is error, because the \"dns_name\" is not equal."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch reset the \"dns_name\" when delete the vm. the port can be used to other Vm."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3afc51ec_c6ba73c0","line":9,"updated":"2016-03-11 13:37:59.000000000","message":"Split string to fit 79 symbols in commit message.","commit_id":"201796a730d86be09bc26cb0e10f1e39437398a9"},{"author":{"_account_id":20000,"name":"Songming Yan","email":"yan.songming@zte.com.cn","username":"SonmingYan.zte"},"change_message_id":"3ba6760b74e3270e9c2f788c12ef9a9eb7e13dd5","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Reset dns_name of ports when delete the vm"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"\"dns_name\" of the vm was not reset,when the vm was deleted."},{"line_number":10,"context_line":"When create a new VM with this pre-exist port,"},{"line_number":11,"context_line":"the vm status is error, because the \"dns_name\" is not equal."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1af94dfe_c5d205d2","line":9,"updated":"2016-03-17 03:06:12.000000000","message":"\u0027,\u0027 is not need","commit_id":"ef6bb6415899e9b34f67029636520ba65deaf8c4"},{"author":{"_account_id":20000,"name":"Songming Yan","email":"yan.songming@zte.com.cn","username":"SonmingYan.zte"},"change_message_id":"3ba6760b74e3270e9c2f788c12ef9a9eb7e13dd5","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"\"dns_name\" of the vm was not reset,when the vm was deleted."},{"line_number":10,"context_line":"When create a new VM with this pre-exist port,"},{"line_number":11,"context_line":"the vm status is error, because the \"dns_name\" is not equal."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This patch reset the \"dns_name\" when delete the vm."},{"line_number":14,"context_line":"the port can be used to other Vm."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1af94dfe_45fef537","line":11,"updated":"2016-03-17 03:06:12.000000000","message":"Pls use \"VM\" instead of \u0027vm\u0027 or \u0027Vm\u0027","commit_id":"ef6bb6415899e9b34f67029636520ba65deaf8c4"},{"author":{"_account_id":20566,"name":"BaiLinZhang","email":"bailin.zhang@hotmail.com","username":"bailin.zhang"},"change_message_id":"cb9cb86aea25d8455de59aeb5e94444c75935f89","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"\"dns_name\" of the vm was not reset,when the vm was deleted."},{"line_number":10,"context_line":"When create a new VM with this pre-exist port,"},{"line_number":11,"context_line":"the vm status is error, because the \"dns_name\" is not equal."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This patch reset the \"dns_name\" when delete the vm."},{"line_number":14,"context_line":"the port can be used to other Vm."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5a18252c_9cd3e9d4","line":11,"in_reply_to":"1af94dfe_45fef537","updated":"2016-04-15 01:28:29.000000000","message":"OK","commit_id":"ef6bb6415899e9b34f67029636520ba65deaf8c4"}],"nova/network/neutronv2/api.py":[{"author":{"_account_id":20000,"name":"Songming Yan","email":"yan.songming@zte.com.cn","username":"SonmingYan.zte"},"change_message_id":"3ba6760b74e3270e9c2f788c12ef9a9eb7e13dd5","unresolved":false,"context_lines":[{"line_number":794,"context_line":"        if len(exceptions) \u003e 0 and raise_if_fail:"},{"line_number":795,"context_line":"            raise exceptions[0]"},{"line_number":796,"context_line":""},{"line_number":797,"context_line":"    def _delete_port_dns_name(self, context, ports, neutron):"},{"line_number":798,"context_line":"        \"\"\"reset dns_name of port\"\"\""},{"line_number":799,"context_line":"        for port_id in ports:"},{"line_number":800,"context_line":"            port_info \u003d self._show_port(context, port_id,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1af94dfe_6564d148","line":797,"updated":"2016-03-17 03:06:12.000000000","message":"def _delete_ports_dns_name instead of def _delete_port_dns_name","commit_id":"ef6bb6415899e9b34f67029636520ba65deaf8c4"},{"author":{"_account_id":20566,"name":"BaiLinZhang","email":"bailin.zhang@hotmail.com","username":"bailin.zhang"},"change_message_id":"cb9cb86aea25d8455de59aeb5e94444c75935f89","unresolved":false,"context_lines":[{"line_number":794,"context_line":"        if len(exceptions) \u003e 0 and raise_if_fail:"},{"line_number":795,"context_line":"            raise exceptions[0]"},{"line_number":796,"context_line":""},{"line_number":797,"context_line":"    def _delete_port_dns_name(self, context, ports, neutron):"},{"line_number":798,"context_line":"        \"\"\"reset dns_name of port\"\"\""},{"line_number":799,"context_line":"        for port_id in ports:"},{"line_number":800,"context_line":"            port_info \u003d self._show_port(context, port_id,"}],"source_content_type":"text/x-python","patch_set":5,"id":"5a18252c_7cf1ad6a","line":797,"in_reply_to":"1af94dfe_6564d148","updated":"2016-04-15 01:28:29.000000000","message":"OK，I will fix this","commit_id":"ef6bb6415899e9b34f67029636520ba65deaf8c4"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"11c441c0d9139e29eab6a1a04088e1725c79ca2c","unresolved":false,"context_lines":[{"line_number":794,"context_line":"        if len(exceptions) \u003e 0 and raise_if_fail:"},{"line_number":795,"context_line":"            raise exceptions[0]"},{"line_number":796,"context_line":""},{"line_number":797,"context_line":"    def _delete_ports_dns_name(self, context, ports, neutron):"},{"line_number":798,"context_line":"        \"\"\"reset dns_name of ports\"\"\""},{"line_number":799,"context_line":"        for port_id in ports:"},{"line_number":800,"context_line":"            port_info \u003d self._show_port(context, port_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a18252c_421a0818","line":797,"range":{"start_line":797,"start_character":0,"end_line":797,"end_character":62},"updated":"2016-04-15 02:44:22.000000000","message":"why dont use the name reset","commit_id":"5c3c3319e2668bf84bfee2e91df4d9f0600d0d5d"},{"author":{"_account_id":20566,"name":"BaiLinZhang","email":"bailin.zhang@hotmail.com","username":"bailin.zhang"},"change_message_id":"20d4d98573a87466acfce0ed612f6912591a47a5","unresolved":false,"context_lines":[{"line_number":794,"context_line":"        if len(exceptions) \u003e 0 and raise_if_fail:"},{"line_number":795,"context_line":"            raise exceptions[0]"},{"line_number":796,"context_line":""},{"line_number":797,"context_line":"    def _delete_ports_dns_name(self, context, ports, neutron):"},{"line_number":798,"context_line":"        \"\"\"reset dns_name of ports\"\"\""},{"line_number":799,"context_line":"        for port_id in ports:"},{"line_number":800,"context_line":"            port_info \u003d self._show_port(context, port_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"5a18252c_e2523466","line":797,"range":{"start_line":797,"start_character":0,"end_line":797,"end_character":62},"in_reply_to":"5a18252c_421a0818","updated":"2016-04-15 02:53:15.000000000","message":"OK,I will fix this","commit_id":"5c3c3319e2668bf84bfee2e91df4d9f0600d0d5d"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"11c441c0d9139e29eab6a1a04088e1725c79ca2c","unresolved":false,"context_lines":[{"line_number":804,"context_line":"                try:"},{"line_number":805,"context_line":"                    neutron.update_port(port_id, port_req_body)"},{"line_number":806,"context_line":"                except Exception:"},{"line_number":807,"context_line":"                    LOG.exception(_LE(\"Unable to clear dns_name\""},{"line_number":808,"context_line":"                                      \"for port \u0027%s\u0027\"), port_id)"},{"line_number":809,"context_line":""},{"line_number":810,"context_line":"    def deallocate_for_instance(self, context, instance, **kwargs):"},{"line_number":811,"context_line":"        \"\"\"Deallocate all network resources related to the instance.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"5a18252c_42c84874","line":808,"range":{"start_line":807,"start_character":0,"end_line":808,"end_character":64},"updated":"2016-04-15 02:44:22.000000000","message":"maybe a warning here","commit_id":"5c3c3319e2668bf84bfee2e91df4d9f0600d0d5d"},{"author":{"_account_id":20566,"name":"BaiLinZhang","email":"bailin.zhang@hotmail.com","username":"bailin.zhang"},"change_message_id":"c261001d5c01bbeb3671e0321fd618998c1ce1e0","unresolved":false,"context_lines":[{"line_number":804,"context_line":"                try:"},{"line_number":805,"context_line":"                    neutron.update_port(port_id, port_req_body)"},{"line_number":806,"context_line":"                except Exception:"},{"line_number":807,"context_line":"                    LOG.exception(_LE(\"Unable to clear dns_name\""},{"line_number":808,"context_line":"                                      \"for port \u0027%s\u0027\"), port_id)"},{"line_number":809,"context_line":""},{"line_number":810,"context_line":"    def deallocate_for_instance(self, context, instance, **kwargs):"},{"line_number":811,"context_line":"        \"\"\"Deallocate all network resources related to the instance.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"5a18252c_d66d3dcd","line":808,"range":{"start_line":807,"start_character":0,"end_line":808,"end_character":64},"in_reply_to":"5a18252c_2249ccb7","updated":"2016-04-15 03:13:35.000000000","message":"I check again.This is correct.","commit_id":"5c3c3319e2668bf84bfee2e91df4d9f0600d0d5d"},{"author":{"_account_id":20566,"name":"BaiLinZhang","email":"bailin.zhang@hotmail.com","username":"bailin.zhang"},"change_message_id":"20d4d98573a87466acfce0ed612f6912591a47a5","unresolved":false,"context_lines":[{"line_number":804,"context_line":"                try:"},{"line_number":805,"context_line":"                    neutron.update_port(port_id, port_req_body)"},{"line_number":806,"context_line":"                except Exception:"},{"line_number":807,"context_line":"                    LOG.exception(_LE(\"Unable to clear dns_name\""},{"line_number":808,"context_line":"                                      \"for port \u0027%s\u0027\"), port_id)"},{"line_number":809,"context_line":""},{"line_number":810,"context_line":"    def deallocate_for_instance(self, context, instance, **kwargs):"},{"line_number":811,"context_line":"        \"\"\"Deallocate all network resources related to the instance.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"5a18252c_2249ccb7","line":808,"range":{"start_line":807,"start_character":0,"end_line":808,"end_character":64},"in_reply_to":"5a18252c_42c84874","updated":"2016-04-15 02:53:15.000000000","message":"thanks","commit_id":"5c3c3319e2668bf84bfee2e91df4d9f0600d0d5d"},{"author":{"_account_id":20566,"name":"BaiLinZhang","email":"bailin.zhang@hotmail.com","username":"bailin.zhang"},"change_message_id":"f0b68ddb980ff679fb0738d8f748398814d5b2e0","unresolved":false,"context_lines":[{"line_number":868,"context_line":"        ports \u003d set(ports) - ports_to_skip"},{"line_number":869,"context_line":""},{"line_number":870,"context_line":"        # Reset dns_name for ports that are skipped"},{"line_number":871,"context_line":"        self._reset_ports_dns_name(context, ports_to_skip, neutron)"},{"line_number":872,"context_line":"        # Reset device_id and device_owner for the ports that are skipped"},{"line_number":873,"context_line":"        self._unbind_ports(context, ports_to_skip, neutron)"},{"line_number":874,"context_line":"        # Delete the rest of the ports"}],"source_content_type":"text/x-python","patch_set":12,"id":"bab6814e_554eaf96","line":871,"range":{"start_line":871,"start_character":13,"end_line":871,"end_character":34},"updated":"2016-05-19 16:50:11.000000000","message":"the dns_name of port should be retained ,when it was assigned by the user","commit_id":"b0a7291e274e5cb60c220a36eeaf945b44ce4846"}],"nova/tests/unit/network/test_neutronv2.py":[{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"3f057e468d146dbad4d71d008f8de0649b047009","unresolved":false,"context_lines":[{"line_number":1446,"context_line":""},{"line_number":1447,"context_line":"    @mock.patch(\u0027nova.network.neutronv2.api.API._get_preexisting_port_ids\u0027)"},{"line_number":1448,"context_line":"    def test_deallocate_for_instance_reset_dns_name(self, mock_preexisting):"},{"line_number":1449,"context_line":"        # Remove the vm,reset dns_name the preexist ports"},{"line_number":1450,"context_line":""},{"line_number":1451,"context_line":"        self.port_dns_name \u003d {\u0027network_id\u0027: \u0027my_netid1\u0027,"},{"line_number":1452,"context_line":"                       \u0027device_id\u0027: self.instance2[\u0027uuid\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a122d0e_924a3f82","line":1449,"range":{"start_line":1449,"start_character":8,"end_line":1449,"end_character":57},"updated":"2016-04-18 04:01:28.000000000","message":"dns_name of the","commit_id":"4742bc420500830f99db217a784c8044c0236eb8"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"76ca66cc56695bed130f8178970339beece495ab","unresolved":false,"context_lines":[{"line_number":1419,"context_line":"        def _fake_reset_ports_dns_name(self, context, ports, neutron):"},{"line_number":1420,"context_line":"            pass"},{"line_number":1421,"context_line":""},{"line_number":1422,"context_line":"        self.stubs.Set(neutronapi.API, \u0027_reset_ports_dns_name\u0027,"},{"line_number":1423,"context_line":"                       _fake_reset_ports_dns_name)"},{"line_number":1424,"context_line":""},{"line_number":1425,"context_line":"        self.mox.StubOutWithMock(api.db, \u0027instance_info_cache_update\u0027)"},{"line_number":1426,"context_line":"        api.db.instance_info_cache_update(self.context,"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a122d0e_62b2ba07","line":1423,"range":{"start_line":1422,"start_character":0,"end_line":1423,"end_character":50},"updated":"2016-04-20 08:05:45.000000000","message":"use stub_out instead of stubs.set","commit_id":"9870a146a81fcad51791d95baf7b0b32113fdd62"},{"author":{"_account_id":15888,"name":"Zhenyu Zheng","email":"zheng.zhenyu@outlook.com","username":"Kevin_Zheng"},"change_message_id":"1fa8145b3d06ac05993bb25cd4dac95d8346416d","unresolved":false,"context_lines":[{"line_number":1480,"context_line":""},{"line_number":1481,"context_line":"        api \u003d neutronapi.API()"},{"line_number":1482,"context_line":"        api.deallocate_for_instance(self.context, self.instance)"},{"line_number":1483,"context_line":"        dns_name \u003d self.fake_port.get(\u0027dns_name\u0027)"},{"line_number":1484,"context_line":"        self.assertEqual(\u0027\u0027, dns_name)"},{"line_number":1485,"context_line":""},{"line_number":1486,"context_line":"    @mock.patch(\u0027nova.network.neutronv2.api.API._get_preexisting_port_ids\u0027)"},{"line_number":1487,"context_line":"    def test_deallocate_for_instance_1_with_requested(self, mock_preexisting):"}],"source_content_type":"text/x-python","patch_set":11,"id":"1a122d0e_b46cfe08","line":1484,"range":{"start_line":1483,"start_character":0,"end_line":1484,"end_character":38},"updated":"2016-04-20 12:36:43.000000000","message":"Hmm, I dont think it is necessary to check the update operation result, it is done by neutron, you can just assert that update has been called with {port: {\u0027dns_name\u0027:\u0027\u0027}} should be just fine","commit_id":"9870a146a81fcad51791d95baf7b0b32113fdd62"}]}
