)]}'
{"octavia/api/v1/controllers/load_balancer.py":[{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"b8cfc0b7714e3ed8cccaeae6ad506d9f43302728","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        try:"},{"line_number":85,"context_line":"            LOG.info(_LI(\"Sending full load balancer configuration %s to \""},{"line_number":86,"context_line":"                         \"the handler\"), db_lb.id)"},{"line_number":87,"context_line":"            self.handler.create(db_lb)"},{"line_number":88,"context_line":"        except Exception:"},{"line_number":89,"context_line":"            with excutils.save_and_reraise_exception(reraise\u003dFalse):"},{"line_number":90,"context_line":"                self.repositories.load_balancer.update("}],"source_content_type":"text/x-python","patch_set":21,"id":"9aed3d3a_0567e925","line":87,"range":{"start_line":87,"start_character":0,"end_line":87,"end_character":38},"updated":"2016-02-26 18:38:03.000000000","message":"Does the handler already handle recursing down the tree here to create all the listeners in the load balancer?","commit_id":"779f241021dc32fd61e10443a3c2aa977039f07e"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"c3afc863b068c9ee1036ce34621455a234b58975","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        try:"},{"line_number":85,"context_line":"            LOG.info(_LI(\"Sending full load balancer configuration %s to \""},{"line_number":86,"context_line":"                         \"the handler\"), db_lb.id)"},{"line_number":87,"context_line":"            self.handler.create(db_lb)"},{"line_number":88,"context_line":"        except Exception:"},{"line_number":89,"context_line":"            with excutils.save_and_reraise_exception(reraise\u003dFalse):"},{"line_number":90,"context_line":"                self.repositories.load_balancer.update("}],"source_content_type":"text/x-python","patch_set":21,"id":"9aed3d3a_17cb8da6","line":87,"range":{"start_line":87,"start_character":0,"end_line":87,"end_character":38},"in_reply_to":"9aed3d3a_0567e925","updated":"2016-02-27 00:37:42.000000000","message":"our queue producer handler will just send to the queue the lb id, so when the controller worker piece grabs the lb by id, it\u0027ll have the entire tree/graph","commit_id":"779f241021dc32fd61e10443a3c2aa977039f07e"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"e306da5aa2c9d82c190ec9411b8b8e47bc1f9627","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        try:"},{"line_number":85,"context_line":"            LOG.info(_LI(\"Sending full load balancer configuration %s to \""},{"line_number":86,"context_line":"                         \"the handler\"), db_lb.id)"},{"line_number":87,"context_line":"            self.handler.create(db_lb)"},{"line_number":88,"context_line":"        except Exception:"},{"line_number":89,"context_line":"            with excutils.save_and_reraise_exception(reraise\u003dFalse):"},{"line_number":90,"context_line":"                self.repositories.load_balancer.update("}],"source_content_type":"text/x-python","patch_set":21,"id":"9aed3d3a_f919a97a","line":87,"range":{"start_line":87,"start_character":0,"end_line":87,"end_character":38},"in_reply_to":"9aed3d3a_17cb8da6","updated":"2016-02-28 03:15:40.000000000","message":"Ok, but I think the create load balancer flow is not presently set up to try to create the listeners. (It didn\u0027t in the test I just tried.)  So... it seems load balancer flow updates are required as well...","commit_id":"779f241021dc32fd61e10443a3c2aa977039f07e"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"dc8612af2f178713114ef22b797499aedfe5cc15","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            LOG.info(_LI(\"Sending full load balancer configuration %s to \""},{"line_number":86,"context_line":"                         \"the handler\"), db_lb.id)"},{"line_number":87,"context_line":"            self.handler.create(db_lb)"},{"line_number":88,"context_line":"        except Exception:"},{"line_number":89,"context_line":"            with excutils.save_and_reraise_exception(reraise\u003dFalse):"},{"line_number":90,"context_line":"                self.repositories.load_balancer.update("},{"line_number":91,"context_line":"                    context.session, db_lb.id,"}],"source_content_type":"text/x-python","patch_set":21,"id":"9aed3d3a_14039d0e","line":88,"updated":"2016-02-26 17:18:23.000000000","message":"Missing branch unit test","commit_id":"779f241021dc32fd61e10443a3c2aa977039f07e"},{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"2eca89eb83f53149fff9cdace4675fcd9d33edf6","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            LOG.info(_LI(\"Sending full load balancer configuration %s to \""},{"line_number":86,"context_line":"                         \"the handler\"), db_lb.id)"},{"line_number":87,"context_line":"            self.handler.create(db_lb)"},{"line_number":88,"context_line":"        except Exception:"},{"line_number":89,"context_line":"            with excutils.save_and_reraise_exception(reraise\u003dFalse):"},{"line_number":90,"context_line":"                self.repositories.load_balancer.update("},{"line_number":91,"context_line":"                    context.session, db_lb.id,"}],"source_content_type":"text/x-python","patch_set":21,"id":"9aed3d3a_5d4a61ad","line":88,"in_reply_to":"9aed3d3a_14039d0e","updated":"2016-02-26 19:52:14.000000000","message":"File bug maybe?","commit_id":"779f241021dc32fd61e10443a3c2aa977039f07e"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"b8cfc0b7714e3ed8cccaeae6ad506d9f43302728","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        \"\"\"Creates a load balancer.\"\"\""},{"line_number":100,"context_line":"        context \u003d pecan.request.context.get(\u0027octavia_context\u0027)"},{"line_number":101,"context_line":"        if load_balancer.listeners:"},{"line_number":102,"context_line":"            return self._create_load_balancer_graph(context, load_balancer)"},{"line_number":103,"context_line":"        lb_dict \u003d db_prepare.create_load_balancer(load_balancer.to_dict())"},{"line_number":104,"context_line":"        vip_dict \u003d lb_dict.pop(\u0027vip\u0027, {})"},{"line_number":105,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":21,"id":"9aed3d3a_c554e122","line":102,"range":{"start_line":102,"start_character":0,"end_line":102,"end_character":75},"updated":"2016-02-26 18:38:03.000000000","message":"Sneaky short circuit. ;)","commit_id":"779f241021dc32fd61e10443a3c2aa977039f07e"},{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"2eca89eb83f53149fff9cdace4675fcd9d33edf6","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        \"\"\"Creates a load balancer.\"\"\""},{"line_number":100,"context_line":"        context \u003d pecan.request.context.get(\u0027octavia_context\u0027)"},{"line_number":101,"context_line":"        if load_balancer.listeners:"},{"line_number":102,"context_line":"            return self._create_load_balancer_graph(context, load_balancer)"},{"line_number":103,"context_line":"        lb_dict \u003d db_prepare.create_load_balancer(load_balancer.to_dict())"},{"line_number":104,"context_line":"        vip_dict \u003d lb_dict.pop(\u0027vip\u0027, {})"},{"line_number":105,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":21,"id":"9aed3d3a_526ed02f","line":102,"range":{"start_line":102,"start_character":0,"end_line":102,"end_character":75},"in_reply_to":"9aed3d3a_c554e122","updated":"2016-02-26 19:52:14.000000000","message":"Yeah, more or less.  I got this bit from brandon\u0027s early review :D","commit_id":"779f241021dc32fd61e10443a3c2aa977039f07e"}],"octavia/api/v1/controllers/pool.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d1fbc482265aefc1100e7afd17fcd8b00d923bdf","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        if listener_id is not None:"},{"line_number":59,"context_line":"            self.listener_id \u003d listener_id"},{"line_number":60,"context_line":"        if self.listener_id:"},{"line_number":61,"context_line":"            # pools \u003d self.repositories.pool.get_all("},{"line_number":62,"context_line":"            #     context.session, listener_id\u003dself.listener_id)"},{"line_number":63,"context_line":"            pools \u003d self._get_db_listener(context.session,"},{"line_number":64,"context_line":"                                          self.listener_id).pools"}],"source_content_type":"text/x-python","patch_set":19,"id":"9aed3d3a_2c72dfad","line":61,"updated":"2016-02-26 16:35:03.000000000","message":"We have too much commented out code already, if it\u0027s dead, please remove it.","commit_id":"4dbc50166c7f940145a7f155f910961b6ea97b70"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d1fbc482265aefc1100e7afd17fcd8b00d923bdf","unresolved":false,"context_lines":[{"line_number":66,"context_line":"            pools \u003d self.repositories.pool.get_all("},{"line_number":67,"context_line":"                context.session, load_balancer_id\u003dself.load_balancer_id)"},{"line_number":68,"context_line":"            # pools \u003d self.repositories.load_balancer.get("},{"line_number":69,"context_line":"            #     context.session, id\u003dself.load_balancer_id).pools"},{"line_number":70,"context_line":"        return self._convert_db_to_type(pools, [pool_types.PoolResponse])"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    def _get_affected_listener_ids(self, session, pool\u003dNone):"}],"source_content_type":"text/x-python","patch_set":19,"id":"9aed3d3a_6c64e7e4","line":69,"updated":"2016-02-26 16:35:03.000000000","message":"Same here","commit_id":"4dbc50166c7f940145a7f155f910961b6ea97b70"}],"octavia/db/prepare.py":[{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"b8cfc0b7714e3ed8cccaeae6ad506d9f43302728","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from octavia.common import constants"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"def create_load_balancer_tree(lb_dict):"},{"line_number":21,"context_line":"    listeners \u003d lb_dict.pop(\u0027listeners\u0027, [])"},{"line_number":22,"context_line":"    prepped_lb \u003d create_load_balancer(lb_dict)"},{"line_number":23,"context_line":"    prepped_lb[\u0027listeners\u0027] \u003d []"}],"source_content_type":"text/x-python","patch_set":21,"id":"9aed3d3a_8a502660","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":39},"updated":"2016-02-26 18:38:03.000000000","message":"I\u0027m a little confused as to why we have a create_load_balancer_tree method as well as a create_load_balancer method. Shouldn\u0027t create_load_balancer just return the load balancer and its attached data model graph?\n\nI get that we need to recurse in some cases, and not in others. Why not make that determination based on a keyword argument passed to the top-level method? Or better yet, based on whether the dict contains entities indicating that recursion is necessary (eg. does the load balancer dict contain \u0027listeners\u0027, does the listener dict contain \u0027l7policies\u0027, does the l7policy dict contain a \u0027redirect_pool\u0027?  I think you already follow this pattern in many places here-- why not everwhere?)","commit_id":"779f241021dc32fd61e10443a3c2aa977039f07e"},{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"2eca89eb83f53149fff9cdace4675fcd9d33edf6","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from octavia.common import constants"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"def create_load_balancer_tree(lb_dict):"},{"line_number":21,"context_line":"    listeners \u003d lb_dict.pop(\u0027listeners\u0027, [])"},{"line_number":22,"context_line":"    prepped_lb \u003d create_load_balancer(lb_dict)"},{"line_number":23,"context_line":"    prepped_lb[\u0027listeners\u0027] \u003d []"}],"source_content_type":"text/x-python","patch_set":21,"id":"9aed3d3a_b2bf5c5f","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":39},"in_reply_to":"9aed3d3a_8a502660","updated":"2016-02-26 19:52:14.000000000","message":"I just talked with Brandon.  The original design behind this distinct method was to avoid sub-loadbalancer single-create requests.  Basically single create would only work from load_balancer level.  However, after we talked, we don\u0027t see a problem with \"parent -\u003e children\" single-create behavior.  Meaning, you could create a load balancer in one request (with no children specified), but then create a listener + default_pool + l7_policies + etc etc. as a second request and it would still all work.  I believe that behavior might take a bit longer to thoroughly test and establish, so maybe shouldn\u0027t directly happen now, but definitely could.\n\nLet me know if what I said here isn\u0027t clear.","commit_id":"779f241021dc32fd61e10443a3c2aa977039f07e"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"d36ddcbee642d322cb21dd94fe0584fc71f9c219","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from octavia.common import constants"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"def create_load_balancer_tree(lb_dict):"},{"line_number":21,"context_line":"    listeners \u003d lb_dict.pop(\u0027listeners\u0027, [])"},{"line_number":22,"context_line":"    prepped_lb \u003d create_load_balancer(lb_dict)"},{"line_number":23,"context_line":"    prepped_lb[\u0027listeners\u0027] \u003d []"}],"source_content_type":"text/x-python","patch_set":21,"id":"9aed3d3a_635ea813","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":39},"in_reply_to":"9aed3d3a_b2bf5c5f","updated":"2016-02-26 20:20:37.000000000","message":"Nope, it makes perfect sense and I was actually going to suggest the same thing. Do note though that being able to do this probably means we want that \u0027conditional create\u0027 method for pools sooner rather than later:  It would be handy to be able to create a pool-with-children tree as a first step, and then add listeners, l7policies, etc. as a second step in that workflow.","commit_id":"779f241021dc32fd61e10443a3c2aa977039f07e"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"b8cfc0b7714e3ed8cccaeae6ad506d9f43302728","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    for listener_dict in listeners:"},{"line_number":25,"context_line":"        pool \u003d listener_dict.pop(\u0027default_pool\u0027, None)"},{"line_number":26,"context_line":"        prepped_listener \u003d create_listener(listener_dict, prepped_lb.get(\u0027id\u0027))"},{"line_number":27,"context_line":"        if pool:"},{"line_number":28,"context_line":"            hm \u003d pool.pop(\u0027health_monitor\u0027, None)"},{"line_number":29,"context_line":"            members \u003d pool.pop(\u0027members\u0027, []) or []"},{"line_number":30,"context_line":"            prepped_pool \u003d create_pool(pool)"}],"source_content_type":"text/x-python","patch_set":21,"id":"9aed3d3a_cac06e2d","line":27,"range":{"start_line":27,"start_character":11,"end_line":27,"end_character":15},"updated":"2016-02-26 18:38:03.000000000","message":"Why did you put this pool creation loop here instead of in the create_listener method?","commit_id":"779f241021dc32fd61e10443a3c2aa977039f07e"},{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"2eca89eb83f53149fff9cdace4675fcd9d33edf6","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    for listener_dict in listeners:"},{"line_number":25,"context_line":"        pool \u003d listener_dict.pop(\u0027default_pool\u0027, None)"},{"line_number":26,"context_line":"        prepped_listener \u003d create_listener(listener_dict, prepped_lb.get(\u0027id\u0027))"},{"line_number":27,"context_line":"        if pool:"},{"line_number":28,"context_line":"            hm \u003d pool.pop(\u0027health_monitor\u0027, None)"},{"line_number":29,"context_line":"            members \u003d pool.pop(\u0027members\u0027, []) or []"},{"line_number":30,"context_line":"            prepped_pool \u003d create_pool(pool)"}],"source_content_type":"text/x-python","patch_set":21,"id":"9aed3d3a_5dd701ed","line":27,"range":{"start_line":27,"start_character":11,"end_line":27,"end_character":15},"in_reply_to":"9aed3d3a_cac06e2d","updated":"2016-02-26 19:52:14.000000000","message":"Reference context answer above.","commit_id":"779f241021dc32fd61e10443a3c2aa977039f07e"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"b8cfc0b7714e3ed8cccaeae6ad506d9f43302728","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        prepped_listener \u003d create_listener(listener_dict, prepped_lb.get(\u0027id\u0027))"},{"line_number":27,"context_line":"        if pool:"},{"line_number":28,"context_line":"            hm \u003d pool.pop(\u0027health_monitor\u0027, None)"},{"line_number":29,"context_line":"            members \u003d pool.pop(\u0027members\u0027, []) or []"},{"line_number":30,"context_line":"            prepped_pool \u003d create_pool(pool)"},{"line_number":31,"context_line":"            pool_id \u003d prepped_pool.get(\u0027id\u0027)"},{"line_number":32,"context_line":"            prepped_pool[\u0027load_balancer_id\u0027] \u003d prepped_lb.get(\u0027id\u0027)"}],"source_content_type":"text/x-python","patch_set":21,"id":"9aed3d3a_ef78e4f4","line":29,"range":{"start_line":29,"start_character":0,"end_line":29,"end_character":51},"updated":"2016-02-26 18:38:03.000000000","message":"Is this right? Can\u0027t you just do members \u003d pool.pop(\u0027members\u0027, []) ?","commit_id":"779f241021dc32fd61e10443a3c2aa977039f07e"},{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"2eca89eb83f53149fff9cdace4675fcd9d33edf6","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        prepped_listener \u003d create_listener(listener_dict, prepped_lb.get(\u0027id\u0027))"},{"line_number":27,"context_line":"        if pool:"},{"line_number":28,"context_line":"            hm \u003d pool.pop(\u0027health_monitor\u0027, None)"},{"line_number":29,"context_line":"            members \u003d pool.pop(\u0027members\u0027, []) or []"},{"line_number":30,"context_line":"            prepped_pool \u003d create_pool(pool)"},{"line_number":31,"context_line":"            pool_id \u003d prepped_pool.get(\u0027id\u0027)"},{"line_number":32,"context_line":"            prepped_pool[\u0027load_balancer_id\u0027] \u003d prepped_lb.get(\u0027id\u0027)"}],"source_content_type":"text/x-python","patch_set":21,"id":"9aed3d3a_9de069ce","line":29,"range":{"start_line":29,"start_character":0,"end_line":29,"end_character":51},"in_reply_to":"9aed3d3a_ef78e4f4","updated":"2016-02-26 19:52:14.000000000","message":"Will fix, that was a typo at some point that just never got corrected.","commit_id":"779f241021dc32fd61e10443a3c2aa977039f07e"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"b8cfc0b7714e3ed8cccaeae6ad506d9f43302728","unresolved":false,"context_lines":[{"line_number":38,"context_line":"                prepped_pool[\u0027members\u0027].append("},{"line_number":39,"context_line":"                    create_member(member_dict, pool_id))"},{"line_number":40,"context_line":"            prepped_listener[\u0027default_pool\u0027] \u003d prepped_pool"},{"line_number":41,"context_line":"            prepped_listener[\u0027default_pool_id\u0027] \u003d prepped_pool[\u0027id\u0027]"},{"line_number":42,"context_line":"        if listener_dict.get(\u0027l7policies\u0027):"},{"line_number":43,"context_line":"            prepped_l7policies \u003d []"},{"line_number":44,"context_line":"            for l7policy in listener_dict.get(\u0027l7policies\u0027):"}],"source_content_type":"text/x-python","patch_set":21,"id":"9aed3d3a_cf540023","line":41,"range":{"start_line":41,"start_character":0,"end_line":41,"end_character":68},"updated":"2016-02-26 18:38:03.000000000","message":"Should also append the prepped_pool to the prepped_lb[\u0027pools\u0027] list.","commit_id":"779f241021dc32fd61e10443a3c2aa977039f07e"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"b8cfc0b7714e3ed8cccaeae6ad506d9f43302728","unresolved":false,"context_lines":[{"line_number":39,"context_line":"                    create_member(member_dict, pool_id))"},{"line_number":40,"context_line":"            prepped_listener[\u0027default_pool\u0027] \u003d prepped_pool"},{"line_number":41,"context_line":"            prepped_listener[\u0027default_pool_id\u0027] \u003d prepped_pool[\u0027id\u0027]"},{"line_number":42,"context_line":"        if listener_dict.get(\u0027l7policies\u0027):"},{"line_number":43,"context_line":"            prepped_l7policies \u003d []"},{"line_number":44,"context_line":"            for l7policy in listener_dict.get(\u0027l7policies\u0027):"},{"line_number":45,"context_line":"                prepped_l7policy \u003d create_l7policy("}],"source_content_type":"text/x-python","patch_set":21,"id":"9aed3d3a_ea4a92c4","line":42,"range":{"start_line":42,"start_character":0,"end_line":42,"end_character":43},"updated":"2016-02-26 18:38:03.000000000","message":"Isn\u0027t this block redundant? You\u0027ve already got it in the create_listener code below.","commit_id":"779f241021dc32fd61e10443a3c2aa977039f07e"},{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"2eca89eb83f53149fff9cdace4675fcd9d33edf6","unresolved":false,"context_lines":[{"line_number":39,"context_line":"                    create_member(member_dict, pool_id))"},{"line_number":40,"context_line":"            prepped_listener[\u0027default_pool\u0027] \u003d prepped_pool"},{"line_number":41,"context_line":"            prepped_listener[\u0027default_pool_id\u0027] \u003d prepped_pool[\u0027id\u0027]"},{"line_number":42,"context_line":"        if listener_dict.get(\u0027l7policies\u0027):"},{"line_number":43,"context_line":"            prepped_l7policies \u003d []"},{"line_number":44,"context_line":"            for l7policy in listener_dict.get(\u0027l7policies\u0027):"},{"line_number":45,"context_line":"                prepped_l7policy \u003d create_l7policy("}],"source_content_type":"text/x-python","patch_set":21,"id":"9aed3d3a_fd353546","line":42,"range":{"start_line":42,"start_character":0,"end_line":42,"end_character":43},"in_reply_to":"9aed3d3a_ea4a92c4","updated":"2016-02-26 19:52:14.000000000","message":"Reference context answer above.  (I shouldn\u0027t have added it to the \"create_listener\" below given the original thought process... That was my bad)","commit_id":"779f241021dc32fd61e10443a3c2aa977039f07e"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"b8cfc0b7714e3ed8cccaeae6ad506d9f43302728","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    l7policy_dict[\u0027listener_id\u0027] \u003d listener_id"},{"line_number":94,"context_line":"    if l7policy_dict.get(\u0027redirect_pool\u0027):"},{"line_number":95,"context_line":"        pool_dict \u003d l7policy_dict.pop(\u0027redirect_pool\u0027)"},{"line_number":96,"context_line":"        prepped_pool \u003d create_pool(pool_dict, lb_id)"},{"line_number":97,"context_line":"        l7policy_dict[\u0027redirect_pool\u0027] \u003d prepped_pool"},{"line_number":98,"context_line":"        l7policy_dict[\u0027redirect_pool_id\u0027] \u003d prepped_pool[\u0027id\u0027]"},{"line_number":99,"context_line":"    if l7policy_dict.get(\u0027l7rules\u0027):"}],"source_content_type":"text/x-python","patch_set":21,"id":"9aed3d3a_eac9f279","line":96,"range":{"start_line":96,"start_character":0,"end_line":96,"end_character":52},"updated":"2016-02-26 18:38:03.000000000","message":"Should also append to the prepped_lb[\u0027pools\u0027] list.","commit_id":"779f241021dc32fd61e10443a3c2aa977039f07e"},{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"2eca89eb83f53149fff9cdace4675fcd9d33edf6","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    l7policy_dict[\u0027listener_id\u0027] \u003d listener_id"},{"line_number":94,"context_line":"    if l7policy_dict.get(\u0027redirect_pool\u0027):"},{"line_number":95,"context_line":"        pool_dict \u003d l7policy_dict.pop(\u0027redirect_pool\u0027)"},{"line_number":96,"context_line":"        prepped_pool \u003d create_pool(pool_dict, lb_id)"},{"line_number":97,"context_line":"        l7policy_dict[\u0027redirect_pool\u0027] \u003d prepped_pool"},{"line_number":98,"context_line":"        l7policy_dict[\u0027redirect_pool_id\u0027] \u003d prepped_pool[\u0027id\u0027]"},{"line_number":99,"context_line":"    if l7policy_dict.get(\u0027l7rules\u0027):"}],"source_content_type":"text/x-python","patch_set":21,"id":"9aed3d3a_7d7805f3","line":96,"range":{"start_line":96,"start_character":0,"end_line":96,"end_character":52},"in_reply_to":"9aed3d3a_eac9f279","updated":"2016-02-26 19:52:14.000000000","message":"There is no way to do this in this method.  This method has no \"prepped_lb\", its only in the context of L7Policy","commit_id":"779f241021dc32fd61e10443a3c2aa977039f07e"}],"octavia/db/repositories.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"dc8612af2f178713114ef22b797499aedfe5cc15","unresolved":false,"context_lines":[{"line_number":277,"context_line":"                                del r_pool_dict[\u0027listener_id\u0027]"},{"line_number":278,"context_line":"                            r_pool_dm \u003d self.pool.create("},{"line_number":279,"context_line":"                                session, **r_pool_dict)"},{"line_number":280,"context_line":"                            if r_hm_dict:"},{"line_number":281,"context_line":"                                r_hm_dict[\u0027pool_id\u0027] \u003d r_pool_dm.id"},{"line_number":282,"context_line":"                                self.health_monitor.create(session,"},{"line_number":283,"context_line":"                                                           **r_hm_dict)"}],"source_content_type":"text/x-python","patch_set":21,"id":"9aed3d3a_b497518f","line":280,"updated":"2016-02-26 17:18:23.000000000","message":"Missing branch unit test","commit_id":"779f241021dc32fd61e10443a3c2aa977039f07e"},{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"2eca89eb83f53149fff9cdace4675fcd9d33edf6","unresolved":false,"context_lines":[{"line_number":277,"context_line":"                                del r_pool_dict[\u0027listener_id\u0027]"},{"line_number":278,"context_line":"                            r_pool_dm \u003d self.pool.create("},{"line_number":279,"context_line":"                                session, **r_pool_dict)"},{"line_number":280,"context_line":"                            if r_hm_dict:"},{"line_number":281,"context_line":"                                r_hm_dict[\u0027pool_id\u0027] \u003d r_pool_dm.id"},{"line_number":282,"context_line":"                                self.health_monitor.create(session,"},{"line_number":283,"context_line":"                                                           **r_hm_dict)"}],"source_content_type":"text/x-python","patch_set":21,"id":"9aed3d3a_1d50d95d","line":280,"in_reply_to":"9aed3d3a_b497518f","updated":"2016-02-26 19:52:14.000000000","message":"file bug maybe?","commit_id":"779f241021dc32fd61e10443a3c2aa977039f07e"}]}
