)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"2046ea218e4c5817cf1218f5322a026afa8782b4","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Swaminathan Vasudevan \u003cSVasudevan@suse.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-08-31 09:53:57 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"(WIP)DVR: Fix grenade multinode job"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The agent is not currently checking for the host bound"},{"line_number":10,"context_line":"before configuring the floatingip. That leads to duplicate"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7f287b81_f425d00b","line":7,"updated":"2017-08-31 17:21:07.000000000","message":"Remove WIP so that we can land it when it\u0027s ready without additional respins to fix the commit message.\n\nAlso, this commit title is a bit vague. Consider instead describing what actually happens code wise, and just note it somewhere later that it should fix grenade failure.","commit_id":"b9cc1e70db966abdca71da371e8ceee749567333"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"f7b975adf733edbd5b79ecefbb7dc1a354f097b5","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Swaminathan Vasudevan \u003cSVasudevan@suse.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-08-31 09:53:57 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"(WIP)DVR: Fix grenade multinode job"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The agent is not currently checking for the host bound"},{"line_number":10,"context_line":"before configuring the floatingip. That leads to duplicate"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7f287b81_f7a03294","line":7,"in_reply_to":"7f287b81_f425d00b","updated":"2017-08-31 18:07:18.000000000","message":"Will fix it","commit_id":"b9cc1e70db966abdca71da371e8ceee749567333"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"2046ea218e4c5817cf1218f5322a026afa8782b4","unresolved":false,"context_lines":[{"line_number":7,"context_line":"(WIP)DVR: Fix grenade multinode job"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The agent is not currently checking for the host bound"},{"line_number":10,"context_line":"before configuring the floatingip. That leads to duplicate"},{"line_number":11,"context_line":"floatingips being configured."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This will fix the problem."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7f287b81_d4677451","line":11,"range":{"start_line":10,"start_character":35,"end_line":11,"end_character":29},"updated":"2017-08-31 17:21:07.000000000","message":"I guess the problem is not exactly that it\u0027s duplicate but that the FIP is configured on a node that it doesn\u0027t belong to.","commit_id":"b9cc1e70db966abdca71da371e8ceee749567333"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"f7b975adf733edbd5b79ecefbb7dc1a354f097b5","unresolved":false,"context_lines":[{"line_number":7,"context_line":"(WIP)DVR: Fix grenade multinode job"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The agent is not currently checking for the host bound"},{"line_number":10,"context_line":"before configuring the floatingip. That leads to duplicate"},{"line_number":11,"context_line":"floatingips being configured."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This will fix the problem."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7f287b81_d79d3658","line":11,"range":{"start_line":10,"start_character":35,"end_line":11,"end_character":29},"in_reply_to":"7f287b81_d4677451","updated":"2017-08-31 18:07:18.000000000","message":"Will fix it.","commit_id":"b9cc1e70db966abdca71da371e8ceee749567333"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"2046ea218e4c5817cf1218f5322a026afa8782b4","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This will fix the problem."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I1bc8c42425f97234f56412a2f109a996d9f896de"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7f287b81_541704a5","line":15,"updated":"2017-08-31 17:21:07.000000000","message":"Add Closes-Bug. Or is it partial? (Does server still misbehave when sending the irrelevant fips to agents?)","commit_id":"b9cc1e70db966abdca71da371e8ceee749567333"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"f7b975adf733edbd5b79ecefbb7dc1a354f097b5","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This will fix the problem."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: I1bc8c42425f97234f56412a2f109a996d9f896de"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7f287b81_97a7aea8","line":15,"in_reply_to":"7f287b81_541704a5","updated":"2017-08-31 18:07:18.000000000","message":"Will fix it.","commit_id":"b9cc1e70db966abdca71da371e8ceee749567333"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"3b52f9bb690e3ffa176e39a5fb378c7771d4318a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Swaminathan Vasudevan \u003cSVasudevan@suse.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-08-31 11:56:12 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"DVR: Fix grenade multinode job"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The agent is not currently checking for the host bound"},{"line_number":10,"context_line":"before configuring the floatingip. That leads to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7f287b81_7d2c234a","line":7,"updated":"2017-08-31 19:21:26.000000000","message":"this title is still not great. it doesn\u0027t describe the intent of the change, shouldn\u0027t talk about gate issues because those won\u0027t be relevant a month from now when a git log --oneline reader will try to understand what you did here.","commit_id":"64ad7b88f6862cb37183819b6a60b986e63ae6f9"}],"neutron/agent/l3/dvr_local_router.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e73dc2a6167174ba004d5cf7723daf58c3226cdd","unresolved":false,"context_lines":[{"line_number":100,"context_line":"            if floating_ip_status \u003d\u003d lib_constants.FLOATINGIP_STATUS_ACTIVE:"},{"line_number":101,"context_line":"                self.centralized_floatingips_set.add(fip_cidr)"},{"line_number":102,"context_line":"            return floating_ip_status"},{"line_number":103,"context_line":"        if self._check_if_floatingip_bound_to_host(fip):"},{"line_number":104,"context_line":"            floating_ip \u003d fip[\u0027floating_ip_address\u0027]"},{"line_number":105,"context_line":"            fixed_ip \u003d fip[\u0027fixed_ip_address\u0027]"},{"line_number":106,"context_line":"            self._add_floating_ip_rule(floating_ip, fixed_ip)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_14edfc8a","line":103,"updated":"2017-08-31 17:24:46.000000000","message":"This should probably just do:\n\nif not self._check...\n    return\n\nto minimize changes\n\nBut also, what happens if it returns None?  or even FLOATINGIP_STATUS_ERROR ?  It\u0027s supposed to return something but don\u0027t know how that will be reported back to the server.","commit_id":"b9cc1e70db966abdca71da371e8ceee749567333"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"f7b975adf733edbd5b79ecefbb7dc1a354f097b5","unresolved":false,"context_lines":[{"line_number":100,"context_line":"            if floating_ip_status \u003d\u003d lib_constants.FLOATINGIP_STATUS_ACTIVE:"},{"line_number":101,"context_line":"                self.centralized_floatingips_set.add(fip_cidr)"},{"line_number":102,"context_line":"            return floating_ip_status"},{"line_number":103,"context_line":"        if self._check_if_floatingip_bound_to_host(fip):"},{"line_number":104,"context_line":"            floating_ip \u003d fip[\u0027floating_ip_address\u0027]"},{"line_number":105,"context_line":"            fixed_ip \u003d fip[\u0027fixed_ip_address\u0027]"},{"line_number":106,"context_line":"            self._add_floating_ip_rule(floating_ip, fixed_ip)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_57ca661a","line":103,"in_reply_to":"7f287b81_14edfc8a","updated":"2017-08-31 18:07:18.000000000","message":"At this point, I don\u0027t think we should return any status to the server. \nSince this is a duplicate one.\nOnce we fix the server side, this may not be required.","commit_id":"b9cc1e70db966abdca71da371e8ceee749567333"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"276b9e8dda5e25e2c5e13119b4caafb5e3de77e9","unresolved":false,"context_lines":[{"line_number":100,"context_line":"            if floating_ip_status \u003d\u003d lib_constants.FLOATINGIP_STATUS_ACTIVE:"},{"line_number":101,"context_line":"                self.centralized_floatingips_set.add(fip_cidr)"},{"line_number":102,"context_line":"            return floating_ip_status"},{"line_number":103,"context_line":"        if self._check_if_floatingip_bound_to_host(fip):"},{"line_number":104,"context_line":"            floating_ip \u003d fip[\u0027floating_ip_address\u0027]"},{"line_number":105,"context_line":"            fixed_ip \u003d fip[\u0027fixed_ip_address\u0027]"},{"line_number":106,"context_line":"            self._add_floating_ip_rule(floating_ip, fixed_ip)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_b7050a17","line":103,"in_reply_to":"7f287b81_57ca661a","updated":"2017-08-31 18:17:27.000000000","message":"maybe then add todo to clean it up later.","commit_id":"b9cc1e70db966abdca71da371e8ceee749567333"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"2046ea218e4c5817cf1218f5322a026afa8782b4","unresolved":false,"context_lines":[{"line_number":543,"context_line":"        return ports_scopemark"},{"line_number":544,"context_line":""},{"line_number":545,"context_line":"    def _check_if_floatingip_bound_to_host(self, fip):"},{"line_number":546,"context_line":"        \"\"\"Check if the floating is bound to this host.\"\"\""},{"line_number":547,"context_line":"        if self.host in (fip.get(\u0027host\u0027), fip.get(\u0027dest_host\u0027)):"},{"line_number":548,"context_line":"            return True"},{"line_number":549,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_7460c036","line":546,"range":{"start_line":546,"start_character":24,"end_line":546,"end_character":32},"updated":"2017-08-31 17:21:07.000000000","message":"floating IP","commit_id":"b9cc1e70db966abdca71da371e8ceee749567333"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"f7b975adf733edbd5b79ecefbb7dc1a354f097b5","unresolved":false,"context_lines":[{"line_number":543,"context_line":"        return ports_scopemark"},{"line_number":544,"context_line":""},{"line_number":545,"context_line":"    def _check_if_floatingip_bound_to_host(self, fip):"},{"line_number":546,"context_line":"        \"\"\"Check if the floating is bound to this host.\"\"\""},{"line_number":547,"context_line":"        if self.host in (fip.get(\u0027host\u0027), fip.get(\u0027dest_host\u0027)):"},{"line_number":548,"context_line":"            return True"},{"line_number":549,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_f786f2ba","line":546,"range":{"start_line":546,"start_character":24,"end_line":546,"end_character":32},"in_reply_to":"7f287b81_7460c036","updated":"2017-08-31 18:07:18.000000000","message":"will fix it.","commit_id":"b9cc1e70db966abdca71da371e8ceee749567333"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"2046ea218e4c5817cf1218f5322a026afa8782b4","unresolved":false,"context_lines":[{"line_number":544,"context_line":""},{"line_number":545,"context_line":"    def _check_if_floatingip_bound_to_host(self, fip):"},{"line_number":546,"context_line":"        \"\"\"Check if the floating is bound to this host.\"\"\""},{"line_number":547,"context_line":"        if self.host in (fip.get(\u0027host\u0027), fip.get(\u0027dest_host\u0027)):"},{"line_number":548,"context_line":"            return True"},{"line_number":549,"context_line":""},{"line_number":550,"context_line":"    def process_external(self):"},{"line_number":551,"context_line":"        if self.agent_conf.agent_mode !\u003d ("}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_9471ec0f","line":548,"range":{"start_line":547,"start_character":8,"end_line":548,"end_character":23},"updated":"2017-08-31 17:21:07.000000000","message":"nit: return self.host in ...","commit_id":"b9cc1e70db966abdca71da371e8ceee749567333"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"f7b975adf733edbd5b79ecefbb7dc1a354f097b5","unresolved":false,"context_lines":[{"line_number":544,"context_line":""},{"line_number":545,"context_line":"    def _check_if_floatingip_bound_to_host(self, fip):"},{"line_number":546,"context_line":"        \"\"\"Check if the floating is bound to this host.\"\"\""},{"line_number":547,"context_line":"        if self.host in (fip.get(\u0027host\u0027), fip.get(\u0027dest_host\u0027)):"},{"line_number":548,"context_line":"            return True"},{"line_number":549,"context_line":""},{"line_number":550,"context_line":"    def process_external(self):"},{"line_number":551,"context_line":"        if self.agent_conf.agent_mode !\u003d ("}],"source_content_type":"text/x-python","patch_set":1,"id":"7f287b81_379d9a0a","line":548,"range":{"start_line":547,"start_character":8,"end_line":548,"end_character":23},"in_reply_to":"7f287b81_9471ec0f","updated":"2017-08-31 18:07:18.000000000","message":"Will fix it.","commit_id":"b9cc1e70db966abdca71da371e8ceee749567333"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"3b52f9bb690e3ffa176e39a5fb378c7771d4318a","unresolved":false,"context_lines":[{"line_number":100,"context_line":"            if floating_ip_status \u003d\u003d lib_constants.FLOATINGIP_STATUS_ACTIVE:"},{"line_number":101,"context_line":"                self.centralized_floatingips_set.add(fip_cidr)"},{"line_number":102,"context_line":"            return floating_ip_status"},{"line_number":103,"context_line":"        if not self._check_if_floatingip_bound_to_host(fip):"},{"line_number":104,"context_line":"            return"},{"line_number":105,"context_line":"        floating_ip \u003d fip[\u0027floating_ip_address\u0027]"},{"line_number":106,"context_line":"        fixed_ip \u003d fip[\u0027fixed_ip_address\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f287b81_ddf317e7","line":103,"updated":"2017-08-31 19:21:26.000000000","message":"add todo that we may want to clean that up once server side is fixed?","commit_id":"64ad7b88f6862cb37183819b6a60b986e63ae6f9"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"8d0c6a47e42465b90dde879393a7755b34ac13f7","unresolved":false,"context_lines":[{"line_number":101,"context_line":"                self.centralized_floatingips_set.add(fip_cidr)"},{"line_number":102,"context_line":"            return floating_ip_status"},{"line_number":103,"context_line":"        if not self._check_if_floatingip_bound_to_host(fip):"},{"line_number":104,"context_line":"            return"},{"line_number":105,"context_line":"        floating_ip \u003d fip[\u0027floating_ip_address\u0027]"},{"line_number":106,"context_line":"        fixed_ip \u003d fip[\u0027fixed_ip_address\u0027]"},{"line_number":107,"context_line":"        self._add_floating_ip_rule(floating_ip, fixed_ip)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f287b81_bd75eb34","line":104,"updated":"2017-08-31 19:28:37.000000000","message":"I\u0027m still unsure about this since fip_statuses[fip[\u0027id\u0027]] is initialized based on the return value.  \"None\" isn\u0027t really a status.","commit_id":"64ad7b88f6862cb37183819b6a60b986e63ae6f9"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"d5c4be7647b30976b5c3bc329d2f1520a6c30fa0","unresolved":false,"context_lines":[{"line_number":109,"context_line":"            # side code, but still a check to make sure if"},{"line_number":110,"context_line":"            # the floating IP is intended for this host should"},{"line_number":111,"context_line":"            # be done."},{"line_number":112,"context_line":"            return"},{"line_number":113,"context_line":"        floating_ip \u003d fip[\u0027floating_ip_address\u0027]"},{"line_number":114,"context_line":"        fixed_ip \u003d fip[\u0027fixed_ip_address\u0027]"},{"line_number":115,"context_line":"        self._add_floating_ip_rule(floating_ip, fixed_ip)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f287b81_83707bde","line":112,"updated":"2017-09-05 14:56:43.000000000","message":"Right, we could return FLOATINGIP_STATUS_ERROR, but that would get back to the server, and the status could ping-pong between two states depending on which agent updated it last.\n\nMight just need a new status code that the router_info code could catch, then remove this FIP from the fip_statuses info returned to the server, basically silently ignoring it received it.","commit_id":"afd1995d91353874d04ac2d12be0162cea27c1d1"}]}
