)]}'
{"kuryr_kubernetes/controller/handlers/namespace.py":[{"author":{"_account_id":14352,"name":"Antoni Segura Puimedon","email":"celebdor@gmail.com","username":"toni"},"change_message_id":"5b796245d5ee18c787fff30b6dfd11f7f60c94d7","unresolved":false,"context_lines":[{"line_number":122,"context_line":"            self._drv_sg.create_namespace_sg_rules(namespace)"},{"line_number":123,"context_line":"        except (exceptions.K8sClientException,"},{"line_number":124,"context_line":"                exceptions.K8sResourceNotFound):"},{"line_number":125,"context_line":"            LOG.exception(\"Kubernetes client exception. Rolling back \""},{"line_number":126,"context_line":"                          \"resources created for the namespace.\")"},{"line_number":127,"context_line":"            self._drv_subnets.rollback_network_resources(net_crd_spec, ns_name)"},{"line_number":128,"context_line":"            if net_crd_sg.get(\u0027sgId\u0027):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_660b878d","line":125,"updated":"2019-10-14 16:36:43.000000000","message":"This logging message could probably use update now.","commit_id":"532919019eceb6b4cb3b375d1054a4aec449bf40"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"72042a74e7126545c736b810b263d1d096b5f967","unresolved":false,"context_lines":[{"line_number":122,"context_line":"            self._drv_sg.create_namespace_sg_rules(namespace)"},{"line_number":123,"context_line":"        except (exceptions.K8sClientException,"},{"line_number":124,"context_line":"                exceptions.K8sResourceNotFound):"},{"line_number":125,"context_line":"            LOG.exception(\"Kubernetes client exception. Rolling back \""},{"line_number":126,"context_line":"                          \"resources created for the namespace.\")"},{"line_number":127,"context_line":"            self._drv_subnets.rollback_network_resources(net_crd_spec, ns_name)"},{"line_number":128,"context_line":"            if net_crd_sg.get(\u0027sgId\u0027):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_e624570f","line":125,"in_reply_to":"3fa7e38b_660b878d","updated":"2019-10-14 16:39:23.000000000","message":"Done","commit_id":"532919019eceb6b4cb3b375d1054a4aec449bf40"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"11da3c0f79d801baac31312ef7e52ae208641895","unresolved":false,"context_lines":[{"line_number":62,"context_line":"            self._drv_svc_sg \u003d ("},{"line_number":63,"context_line":"                drivers.ServiceSecurityGroupsDriver.get_instance())"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def on_present(self, namespace):"},{"line_number":66,"context_line":"        ns_name \u003d namespace[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":67,"context_line":"        # NOTE(ltomasbo): To protect in case of out of band retries after the"},{"line_number":68,"context_line":"        # namespace has actually being deleted"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_1801c005","line":65,"range":{"start_line":65,"start_character":4,"end_line":65,"end_character":36},"updated":"2019-10-15 11:57:57.000000000","message":"What do you think about passing a flag here that would identify the event as a retry or not? This way we would be able to restrict the retrieval of the resource to only this case.\nWe would probably need to change it here [1] and here [2].\n\n[1] https://github.com/openstack/kuryr-kubernetes/blob/80aeec3dcc902cc0ae011441a4059a180a11ea1c/kuryr_kubernetes/handlers/retry.py#L56\n[2] https://github.com/openstack/kuryr-kubernetes/blob/80aeec3dcc902cc0ae011441a4059a180a11ea1c/kuryr_kubernetes/handlers/k8s_base.py#L67","commit_id":"21bf1a417a9ba9ee26011c4200afdf266ebe4af4"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"f61415c8eb874faafb19d2dca4a00c25aeffdcff","unresolved":false,"context_lines":[{"line_number":62,"context_line":"            self._drv_svc_sg \u003d ("},{"line_number":63,"context_line":"                drivers.ServiceSecurityGroupsDriver.get_instance())"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def on_present(self, namespace):"},{"line_number":66,"context_line":"        ns_name \u003d namespace[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":67,"context_line":"        # NOTE(ltomasbo): To protect in case of out of band retries after the"},{"line_number":68,"context_line":"        # namespace has actually being deleted"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_80a52705","line":65,"range":{"start_line":65,"start_character":4,"end_line":65,"end_character":36},"in_reply_to":"3fa7e38b_0a14f8e7","updated":"2019-10-16 10:25:32.000000000","message":"Agree! I\u0027ll submit a new ps asap!","commit_id":"21bf1a417a9ba9ee26011c4200afdf266ebe4af4"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"571f9517e614df37c9bc5722e89b62d84ae5fc5e","unresolved":false,"context_lines":[{"line_number":62,"context_line":"            self._drv_svc_sg \u003d ("},{"line_number":63,"context_line":"                drivers.ServiceSecurityGroupsDriver.get_instance())"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def on_present(self, namespace):"},{"line_number":66,"context_line":"        ns_name \u003d namespace[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":67,"context_line":"        # NOTE(ltomasbo): To protect in case of out of band retries after the"},{"line_number":68,"context_line":"        # namespace has actually being deleted"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_ca0900dd","line":65,"range":{"start_line":65,"start_character":4,"end_line":65,"end_character":36},"in_reply_to":"3fa7e38b_1801c005","updated":"2019-10-16 08:36:34.000000000","message":"Wow, this actually makes a lot of sense. We could even fetch the resource automatically in the RetryHandler code (each resource is guaranteed to have .metadata.selfLink).","commit_id":"21bf1a417a9ba9ee26011c4200afdf266ebe4af4"},{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"f1cb205de8e660bd52e2c561b8e2b8420aafb3f8","unresolved":false,"context_lines":[{"line_number":62,"context_line":"            self._drv_svc_sg \u003d ("},{"line_number":63,"context_line":"                drivers.ServiceSecurityGroupsDriver.get_instance())"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def on_present(self, namespace):"},{"line_number":66,"context_line":"        ns_name \u003d namespace[\u0027metadata\u0027][\u0027name\u0027]"},{"line_number":67,"context_line":"        # NOTE(ltomasbo): To protect in case of out of band retries after the"},{"line_number":68,"context_line":"        # namespace has actually being deleted"}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_0a14f8e7","line":65,"range":{"start_line":65,"start_character":4,"end_line":65,"end_character":36},"in_reply_to":"3fa7e38b_ca0900dd","updated":"2019-10-16 08:40:09.000000000","message":"+1. This is a better approach.","commit_id":"21bf1a417a9ba9ee26011c4200afdf266ebe4af4"}],"kuryr_kubernetes/controller/handlers/vif.py":[{"author":{"_account_id":27032,"name":"Maysa de Macedo Souza","email":"maysa.macedo95@gmail.com","username":"maysa"},"change_message_id":"a49a6544ec8c0942322bb2fe07fdbf092c2f3581","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        if not state:"},{"line_number":95,"context_line":"            try:"},{"line_number":96,"context_line":"                subnets \u003d self._drv_subnets.get_subnets(pod, project_id)"},{"line_number":97,"context_line":"            except (n_exc.NotFound, k_exc.K8sResourceNotFound):"},{"line_number":98,"context_line":"                LOG.warning(\"Subnet does not exists. If namespace driver is \""},{"line_number":99,"context_line":"                            \"used, probably the namespace for the pod is \""},{"line_number":100,"context_line":"                            \"already deleted. So this pod does not need to \""}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_a2141245","line":97,"range":{"start_line":97,"start_character":36,"end_line":97,"end_character":61},"updated":"2019-10-14 08:56:54.000000000","message":"I believe the get_subnets method never raises a Kubernetes resource not found exception as it only sends requests to Neutron.","commit_id":"532919019eceb6b4cb3b375d1054a4aec449bf40"}],"kuryr_kubernetes/handlers/retry.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"84d614cda5631b4122455b90ace0b8be58cc080a","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        deadline \u003d time.time() + self._timeout"},{"line_number":55,"context_line":"        for attempt in itertools.count(1):"},{"line_number":56,"context_line":"            try:"},{"line_number":57,"context_line":"                if event.get(\u0027type\u0027) !\u003d \u0027DELETED\u0027:"},{"line_number":58,"context_line":"                    obj \u003d event.get(\u0027object\u0027)"},{"line_number":59,"context_line":"                    obj_link \u003d obj[\u0027metadata\u0027][\u0027selfLink\u0027]"},{"line_number":60,"context_line":"                    k8s \u003d clients.get_kubernetes_client()"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_80dd2742","line":57,"range":{"start_line":57,"start_character":40,"end_line":57,"end_character":49},"updated":"2019-10-16 10:51:03.000000000","message":"Let\u0027s specify ADDED and MODIFIED here. There is also a BOOKMARK type [1] that we should ignore here.\n\n[1] https://kubernetes.io/docs/reference/using-api/api-concepts/#watch-bookmarks","commit_id":"0868b59792160fec89d858e9e91397db27b7373f"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"b707b20e2af64dd495e46664cd99dd655341e89e","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        deadline \u003d time.time() + self._timeout"},{"line_number":55,"context_line":"        for attempt in itertools.count(1):"},{"line_number":56,"context_line":"            try:"},{"line_number":57,"context_line":"                if event.get(\u0027type\u0027) !\u003d \u0027DELETED\u0027:"},{"line_number":58,"context_line":"                    obj \u003d event.get(\u0027object\u0027)"},{"line_number":59,"context_line":"                    obj_link \u003d obj[\u0027metadata\u0027][\u0027selfLink\u0027]"},{"line_number":60,"context_line":"                    k8s \u003d clients.get_kubernetes_client()"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_e0741b38","line":57,"range":{"start_line":57,"start_character":40,"end_line":57,"end_character":49},"in_reply_to":"3fa7e38b_80dd2742","updated":"2019-10-16 11:12:19.000000000","message":"Done","commit_id":"0868b59792160fec89d858e9e91397db27b7373f"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"84d614cda5631b4122455b90ace0b8be58cc080a","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            try:"},{"line_number":57,"context_line":"                if event.get(\u0027type\u0027) !\u003d \u0027DELETED\u0027:"},{"line_number":58,"context_line":"                    obj \u003d event.get(\u0027object\u0027)"},{"line_number":59,"context_line":"                    obj_link \u003d obj[\u0027metadata\u0027][\u0027selfLink\u0027]"},{"line_number":60,"context_line":"                    k8s \u003d clients.get_kubernetes_client()"},{"line_number":61,"context_line":"                    try:"},{"line_number":62,"context_line":"                        k8s.get(obj_link)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_40cc0f88","line":59,"range":{"start_line":59,"start_character":20,"end_line":59,"end_character":58},"updated":"2019-10-16 10:51:03.000000000","message":"I\u0027d wrap that in try-except with KeyError just to be sure. Also obj might be None.","commit_id":"0868b59792160fec89d858e9e91397db27b7373f"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"b707b20e2af64dd495e46664cd99dd655341e89e","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            try:"},{"line_number":57,"context_line":"                if event.get(\u0027type\u0027) !\u003d \u0027DELETED\u0027:"},{"line_number":58,"context_line":"                    obj \u003d event.get(\u0027object\u0027)"},{"line_number":59,"context_line":"                    obj_link \u003d obj[\u0027metadata\u0027][\u0027selfLink\u0027]"},{"line_number":60,"context_line":"                    k8s \u003d clients.get_kubernetes_client()"},{"line_number":61,"context_line":"                    try:"},{"line_number":62,"context_line":"                        k8s.get(obj_link)"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_c07d5fe7","line":59,"range":{"start_line":59,"start_character":20,"end_line":59,"end_character":58},"in_reply_to":"3fa7e38b_40cc0f88","updated":"2019-10-16 11:12:19.000000000","message":"Done","commit_id":"0868b59792160fec89d858e9e91397db27b7373f"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"84d614cda5631b4122455b90ace0b8be58cc080a","unresolved":false,"context_lines":[{"line_number":57,"context_line":"                if event.get(\u0027type\u0027) !\u003d \u0027DELETED\u0027:"},{"line_number":58,"context_line":"                    obj \u003d event.get(\u0027object\u0027)"},{"line_number":59,"context_line":"                    obj_link \u003d obj[\u0027metadata\u0027][\u0027selfLink\u0027]"},{"line_number":60,"context_line":"                    k8s \u003d clients.get_kubernetes_client()"},{"line_number":61,"context_line":"                    try:"},{"line_number":62,"context_line":"                        k8s.get(obj_link)"},{"line_number":63,"context_line":"                    except exceptions.K8sResourceNotFound:"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_60b34b0b","line":60,"range":{"start_line":60,"start_character":20,"end_line":60,"end_character":57},"updated":"2019-10-16 10:51:03.000000000","message":"Let\u0027s put it as Retry() property?","commit_id":"0868b59792160fec89d858e9e91397db27b7373f"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"b707b20e2af64dd495e46664cd99dd655341e89e","unresolved":false,"context_lines":[{"line_number":57,"context_line":"                if event.get(\u0027type\u0027) !\u003d \u0027DELETED\u0027:"},{"line_number":58,"context_line":"                    obj \u003d event.get(\u0027object\u0027)"},{"line_number":59,"context_line":"                    obj_link \u003d obj[\u0027metadata\u0027][\u0027selfLink\u0027]"},{"line_number":60,"context_line":"                    k8s \u003d clients.get_kubernetes_client()"},{"line_number":61,"context_line":"                    try:"},{"line_number":62,"context_line":"                        k8s.get(obj_link)"},{"line_number":63,"context_line":"                    except exceptions.K8sResourceNotFound:"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_00d37702","line":60,"range":{"start_line":60,"start_character":20,"end_line":60,"end_character":57},"in_reply_to":"3fa7e38b_60b34b0b","updated":"2019-10-16 11:12:19.000000000","message":"Done","commit_id":"0868b59792160fec89d858e9e91397db27b7373f"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"84d614cda5631b4122455b90ace0b8be58cc080a","unresolved":false,"context_lines":[{"line_number":60,"context_line":"                    k8s \u003d clients.get_kubernetes_client()"},{"line_number":61,"context_line":"                    try:"},{"line_number":62,"context_line":"                        k8s.get(obj_link)"},{"line_number":63,"context_line":"                    except exceptions.K8sResourceNotFound:"},{"line_number":64,"context_line":"                        LOG.debug(\"There is no need to process the retry as \""},{"line_number":65,"context_line":"                                  \"the object %s has already been deleted.\","},{"line_number":66,"context_line":"                                  obj_link)"},{"line_number":67,"context_line":"                        return"},{"line_number":68,"context_line":"                self._handler(event)"},{"line_number":69,"context_line":"                break"},{"line_number":70,"context_line":"            except n_exc.OverQuotaClient:"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_60a82b8b","line":67,"range":{"start_line":63,"start_character":0,"end_line":67,"end_character":30},"updated":"2019-10-16 10:51:03.000000000","message":"Should we catch other K8s errors here?","commit_id":"0868b59792160fec89d858e9e91397db27b7373f"},{"author":{"_account_id":23567,"name":"Luis Tomas Bolivar","email":"ltomasbo@redhat.com","username":"ltomasbo"},"change_message_id":"b707b20e2af64dd495e46664cd99dd655341e89e","unresolved":false,"context_lines":[{"line_number":60,"context_line":"                    k8s \u003d clients.get_kubernetes_client()"},{"line_number":61,"context_line":"                    try:"},{"line_number":62,"context_line":"                        k8s.get(obj_link)"},{"line_number":63,"context_line":"                    except exceptions.K8sResourceNotFound:"},{"line_number":64,"context_line":"                        LOG.debug(\"There is no need to process the retry as \""},{"line_number":65,"context_line":"                                  \"the object %s has already been deleted.\","},{"line_number":66,"context_line":"                                  obj_link)"},{"line_number":67,"context_line":"                        return"},{"line_number":68,"context_line":"                self._handler(event)"},{"line_number":69,"context_line":"                break"},{"line_number":70,"context_line":"            except n_exc.OverQuotaClient:"}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_80e767e3","line":67,"range":{"start_line":63,"start_character":0,"end_line":67,"end_character":30},"in_reply_to":"3fa7e38b_60a82b8b","updated":"2019-10-16 11:12:19.000000000","message":"Done","commit_id":"0868b59792160fec89d858e9e91397db27b7373f"},{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"498dfc18f80a84ee72c2f37dc618fd37baceec1a","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                                      \"retry as the object %s has already \""},{"line_number":71,"context_line":"                                      \"been deleted.\", obj_link)"},{"line_number":72,"context_line":"                            return"},{"line_number":73,"context_line":"                        except exceptions.K8sClientException:"},{"line_number":74,"context_line":"                            with excutils.save_and_reraise_exception() as ex:"},{"line_number":75,"context_line":"                                if self._sleep(deadline, attempt, ex.value):"},{"line_number":76,"context_line":"                                    ex.reraise \u003d False"},{"line_number":77,"context_line":"                                    continue"},{"line_number":78,"context_line":"            try:"},{"line_number":79,"context_line":"                self._handler(event)"},{"line_number":80,"context_line":"                break"}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_5b85e0ab","line":77,"range":{"start_line":73,"start_character":0,"end_line":77,"end_character":44},"updated":"2019-10-16 12:19:30.000000000","message":"Uhm, I don\u0027t really understand this part. IMO if we happened to hit K8sClientError we should just ignore it and proceed with the handler.","commit_id":"ffd496eac5c78c72723cc9f7e234d23bebaa6170"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"1e75776de79be5114d305c3e5899c9316b6d6d3e","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    def __call__(self, event):"},{"line_number":55,"context_line":"        deadline \u003d time.time() + self._timeout"},{"line_number":56,"context_line":"        for attempt in itertools.count(1):"},{"line_number":57,"context_line":"            if event.get(\u0027type\u0027) in [\u0027MODIFIED\u0027, \u0027ADDED\u0027]:"},{"line_number":58,"context_line":"                obj \u003d event.get(\u0027object\u0027)"},{"line_number":59,"context_line":"                if obj:"},{"line_number":60,"context_line":"                    try:"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_4cc8c853","line":57,"range":{"start_line":57,"start_character":12,"end_line":57,"end_character":58},"updated":"2019-10-16 14:34:10.000000000","message":"You can do quick return from the loop for processing another attempt, so that the code will not have so many indentation levels.\n\n  if event.get(\u0027type\u0027) not in (\u0027MODIFIED\u0027, \u0027ADDED\u0027):\n      continue","commit_id":"7331a1c0aef0ae6a2b8ab89489392862fed70194"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"1e75776de79be5114d305c3e5899c9316b6d6d3e","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        for attempt in itertools.count(1):"},{"line_number":57,"context_line":"            if event.get(\u0027type\u0027) in [\u0027MODIFIED\u0027, \u0027ADDED\u0027]:"},{"line_number":58,"context_line":"                obj \u003d event.get(\u0027object\u0027)"},{"line_number":59,"context_line":"                if obj:"},{"line_number":60,"context_line":"                    try:"},{"line_number":61,"context_line":"                        obj_link \u003d obj[\u0027metadata\u0027][\u0027selfLink\u0027]"},{"line_number":62,"context_line":"                    except KeyError:"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_ecc2d433","line":59,"range":{"start_line":59,"start_character":0,"end_line":59,"end_character":23},"updated":"2019-10-16 14:34:10.000000000","message":"if not obj:\n      continue","commit_id":"7331a1c0aef0ae6a2b8ab89489392862fed70194"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"1e75776de79be5114d305c3e5899c9316b6d6d3e","unresolved":false,"context_lines":[{"line_number":62,"context_line":"                    except KeyError:"},{"line_number":63,"context_line":"                        LOG.debug(\"Skipping object check as it does not have \""},{"line_number":64,"context_line":"                                  \"selfLink: %s\", obj)"},{"line_number":65,"context_line":"                    else:"},{"line_number":66,"context_line":"                        try:"},{"line_number":67,"context_line":"                            self._k8s.get(obj_link)"},{"line_number":68,"context_line":"                        except exceptions.K8sResourceNotFound:"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_4c3be836","line":65,"range":{"start_line":65,"start_character":0,"end_line":65,"end_character":25},"updated":"2019-10-16 14:34:10.000000000","message":"`countinue` on exception. again we save one indent level.","commit_id":"7331a1c0aef0ae6a2b8ab89489392862fed70194"},{"author":{"_account_id":13692,"name":"Roman Dobosz","email":"gryf73@gmail.com","username":"gryf"},"change_message_id":"ed48752760d3998a0a196d344525c4c1a4d9b368","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                            LOG.debug(\"Kubernetes client error getting the \""},{"line_number":75,"context_line":"                                      \"object. Continuing with handler \""},{"line_number":76,"context_line":"                                      \"execution.\")"},{"line_number":77,"context_line":"            try:"},{"line_number":78,"context_line":"                self._handler(event)"},{"line_number":79,"context_line":"                break"},{"line_number":80,"context_line":"            except n_exc.OverQuotaClient:"}],"source_content_type":"text/x-python","patch_set":11,"id":"3fa7e38b_92d33660","line":77,"updated":"2019-10-16 14:57:03.000000000","message":"Please, ignore my comments above, I was deceived by the indentation level, and thought that this line is outside of the loop, which is not true.","commit_id":"7331a1c0aef0ae6a2b8ab89489392862fed70194"}],"kuryr_kubernetes/utils.py":[{"author":{"_account_id":11600,"name":"Michał Dulko","email":"michal.dulko@gmail.com","username":"dulek"},"change_message_id":"a409ecd770afb0e4b8d54ad2c77287898821297c","unresolved":false,"context_lines":[{"line_number":40,"context_line":"                              \u0027neutron\u0027: [\u0027neutron-vif\u0027],"},{"line_number":41,"context_line":"                              \u0027nested\u0027: [\u0027nested-vlan\u0027],"},{"line_number":42,"context_line":"                              }"},{"line_number":43,"context_line":"DEFAULT_TIMEOUT \u003d 500"},{"line_number":44,"context_line":"DEFAULT_INTERVAL \u003d 3"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"subnet_caching_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_7395a3e3","line":43,"range":{"start_line":43,"start_character":0,"end_line":43,"end_character":21},"updated":"2019-10-11 13:29:08.000000000","message":"I don\u0027t like the idea of changing the default if that is to be backported… But I guess it\u0027s not a big deal really - we see it improves stuff and we clearly see Neutron not keeping up with old timeout.","commit_id":"b1f2f64660ac660a8c83639a845d1be15bca946e"}]}
