)]}'
{"octavia/api/drivers/utils.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":176,"context_line":"def db_listeners_to_provider_dict_list(db_listeners):"},{"line_number":177,"context_line":"    listeners \u003d db_listeners_to_provider_listeners("},{"line_number":178,"context_line":"        db_listeners)"},{"line_number":179,"context_line":"    return [listener.to_dict() for listener in listeners]"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"def db_listener_to_provider_listener(db_listener, for_delete\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_e9558a1f","line":179,"range":{"start_line":179,"start_character":11,"end_line":179,"end_character":57},"updated":"2019-12-02 16:34:38.000000000","message":"Is a whole new function really necessary just for this?\nAnd if we are making this function, should it also pass through for_delete?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":176,"context_line":"def db_listeners_to_provider_dict_list(db_listeners):"},{"line_number":177,"context_line":"    listeners \u003d db_listeners_to_provider_listeners("},{"line_number":178,"context_line":"        db_listeners)"},{"line_number":179,"context_line":"    return [listener.to_dict() for listener in listeners]"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"def db_listener_to_provider_listener(db_listener, for_delete\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_b8b4b6d5","line":179,"range":{"start_line":179,"start_character":11,"end_line":179,"end_character":57},"in_reply_to":"3fa7e38b_e9558a1f","updated":"2019-12-02 21:19:30.000000000","message":"Not really, but it used so many times, so it simplify code a bit.","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"}],"octavia/common/jinja/haproxy/combined_listeners/jinja_cfg.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":298,"context_line":"            pools.append(self._transform_pool("},{"line_number":299,"context_line":"                x, feature_compatibility, **kwargs))"},{"line_number":300,"context_line":"        ret_value[\u0027pools\u0027] \u003d pools"},{"line_number":301,"context_line":"        policy_gen \u003d (policy for policy in listener.l7policies if"},{"line_number":302,"context_line":"                      policy.provisioning_status !\u003d constants.PENDING_DELETE)"},{"line_number":303,"context_line":"        if listener.default_pool:"},{"line_number":304,"context_line":"            for pool in pools:"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_a916b257","line":301,"updated":"2019-12-02 16:34:38.000000000","message":"nitpick: maybe move this down a few lines closer to where it\u0027s actually used","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"}],"octavia/controller/worker/v2/controller_worker.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"141fa5890dbea99cd936189d55d2ad6f7191c914","unresolved":false,"context_lines":[{"line_number":149,"context_line":"            pool.listeners)"},{"line_number":150,"context_line":"        listeners_dicts \u003d []"},{"line_number":151,"context_line":"        for listener in listeners:"},{"line_number":152,"context_line":"            listeners_dicts.append(listener.to_dict())"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"        create_hm_tf \u003d self._taskflow_load("},{"line_number":155,"context_line":"            self._health_monitor_flows.get_create_health_monitor_flow(),"}],"source_content_type":"text/x-python","patch_set":21,"id":"3fa7e38b_c9406aa5","line":152,"updated":"2019-10-29 18:51:39.000000000","message":"listener_dicts \u003d [listener.to_dict() for listener in listeners] looks more pythonic :-p","commit_id":"73793feaab01072165b2a54b201301ca3e798a78"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"141fa5890dbea99cd936189d55d2ad6f7191c914","unresolved":false,"context_lines":[{"line_number":267,"context_line":"    def delete_listener(self, listener):"},{"line_number":268,"context_line":"        \"\"\"Deletes a listener."},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"        :param listener_id: ID of the listener to delete"},{"line_number":271,"context_line":"        :returns: None"},{"line_number":272,"context_line":"        :raises ListenerNotFound: The referenced listener was not found"},{"line_number":273,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":21,"id":"3fa7e38b_09c8c252","line":270,"range":{"start_line":270,"start_character":15,"end_line":270,"end_character":56},"updated":"2019-10-29 18:51:39.000000000","message":"s/listener: A listener provider dictionary","commit_id":"73793feaab01072165b2a54b201301ca3e798a78"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"95c1a8082dd930b6c31c4b58c32b5c32105c47c6","unresolved":false,"context_lines":[{"line_number":267,"context_line":"    def delete_listener(self, listener):"},{"line_number":268,"context_line":"        \"\"\"Deletes a listener."},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"        :param listener_id: ID of the listener to delete"},{"line_number":271,"context_line":"        :returns: None"},{"line_number":272,"context_line":"        :raises ListenerNotFound: The referenced listener was not found"},{"line_number":273,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":21,"id":"3fa7e38b_e63a1732","line":270,"range":{"start_line":270,"start_character":15,"end_line":270,"end_character":56},"in_reply_to":"3fa7e38b_09c8c252","updated":"2019-10-31 10:06:26.000000000","message":"Done","commit_id":"73793feaab01072165b2a54b201301ca3e798a78"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"141fa5890dbea99cd936189d55d2ad6f7191c914","unresolved":false,"context_lines":[{"line_number":288,"context_line":"    def update_listener(self, listener, listener_updates):"},{"line_number":289,"context_line":"        \"\"\"Updates a listener."},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        :param listener_id: ID of the listener to update"},{"line_number":292,"context_line":"        :param listener_updates: Dict containing updated listener attributes"},{"line_number":293,"context_line":"        :returns: None"},{"line_number":294,"context_line":"        :raises ListenerNotFound: The referenced listener was not found"}],"source_content_type":"text/x-python","patch_set":21,"id":"3fa7e38b_a9c08e2c","line":291,"range":{"start_line":291,"start_character":15,"end_line":291,"end_character":56},"updated":"2019-10-29 18:51:39.000000000","message":"s/listener: A listener provider dictionary","commit_id":"73793feaab01072165b2a54b201301ca3e798a78"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"95c1a8082dd930b6c31c4b58c32b5c32105c47c6","unresolved":false,"context_lines":[{"line_number":288,"context_line":"    def update_listener(self, listener, listener_updates):"},{"line_number":289,"context_line":"        \"\"\"Updates a listener."},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        :param listener_id: ID of the listener to update"},{"line_number":292,"context_line":"        :param listener_updates: Dict containing updated listener attributes"},{"line_number":293,"context_line":"        :returns: None"},{"line_number":294,"context_line":"        :raises ListenerNotFound: The referenced listener was not found"}],"source_content_type":"text/x-python","patch_set":21,"id":"3fa7e38b_864563b6","line":291,"range":{"start_line":291,"start_character":15,"end_line":291,"end_character":56},"in_reply_to":"3fa7e38b_a9c08e2c","updated":"2019-10-31 10:06:26.000000000","message":"Done","commit_id":"73793feaab01072165b2a54b201301ca3e798a78"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"141fa5890dbea99cd936189d55d2ad6f7191c914","unresolved":false,"context_lines":[{"line_number":844,"context_line":"            [l7policy.listener])"},{"line_number":845,"context_line":"        listeners_dicts \u003d []"},{"line_number":846,"context_line":"        for listener in listeners:"},{"line_number":847,"context_line":"            listeners_dicts.append(listener.to_dict())"},{"line_number":848,"context_line":""},{"line_number":849,"context_line":"        update_l7rule_tf \u003d self._taskflow_load("},{"line_number":850,"context_line":"            self._l7rule_flows.get_update_l7rule_flow(),"}],"source_content_type":"text/x-python","patch_set":21,"id":"3fa7e38b_a9716e0f","line":847,"updated":"2019-10-29 18:51:39.000000000","message":"After seeing this in almost every method here almost seems like there should be a local helper to make this a one-liner everywhere.","commit_id":"73793feaab01072165b2a54b201301ca3e798a78"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"95c1a8082dd930b6c31c4b58c32b5c32105c47c6","unresolved":false,"context_lines":[{"line_number":844,"context_line":"            [l7policy.listener])"},{"line_number":845,"context_line":"        listeners_dicts \u003d []"},{"line_number":846,"context_line":"        for listener in listeners:"},{"line_number":847,"context_line":"            listeners_dicts.append(listener.to_dict())"},{"line_number":848,"context_line":""},{"line_number":849,"context_line":"        update_l7rule_tf \u003d self._taskflow_load("},{"line_number":850,"context_line":"            self._l7rule_flows.get_update_l7rule_flow(),"}],"source_content_type":"text/x-python","patch_set":21,"id":"3fa7e38b_661867d2","line":847,"in_reply_to":"3fa7e38b_a9716e0f","updated":"2019-10-31 10:06:26.000000000","message":"Done","commit_id":"73793feaab01072165b2a54b201301ca3e798a78"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":267,"context_line":"        # TODO(johnsom) Remove once the provider data model includes"},{"line_number":268,"context_line":"        #               the project ID"},{"line_number":269,"context_line":"        lb \u003d self._lb_repo.get(db_apis.get_session(),"},{"line_number":270,"context_line":"                               id\u003dlistener[\u0027loadbalancer_id\u0027])"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        delete_listener_tf \u003d self._taskflow_load("},{"line_number":273,"context_line":"            self._listener_flows.get_delete_listener_flow(),"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_cc753c99","line":270,"range":{"start_line":270,"start_character":43,"end_line":270,"end_character":60},"updated":"2019-12-02 16:34:38.000000000","message":"missing use of the constant (which you did correctly below?)","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":267,"context_line":"        # TODO(johnsom) Remove once the provider data model includes"},{"line_number":268,"context_line":"        #               the project ID"},{"line_number":269,"context_line":"        lb \u003d self._lb_repo.get(db_apis.get_session(),"},{"line_number":270,"context_line":"                               id\u003dlistener[\u0027loadbalancer_id\u0027])"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"        delete_listener_tf \u003d self._taskflow_load("},{"line_number":273,"context_line":"            self._listener_flows.get_delete_listener_flow(),"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_3edc2f44","line":270,"range":{"start_line":270,"start_character":43,"end_line":270,"end_character":60},"in_reply_to":"3fa7e38b_cc753c99","updated":"2019-12-02 21:19:30.000000000","message":"Done","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":292,"context_line":"            self._listener_flows.get_update_listener_flow(),"},{"line_number":293,"context_line":"            store\u003d{constants.LISTENER: listener,"},{"line_number":294,"context_line":"                   constants.UPDATE_DICT: listener_updates,"},{"line_number":295,"context_line":"                   constants.LOADBALANCER_ID: None,"},{"line_number":296,"context_line":"                   constants.LOADBALANCER: db_lb,"},{"line_number":297,"context_line":"                   constants.LISTENERS: [listener]})"},{"line_number":298,"context_line":"        with tf_logging.DynamicLoggingListener(update_listener_tf, log\u003dLOG):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_2c6650f0","line":295,"updated":"2019-12-02 16:34:38.000000000","message":"Why is this None in this case? There *is* an ID? I assume it\u0027s a quirk of how the new flow works, and I just haven\u0027t gotten there yet?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":292,"context_line":"            self._listener_flows.get_update_listener_flow(),"},{"line_number":293,"context_line":"            store\u003d{constants.LISTENER: listener,"},{"line_number":294,"context_line":"                   constants.UPDATE_DICT: listener_updates,"},{"line_number":295,"context_line":"                   constants.LOADBALANCER_ID: None,"},{"line_number":296,"context_line":"                   constants.LOADBALANCER: db_lb,"},{"line_number":297,"context_line":"                   constants.LISTENERS: [listener]})"},{"line_number":298,"context_line":"        with tf_logging.DynamicLoggingListener(update_listener_tf, log\u003dLOG):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_9ec5235f","line":295,"in_reply_to":"3fa7e38b_2c6650f0","updated":"2019-12-02 21:19:30.000000000","message":"Will add passing ID here - johnsom will verify later, if something was missed.","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"}],"octavia/controller/worker/v2/flows/health_monitor_flows.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":57,"context_line":"                      constants.LISTENERS,"},{"line_number":58,"context_line":"                      constants.LOADBALANCER]))"},{"line_number":59,"context_line":"        delete_hm_flow.add(database_tasks.MarkHealthMonitorPendingDeleteInDB("},{"line_number":60,"context_line":"            requires\u003dconstants.HEALTH_MON))"},{"line_number":61,"context_line":"        delete_hm_flow.add(amphora_driver_tasks.ListenersUpdate("},{"line_number":62,"context_line":"            requires\u003dconstants.LOADBALANCER))"},{"line_number":63,"context_line":"        delete_hm_flow.add(database_tasks.DeleteHealthMonitorInDB("}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_6ca1a8f7","line":60,"updated":"2019-12-02 16:34:38.000000000","message":"Was that DeleteModelObject just totally unnecessary? Was this overlooked in the v1 code as well?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":57,"context_line":"                      constants.LISTENERS,"},{"line_number":58,"context_line":"                      constants.LOADBALANCER]))"},{"line_number":59,"context_line":"        delete_hm_flow.add(database_tasks.MarkHealthMonitorPendingDeleteInDB("},{"line_number":60,"context_line":"            requires\u003dconstants.HEALTH_MON))"},{"line_number":61,"context_line":"        delete_hm_flow.add(amphora_driver_tasks.ListenersUpdate("},{"line_number":62,"context_line":"            requires\u003dconstants.LOADBALANCER))"},{"line_number":63,"context_line":"        delete_hm_flow.add(database_tasks.DeleteHealthMonitorInDB("}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_9ea8c378","line":60,"in_reply_to":"3fa7e38b_6ca1a8f7","updated":"2019-12-02 21:19:30.000000000","message":"No, this is related to v2 refactor only.","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"}],"octavia/controller/worker/v2/flows/load_balancer_flows.py":[{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"8ad186282db5fd54b381588aa338a393126cb078","unresolved":false,"context_lines":[{"line_number":216,"context_line":"        store \u003d {}"},{"line_number":217,"context_line":"        for listener in lb.listeners:"},{"line_number":218,"context_line":"            listener_name \u003d \u0027listener_\u0027 + listener.id"},{"line_number":219,"context_line":"            store[listener_name] \u003d {constants.LISTENER_ID: listener.id,"},{"line_number":220,"context_line":"                                    constants.LOADBALANCER_ID: lb.id,"},{"line_number":221,"context_line":"                                    constants.PROJECT_ID: lb.project_id}"},{"line_number":222,"context_line":"            listeners_delete_flow.add("},{"line_number":223,"context_line":"                self.listener_flows.get_delete_listener_internal_flow("},{"line_number":224,"context_line":"                    listener_name))"}],"source_content_type":"text/x-python","patch_set":9,"id":"bfb3d3c7_976240ad","line":221,"range":{"start_line":219,"start_character":12,"end_line":221,"end_character":72},"updated":"2019-05-31 12:25:59.000000000","message":"I was testing my member\u0027s change, that I put on top on this change - with loadbalancer delete --cascade I get some errors http://paste.openstack.org/show/752358/\nSeems that store dict should be modified to something like:\n\n        for listener in provider_utils.db_listeners_to_provider_listeners(lb.listeners):\n            listener_name \u003d \u0027listener_\u0027 + listener.listener_id\n            store[listener_name] \u003d listener.to_dict()\n            store.update({constants.LISTENER: listener.to_dict(),\n                         constants.LOADBALANCER_ID: lb.id,\n                         constants.PROJECT_ID: lb.project_id})\n\nNot sure why tests don\u0027t caught this though...","commit_id":"9d2c4cc3abb75ca4c6236e0cda977e29904c80a2"}],"octavia/controller/worker/v2/tasks/amphora_driver_tasks.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"1e826e3bfd3d5d641df5704ceac1f8922da7af61","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"        for listener in loadbalancer.listeners:"},{"line_number":105,"context_line":"            self.task_utils.mark_listener_prov_status_error("},{"line_number":106,"context_line":"                listener.id)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"class ListenersStart(BaseAmphoraTask):"}],"source_content_type":"text/x-python","patch_set":28,"id":"3fa7e38b_a731f2ef","line":106,"updated":"2019-12-03 01:09:07.000000000","message":"nit: guess nothing changed here?","commit_id":"6d6e2250d08e990957abe6acb6f6b56c4b7d4b3e"}],"octavia/controller/worker/v2/tasks/database_tasks.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"141fa5890dbea99cd936189d55d2ad6f7191c914","unresolved":false,"context_lines":[{"line_number":1422,"context_line":"    Since sqlalchemy will likely retry by itself always revert if it fails"},{"line_number":1423,"context_line":"    \"\"\""},{"line_number":1424,"context_line":""},{"line_number":1425,"context_line":"    def execute(self, listener, update_dict):"},{"line_number":1426,"context_line":"        \"\"\"Update the listener in the DB"},{"line_number":1427,"context_line":""},{"line_number":1428,"context_line":"        :param listener: The listener to be updated"}],"source_content_type":"text/x-python","patch_set":21,"id":"3fa7e38b_a98deed4","line":1425,"updated":"2019-10-29 18:51:39.000000000","message":"Seems these ones should be listener_id too as it\u0027s the only element used in the dict?","commit_id":"73793feaab01072165b2a54b201301ca3e798a78"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"95c1a8082dd930b6c31c4b58c32b5c32105c47c6","unresolved":false,"context_lines":[{"line_number":1422,"context_line":"    Since sqlalchemy will likely retry by itself always revert if it fails"},{"line_number":1423,"context_line":"    \"\"\""},{"line_number":1424,"context_line":""},{"line_number":1425,"context_line":"    def execute(self, listener, update_dict):"},{"line_number":1426,"context_line":"        \"\"\"Update the listener in the DB"},{"line_number":1427,"context_line":""},{"line_number":1428,"context_line":"        :param listener: The listener to be updated"}],"source_content_type":"text/x-python","patch_set":21,"id":"3fa7e38b_7919e877","line":1425,"in_reply_to":"3fa7e38b_a98deed4","updated":"2019-10-31 10:06:26.000000000","message":"This will require storing separate variable constants.LISTENER_ID, not sure its worth it for one task.","commit_id":"73793feaab01072165b2a54b201301ca3e798a78"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":1587,"context_line":"        \"\"\""},{"line_number":1588,"context_line":"        listeners \u003d []"},{"line_number":1589,"context_line":"        for listener in loadbalancer.listeners:"},{"line_number":1590,"context_line":"            lb \u003d self.listener_repo.get(db_apis.get_session(), id\u003dlistener.id)"},{"line_number":1591,"context_line":"            lb.load_balancer \u003d loadbalancer"},{"line_number":1592,"context_line":"            listeners.append(lb)"},{"line_number":1593,"context_line":"        return listeners"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_2c473021","side":"PARENT","line":1590,"range":{"start_line":1590,"start_character":12,"end_line":1590,"end_character":14},"updated":"2019-12-02 16:34:38.000000000","message":"lol this was a painful copy/paste error","commit_id":"314b43af9a57a698a66d46c11892380bff315166"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":251,"context_line":"        :param listener: The listener to delete"},{"line_number":252,"context_line":"        :returns: None"},{"line_number":253,"context_line":"        \"\"\""},{"line_number":254,"context_line":"        LOG.debug(\"Delete in DB for listener id: %s\", listener[\u0027listener_id\u0027])"},{"line_number":255,"context_line":"        self.listener_repo.delete(db_apis.get_session(),"},{"line_number":256,"context_line":"                                  id\u003dlistener[\u0027listener_id\u0027])"},{"line_number":257,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_8c7d046f","line":254,"range":{"start_line":254,"start_character":63,"end_line":254,"end_character":76},"updated":"2019-12-02 16:34:38.000000000","message":"constant?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":251,"context_line":"        :param listener: The listener to delete"},{"line_number":252,"context_line":"        :returns: None"},{"line_number":253,"context_line":"        \"\"\""},{"line_number":254,"context_line":"        LOG.debug(\"Delete in DB for listener id: %s\", listener[\u0027listener_id\u0027])"},{"line_number":255,"context_line":"        self.listener_repo.delete(db_apis.get_session(),"},{"line_number":256,"context_line":"                                  id\u003dlistener[\u0027listener_id\u0027])"},{"line_number":257,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_dec71b46","line":254,"range":{"start_line":254,"start_character":63,"end_line":254,"end_character":76},"in_reply_to":"3fa7e38b_8c7d046f","updated":"2019-12-02 21:19:30.000000000","message":"Done","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":253,"context_line":"        \"\"\""},{"line_number":254,"context_line":"        LOG.debug(\"Delete in DB for listener id: %s\", listener[\u0027listener_id\u0027])"},{"line_number":255,"context_line":"        self.listener_repo.delete(db_apis.get_session(),"},{"line_number":256,"context_line":"                                  id\u003dlistener[\u0027listener_id\u0027])"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"    def revert(self, listener, *args, **kwargs):"},{"line_number":259,"context_line":"        \"\"\"Mark the listener ERROR since the listener didn\u0027t delete"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_2c94108c","line":256,"range":{"start_line":256,"start_character":46,"end_line":256,"end_character":59},"updated":"2019-12-02 16:34:38.000000000","message":"constant?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":253,"context_line":"        \"\"\""},{"line_number":254,"context_line":"        LOG.debug(\"Delete in DB for listener id: %s\", listener[\u0027listener_id\u0027])"},{"line_number":255,"context_line":"        self.listener_repo.delete(db_apis.get_session(),"},{"line_number":256,"context_line":"                                  id\u003dlistener[\u0027listener_id\u0027])"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"    def revert(self, listener, *args, **kwargs):"},{"line_number":259,"context_line":"        \"\"\"Mark the listener ERROR since the listener didn\u0027t delete"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_bebc9fb5","line":256,"range":{"start_line":256,"start_character":46,"end_line":256,"end_character":59},"in_reply_to":"3fa7e38b_2c94108c","updated":"2019-12-02 21:19:30.000000000","message":"Done","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        \"\"\""},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"        LOG.warning(\"Reverting mark listener delete in DB for listener id %s\","},{"line_number":266,"context_line":"                    listener[\u0027listener_id\u0027])"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"class DeletePoolInDB(BaseDatabaseTask):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_4c8f0c76","line":266,"range":{"start_line":266,"start_character":29,"end_line":266,"end_character":42},"updated":"2019-12-02 16:34:38.000000000","message":"constant?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        \"\"\""},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"        LOG.warning(\"Reverting mark listener delete in DB for listener id %s\","},{"line_number":266,"context_line":"                    listener[\u0027listener_id\u0027])"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"class DeletePoolInDB(BaseDatabaseTask):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_5ed9eb25","line":266,"range":{"start_line":266,"start_character":29,"end_line":266,"end_character":42},"in_reply_to":"3fa7e38b_4c8f0c76","updated":"2019-12-02 21:19:30.000000000","message":"Done","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":1075,"context_line":"        \"\"\""},{"line_number":1076,"context_line":""},{"line_number":1077,"context_line":"        LOG.info(\"Mark ACTIVE in DB for load balancer id: %s\","},{"line_number":1078,"context_line":"                 listener[\u0027loadbalancer_id\u0027])"},{"line_number":1079,"context_line":"        self.loadbalancer_repo.update(db_apis.get_session(),"},{"line_number":1080,"context_line":"                                      listener[\u0027loadbalancer_id\u0027],"},{"line_number":1081,"context_line":"                                      provisioning_status\u003dconstants.ACTIVE)"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_ec8d987c","line":1078,"range":{"start_line":1078,"start_character":26,"end_line":1078,"end_character":43},"updated":"2019-12-02 16:34:38.000000000","message":"constant?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":1075,"context_line":"        \"\"\""},{"line_number":1076,"context_line":""},{"line_number":1077,"context_line":"        LOG.info(\"Mark ACTIVE in DB for load balancer id: %s\","},{"line_number":1078,"context_line":"                 listener[\u0027loadbalancer_id\u0027])"},{"line_number":1079,"context_line":"        self.loadbalancer_repo.update(db_apis.get_session(),"},{"line_number":1080,"context_line":"                                      listener[\u0027loadbalancer_id\u0027],"},{"line_number":1081,"context_line":"                                      provisioning_status\u003dconstants.ACTIVE)"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_7edce716","line":1078,"range":{"start_line":1078,"start_character":26,"end_line":1078,"end_character":43},"in_reply_to":"3fa7e38b_ec8d987c","updated":"2019-12-02 21:19:30.000000000","message":"Done","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":1077,"context_line":"        LOG.info(\"Mark ACTIVE in DB for load balancer id: %s\","},{"line_number":1078,"context_line":"                 listener[\u0027loadbalancer_id\u0027])"},{"line_number":1079,"context_line":"        self.loadbalancer_repo.update(db_apis.get_session(),"},{"line_number":1080,"context_line":"                                      listener[\u0027loadbalancer_id\u0027],"},{"line_number":1081,"context_line":"                                      provisioning_status\u003dconstants.ACTIVE)"},{"line_number":1082,"context_line":""},{"line_number":1083,"context_line":"    def revert(self, listener, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_0c89146e","line":1080,"range":{"start_line":1080,"start_character":47,"end_line":1080,"end_character":64},"updated":"2019-12-02 16:34:38.000000000","message":"constant?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":1077,"context_line":"        LOG.info(\"Mark ACTIVE in DB for load balancer id: %s\","},{"line_number":1078,"context_line":"                 listener[\u0027loadbalancer_id\u0027])"},{"line_number":1079,"context_line":"        self.loadbalancer_repo.update(db_apis.get_session(),"},{"line_number":1080,"context_line":"                                      listener[\u0027loadbalancer_id\u0027],"},{"line_number":1081,"context_line":"                                      provisioning_status\u003dconstants.ACTIVE)"},{"line_number":1082,"context_line":""},{"line_number":1083,"context_line":"    def revert(self, listener, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_1ee373da","line":1080,"range":{"start_line":1080,"start_character":47,"end_line":1080,"end_character":64},"in_reply_to":"3fa7e38b_0c89146e","updated":"2019-12-02 21:19:30.000000000","message":"Done","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":1091,"context_line":"        \"\"\""},{"line_number":1092,"context_line":""},{"line_number":1093,"context_line":"        LOG.warning(\"Reverting mark load balancer active in DB \""},{"line_number":1094,"context_line":"                    \"for load balancer id %s\", listener[\u0027loadbalancer_id\u0027])"},{"line_number":1095,"context_line":"        self.task_utils.mark_loadbalancer_prov_status_error("},{"line_number":1096,"context_line":"            listener[\u0027loadbalancer_id\u0027])"},{"line_number":1097,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_cce8dc16","line":1094,"range":{"start_line":1094,"start_character":56,"end_line":1094,"end_character":73},"updated":"2019-12-02 16:34:38.000000000","message":"constant?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":1091,"context_line":"        \"\"\""},{"line_number":1092,"context_line":""},{"line_number":1093,"context_line":"        LOG.warning(\"Reverting mark load balancer active in DB \""},{"line_number":1094,"context_line":"                    \"for load balancer id %s\", listener[\u0027loadbalancer_id\u0027])"},{"line_number":1095,"context_line":"        self.task_utils.mark_loadbalancer_prov_status_error("},{"line_number":1096,"context_line":"            listener[\u0027loadbalancer_id\u0027])"},{"line_number":1097,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_fec7773c","line":1094,"range":{"start_line":1094,"start_character":56,"end_line":1094,"end_character":73},"in_reply_to":"3fa7e38b_cce8dc16","updated":"2019-12-02 21:19:30.000000000","message":"Done","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":1093,"context_line":"        LOG.warning(\"Reverting mark load balancer active in DB \""},{"line_number":1094,"context_line":"                    \"for load balancer id %s\", listener[\u0027loadbalancer_id\u0027])"},{"line_number":1095,"context_line":"        self.task_utils.mark_loadbalancer_prov_status_error("},{"line_number":1096,"context_line":"            listener[\u0027loadbalancer_id\u0027])"},{"line_number":1097,"context_line":""},{"line_number":1098,"context_line":""},{"line_number":1099,"context_line":"class UpdateLBServerGroupInDB(BaseDatabaseTask):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_ace56040","line":1096,"range":{"start_line":1096,"start_character":21,"end_line":1096,"end_character":38},"updated":"2019-12-02 16:34:38.000000000","message":"constant?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":1093,"context_line":"        LOG.warning(\"Reverting mark load balancer active in DB \""},{"line_number":1094,"context_line":"                    \"for load balancer id %s\", listener[\u0027loadbalancer_id\u0027])"},{"line_number":1095,"context_line":"        self.task_utils.mark_loadbalancer_prov_status_error("},{"line_number":1096,"context_line":"            listener[\u0027loadbalancer_id\u0027])"},{"line_number":1097,"context_line":""},{"line_number":1098,"context_line":""},{"line_number":1099,"context_line":"class UpdateLBServerGroupInDB(BaseDatabaseTask):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_9ed683f2","line":1096,"range":{"start_line":1096,"start_character":21,"end_line":1096,"end_character":38},"in_reply_to":"3fa7e38b_ace56040","updated":"2019-12-02 21:19:30.000000000","message":"Done","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":1211,"context_line":"        :param listeners: Listener objects to be updated"},{"line_number":1212,"context_line":"        :returns: None"},{"line_number":1213,"context_line":"        \"\"\""},{"line_number":1214,"context_line":"        lb_id \u003d None"},{"line_number":1215,"context_line":"        if loadbalancer_id:"},{"line_number":1216,"context_line":"            lb_id \u003d loadbalancer_id"},{"line_number":1217,"context_line":"        elif listeners:"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_2cc2d087","line":1214,"updated":"2019-12-02 16:34:38.000000000","message":"Ah, so this is why the lb_id was set to None, per my comment before? Even so, I don\u0027t see why we wouldn\u0027t just pass through the data we already had in that function?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":1215,"context_line":"        if loadbalancer_id:"},{"line_number":1216,"context_line":"            lb_id \u003d loadbalancer_id"},{"line_number":1217,"context_line":"        elif listeners:"},{"line_number":1218,"context_line":"            lb_id \u003d listeners[0][\u0027loadbalancer_id\u0027]"},{"line_number":1219,"context_line":""},{"line_number":1220,"context_line":"        if lb_id:"},{"line_number":1221,"context_line":"            LOG.debug(\"Mark ACTIVE in DB for load balancer id: %s \""}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_6cef681d","line":1218,"range":{"start_line":1218,"start_character":33,"end_line":1218,"end_character":50},"updated":"2019-12-02 16:34:38.000000000","message":"constant?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":1215,"context_line":"        if loadbalancer_id:"},{"line_number":1216,"context_line":"            lb_id \u003d loadbalancer_id"},{"line_number":1217,"context_line":"        elif listeners:"},{"line_number":1218,"context_line":"            lb_id \u003d listeners[0][\u0027loadbalancer_id\u0027]"},{"line_number":1219,"context_line":""},{"line_number":1220,"context_line":"        if lb_id:"},{"line_number":1221,"context_line":"            LOG.debug(\"Mark ACTIVE in DB for load balancer id: %s \""}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_bed1fffa","line":1218,"range":{"start_line":1218,"start_character":33,"end_line":1218,"end_character":50},"in_reply_to":"3fa7e38b_6cef681d","updated":"2019-12-02 21:19:30.000000000","message":"Done","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":1220,"context_line":"        if lb_id:"},{"line_number":1221,"context_line":"            LOG.debug(\"Mark ACTIVE in DB for load balancer id: %s \""},{"line_number":1222,"context_line":"                      \"and listener ids: %s\", lb_id,"},{"line_number":1223,"context_line":"                      \u0027, \u0027.join([l[\u0027listener_id\u0027] for l in listeners]))"},{"line_number":1224,"context_line":"            self.loadbalancer_repo.update(db_apis.get_session(),"},{"line_number":1225,"context_line":"                                          lb_id,"},{"line_number":1226,"context_line":"                                          provisioning_status\u003dconstants.ACTIVE)"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_8cf2e404","line":1223,"range":{"start_line":1223,"start_character":35,"end_line":1223,"end_character":48},"updated":"2019-12-02 16:34:38.000000000","message":"constant?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":1220,"context_line":"        if lb_id:"},{"line_number":1221,"context_line":"            LOG.debug(\"Mark ACTIVE in DB for load balancer id: %s \""},{"line_number":1222,"context_line":"                      \"and listener ids: %s\", lb_id,"},{"line_number":1223,"context_line":"                      \u0027, \u0027.join([l[\u0027listener_id\u0027] for l in listeners]))"},{"line_number":1224,"context_line":"            self.loadbalancer_repo.update(db_apis.get_session(),"},{"line_number":1225,"context_line":"                                          lb_id,"},{"line_number":1226,"context_line":"                                          provisioning_status\u003dconstants.ACTIVE)"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_5e024b74","line":1223,"range":{"start_line":1223,"start_character":35,"end_line":1223,"end_character":48},"in_reply_to":"3fa7e38b_8cf2e404","updated":"2019-12-02 21:19:30.000000000","message":"Done","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":1226,"context_line":"                                          provisioning_status\u003dconstants.ACTIVE)"},{"line_number":1227,"context_line":"        for listener in listeners:"},{"line_number":1228,"context_line":"            self.listener_repo.update("},{"line_number":1229,"context_line":"                db_apis.get_session(), listener[\u0027listener_id\u0027],"},{"line_number":1230,"context_line":"                provisioning_status\u003dconstants.ACTIVE)"},{"line_number":1231,"context_line":""},{"line_number":1232,"context_line":"    def revert(self, loadbalancer_id, listeners, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_2cd97083","line":1229,"range":{"start_line":1229,"start_character":48,"end_line":1229,"end_character":61},"updated":"2019-12-02 16:34:38.000000000","message":"constant?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":1226,"context_line":"                                          provisioning_status\u003dconstants.ACTIVE)"},{"line_number":1227,"context_line":"        for listener in listeners:"},{"line_number":1228,"context_line":"            self.listener_repo.update("},{"line_number":1229,"context_line":"                db_apis.get_session(), listener[\u0027listener_id\u0027],"},{"line_number":1230,"context_line":"                provisioning_status\u003dconstants.ACTIVE)"},{"line_number":1231,"context_line":""},{"line_number":1232,"context_line":"    def revert(self, loadbalancer_id, listeners, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_7e05c778","line":1229,"range":{"start_line":1229,"start_character":48,"end_line":1229,"end_character":61},"in_reply_to":"3fa7e38b_2cd97083","updated":"2019-12-02 21:19:30.000000000","message":"Done","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":1252,"context_line":""},{"line_number":1253,"context_line":"        for listener in listeners:"},{"line_number":1254,"context_line":"            self.task_utils.mark_listener_prov_status_error("},{"line_number":1255,"context_line":"                listener[\u0027listener_id\u0027])"},{"line_number":1256,"context_line":""},{"line_number":1257,"context_line":""},{"line_number":1258,"context_line":"class MarkListenerActiveInDB(BaseDatabaseTask):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_4cd4ec4b","line":1255,"range":{"start_line":1255,"start_character":25,"end_line":1255,"end_character":38},"updated":"2019-12-02 16:34:38.000000000","message":"constant?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":1252,"context_line":""},{"line_number":1253,"context_line":"        for listener in listeners:"},{"line_number":1254,"context_line":"            self.task_utils.mark_listener_prov_status_error("},{"line_number":1255,"context_line":"                listener[\u0027listener_id\u0027])"},{"line_number":1256,"context_line":""},{"line_number":1257,"context_line":""},{"line_number":1258,"context_line":"class MarkListenerActiveInDB(BaseDatabaseTask):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_1efcd370","line":1255,"range":{"start_line":1255,"start_character":25,"end_line":1255,"end_character":38},"in_reply_to":"3fa7e38b_4cd4ec4b","updated":"2019-12-02 21:19:30.000000000","message":"Done","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"1e826e3bfd3d5d641df5704ceac1f8922da7af61","unresolved":false,"context_lines":[{"line_number":1249,"context_line":"            LOG.warning(\"Reverting mark load balancer and listeners active in \""},{"line_number":1250,"context_line":"                        \"DB for load balancer id %(LB)s and listener ids: \""},{"line_number":1251,"context_line":"                        \"%(list)s\", {\u0027LB\u0027: lb_id,"},{"line_number":1252,"context_line":"                                     \u0027list\u0027: lists})"},{"line_number":1253,"context_line":"            self.task_utils.mark_loadbalancer_prov_status_error(lb_id)"},{"line_number":1254,"context_line":""},{"line_number":1255,"context_line":"        for listener in listeners:"}],"source_content_type":"text/x-python","patch_set":28,"id":"3fa7e38b_073806c9","line":1252,"updated":"2019-12-03 01:09:07.000000000","message":"nit: this and the code on L1223-5 are basically the same, but they\u0027re slightly different","commit_id":"6d6e2250d08e990957abe6acb6f6b56c4b7d4b3e"}],"octavia/controller/worker/v2/tasks/lifecycle_tasks.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        self.task_utils.mark_loadbalancer_prov_status_active(loadbalancer.id)"},{"line_number":59,"context_line":"        for listener in listeners:"},{"line_number":60,"context_line":"            self.task_utils.mark_listener_prov_status_active("},{"line_number":61,"context_line":"                listener[\u0027listener_id\u0027])"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"class L7PolicyToErrorOnRevertTask(BaseLifecycleTask):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_0c4cb43d","line":61,"range":{"start_line":61,"start_character":25,"end_line":61,"end_character":38},"updated":"2019-12-02 16:34:38.000000000","message":"constant?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        self.task_utils.mark_loadbalancer_prov_status_active(loadbalancer.id)"},{"line_number":59,"context_line":"        for listener in listeners:"},{"line_number":60,"context_line":"            self.task_utils.mark_listener_prov_status_active("},{"line_number":61,"context_line":"                listener[\u0027listener_id\u0027])"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"class L7PolicyToErrorOnRevertTask(BaseLifecycleTask):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_9eef63b0","line":61,"range":{"start_line":61,"start_character":25,"end_line":61,"end_character":38},"in_reply_to":"3fa7e38b_0c4cb43d","updated":"2019-12-02 21:19:30.000000000","message":"Done","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        self.task_utils.mark_loadbalancer_prov_status_active(loadbalancer.id)"},{"line_number":73,"context_line":"        for listener in listeners:"},{"line_number":74,"context_line":"            self.task_utils.mark_listener_prov_status_active("},{"line_number":75,"context_line":"                listener[\u0027listener_id\u0027])"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"class L7RuleToErrorOnRevertTask(BaseLifecycleTask):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_4c6b8c85","line":75,"range":{"start_line":75,"start_character":25,"end_line":75,"end_character":38},"updated":"2019-12-02 16:34:38.000000000","message":"constant?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        self.task_utils.mark_loadbalancer_prov_status_active(loadbalancer.id)"},{"line_number":73,"context_line":"        for listener in listeners:"},{"line_number":74,"context_line":"            self.task_utils.mark_listener_prov_status_active("},{"line_number":75,"context_line":"                listener[\u0027listener_id\u0027])"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"class L7RuleToErrorOnRevertTask(BaseLifecycleTask):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_beea5f9d","line":75,"range":{"start_line":75,"start_character":25,"end_line":75,"end_character":38},"in_reply_to":"3fa7e38b_4c6b8c85","updated":"2019-12-02 21:19:30.000000000","message":"Done","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        self.task_utils.mark_loadbalancer_prov_status_active(loadbalancer.id)"},{"line_number":88,"context_line":"        for listener in listeners:"},{"line_number":89,"context_line":"            self.task_utils.mark_listener_prov_status_active("},{"line_number":90,"context_line":"                listener[\u0027listener_id\u0027])"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"class ListenerToErrorOnRevertTask(BaseLifecycleTask):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_ec69188c","line":90,"range":{"start_line":90,"start_character":25,"end_line":90,"end_character":38},"updated":"2019-12-02 16:34:38.000000000","message":"constant?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        self.task_utils.mark_loadbalancer_prov_status_active(loadbalancer.id)"},{"line_number":88,"context_line":"        for listener in listeners:"},{"line_number":89,"context_line":"            self.task_utils.mark_listener_prov_status_active("},{"line_number":90,"context_line":"                listener[\u0027listener_id\u0027])"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"class ListenerToErrorOnRevertTask(BaseLifecycleTask):"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_5e27ab1f","line":90,"range":{"start_line":90,"start_character":25,"end_line":90,"end_character":38},"in_reply_to":"3fa7e38b_ec69188c","updated":"2019-12-02 21:19:30.000000000","message":"Done","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        self.task_utils.mark_member_prov_status_error(member.id)"},{"line_number":148,"context_line":"        for listener in listeners:"},{"line_number":149,"context_line":"            self.task_utils.mark_listener_prov_status_active("},{"line_number":150,"context_line":"                listener[\u0027listener_id\u0027])"},{"line_number":151,"context_line":"        self.task_utils.mark_pool_prov_status_active(pool.id)"},{"line_number":152,"context_line":"        self.task_utils.mark_loadbalancer_prov_status_active(loadbalancer.id)"},{"line_number":153,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_ac01e0b7","line":150,"range":{"start_line":150,"start_character":25,"end_line":150,"end_character":38},"updated":"2019-12-02 16:34:38.000000000","message":"constant?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        self.task_utils.mark_member_prov_status_error(member.id)"},{"line_number":148,"context_line":"        for listener in listeners:"},{"line_number":149,"context_line":"            self.task_utils.mark_listener_prov_status_active("},{"line_number":150,"context_line":"                listener[\u0027listener_id\u0027])"},{"line_number":151,"context_line":"        self.task_utils.mark_pool_prov_status_active(pool.id)"},{"line_number":152,"context_line":"        self.task_utils.mark_loadbalancer_prov_status_active(loadbalancer.id)"},{"line_number":153,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_7e2aa7e6","line":150,"range":{"start_line":150,"start_character":25,"end_line":150,"end_character":38},"in_reply_to":"3fa7e38b_ac01e0b7","updated":"2019-12-02 21:19:30.000000000","message":"Done","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":163,"context_line":"            self.task_utils.mark_member_prov_status_error(m.id)"},{"line_number":164,"context_line":"        for listener in listeners:"},{"line_number":165,"context_line":"            self.task_utils.mark_listener_prov_status_active("},{"line_number":166,"context_line":"                listener[\u0027listener_id\u0027])"},{"line_number":167,"context_line":"        self.task_utils.mark_pool_prov_status_active(pool.id)"},{"line_number":168,"context_line":"        self.task_utils.mark_loadbalancer_prov_status_active(loadbalancer.id)"},{"line_number":169,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_0c6594af","line":166,"range":{"start_line":166,"start_character":25,"end_line":166,"end_character":38},"updated":"2019-12-02 16:34:38.000000000","message":"constant?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":163,"context_line":"            self.task_utils.mark_member_prov_status_error(m.id)"},{"line_number":164,"context_line":"        for listener in listeners:"},{"line_number":165,"context_line":"            self.task_utils.mark_listener_prov_status_active("},{"line_number":166,"context_line":"                listener[\u0027listener_id\u0027])"},{"line_number":167,"context_line":"        self.task_utils.mark_pool_prov_status_active(pool.id)"},{"line_number":168,"context_line":"        self.task_utils.mark_loadbalancer_prov_status_active(loadbalancer.id)"},{"line_number":169,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_1e31335a","line":166,"range":{"start_line":166,"start_character":25,"end_line":166,"end_character":38},"in_reply_to":"3fa7e38b_0c6594af","updated":"2019-12-02 21:19:30.000000000","message":"Done","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        self.task_utils.mark_loadbalancer_prov_status_active(loadbalancer.id)"},{"line_number":180,"context_line":"        for listener in listeners:"},{"line_number":181,"context_line":"            self.task_utils.mark_listener_prov_status_active("},{"line_number":182,"context_line":"                listener[\u0027listener_id\u0027])"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_cc045cc8","line":182,"range":{"start_line":182,"start_character":25,"end_line":182,"end_character":38},"updated":"2019-12-02 16:34:38.000000000","message":"constant?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        self.task_utils.mark_loadbalancer_prov_status_active(loadbalancer.id)"},{"line_number":180,"context_line":"        for listener in listeners:"},{"line_number":181,"context_line":"            self.task_utils.mark_listener_prov_status_active("},{"line_number":182,"context_line":"                listener[\u0027listener_id\u0027])"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_fe353744","line":182,"range":{"start_line":182,"start_character":25,"end_line":182,"end_character":38},"in_reply_to":"3fa7e38b_cc045cc8","updated":"2019-12-02 21:19:30.000000000","message":"Done","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"}],"octavia/tests/unit/amphorae/drivers/haproxy/test_rest_api_driver_0_5.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":502,"context_line":"        self.driver.jinja_split.build_config.side_effect \u003d [\u0027fake_config\u0027]"},{"line_number":503,"context_line":""},{"line_number":504,"context_line":"        # Execute driver method"},{"line_number":505,"context_line":"        self.driver.delete(self.sl)"},{"line_number":506,"context_line":"        self.driver.clients["},{"line_number":507,"context_line":"            API_VERSION].delete_listener.assert_called_once_with("},{"line_number":508,"context_line":"            self.amp, self.sl.id)"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_4cde2c3d","line":505,"updated":"2019-12-02 16:34:38.000000000","message":"I\u0027m unsure if this change was necessary, but I do see we have some weird interchanging of `sl` and `self.sl` in this test... I think maybe it should have been the other way though, maybe? and all of the other references to `self.sl` in this function should be updated to just `sl`? eugh","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":502,"context_line":"        self.driver.jinja_split.build_config.side_effect \u003d [\u0027fake_config\u0027]"},{"line_number":503,"context_line":""},{"line_number":504,"context_line":"        # Execute driver method"},{"line_number":505,"context_line":"        self.driver.delete(self.sl)"},{"line_number":506,"context_line":"        self.driver.clients["},{"line_number":507,"context_line":"            API_VERSION].delete_listener.assert_called_once_with("},{"line_number":508,"context_line":"            self.amp, self.sl.id)"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_3e0d0f8f","line":505,"in_reply_to":"3fa7e38b_4cde2c3d","updated":"2019-12-02 21:19:30.000000000","message":"This is a bug related to one of the rebases - should be unchanged.","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"}],"octavia/tests/unit/api/drivers/amphora_driver/v2/test_amphora_driver.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":664,"context_line":"        amp_driver \u003d driver.AmphoraProviderDriver()"},{"line_number":665,"context_line":""},{"line_number":666,"context_line":"        # Test just default_tls_container_data"},{"line_number":667,"context_line":"        list_dict \u003d {\u0027default_tls_container_data\u0027: TEST_DATA}"},{"line_number":668,"context_line":""},{"line_number":669,"context_line":"        amp_driver._encrypt_listener_dict(list_dict)"},{"line_number":670,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_4cc70c67","line":667,"range":{"start_line":667,"start_character":21,"end_line":667,"end_character":49},"updated":"2019-12-02 16:34:38.000000000","message":"is there a constant for this?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":664,"context_line":"        amp_driver \u003d driver.AmphoraProviderDriver()"},{"line_number":665,"context_line":""},{"line_number":666,"context_line":"        # Test just default_tls_container_data"},{"line_number":667,"context_line":"        list_dict \u003d {\u0027default_tls_container_data\u0027: TEST_DATA}"},{"line_number":668,"context_line":""},{"line_number":669,"context_line":"        amp_driver._encrypt_listener_dict(list_dict)"},{"line_number":670,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_7e614738","line":667,"range":{"start_line":667,"start_character":21,"end_line":667,"end_character":49},"in_reply_to":"3fa7e38b_4cc70c67","updated":"2019-12-02 21:19:30.000000000","message":"No, there is no constant - will introduce one.","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":671,"context_line":"        mock_fern.encrypt.assert_called_once_with(TEST_DATA)"},{"line_number":672,"context_line":""},{"line_number":673,"context_line":"        self.assertEqual(FAKE_ENCRYPTED_DATA,"},{"line_number":674,"context_line":"                         list_dict[\u0027default_tls_container_data\u0027])"},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"        mock_fern.reset_mock()"},{"line_number":677,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_0ce834dd","line":674,"range":{"start_line":674,"start_character":35,"end_line":674,"end_character":63},"updated":"2019-12-02 16:34:38.000000000","message":"I think?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":671,"context_line":"        mock_fern.encrypt.assert_called_once_with(TEST_DATA)"},{"line_number":672,"context_line":""},{"line_number":673,"context_line":"        self.assertEqual(FAKE_ENCRYPTED_DATA,"},{"line_number":674,"context_line":"                         list_dict[\u0027default_tls_container_data\u0027])"},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"        mock_fern.reset_mock()"},{"line_number":677,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_3ed0afc8","line":674,"range":{"start_line":674,"start_character":35,"end_line":674,"end_character":63},"in_reply_to":"3fa7e38b_0ce834dd","updated":"2019-12-02 21:19:30.000000000","message":"Done","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":676,"context_line":"        mock_fern.reset_mock()"},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"        # Test just sni_container_data"},{"line_number":679,"context_line":"        list_dict \u003d {\u0027sni_container_data\u0027: [TEST_DATA, TEST_DATA2]}"},{"line_number":680,"context_line":""},{"line_number":681,"context_line":"        amp_driver._encrypt_listener_dict(list_dict)"},{"line_number":682,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_acb800e8","line":679,"range":{"start_line":679,"start_character":21,"end_line":679,"end_character":41},"updated":"2019-12-02 16:34:38.000000000","message":"and this?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":676,"context_line":"        mock_fern.reset_mock()"},{"line_number":677,"context_line":""},{"line_number":678,"context_line":"        # Test just sni_container_data"},{"line_number":679,"context_line":"        list_dict \u003d {\u0027sni_container_data\u0027: [TEST_DATA, TEST_DATA2]}"},{"line_number":680,"context_line":""},{"line_number":681,"context_line":"        amp_driver._encrypt_listener_dict(list_dict)"},{"line_number":682,"context_line":""}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_ded63bc5","line":679,"range":{"start_line":679,"start_character":21,"end_line":679,"end_character":41},"in_reply_to":"3fa7e38b_acb800e8","updated":"2019-12-02 21:19:30.000000000","message":"Done","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":685,"context_line":"        mock_fern.encrypt.assert_has_calls(calls)"},{"line_number":686,"context_line":""},{"line_number":687,"context_line":"        encrypted_sni \u003d [FAKE_ENCRYPTED_DATA, FAKE_ENCRYPTED_DATA]"},{"line_number":688,"context_line":"        self.assertEqual(encrypted_sni, list_dict[\u0027sni_container_data\u0027])"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_6cb20809","line":688,"range":{"start_line":688,"start_character":50,"end_line":688,"end_character":70},"updated":"2019-12-02 16:34:38.000000000","message":"maybe?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":685,"context_line":"        mock_fern.encrypt.assert_has_calls(calls)"},{"line_number":686,"context_line":""},{"line_number":687,"context_line":"        encrypted_sni \u003d [FAKE_ENCRYPTED_DATA, FAKE_ENCRYPTED_DATA]"},{"line_number":688,"context_line":"        self.assertEqual(encrypted_sni, list_dict[\u0027sni_container_data\u0027])"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_9ee0c399","line":688,"range":{"start_line":688,"start_character":50,"end_line":688,"end_character":70},"in_reply_to":"3fa7e38b_6cb20809","updated":"2019-12-02 21:19:30.000000000","message":"Done","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"}],"octavia/tests/unit/controller/worker/v2/tasks/test_database_tasks_quota.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"141fa5890dbea99cd936189d55d2ad6f7191c914","unresolved":false,"context_lines":[{"line_number":40,"context_line":"                              mock_get_session, project_id\u003dNone):"},{"line_number":41,"context_line":"        test_object \u003d None"},{"line_number":42,"context_line":"        if project_id:"},{"line_number":43,"context_line":"            test_object \u003d project_id"},{"line_number":44,"context_line":"        else:"},{"line_number":45,"context_line":"            project_id \u003d uuidutils.generate_uuid()"},{"line_number":46,"context_line":"            test_object \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":21,"id":"3fa7e38b_e923e6bc","line":43,"updated":"2019-10-29 18:51:39.000000000","message":"Is this correct?  The one caller that passes it is just passing a uuid for project_id.  Maybe it relates to my other comment about some of the methods taking an ID and some a listener.","commit_id":"73793feaab01072165b2a54b201301ca3e798a78"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"95c1a8082dd930b6c31c4b58c32b5c32105c47c6","unresolved":false,"context_lines":[{"line_number":40,"context_line":"                              mock_get_session, project_id\u003dNone):"},{"line_number":41,"context_line":"        test_object \u003d None"},{"line_number":42,"context_line":"        if project_id:"},{"line_number":43,"context_line":"            test_object \u003d project_id"},{"line_number":44,"context_line":"        else:"},{"line_number":45,"context_line":"            project_id \u003d uuidutils.generate_uuid()"},{"line_number":46,"context_line":"            test_object \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":21,"id":"3fa7e38b_99b06442","line":43,"in_reply_to":"3fa7e38b_e923e6bc","updated":"2019-10-31 10:06:26.000000000","message":"When we pass a db object project_id was there for all objects. But not all provider object dicts has project_id field, to fix that we pass just project_id. \n\nFor now we have this is/else - when all object\u0027s decrement_quota switch on using project_id this won\u0027t be needed.","commit_id":"73793feaab01072165b2a54b201301ca3e798a78"}],"octavia/tests/unit/controller/worker/v2/tasks/test_network_tasks.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"f46b466a6938a852bc0196f7f2b20fd82172b476","unresolved":false,"context_lines":[{"line_number":667,"context_line":"        vip \u003d o_data_models.Vip()"},{"line_number":668,"context_line":"        lb \u003d o_data_models.LoadBalancer(vip\u003dvip)"},{"line_number":669,"context_line":"        mock_get_lb.return_value \u003d lb"},{"line_number":670,"context_line":"        listener \u003d {\u0027loadbalancer_id\u0027: lb.id}"},{"line_number":671,"context_line":"        net_task \u003d network_tasks.UpdateVIPForDelete()"},{"line_number":672,"context_line":"        net_task.execute(listener)"},{"line_number":673,"context_line":"        mock_driver.update_vip.assert_called_once_with(lb, for_delete\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_4c75cc32","line":670,"range":{"start_line":670,"start_character":20,"end_line":670,"end_character":37},"updated":"2019-12-02 16:34:38.000000000","message":"constant?","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"},{"author":{"_account_id":7249,"name":"Ann Taraday","email":"akamyshnikova@mirantis.com","username":"AKamyshnikova"},"change_message_id":"e63b4734dcc22f84dd2236a0df5622476156dfbb","unresolved":false,"context_lines":[{"line_number":667,"context_line":"        vip \u003d o_data_models.Vip()"},{"line_number":668,"context_line":"        lb \u003d o_data_models.LoadBalancer(vip\u003dvip)"},{"line_number":669,"context_line":"        mock_get_lb.return_value \u003d lb"},{"line_number":670,"context_line":"        listener \u003d {\u0027loadbalancer_id\u0027: lb.id}"},{"line_number":671,"context_line":"        net_task \u003d network_tasks.UpdateVIPForDelete()"},{"line_number":672,"context_line":"        net_task.execute(listener)"},{"line_number":673,"context_line":"        mock_driver.update_vip.assert_called_once_with(lb, for_delete\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_1e9b7317","line":670,"range":{"start_line":670,"start_character":20,"end_line":670,"end_character":37},"in_reply_to":"3fa7e38b_4c75cc32","updated":"2019-12-02 21:19:30.000000000","message":"Done","commit_id":"5fcf24aacb30c875deaef9c4a2a05cec8048e5be"}]}
