diff --git a/kuryr_kubernetes/constants.py b/kuryr_kubernetes/constants.py index 3a1732530..90b515c2c 100644 --- a/kuryr_kubernetes/constants.py +++ b/kuryr_kubernetes/constants.py @@ -69,6 +69,8 @@ K8S_ANNOTATION_OLD_DRIVER = 'old_driver' K8S_ANNOTATION_CURRENT_DRIVER = 'current_driver' K8S_ANNOTATION_NEUTRON_PORT = 'neutron_id' +K8S_ANNOTATION_HEADLESS_SERVICE = 'service.kubernetes.io/headless' + POD_FINALIZER = KURYR_FQDN + '/pod-finalizer' KURYRNETWORK_FINALIZER = 'kuryrnetwork.finalizers.kuryr.openstack.org' KURYRLB_FINALIZER = 'kuryr.openstack.org/kuryrloadbalancer-finalizers' diff --git a/kuryr_kubernetes/controller/handlers/lbaas.py b/kuryr_kubernetes/controller/handlers/lbaas.py index 45f6dd62d..5e6a6a2e5 100644 --- a/kuryr_kubernetes/controller/handlers/lbaas.py +++ b/kuryr_kubernetes/controller/handlers/lbaas.py @@ -270,7 +270,9 @@ class EndpointsHandler(k8s_base.ResourceEventHandler): k8s = clients.get_kubernetes_client() loadbalancer_crd = k8s.get_loadbalancer_crd(endpoints) - if not self._has_pods(endpoints): + if (not self._has_pods(endpoints) or + k_const.K8S_ANNOTATION_HEADLESS_SERVICE + in endpoints['metadata'].get('labels', [])): LOG.debug("Ignoring Kubernetes endpoints %s", endpoints['metadata']['name']) return