)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"17c86c56b3e55ccd83af5b80f48f34f3c155aab6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"986e9b22_613d229f","updated":"2021-12-08 12:45:27.000000000","message":"BTW I think the tempests might need to be reworked given that we always expected the lb to be fully configured","commit_id":"326e2c664cc0dcf70b9c9a05b988684b5216cec6"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"8e52105efc81ad553aba1c6bd695152c2c7bedc6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"8295db83_29e04990","updated":"2021-12-08 12:39:25.000000000","message":"Nice addition with the owners reference","commit_id":"326e2c664cc0dcf70b9c9a05b988684b5216cec6"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"8bf77310a765ba1f5bb45b16931cb388bf507d1d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7e18cc2f_bc65d849","in_reply_to":"986e9b22_613d229f","updated":"2021-12-08 15:42:00.000000000","message":"Fully configured? Had I changed that?","commit_id":"326e2c664cc0dcf70b9c9a05b988684b5216cec6"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"f1850f8e3b0b86782215b7e5c8fab2ea816d3f8a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"6e8f7e61_960e8b51","updated":"2021-12-09 23:33:07.000000000","message":"Great additions, Michal.\nFrom what I saw it looks ok from upgrades perspective, did you have a chance to give it a try?","commit_id":"ea9a237e191ef67e16c217a823f0b44eb7fbaf9e"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"e3eadc943dc550020d97fc1fcf50792cbbca8d37","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d4d0b1a8_58fd7a1d","updated":"2021-12-10 15:40:18.000000000","message":"Whoops, this is broken a little bit.","commit_id":"ea9a237e191ef67e16c217a823f0b44eb7fbaf9e"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"b2595c9472179af81948dc527a2575d572854106","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b9e7cdda_185ea0d7","updated":"2021-12-10 10:17:09.000000000","message":"recheck","commit_id":"ea9a237e191ef67e16c217a823f0b44eb7fbaf9e"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"2d609d2fa3fab89393f137859d89052374f36581","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ffd2a4c6_b7943ecd","updated":"2021-12-10 17:24:01.000000000","message":"Okay, this is better. It\u0027s important to not raise a critical failure when the CRD won\u0027t get created at all - basically ServiceHandler and EndpointsHandler have different view over things and can have the same ignore criteria.","commit_id":"a68a20895019918e2fe8ed747b6cb0360559ea0c"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"c7944b03f5441b64cfcd4ca4a46636d71a67a6c1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f9ab0ad1_429e7103","updated":"2021-12-13 12:29:22.000000000","message":"Overall looks good, one question remains, since I thought that we agreed on not adding events for the CRDs, since they are internal to Kuryr.","commit_id":"a68a20895019918e2fe8ed747b6cb0360559ea0c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"c9f61abe93936d81bf70511bcdecd105d160155f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"2d9ecd32_c31d0c71","updated":"2021-12-14 14:31:38.000000000","message":"Eh, this doesn\u0027t look great.","commit_id":"ca719a4009384b8c86f9e0561d809f573f7d8dab"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"fc0705cd508521e946c035830d6518d27e0283e2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"5abda8f8_00b1008d","updated":"2021-12-14 07:50:43.000000000","message":"Yay! Good work with the refactoring!","commit_id":"ca719a4009384b8c86f9e0561d809f573f7d8dab"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"b63f7787282b51c268b76bf9e5162e0d31f2d5e1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"9fca4876_ee2a3194","updated":"2021-12-15 12:44:27.000000000","message":"recheck","commit_id":"ca719a4009384b8c86f9e0561d809f573f7d8dab"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"a724d3c8ffefee422e4ea062fccf2531da62a770","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"ab0ca6b5_60fd85c4","updated":"2021-12-15 16:32:43.000000000","message":"recheck","commit_id":"ca719a4009384b8c86f9e0561d809f573f7d8dab"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"d2b1c667c5e3dbec54370937aa5f4c45e1097797","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"720b4f6d_41b8ccb8","updated":"2021-12-14 11:22:27.000000000","message":"recheck\n\nLooks unrelated.","commit_id":"ca719a4009384b8c86f9e0561d809f573f7d8dab"}],"kuryr_kubernetes/clients.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"3b379d65509bf7255a04caec5959fa38752fead2","unresolved":true,"context_lines":[{"line_number":50,"context_line":"    return get_openstacksdk().load_balancer"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"def get_kubernetes_client() -\u003e k8s_client.K8sClient:"},{"line_number":54,"context_line":"    return _clients[_KUBERNETES_CLIENT]"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3b7b5fd0_17e751e3","line":53,"range":{"start_line":53,"start_character":0,"end_line":53,"end_character":52},"updated":"2021-12-08 19:11:43.000000000","message":"I know, unrelated, but makes coding so much easier when IDE knows what the object is. ;)","commit_id":"815b79c804ac63f98c9971ae68465b1f52fbf2f1"}],"kuryr_kubernetes/controller/handlers/lbaas.py":[{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"8e52105efc81ad553aba1c6bd695152c2c7bedc6","unresolved":true,"context_lines":[{"line_number":49,"context_line":"        self._drv_lbaas \u003d drv_base.LBaaSDriver.get_instance()"},{"line_number":50,"context_line":"        self.k8s \u003d clients.get_kubernetes_client()"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        self._lb_provider \u003d None"},{"line_number":53,"context_line":"        if self._drv_lbaas.providers_supported():"},{"line_number":54,"context_line":"            self._lb_provider \u003d \u0027amphora\u0027"},{"line_number":55,"context_line":"            config_provider \u003d CONF.kubernetes.endpoints_driver_octavia_provider"}],"source_content_type":"text/x-python","patch_set":1,"id":"903d2d7e_9682e16b","line":52,"updated":"2021-12-08 12:39:25.000000000","message":"I believe the provider was added to the Endpoints as we always only handled the LB creation if there was any Endpoint created. It should be fine to have it here.","commit_id":"326e2c664cc0dcf70b9c9a05b988684b5216cec6"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"8e52105efc81ad553aba1c6bd695152c2c7bedc6","unresolved":true,"context_lines":[{"line_number":166,"context_line":"            \u0027metadata\u0027: {"},{"line_number":167,"context_line":"                \u0027name\u0027: svc_name,"},{"line_number":168,"context_line":"                \u0027finalizers\u0027: [k_const.KURYRLB_FINALIZER],"},{"line_number":169,"context_line":"                \u0027ownerReferences\u0027: ["},{"line_number":170,"context_line":"                    # Only copy some of the keys from Service metadata"},{"line_number":171,"context_line":"                    {k: service[\u0027metadata\u0027][k] for k in (\u0027apiVersion\u0027, \u0027kind\u0027"},{"line_number":172,"context_line":"                                                         \u0027name\u0027, \u0027uid\u0027)}"}],"source_content_type":"text/x-python","patch_set":1,"id":"b61a8275_8ee3554f","line":169,"updated":"2021-12-08 12:39:25.000000000","message":"Is there a need to set apiversion?\n\nIf blockOwnerDeletion is set to true by default we ensure that the CR will never be a resource without a owner?","commit_id":"326e2c664cc0dcf70b9c9a05b988684b5216cec6"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"8bf77310a765ba1f5bb45b16931cb388bf507d1d","unresolved":true,"context_lines":[{"line_number":166,"context_line":"            \u0027metadata\u0027: {"},{"line_number":167,"context_line":"                \u0027name\u0027: svc_name,"},{"line_number":168,"context_line":"                \u0027finalizers\u0027: [k_const.KURYRLB_FINALIZER],"},{"line_number":169,"context_line":"                \u0027ownerReferences\u0027: ["},{"line_number":170,"context_line":"                    # Only copy some of the keys from Service metadata"},{"line_number":171,"context_line":"                    {k: service[\u0027metadata\u0027][k] for k in (\u0027apiVersion\u0027, \u0027kind\u0027"},{"line_number":172,"context_line":"                                                         \u0027name\u0027, \u0027uid\u0027)}"}],"source_content_type":"text/x-python","patch_set":1,"id":"5e52984e_8b6aefeb","line":169,"in_reply_to":"b61a8275_8ee3554f","updated":"2021-12-08 15:42:00.000000000","message":"1. Not sure, but it\u0027s part of this, doesn\u0027t hurt to have it.\n2. Hm, I haven\u0027t tested this, but I\u0027ve read it only works when foreground deletion is done and kubectl by default deletes using background deletion, so I think it would have no effect. I could try a few experiments though.","commit_id":"326e2c664cc0dcf70b9c9a05b988684b5216cec6"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"f1850f8e3b0b86782215b7e5c8fab2ea816d3f8a","unresolved":true,"context_lines":[{"line_number":73,"context_line":"            if not self._patch_service_finalizer(service):"},{"line_number":74,"context_line":"                return"},{"line_number":75,"context_line":"        except k_exc.K8sClientException as ex:"},{"line_number":76,"context_line":"            msg \u003d (f\u0027K8s API error when adding finalizer to KuryrLoadBalancer \u0027"},{"line_number":77,"context_line":"                   f\u0027of Service {utils.get_res_unique_name(loadbalancer_crd)}\u0027)"},{"line_number":78,"context_line":"            LOG.exception(msg)"},{"line_number":79,"context_line":"            self.k8s.add_event("}],"source_content_type":"text/x-python","patch_set":3,"id":"2cf97600_f75f0973","line":76,"range":{"start_line":76,"start_character":60,"end_line":76,"end_character":77},"updated":"2021-12-09 23:33:07.000000000","message":"should it be \"adding finalizer to Service\" instead?","commit_id":"ea9a237e191ef67e16c217a823f0b44eb7fbaf9e"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"275cb540b095a7fa1b0869cf589627e98145e090","unresolved":true,"context_lines":[{"line_number":73,"context_line":"            if not self._patch_service_finalizer(service):"},{"line_number":74,"context_line":"                return"},{"line_number":75,"context_line":"        except k_exc.K8sClientException as ex:"},{"line_number":76,"context_line":"            msg \u003d (f\u0027K8s API error when adding finalizer to KuryrLoadBalancer \u0027"},{"line_number":77,"context_line":"                   f\u0027of Service {utils.get_res_unique_name(loadbalancer_crd)}\u0027)"},{"line_number":78,"context_line":"            LOG.exception(msg)"},{"line_number":79,"context_line":"            self.k8s.add_event("}],"source_content_type":"text/x-python","patch_set":3,"id":"aad1c614_4cc0928a","line":76,"range":{"start_line":76,"start_character":60,"end_line":76,"end_character":77},"in_reply_to":"2cf97600_f75f0973","updated":"2021-12-10 16:16:51.000000000","message":"Yes, thanks!","commit_id":"ea9a237e191ef67e16c217a823f0b44eb7fbaf9e"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"c7944b03f5441b64cfcd4ca4a46636d71a67a6c1","unresolved":true,"context_lines":[{"line_number":77,"context_line":"                   f\u0027{utils.get_res_unique_name(service)}\u0027)"},{"line_number":78,"context_line":"            LOG.exception(msg)"},{"line_number":79,"context_line":"            self.k8s.add_event("},{"line_number":80,"context_line":"                loadbalancer_crd, \u0027KuryrAddServiceFinalizerError\u0027,"},{"line_number":81,"context_line":"                f\u0027{msg}: {ex}\u0027, \u0027Warning\u0027)"},{"line_number":82,"context_line":"            raise"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3d128030_3e11c71a","line":80,"range":{"start_line":80,"start_character":16,"end_line":80,"end_character":32},"updated":"2021-12-13 12:29:22.000000000","message":"Shouldn\u0027t this event be on the service instead of CRD? That also applies for all other occurrences.","commit_id":"a68a20895019918e2fe8ed747b6cb0360559ea0c"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"d2b1c667c5e3dbec54370937aa5f4c45e1097797","unresolved":true,"context_lines":[{"line_number":77,"context_line":"                   f\u0027{utils.get_res_unique_name(service)}\u0027)"},{"line_number":78,"context_line":"            LOG.exception(msg)"},{"line_number":79,"context_line":"            self.k8s.add_event("},{"line_number":80,"context_line":"                loadbalancer_crd, \u0027KuryrAddServiceFinalizerError\u0027,"},{"line_number":81,"context_line":"                f\u0027{msg}: {ex}\u0027, \u0027Warning\u0027)"},{"line_number":82,"context_line":"            raise"},{"line_number":83,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"8fff22b9_d0d20e4f","line":80,"range":{"start_line":80,"start_character":16,"end_line":80,"end_character":32},"in_reply_to":"3d128030_3e11c71a","updated":"2021-12-14 11:22:27.000000000","message":"Whoops, right. I think there\u0027s only this occurrence though.","commit_id":"a68a20895019918e2fe8ed747b6cb0360559ea0c"}],"kuryr_kubernetes/controller/handlers/loadbalancer.py":[{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"8e52105efc81ad553aba1c6bd695152c2c7bedc6","unresolved":true,"context_lines":[{"line_number":146,"context_line":"        try:"},{"line_number":147,"context_line":"            self._trigger_loadbalancer_reconciliation(loadbalancer_crds)"},{"line_number":148,"context_line":"        except Exception:"},{"line_number":149,"context_line":"            LOG.exception(\u0027Error while running loadbalancers reconciliation.\u0027)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    def _trigger_loadbalancer_reconciliation(self, loadbalancer_crds):"},{"line_number":152,"context_line":"        LOG.debug(\"Reconciling the loadbalancer CRDs\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"28d2543e_c55891e1","line":149,"updated":"2021-12-08 12:39:25.000000000","message":"do we want to notify when there was any non k8s failure to reconcile?","commit_id":"326e2c664cc0dcf70b9c9a05b988684b5216cec6"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"8e52105efc81ad553aba1c6bd695152c2c7bedc6","unresolved":true,"context_lines":[{"line_number":785,"context_line":"                    deadline \u003d time.time() + timeout"},{"line_number":786,"context_line":"                if (attempts \u003e 0 and"},{"line_number":787,"context_line":"                        utils.exponential_sleep(deadline, attempts) \u003d\u003d 0):"},{"line_number":788,"context_line":"                    LOG.error(\"Failed releasing lbaas \u0027%s\u0027: deadline exceeded\","},{"line_number":789,"context_line":"                              loadbalancer_crd[\u0027status\u0027][\u0027loadbalancer\u0027]["},{"line_number":790,"context_line":"                                  \u0027name\u0027])"},{"line_number":791,"context_line":"                    return"}],"source_content_type":"text/x-python","patch_set":1,"id":"cea3a82a_3def564a","line":788,"updated":"2021-12-08 12:39:25.000000000","message":"might be handy to add an event here in case there was a failure during upgrades?","commit_id":"326e2c664cc0dcf70b9c9a05b988684b5216cec6"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"f1850f8e3b0b86782215b7e5c8fab2ea816d3f8a","unresolved":true,"context_lines":[{"line_number":205,"context_line":"    def _reconcile_lbaas(self, crds_to_reconcile_selflink):"},{"line_number":206,"context_line":"        for selflink in crds_to_reconcile_selflink:"},{"line_number":207,"context_line":"            try:"},{"line_number":208,"context_line":"                self.k8s.patch_crd(\u0027status\u0027, selflink, {})"},{"line_number":209,"context_line":"            except k_exc.K8sResourceNotFound:"},{"line_number":210,"context_line":"                LOG.debug(\u0027Unable to reconcile the KuryLoadBalancer CRD %s\u0027,"},{"line_number":211,"context_line":"                          selflink)"}],"source_content_type":"text/x-python","patch_set":3,"id":"cea5fb16_7116ce28","line":208,"updated":"2021-12-09 23:33:07.000000000","message":"It might be useful to let user know that a reconciliation is happening","commit_id":"ea9a237e191ef67e16c217a823f0b44eb7fbaf9e"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"275cb540b095a7fa1b0869cf589627e98145e090","unresolved":true,"context_lines":[{"line_number":205,"context_line":"    def _reconcile_lbaas(self, crds_to_reconcile_selflink):"},{"line_number":206,"context_line":"        for selflink in crds_to_reconcile_selflink:"},{"line_number":207,"context_line":"            try:"},{"line_number":208,"context_line":"                self.k8s.patch_crd(\u0027status\u0027, selflink, {})"},{"line_number":209,"context_line":"            except k_exc.K8sResourceNotFound:"},{"line_number":210,"context_line":"                LOG.debug(\u0027Unable to reconcile the KuryLoadBalancer CRD %s\u0027,"},{"line_number":211,"context_line":"                          selflink)"}],"source_content_type":"text/x-python","patch_set":3,"id":"393fd65e_76893a4f","line":208,"in_reply_to":"cea5fb16_7116ce28","updated":"2021-12-10 16:16:51.000000000","message":"Right, I was thinking about it too, just knew that this code is being refactored. Let me add it anyway.","commit_id":"ea9a237e191ef67e16c217a823f0b44eb7fbaf9e"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"82932ae14b39b6ccf67e7540c8a471813b0b093c","unresolved":true,"context_lines":[{"line_number":131,"context_line":"            self._add_event(loadbalancer_crd, \u0027KuryrEnsureLB\u0027,"},{"line_number":132,"context_line":"                            \u0027Provisioning a load balancer\u0027)"},{"line_number":133,"context_line":"        try:"},{"line_number":134,"context_line":"            changed \u003d self._sync_lbaas_members(loadbalancer_crd)"},{"line_number":135,"context_line":"        except Exception as e:"},{"line_number":136,"context_line":"            self._add_event("},{"line_number":137,"context_line":"                loadbalancer_crd, \u0027KuryrEnsureLBError\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"1241cf67_368eb940","line":134,"updated":"2021-12-13 20:14:37.000000000","message":"Not sure if you noticed that when the more addresses are added to the Endpoints or any update happen an event (KuryrEnsureLB) is created:\n\nEvents:\n  Type    Reason               Age    From  Message\n  ----    ------               ----   ----  -------\n  Normal  KuryrServiceSkipped  12m          Skipping Service openshift-oauth-apiserver/api without Endpoints\n  Normal  KuryrServiceSkipped  11m          Skipping Service openshift-oauth-apiserver/api without Endpoints\n  Normal  KuryrServiceSkipped  10m          Skipping Service openshift-oauth-apiserver/api without Endpoints\n  Normal  KuryrServiceSkipped  9m21s        Skipping Service openshift-oauth-apiserver/api without Endpoints\n  Normal  KuryrEnsureLB        9m8s         Provisioning a load balancer\n  Normal  KuryrEnsuredLB       8m49s        Load balancer provisioned\n  Normal  KuryrEnsuredLB       8m28s        Load balancer provisioned\n  Normal  KuryrEnsuredLB       7m27s        Load balancer provisioned\n  Normal  KuryrEnsuredLB       3m42s        Load balancer provisioned\n  Normal  KuryrEnsuredLB       2m53s        Load balancer provisioned\n  Normal  KuryrEnsuredLB       2m44s        Load balancer provisioned\n  Normal  KuryrEnsuredLB       2m           Load balancer provisioned\n\nI\u0027m not sure if the \"Load balancer provisioned\" message is descriptive of what operation was performed, but it gives an indication that the LB is ok, so it\u0027s fine from my side.","commit_id":"ca719a4009384b8c86f9e0561d809f573f7d8dab"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"a40d75446674a34f5ded63b5a4bf0147e558b9f1","unresolved":true,"context_lines":[{"line_number":131,"context_line":"            self._add_event(loadbalancer_crd, \u0027KuryrEnsureLB\u0027,"},{"line_number":132,"context_line":"                            \u0027Provisioning a load balancer\u0027)"},{"line_number":133,"context_line":"        try:"},{"line_number":134,"context_line":"            changed \u003d self._sync_lbaas_members(loadbalancer_crd)"},{"line_number":135,"context_line":"        except Exception as e:"},{"line_number":136,"context_line":"            self._add_event("},{"line_number":137,"context_line":"                loadbalancer_crd, \u0027KuryrEnsureLBError\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"bc4a13a5_4a99c314","line":134,"in_reply_to":"1241cf67_368eb940","updated":"2021-12-14 11:24:17.000000000","message":"Yes, I spent some time considering correct wording here and this was best I could come up with.","commit_id":"ca719a4009384b8c86f9e0561d809f573f7d8dab"}]}
