)]}'
{"octavia/controller/worker/flows/amphora_flows.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"d2d9156e0273af3d98b4a8aaf6128fd2af276cd5","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        delete_amphora_flow.add(controller_tasks.DeleteLoadBalancersOnAmp("},{"line_number":149,"context_line":"                                requires\u003d\u0027amphora\u0027))"},{"line_number":150,"context_line":"        delete_amphora_flow.add(compute_tasks.ComputeDelete("},{"line_number":151,"context_line":"            requires\u003d\u0027amphora\u0027))"},{"line_number":152,"context_line":"        delete_amphora_flow.add(database_tasks."},{"line_number":153,"context_line":"                                MarkAmphoraPendingDeleteInDB("},{"line_number":154,"context_line":"                                    requires\u003d\u0027amphora\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_fd94e3e2","line":151,"updated":"2015-08-28 06:13:15.000000000","message":"Wait, what is happening here exactly? When is this called?\nI am not clear on why we have to \"DeleteLoadBalancersOnAmp\" when we\u0027re literally just wiping the machine -- that\u0027s like uninstalling all your programs in your OS before you format the hard drive. Wouldn\u0027t this flow be PART OF a flow that deletes LBs?","commit_id":"97ac437204a16977d21d4884a45a53e95ad3abe5"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"d0ff140153e0f6db8e399062a8f0ad7a43870c71","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        delete_amphora_flow.add(controller_tasks.DeleteLoadBalancersOnAmp("},{"line_number":149,"context_line":"                                requires\u003d\u0027amphora\u0027))"},{"line_number":150,"context_line":"        delete_amphora_flow.add(compute_tasks.ComputeDelete("},{"line_number":151,"context_line":"            requires\u003d\u0027amphora\u0027))"},{"line_number":152,"context_line":"        delete_amphora_flow.add(database_tasks."},{"line_number":153,"context_line":"                                MarkAmphoraPendingDeleteInDB("},{"line_number":154,"context_line":"                                    requires\u003d\u0027amphora\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_d997948e","line":151,"in_reply_to":"da20952f_3e023670","updated":"2015-08-28 16:27:21.000000000","message":"I removed the loadbalancer delete","commit_id":"97ac437204a16977d21d4884a45a53e95ad3abe5"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"220055e5f9fbc7c3a2f5d808823096e83438f0ab","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        delete_amphora_flow.add(controller_tasks.DeleteLoadBalancersOnAmp("},{"line_number":149,"context_line":"                                requires\u003d\u0027amphora\u0027))"},{"line_number":150,"context_line":"        delete_amphora_flow.add(compute_tasks.ComputeDelete("},{"line_number":151,"context_line":"            requires\u003d\u0027amphora\u0027))"},{"line_number":152,"context_line":"        delete_amphora_flow.add(database_tasks."},{"line_number":153,"context_line":"                                MarkAmphoraPendingDeleteInDB("},{"line_number":154,"context_line":"                                    requires\u003d\u0027amphora\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_3e023670","line":151,"in_reply_to":"da20952f_beede6f0","updated":"2015-08-28 16:19:16.000000000","message":"Right, so doesn\u0027t my analogy stand? Why is this necessary at all? Who cares what\u0027s running, we\u0027re deleting the whole amphora.","commit_id":"97ac437204a16977d21d4884a45a53e95ad3abe5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"b685c1dd172688d1ac8d22d6a9d4bd99a5dc1c87","unresolved":false,"context_lines":[{"line_number":148,"context_line":"        delete_amphora_flow.add(controller_tasks.DeleteLoadBalancersOnAmp("},{"line_number":149,"context_line":"                                requires\u003d\u0027amphora\u0027))"},{"line_number":150,"context_line":"        delete_amphora_flow.add(compute_tasks.ComputeDelete("},{"line_number":151,"context_line":"            requires\u003d\u0027amphora\u0027))"},{"line_number":152,"context_line":"        delete_amphora_flow.add(database_tasks."},{"line_number":153,"context_line":"                                MarkAmphoraPendingDeleteInDB("},{"line_number":154,"context_line":"                                    requires\u003d\u0027amphora\u0027))"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_beede6f0","line":151,"in_reply_to":"da20952f_fd94e3e2","updated":"2015-08-28 16:12:42.000000000","message":"DeleteLoadBalancersOnAmp goes through and deletes all of the resources on the amp.  Lbs, pools, members, etc.\nThere might be a more efficient way to do this with db updates in this case.","commit_id":"97ac437204a16977d21d4884a45a53e95ad3abe5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"b685c1dd172688d1ac8d22d6a9d4bd99a5dc1c87","unresolved":false,"context_lines":[{"line_number":151,"context_line":"            requires\u003d\u0027amphora\u0027))"},{"line_number":152,"context_line":"        delete_amphora_flow.add(database_tasks."},{"line_number":153,"context_line":"                                MarkAmphoraPendingDeleteInDB("},{"line_number":154,"context_line":"                                    requires\u003d\u0027amphora\u0027))"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        return delete_amphora_flow"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_9ec9027b","line":154,"updated":"2015-08-28 16:12:42.000000000","message":"This should be above and we probably need a mark it deleted call.","commit_id":"97ac437204a16977d21d4884a45a53e95ad3abe5"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"d0ff140153e0f6db8e399062a8f0ad7a43870c71","unresolved":false,"context_lines":[{"line_number":151,"context_line":"            requires\u003d\u0027amphora\u0027))"},{"line_number":152,"context_line":"        delete_amphora_flow.add(database_tasks."},{"line_number":153,"context_line":"                                MarkAmphoraPendingDeleteInDB("},{"line_number":154,"context_line":"                                    requires\u003d\u0027amphora\u0027))"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        return delete_amphora_flow"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_99911c9c","line":154,"in_reply_to":"da20952f_5eb7ead7","updated":"2015-08-28 16:27:21.000000000","message":"Done","commit_id":"97ac437204a16977d21d4884a45a53e95ad3abe5"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"220055e5f9fbc7c3a2f5d808823096e83438f0ab","unresolved":false,"context_lines":[{"line_number":151,"context_line":"            requires\u003d\u0027amphora\u0027))"},{"line_number":152,"context_line":"        delete_amphora_flow.add(database_tasks."},{"line_number":153,"context_line":"                                MarkAmphoraPendingDeleteInDB("},{"line_number":154,"context_line":"                                    requires\u003d\u0027amphora\u0027))"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        return delete_amphora_flow"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_5eb7ead7","line":154,"in_reply_to":"da20952f_9ec9027b","updated":"2015-08-28 16:19:16.000000000","message":"Ah yes I didn\u0027t even catch that, I was so busy being confused by the above.","commit_id":"97ac437204a16977d21d4884a45a53e95ad3abe5"}],"octavia/controller/worker/tasks/compute_tasks.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"d2d9156e0273af3d98b4a8aaf6128fd2af276cd5","unresolved":false,"context_lines":[{"line_number":119,"context_line":"    def execute(self, loadbalancer):"},{"line_number":120,"context_line":"        for amp in loadbalancer.amphorae:"},{"line_number":121,"context_line":"            try:"},{"line_number":122,"context_line":"                self.compute.delete(amphora\u003damp)"},{"line_number":123,"context_line":"            except Exception as e:"},{"line_number":124,"context_line":"                LOG.error(_LE(\"Nova delete for amphora id: %(amp)s failed:\""},{"line_number":125,"context_line":"                              \"%(exp)s\"), {\u0027amp\u0027: amp.id, \u0027exp\u0027: e})"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_3db25b95","line":122,"updated":"2015-08-28 06:13:15.000000000","message":"Here this function takes an amp, but below it takes ... ??\n*execute( )* takes an amphora, but even in the execute function, it seems \"self.compute.delete( )\" takes an amphora_id, so I don\u0027t really know what\u0027s happening. Maybe this is just my confusion, but it seems inconsistent.","commit_id":"97ac437204a16977d21d4884a45a53e95ad3abe5"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"d0ff140153e0f6db8e399062a8f0ad7a43870c71","unresolved":false,"context_lines":[{"line_number":119,"context_line":"    def execute(self, loadbalancer):"},{"line_number":120,"context_line":"        for amp in loadbalancer.amphorae:"},{"line_number":121,"context_line":"            try:"},{"line_number":122,"context_line":"                self.compute.delete(amphora\u003damp)"},{"line_number":123,"context_line":"            except Exception as e:"},{"line_number":124,"context_line":"                LOG.error(_LE(\"Nova delete for amphora id: %(amp)s failed:\""},{"line_number":125,"context_line":"                              \"%(exp)s\"), {\u0027amp\u0027: amp.id, \u0027exp\u0027: e})"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_592704b6","line":122,"in_reply_to":"da20952f_1ecbb2a6","updated":"2015-08-28 16:27:21.000000000","message":"Done","commit_id":"97ac437204a16977d21d4884a45a53e95ad3abe5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"b685c1dd172688d1ac8d22d6a9d4bd99a5dc1c87","unresolved":false,"context_lines":[{"line_number":119,"context_line":"    def execute(self, loadbalancer):"},{"line_number":120,"context_line":"        for amp in loadbalancer.amphorae:"},{"line_number":121,"context_line":"            try:"},{"line_number":122,"context_line":"                self.compute.delete(amphora\u003damp)"},{"line_number":123,"context_line":"            except Exception as e:"},{"line_number":124,"context_line":"                LOG.error(_LE(\"Nova delete for amphora id: %(amp)s failed:\""},{"line_number":125,"context_line":"                              \"%(exp)s\"), {\u0027amp\u0027: amp.id, \u0027exp\u0027: e})"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_1ecbb2a6","line":122,"in_reply_to":"da20952f_3db25b95","updated":"2015-08-28 16:12:42.000000000","message":"Good point, this is wrong.  It should be amphora.compute_id","commit_id":"97ac437204a16977d21d4884a45a53e95ad3abe5"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"d2d9156e0273af3d98b4a8aaf6128fd2af276cd5","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        LOG.debug(\"Nova Delete execute for amphora with id %s\" % compute_id)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        try:"},{"line_number":135,"context_line":"            self.compute.delete(amphora_id\u003dcompute_id)"},{"line_number":136,"context_line":"        except Exception as e:"},{"line_number":137,"context_line":"            LOG.error(_LE(\"Nova delete for amphora id: %(amp)s failed:\""},{"line_number":138,"context_line":"                          \"%(exp)s\"), {\u0027amp\u0027: compute_id, \u0027exp\u0027: e})"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_3d27bbcb","line":135,"updated":"2015-08-28 06:13:15.000000000","message":"See, here it takes an amphora_id, which ends up being a compute_id?","commit_id":"97ac437204a16977d21d4884a45a53e95ad3abe5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"b685c1dd172688d1ac8d22d6a9d4bd99a5dc1c87","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        LOG.debug(\"Nova Delete execute for amphora with id %s\" % compute_id)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        try:"},{"line_number":135,"context_line":"            self.compute.delete(amphora_id\u003dcompute_id)"},{"line_number":136,"context_line":"        except Exception as e:"},{"line_number":137,"context_line":"            LOG.error(_LE(\"Nova delete for amphora id: %(amp)s failed:\""},{"line_number":138,"context_line":"                          \"%(exp)s\"), {\u0027amp\u0027: compute_id, \u0027exp\u0027: e})"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_7e3bce9c","line":135,"in_reply_to":"da20952f_3d27bbcb","updated":"2015-08-28 16:12:42.000000000","message":"Yep, should be compute_id\u003dcompute_id","commit_id":"97ac437204a16977d21d4884a45a53e95ad3abe5"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"d0ff140153e0f6db8e399062a8f0ad7a43870c71","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        LOG.debug(\"Nova Delete execute for amphora with id %s\" % compute_id)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        try:"},{"line_number":135,"context_line":"            self.compute.delete(amphora_id\u003dcompute_id)"},{"line_number":136,"context_line":"        except Exception as e:"},{"line_number":137,"context_line":"            LOG.error(_LE(\"Nova delete for amphora id: %(amp)s failed:\""},{"line_number":138,"context_line":"                          \"%(exp)s\"), {\u0027amp\u0027: compute_id, \u0027exp\u0027: e})"}],"source_content_type":"text/x-python","patch_set":3,"id":"da20952f_b95e6010","line":135,"in_reply_to":"da20952f_7e3bce9c","updated":"2015-08-28 16:27:21.000000000","message":"Nope: @abc.abstractmethod\n    def delete(self, amphora_id):\n        \"\"\"Delete the specified amphora\n\n        :param amphora_id: The id of the amphora to delete\n        \"\"\"\n        pass\n\nNeeds to be amphora_id -- hate that code, too. But not sure if I should spin my one liner into that big of a refactoring session","commit_id":"97ac437204a16977d21d4884a45a53e95ad3abe5"}]}
