Description of problem: If the CR contains data on the status field and all the endpoints subsets are cleaned up we should allow the removal of unused members. 2021-07-16 11:20:12.804 1 ERROR kuryr_kubernetes.handlers.logging [-] Failed to handle event {'type': 'ADDED', 'object': {'apiVersion': 'openstack.org/v1', 'kind': 'KuryrLoadBalancer', 'metadata': {'creationTimestamp': '2021-07-16T11:20:10Z', 'finalizers': ['kuryr.openstack.org/kuryrloadbalancer-finalizers'], 'generation': 1, 'managedFields': [{'apiVersion': 'openstack.org/v1', 'fieldsType': 'FieldsV1', 'fieldsV1': {'f:metadata': {'f:finalizers': {'.': {}, 'v:"kuryr.openstack.org/kuryrloadbalancer-finalizers"': {}}}, 'f:spec': {'.': {}, 'f:ip': {}, 'f:ports': {}, 'f:project_id': {}, 'f:provider': {}, 'f:security_groups_ids': {}, 'f:subnet_id': {}, 'f:type': {}}, 'f:status': {'.': {}, 'f:listeners': {}, 'f:loadbalancer': {'.': {}, 'f:id': {}, 'f:ip': {}, 'f:name': {}, 'f:port_id': {}, 'f:project_id': {}, 'f:provider': {}, 'f:security_groups': {}, 'f:subnet_id': {}}, 'f:members': {}, 'f:pools': {}}}, 'manager': 'python-requests', 'operation': 'Update', 'time': '2021-07-16T11:20:10Z'}], 'name': 'apiserver', 'namespace': 'openshift-kube-apiserver', 'resourceVersion': '626013', 'selfLink': '/apis/openstack.org/v1/namespaces/openshift-kube-apiserver/kuryrloadbalancers/apiserver', 'uid': 'df9fe40c-4838-4bd1-b422-ca923228c4e1'}, 'spec': {'ip': '172.30.91.185', 'ports': [{'name': 'https', 'port': 443, 'protocol': 'TCP', 'targetPort': '6443'}], 'project_id': '3583506d9c92457b9971b468f85fa720', 'provider': 'ovn', 'security_groups_ids': [], 'subnet_id': 'ae4e6d1d-b935-46c9-988b-ffd39df6d2db', 'type': 'ClusterIP'}, 'status': {'listeners': [{'id': 'e4b05fe0-914d-4939-9498-70b5bf8540c7', 'loadbalancer_id': '91458d9a-8069-43b4-b757-b86d29af3d53', 'name': 'openshift-kube-apiserver/apiserver:TCP:443', 'port': 443, 'project_id': '3583506d9c92457b9971b468f85fa720', 'protocol': 'TCP'}], 'loadbalancer': {'id': '91458d9a-8069-43b4-b757-b86d29af3d53', 'ip': '172.30.91.185', 'name': 'openshift-kube-apiserver/apiserver', 'port_id': 'bd979921-e388-44da-a313-ec57cb423490', 'project_id': '3583506d9c92457b9971b468f85fa720', 'provider': 'ovn', 'security_groups': [], 'subnet_id': 'ae4e6d1d-b935-46c9-988b-ffd39df6d2db'}, 'members': [{'id': 'ed5c0e42-17cc-45f7-b870-6cdffe7f1d62', 'ip': '10.196.1.231', 'name': 'openshift-kube-apiserver/kube-apiserver-ostest-f57bt-master-1:6443', 'pool_id': '506d9889-2915-455b-ae35-ca9b4cd6415d', 'port': 6443, 'project_id': '3583506d9c92457b9971b468f85fa720', 'subnet_id': '680f1c22-33ee-4240-a9d4-2d26d9e61008'}, {'id': 'd232b251-d2f3-405c-a991-63a30fddbc23', 'ip': '10.196.2.151', 'name': 'openshift-kube-apiserver/kube-apiserver-ostest-f57bt-master-0:6443', 'pool_id': '506d9889-2915-455b-ae35-ca9b4cd6415d', 'port': 6443, 'project_id': '3583506d9c92457b9971b468f85fa720', 'subnet_id': '680f1c22-33ee-4240-a9d4-2d26d9e61008'}, {'id': 'ba8ac4b1-7e64-442f-b007-323f06346cdb', 'ip': '10.196.2.208', 'name': 'openshift-kube-apiserver/kube-apiserver-ostest-f57bt-master-2:6443', 'pool_id': '506d9889-2915-455b-ae35-ca9b4cd6415d', 'port': 6443, 'project_id': '3583506d9c92457b9971b468f85fa720', 'subnet_id': '680f1c22-33ee-4240-a9d4-2d26d9e61008'}], 'pools': [{'id': '506d9889-2915-455b-ae35-ca9b4cd6415d', 'listener_id': 'e4b05fe0-914d-4939-9498-70b5bf8540c7', 'loadbalancer_id': '91458d9a-8069-43b4-b757-b86d29af3d53', 'name': 'openshift-kube-apiserver/apiserver:TCP:443', 'project_id': '3583506d9c92457b9971b468f85fa720', 'protocol': 'TCP'}]}}}: TypeError: 'NoneType' object is not iterable 2021-07-16 11:20:12.804 1 ERROR kuryr_kubernetes.handlers.logging Traceback (most recent call last): 2021-07-16 11:20:12.804 1 ERROR kuryr_kubernetes.handlers.logging File "/usr/lib/python3.6/site-packages/kuryr_kubernetes/handlers/logging.py", line 37, in __call__ 2021-07-16 11:20:12.804 1 ERROR kuryr_kubernetes.handlers.logging self._handler(event, *args, **kwargs) 2021-07-16 11:20:12.804 1 ERROR kuryr_kubernetes.handlers.logging File "/usr/lib/python3.6/site-packages/kuryr_kubernetes/handlers/retry.py", line 81, in __call__ 2021-07-16 11:20:12.804 1 ERROR kuryr_kubernetes.handlers.logging self._handler(event, *args, **kwargs) 2021-07-16 11:20:12.804 1 ERROR kuryr_kubernetes.handlers.logging File "/usr/lib/python3.6/site-packages/kuryr_kubernetes/handlers/k8s_base.py", line 90, in __call__ 2021-07-16 11:20:12.804 1 ERROR kuryr_kubernetes.handlers.logging self.on_present(obj) 2021-07-16 11:20:12.804 1 ERROR kuryr_kubernetes.handlers.logging File "/usr/lib/python3.6/site-packages/kuryr_kubernetes/controller/handlers/loadbalancer.py", line 79, in on_present 2021-07-16 11:20:12.804 1 ERROR kuryr_kubernetes.handlers.logging if self._sync_lbaas_members(loadbalancer_crd): 2021-07-16 11:20:12.804 1 ERROR kuryr_kubernetes.handlers.logging File "/usr/lib/python3.6/site-packages/kuryr_kubernetes/controller/handlers/loadbalancer.py", line 175, in _sync_lbaas_members 2021-07-16 11:20:12.804 1 ERROR kuryr_kubernetes.handlers.logging if (self._remove_unused_members(loadbalancer_crd)): 2021-07-16 11:20:12.804 1 ERROR kuryr_kubernetes.handlers.logging File "/usr/lib/python3.6/site-packages/kuryr_kubernetes/controller/handlers/loadbalancer.py", line 389, in _remove_unused_members 2021-07-16 11:20:12.804 1 ERROR kuryr_kubernetes.handlers.logging for ep_slice in ep_slices 2021-07-16 11:20:12.804 1 ERROR kuryr_kubernetes.handlers.logging TypeError: 'NoneType' object is not iterable 2021-07-16 11:20:12.804 1 ERROR kuryr_kubernetes.handlers.logging 2021-07-16 11:20:12.809 1 ERROR kuryr_kubernetes.handlers.retry [-] Report handler unhealthy KuryrLoadBalancerHandler: TypeError: 'NoneType' object is not iterable 2021-07-16 11:20:12.809 1 ERROR kuryr_kubernetes.handlers.retry Traceback (most recent call last): 2021-07-16 11:20:12.809 1 ERROR kuryr_kubernetes.handlers.retry File "/usr/lib/python3.6/site-packages/kuryr_kubernetes/handlers/retry.py", line 81, in __call__ 2021-07-16 11:20:12.809 1 ERROR kuryr_kubernetes.handlers.retry self._handler(event, *args, **kwargs) 2021-07-16 11:20:12.809 1 ERROR kuryr_kubernetes.handlers.retry File "/usr/lib/python3.6/site-packages/kuryr_kubernetes/handlers/k8s_base.py", line 90, in __call__ 2021-07-16 11:20:12.809 1 ERROR kuryr_kubernetes.handlers.retry self.on_present(obj) 2021-07-16 11:20:12.809 1 ERROR kuryr_kubernetes.handlers.retry File "/usr/lib/python3.6/site-packages/kuryr_kubernetes/controller/handlers/loadbalancer.py", line 79, in on_present 2021-07-16 11:20:12.809 1 ERROR kuryr_kubernetes.handlers.retry if self._sync_lbaas_members(loadbalancer_crd): 2021-07-16 11:20:12.809 1 ERROR kuryr_kubernetes.handlers.retry File "/usr/lib/python3.6/site-packages/kuryr_kubernetes/controller/handlers/loadbalancer.py", line 175, in _sync_lbaas_members 2021-07-16 11:20:12.809 1 ERROR kuryr_kubernetes.handlers.retry if (self._remove_unused_members(loadbalancer_crd)): 2021-07-16 11:20:12.809 1 ERROR kuryr_kubernetes.handlers.retry File "/usr/lib/python3.6/site-packages/kuryr_kubernetes/controller/handlers/loadbalancer.py", line 389, in _remove_unused_members 2021-07-16 11:20:12.809 1 ERROR kuryr_kubernetes.handlers.retry for ep_slice in ep_slices 2021-07-16 11:20:12.809 1 ERROR kuryr_kubernetes.handlers.retry TypeError: 'NoneType' object is not iterable 2021-07-16 11:20:12.809 1 ERROR kuryr_kubernetes.handlers.retry Version-Release number of selected component (if applicable): ocp 4.6.31 How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
The issue is already fixed on 4.8 release, so I'm closing this bug. https://github.com/openshift/kuryr-kubernetes/blob/release-4.8/kuryr_kubernetes/controller/handlers/loadbalancer.py#L426