)]}'
{"octavia/api/drivers/driver_agent/driver_updater.py":[{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"f47ffc8a1f55eaa28f6700314ed9f8bbff0d1af9","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            network_driver.deallocate_vip(vip)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def _decrement_quota(self, repo, object_name, record_id):"},{"line_number":59,"context_line":"        db_object \u003d repo.get(self.db_session, id\u003drecord_id)"},{"line_number":60,"context_line":"        lock_session \u003d db_apis.get_session(autocommit\u003dFalse)"},{"line_number":61,"context_line":"        try:"},{"line_number":62,"context_line":"            self.repos.decrement_quota(lock_session,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f65232a_95712ce4","line":59,"range":{"start_line":59,"start_character":8,"end_line":59,"end_character":59},"updated":"2020-10-22 07:47:02.000000000","message":"Maybe we should safeguard this in case the record has already been deleted but the provider calls it a second time for whatever reasons.","commit_id":"c39192d0b85f7ab69784afda2b38ab7feaf26728"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c26dfa6af4ed3f410a8664cccd7b10335cdaac8a","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            network_driver.deallocate_vip(vip)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    def _decrement_quota(self, repo, object_name, record_id):"},{"line_number":59,"context_line":"        db_object \u003d repo.get(self.db_session, id\u003drecord_id)"},{"line_number":60,"context_line":"        lock_session \u003d db_apis.get_session(autocommit\u003dFalse)"},{"line_number":61,"context_line":"        try:"},{"line_number":62,"context_line":"            self.repos.decrement_quota(lock_session,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f65232a_b28713d8","line":59,"range":{"start_line":59,"start_character":8,"end_line":59,"end_character":59},"in_reply_to":"3f65232a_95712ce4","updated":"2020-10-22 18:11:34.000000000","message":"This is a good point, fixing.","commit_id":"c39192d0b85f7ab69784afda2b38ab7feaf26728"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"f47ffc8a1f55eaa28f6700314ed9f8bbff0d1af9","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        except Exception:"},{"line_number":67,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":68,"context_line":"                LOG.error(\u0027Failed to decrement %(name)s quota for \u0027"},{"line_number":69,"context_line":"                          \u0027project: %(proj)s the project may have excess \u0027"},{"line_number":70,"context_line":"                          \u0027quota in use.\u0027, {\u0027proj\u0027: db_object.project_id,"},{"line_number":71,"context_line":"                                            \u0027name\u0027: object_name})"},{"line_number":72,"context_line":"                lock_session.rollback()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f65232a_d568c422","line":69,"range":{"start_line":69,"start_character":66,"end_line":69,"end_character":72},"updated":"2020-10-22 07:47:02.000000000","message":"Copy-paste? Decrement does not cause quota increase.","commit_id":"c39192d0b85f7ab69784afda2b38ab7feaf26728"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c26dfa6af4ed3f410a8664cccd7b10335cdaac8a","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        except Exception:"},{"line_number":67,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":68,"context_line":"                LOG.error(\u0027Failed to decrement %(name)s quota for \u0027"},{"line_number":69,"context_line":"                          \u0027project: %(proj)s the project may have excess \u0027"},{"line_number":70,"context_line":"                          \u0027quota in use.\u0027, {\u0027proj\u0027: db_object.project_id,"},{"line_number":71,"context_line":"                                            \u0027name\u0027: object_name})"},{"line_number":72,"context_line":"                lock_session.rollback()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f65232a_d2828fc8","line":69,"range":{"start_line":69,"start_character":66,"end_line":69,"end_character":72},"in_reply_to":"3f65232a_d568c422","updated":"2020-10-22 18:11:34.000000000","message":"The excess is the quota we just failed to decrement.","commit_id":"c39192d0b85f7ab69784afda2b38ab7feaf26728"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"8d761fd31f330f247ad0a4c122fcf54c9b73b05a","unresolved":true,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"                    self._decrement_quota(repo, object_name, record_id)"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"                    if delete_record:"},{"line_number":97,"context_line":"                        repo.delete(self.db_session, id\u003drecord_id)"},{"line_number":98,"context_line":"                        return"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"a624c80a_e08715b9","line":96,"updated":"2021-01-28 10:48:02.000000000","message":"Doesn\u0027t this logic CHANGE? Previously, this would only run on things that were not LOADBALANCERS. Now, it will run on those too? I don\u0027t think we want that?","commit_id":"edea3ded8faa9f6b9cdf2baf0126aa54d3bc02bd"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"0c5b323f4d45fe9e2a7f8e63d62e7882d512f807","unresolved":true,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"                    self._decrement_quota(repo, object_name, record_id)"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"                    if delete_record:"},{"line_number":97,"context_line":"                        repo.delete(self.db_session, id\u003drecord_id)"},{"line_number":98,"context_line":"                        return"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"48f7d02c_2038fb56","line":96,"in_reply_to":"a624c80a_e08715b9","updated":"2021-03-11 22:22:56.000000000","message":"It would only *if* delete_record is True, which the LB call does not set True....\nhttps://github.com/openstack/octavia/blob/master/octavia/api/drivers/driver_agent/driver_updater.py#L129","commit_id":"edea3ded8faa9f6b9cdf2baf0126aa54d3bc02bd"}]}
