)]}'
{"octavia/controller/worker/flows/amphora_flows.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"38c5f8e5574b81d223a3e7495f8dbcc06926388f","unresolved":false,"context_lines":[{"line_number":270,"context_line":""},{"line_number":271,"context_line":"        # Plug the network"},{"line_number":272,"context_line":"        # todo(xgerman): Rework failover flow"},{"line_number":273,"context_line":"        if prefix !\u003d constants.FAILOVER_AMPHORA_FLOW:"},{"line_number":274,"context_line":"            sf_name \u003d prefix + \u0027-\u0027 + constants.AMP_PLUG_NET_SUBFLOW"},{"line_number":275,"context_line":"            amp_for_lb_net_flow \u003d linear_flow.Flow(sf_name)"},{"line_number":276,"context_line":"            amp_for_lb_net_flow.add(amp_for_lb_flow)"}],"source_content_type":"text/x-python","patch_set":17,"id":"9fdfeff1_2d29369a","line":273,"updated":"2019-02-11 21:07:09.000000000","message":"I\u0027m not a huge fan of the flow changing based on the prefix...","commit_id":"0b4093b644cd819b2a4b567745da59d30f1b6c97"}],"octavia/controller/worker/flows/load_balancer_flows.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"38c5f8e5574b81d223a3e7495f8dbcc06926388f","unresolved":false,"context_lines":[{"line_number":191,"context_line":"                requires\u003dconstants.LOADBALANCER_ID,"},{"line_number":192,"context_line":"                provides\u003dconstants.LOADBALANCER))"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        # new_LB_net_subflow \u003d self.get_new_LB_networking_subflow()"},{"line_number":195,"context_line":"        # post_create_LB_flow.add(new_LB_net_subflow)"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"        if topology \u003d\u003d constants.TOPOLOGY_ACTIVE_STANDBY:"}],"source_content_type":"text/x-python","patch_set":17,"id":"9fdfeff1_28f84447","line":194,"updated":"2019-02-11 21:07:09.000000000","message":"Probably don\u0027t need these...","commit_id":"0b4093b644cd819b2a4b567745da59d30f1b6c97"}],"octavia/controller/worker/tasks/database_tasks.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"38c5f8e5574b81d223a3e7495f8dbcc06926388f","unresolved":false,"context_lines":[{"line_number":408,"context_line":"                                            id\u003dloadbalancer_id)"},{"line_number":409,"context_line":""},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"class UpdateAmphoraVIPData(BaseDatabaseTask):"},{"line_number":412,"context_line":"    \"\"\"Update amphorae VIP data.\"\"\""},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"    def execute(self, amps_data):"}],"source_content_type":"text/x-python","patch_set":17,"id":"9fdfeff1_0848e0c9","line":411,"updated":"2019-02-11 21:07:09.000000000","message":"I might just rename this to UpdateAmphoraeVIPData so it reflects it acts on multiple amphora. That would free up UpdateAmphoraVIPData for the single amp call.","commit_id":"0b4093b644cd819b2a4b567745da59d30f1b6c97"}],"octavia/controller/worker/tasks/network_tasks.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"38c5f8e5574b81d223a3e7495f8dbcc06926388f","unresolved":false,"context_lines":[{"line_number":355,"context_line":"    \"\"\"Task to setup SG for LB.\"\"\""},{"line_number":356,"context_line":""},{"line_number":357,"context_line":"    def execute(self, loadbalancer):"},{"line_number":358,"context_line":"        \"\"\"Task to setuo SG for LB.\"\"\""},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"        LOG.debug(\"Setup SG for loadbalancer id: %s\", loadbalancer.id)"},{"line_number":361,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"9fdfeff1_c8897826","line":358,"range":{"start_line":358,"start_character":19,"end_line":358,"end_character":24},"updated":"2019-02-11 21:07:09.000000000","message":"typo","commit_id":"0b4093b644cd819b2a4b567745da59d30f1b6c97"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"38c5f8e5574b81d223a3e7495f8dbcc06926388f","unresolved":false,"context_lines":[{"line_number":357,"context_line":"    def execute(self, loadbalancer):"},{"line_number":358,"context_line":"        \"\"\"Task to setuo SG for LB.\"\"\""},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"        LOG.debug(\"Setup SG for loadbalancer id: %s\", loadbalancer.id)"},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"        self.network_driver.plug_lb_vip(loadbalancer,"},{"line_number":363,"context_line":"                                        loadbalancer.vip)"}],"source_content_type":"text/x-python","patch_set":17,"id":"9fdfeff1_68cacc6e","line":360,"updated":"2019-02-11 21:07:09.000000000","message":"This comment does not match the task name. One needs to be corrected.","commit_id":"0b4093b644cd819b2a4b567745da59d30f1b6c97"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"38c5f8e5574b81d223a3e7495f8dbcc06926388f","unresolved":false,"context_lines":[{"line_number":398,"context_line":"        amphora.vrrp_port_id \u003d result.vrrp_port_id"},{"line_number":399,"context_line":"        amphora.ha_port_id \u003d result.ha_port_id"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":"        self.network_driver.unplug_aap_port(loadbalancer.vip,"},{"line_number":402,"context_line":"                                            amphora, subnet)"},{"line_number":403,"context_line":""},{"line_number":404,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"9fdfeff1_08ac608a","line":401,"updated":"2019-02-11 21:07:09.000000000","message":"We should wrap this in a try block to that if the unplug also fails the revert continues.","commit_id":"0b4093b644cd819b2a4b567745da59d30f1b6c97"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"38c5f8e5574b81d223a3e7495f8dbcc06926388f","unresolved":false,"context_lines":[{"line_number":603,"context_line":"        return"},{"line_number":604,"context_line":""},{"line_number":605,"context_line":""},{"line_number":606,"context_line":"class ApplyQosAmp(BaseNetworkTask):"},{"line_number":607,"context_line":"    \"\"\"Apply Quality of Services to the VIP\"\"\""},{"line_number":608,"context_line":""},{"line_number":609,"context_line":"    def apply_qos_on_vrrp_port(self, loadbalancer, amp_data, qos_policy_id,"}],"source_content_type":"text/x-python","patch_set":17,"id":"9fdfeff1_288da4d2","line":606,"range":{"start_line":606,"start_character":14,"end_line":606,"end_character":17},"updated":"2019-02-11 21:07:09.000000000","message":"consistency we should probably say Amphora","commit_id":"0b4093b644cd819b2a4b567745da59d30f1b6c97"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"38c5f8e5574b81d223a3e7495f8dbcc06926388f","unresolved":false,"context_lines":[{"line_number":606,"context_line":"class ApplyQosAmp(BaseNetworkTask):"},{"line_number":607,"context_line":"    \"\"\"Apply Quality of Services to the VIP\"\"\""},{"line_number":608,"context_line":""},{"line_number":609,"context_line":"    def apply_qos_on_vrrp_port(self, loadbalancer, amp_data, qos_policy_id,"},{"line_number":610,"context_line":"                               is_revert\u003dFalse, request_qos_id\u003dNone):"},{"line_number":611,"context_line":"        \"\"\"Call network driver to apply QoS Policy on the vrrp ports.\"\"\""},{"line_number":612,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":17,"id":"9fdfeff1_68716cde","line":609,"range":{"start_line":609,"start_character":51,"end_line":609,"end_character":59},"updated":"2019-02-11 21:07:09.000000000","message":"Is this method different enough? wouldn\u0027t the old still work with amps_data\u003d[amp_data]?","commit_id":"0b4093b644cd819b2a4b567745da59d30f1b6c97"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"38c5f8e5574b81d223a3e7495f8dbcc06926388f","unresolved":false,"context_lines":[{"line_number":606,"context_line":"class ApplyQosAmp(BaseNetworkTask):"},{"line_number":607,"context_line":"    \"\"\"Apply Quality of Services to the VIP\"\"\""},{"line_number":608,"context_line":""},{"line_number":609,"context_line":"    def apply_qos_on_vrrp_port(self, loadbalancer, amp_data, qos_policy_id,"},{"line_number":610,"context_line":"                               is_revert\u003dFalse, request_qos_id\u003dNone):"},{"line_number":611,"context_line":"        \"\"\"Call network driver to apply QoS Policy on the vrrp ports.\"\"\""},{"line_number":612,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":17,"id":"9fdfeff1_c862d816","line":609,"range":{"start_line":609,"start_character":8,"end_line":609,"end_character":30},"updated":"2019-02-11 21:07:09.000000000","message":"private method right?","commit_id":"0b4093b644cd819b2a4b567745da59d30f1b6c97"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"38c5f8e5574b81d223a3e7495f8dbcc06926388f","unresolved":false,"context_lines":[{"line_number":636,"context_line":"    def revert(self, result, loadbalancer, amp_data\u003dNone, update_dict\u003dNone,"},{"line_number":637,"context_line":"               *args, **kwargs):"},{"line_number":638,"context_line":"        \"\"\"Handle a failure to apply QoS to VIP\"\"\""},{"line_number":639,"context_line":"        request_qos_id \u003d loadbalancer.vip.qos_policy_id"},{"line_number":640,"context_line":"        orig_lb \u003d self.task_utils.get_current_loadbalancer_from_db("},{"line_number":641,"context_line":"            loadbalancer.id)"},{"line_number":642,"context_line":"        orig_qos_id \u003d orig_lb.vip.qos_policy_id"}],"source_content_type":"text/x-python","patch_set":17,"id":"9fdfeff1_a8b434d2","line":639,"updated":"2019-02-11 21:07:09.000000000","message":"This should be wrapped in a try block.","commit_id":"0b4093b644cd819b2a4b567745da59d30f1b6c97"}],"octavia/network/base.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"38c5f8e5574b81d223a3e7495f8dbcc06926388f","unresolved":false,"context_lines":[{"line_number":331,"context_line":"        pass"},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"    @abc.abstractmethod"},{"line_number":334,"context_line":"    def plug_aap(self, load_balancer, vip, amphora, subnet):"},{"line_number":335,"context_line":"        \"\"\"Plugs the AAP port to the amp"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"        :param load_balancer: Load Balancer to prepare the VIP for"}],"source_content_type":"text/x-python","patch_set":17,"id":"9fdfeff1_082ea0a4","line":334,"range":{"start_line":334,"start_character":13,"end_line":334,"end_character":16},"updated":"2019-02-11 21:07:09.000000000","message":"plug_aap_port to make it consistent with unplug?","commit_id":"0b4093b644cd819b2a4b567745da59d30f1b6c97"}],"octavia/network/drivers/neutron/allowed_address_pairs.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"38c5f8e5574b81d223a3e7495f8dbcc06926388f","unresolved":false,"context_lines":[{"line_number":348,"context_line":"            LOG.info(\"Port %s will not be deleted by Octavia as it was \""},{"line_number":349,"context_line":"                     \"not created by Octavia.\", vip.port_id)"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"    def plug_lb_vip(self, load_balancer, vip):"},{"line_number":352,"context_line":"        if self.sec_grp_enabled:"},{"line_number":353,"context_line":"            self._update_vip_security_group(load_balancer, vip)"},{"line_number":354,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"9fdfeff1_28d5a4e5","line":351,"updated":"2019-02-11 21:07:09.000000000","message":"This doesn\u0027t appear to plug the VIP any longer. It should be named to reflect what it does.","commit_id":"0b4093b644cd819b2a4b567745da59d30f1b6c97"}],"tools/create_flow_docs.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"38c5f8e5574b81d223a3e7495f8dbcc06926388f","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            current_tuple \u003d tuple(row.strip().split(\u0027 \u0027))"},{"line_number":54,"context_line":"            current_class \u003d getattr(importlib.import_module(current_tuple[0]),"},{"line_number":55,"context_line":"                                    current_tuple[1])"},{"line_number":56,"context_line":"            print(str(current_class))"},{"line_number":57,"context_line":"            current_instance \u003d current_class()"},{"line_number":58,"context_line":"            get_flow_method \u003d getattr(current_instance, current_tuple[2])"},{"line_number":59,"context_line":"            if (current_tuple[1] \u003d\u003d \u0027AmphoraFlows\u0027 and"}],"source_content_type":"text/x-python","patch_set":17,"id":"9fdfeff1_2d72964a","line":56,"updated":"2019-02-11 21:07:09.000000000","message":"Why are we mixing print and LOG here?","commit_id":"0b4093b644cd819b2a4b567745da59d30f1b6c97"}]}
