)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4395,"name":"Aaron Rosen","email":"aaronorosen@gmail.com","username":"arosen"},"change_message_id":"7c46a9c759d8159bac64a3c385c5b5705b64fd90","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Gary Kotton \u003cgkotton@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-02-25 16:04:13 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Port update with existsing ip_address only causes exception"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Fixes bug 1132852"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAM3%2F%2Bm2g%3D","line":7,"updated":"2013-02-26 00:00:01.000000000","message":"nit: drop only :)","commit_id":"c5118d12cae4da27ccd6f98b64c55965b2008989"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Gary Kotton \u003cgkotton@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-02-25 16:04:13 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Port update with existsing ip_address only causes exception"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Fixes bug 1132852"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAM3%2F%2BmTI%3D","line":7,"in_reply_to":"AAAAM3%2F%2Bm2g%3D","updated":"2013-02-26 08:11:19.000000000","message":"Done","commit_id":"c5118d12cae4da27ccd6f98b64c55965b2008989"}],"quantum/db/db_base_plugin_v2.py":[{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"92b8b5771fe8e18f974666ac70e6302bb1a1e0b1","unresolved":false,"context_lines":[{"line_number":648,"context_line":"                elif \u0027ip_address\u0027 in new_ip:"},{"line_number":649,"context_line":"                    if (original_ip[\u0027ip_address\u0027] \u003d\u003d new_ip[\u0027ip_address\u0027]):"},{"line_number":650,"context_line":"                        original_ips.remove(original_ip)"},{"line_number":651,"context_line":"                        new_ips.remove(new_ip)"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":"        # Check if the IP\u0027s to add are OK"},{"line_number":654,"context_line":"        to_add \u003d self._test_fixed_ips_for_port(context, network_id, new_ips)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2BnTg%3D","line":651,"updated":"2013-02-25 19:53:33.000000000","message":"How about this ?\n\nif  (new_ips.get(\u0027ip_address\u0027) \u003d\u003d original_ips[\u0027ip_address\u0027] \u0026\u0026 new_ips.get(\u0027subnet_id, original_ip[\u0027subnet_id\u0027]) \u003d\u003d original_ip[\u0027subnet_id\u0027]) ):","commit_id":"c5118d12cae4da27ccd6f98b64c55965b2008989"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"unresolved":false,"context_lines":[{"line_number":648,"context_line":"                elif \u0027ip_address\u0027 in new_ip:"},{"line_number":649,"context_line":"                    if (original_ip[\u0027ip_address\u0027] \u003d\u003d new_ip[\u0027ip_address\u0027]):"},{"line_number":650,"context_line":"                        original_ips.remove(original_ip)"},{"line_number":651,"context_line":"                        new_ips.remove(new_ip)"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":"        # Check if the IP\u0027s to add are OK"},{"line_number":654,"context_line":"        to_add \u003d self._test_fixed_ips_for_port(context, network_id, new_ips)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2BmmU%3D","line":651,"in_reply_to":"AAAAM3%2F%2Bmns%3D","updated":"2013-02-26 03:06:07.000000000","message":"If we refactor the if/else logic above it should be as follows. correct?\n\nfor original_ip in original_ips[:]:\n    for new_ip in new_ips[:]:\n        if \u0027ip_address\u0027 in new_ip and original_ip[\u0027ip_address\u0027] \u003d\u003d new_ip[\u0027ip_address\u0027]:\n            if \u0027subnet_id\u0027 in new_ip and original_ip[\u0027subnet_id\u0027] \u003d\u003d new_ip[\u0027subnet_id\u0027]:\n                original_ips.remove(original_ip)\n                new_ips.remove(new_ip)\n            else:\n                original_ips.remove(original_ip)\n                new_ips.remove(new_ip)","commit_id":"c5118d12cae4da27ccd6f98b64c55965b2008989"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":648,"context_line":"                elif \u0027ip_address\u0027 in new_ip:"},{"line_number":649,"context_line":"                    if (original_ip[\u0027ip_address\u0027] \u003d\u003d new_ip[\u0027ip_address\u0027]):"},{"line_number":650,"context_line":"                        original_ips.remove(original_ip)"},{"line_number":651,"context_line":"                        new_ips.remove(new_ip)"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":"        # Check if the IP\u0027s to add are OK"},{"line_number":654,"context_line":"        to_add \u003d self._test_fixed_ips_for_port(context, network_id, new_ips)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Bmns%3D","line":651,"in_reply_to":"AAAAM3%2F%2BnTg%3D","updated":"2013-02-26 02:12:44.000000000","message":"It would be better to avoid code duplication.\nWhat nachi suggests or, \n\nfor new_ip in new_ips[:]:\n  # Reuse subnet_id of the original ip when subnet_id is not passed\n  new_subnet_id \u003d new_ip.get(\u0027subnet_id, original_ip[\u0027subnet_id\u0027])\n  if (new_ip.get(\u0027ip_address\u0027) \u003d\u003d original_ip[\u0027ip_address\u0027] and\n      new_subnet_id \u003d\u003d original_ip[\u0027subnet_id\u0027]):","commit_id":"c5118d12cae4da27ccd6f98b64c55965b2008989"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":649,"context_line":"                    if (original_ip[\u0027ip_address\u0027] \u003d\u003d new_ip[\u0027ip_address\u0027]):"},{"line_number":650,"context_line":"                        original_ips.remove(original_ip)"},{"line_number":651,"context_line":"                        new_ips.remove(new_ip)"},{"line_number":652,"context_line":""},{"line_number":653,"context_line":"        # Check if the IP\u0027s to add are OK"},{"line_number":654,"context_line":"        to_add \u003d self._test_fixed_ips_for_port(context, network_id, new_ips)"},{"line_number":655,"context_line":"        for ip in original_ips:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2BmSw%3D","line":652,"updated":"2013-02-26 08:11:19.000000000","message":"I have refactored. The subnet_id check is not relevant. i have dropped that","commit_id":"c5118d12cae4da27ccd6f98b64c55965b2008989"},{"author":{"_account_id":1994,"name":"Zhongyue Luo","email":"zhongyue.luo@gmail.com","username":"zyluo"},"unresolved":false,"context_lines":[{"line_number":642,"context_line":"                if (\u0027ip_address\u0027 in new_ip and"},{"line_number":643,"context_line":"                    original_ip[\u0027ip_address\u0027] \u003d\u003d new_ip[\u0027ip_address\u0027]):"},{"line_number":644,"context_line":"                    original_ips.remove(original_ip)"},{"line_number":645,"context_line":"                    new_ips.remove(new_ip)"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"        # Check if the IP\u0027s to add are OK"},{"line_number":648,"context_line":"        to_add \u003d self._test_fixed_ips_for_port(context, network_id, new_ips)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2BmQ8%3D","line":645,"updated":"2013-02-26 08:32:53.000000000","message":"looks much better","commit_id":"ee2b6eeff0fc431f5c263b2a55f72d966fb39942"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":642,"context_line":"                if (\u0027ip_address\u0027 in new_ip and"},{"line_number":643,"context_line":"                    original_ip[\u0027ip_address\u0027] \u003d\u003d new_ip[\u0027ip_address\u0027]):"},{"line_number":644,"context_line":"                    original_ips.remove(original_ip)"},{"line_number":645,"context_line":"                    new_ips.remove(new_ip)"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"        # Check if the IP\u0027s to add are OK"},{"line_number":648,"context_line":"        to_add \u003d self._test_fixed_ips_for_port(context, network_id, new_ips)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2BmPE%3D","line":645,"in_reply_to":"AAAAM3%2F%2BmP4%3D","updated":"2013-02-26 09:50:49.000000000","message":"Looks nice. We already ensure there are no IP overlapping subnets on a network.","commit_id":"ee2b6eeff0fc431f5c263b2a55f72d966fb39942"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"unresolved":false,"context_lines":[{"line_number":642,"context_line":"                if (\u0027ip_address\u0027 in new_ip and"},{"line_number":643,"context_line":"                    original_ip[\u0027ip_address\u0027] \u003d\u003d new_ip[\u0027ip_address\u0027]):"},{"line_number":644,"context_line":"                    original_ips.remove(original_ip)"},{"line_number":645,"context_line":"                    new_ips.remove(new_ip)"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"        # Check if the IP\u0027s to add are OK"},{"line_number":648,"context_line":"        to_add \u003d self._test_fixed_ips_for_port(context, network_id, new_ips)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2BlcA%3D","line":645,"in_reply_to":"AAAAM3%2F%2BmPE%3D","updated":"2013-02-26 18:37:02.000000000","message":"nit  original_ip[\u0027ip_address\u0027] should be never none, so how about original_ip[\u0027ip_address\u0027] \u003d\u003d new_ip.get(\u0027ip_address\u0027) ? we chan remove oneline. ( Current code also looks good though)","commit_id":"ee2b6eeff0fc431f5c263b2a55f72d966fb39942"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":642,"context_line":"                if (\u0027ip_address\u0027 in new_ip and"},{"line_number":643,"context_line":"                    original_ip[\u0027ip_address\u0027] \u003d\u003d new_ip[\u0027ip_address\u0027]):"},{"line_number":644,"context_line":"                    original_ips.remove(original_ip)"},{"line_number":645,"context_line":"                    new_ips.remove(new_ip)"},{"line_number":646,"context_line":""},{"line_number":647,"context_line":"        # Check if the IP\u0027s to add are OK"},{"line_number":648,"context_line":"        to_add \u003d self._test_fixed_ips_for_port(context, network_id, new_ips)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2BmP4%3D","line":645,"in_reply_to":"AAAAM3%2F%2BmQ8%3D","updated":"2013-02-26 08:52:17.000000000","message":"like","commit_id":"ee2b6eeff0fc431f5c263b2a55f72d966fb39942"}],"quantum/tests/unit/midonet/test_midonet_plugin.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":625,"context_line":"    def test_update_port_update_ip_address_only(self):"},{"line_number":626,"context_line":"        self._setup_port_mocks()"},{"line_number":627,"context_line":"        super(TestMidonetPortsV2,"},{"line_number":628,"context_line":"              self).test_update_port_update_ip_address_only()"},{"line_number":629,"context_line":""},{"line_number":630,"context_line":"    def test_update_port_update_ips(self):"},{"line_number":631,"context_line":"        self._setup_port_mocks()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2Bmoc%3D","line":628,"updated":"2013-02-26 02:12:44.000000000","message":"Hmm... It is very painful to add new tests.\nIt seems test_midonet_plugin needs to be refactored.\n(it is not related to this patch directly)","commit_id":"c5118d12cae4da27ccd6f98b64c55965b2008989"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"unresolved":false,"context_lines":[{"line_number":625,"context_line":"    def test_update_port_update_ip_address_only(self):"},{"line_number":626,"context_line":"        self._setup_port_mocks()"},{"line_number":627,"context_line":"        super(TestMidonetPortsV2,"},{"line_number":628,"context_line":"              self).test_update_port_update_ip_address_only()"},{"line_number":629,"context_line":""},{"line_number":630,"context_line":"    def test_update_port_update_ips(self):"},{"line_number":631,"context_line":"        self._setup_port_mocks()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2BmM0%3D","line":628,"in_reply_to":"AAAAM3%2F%2BmSo%3D","updated":"2013-02-26 09:50:17.000000000","message":"I talked with Tomoe (the commiter of midonet plugin). He says he is working on fixing this problem. He will file a bug about this issue.","commit_id":"c5118d12cae4da27ccd6f98b64c55965b2008989"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"unresolved":false,"context_lines":[{"line_number":625,"context_line":"    def test_update_port_update_ip_address_only(self):"},{"line_number":626,"context_line":"        self._setup_port_mocks()"},{"line_number":627,"context_line":"        super(TestMidonetPortsV2,"},{"line_number":628,"context_line":"              self).test_update_port_update_ip_address_only()"},{"line_number":629,"context_line":""},{"line_number":630,"context_line":"    def test_update_port_update_ips(self):"},{"line_number":631,"context_line":"        self._setup_port_mocks()"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAM3%2F%2BmSo%3D","line":628,"in_reply_to":"AAAAM3%2F%2Bmoc%3D","updated":"2013-02-26 08:11:19.000000000","message":"yes, i agree. this is very difficult to maintain","commit_id":"c5118d12cae4da27ccd6f98b64c55965b2008989"}]}
