From b2613f151487f12362917ed8db6065c7bb648faf Mon Sep 17 00:00:00 2001 From: TigerXu Date: Wed, 10 Jan 2018 09:30:23 +0800 Subject: [PATCH] Revert "no need delete endpoint explicitly in endpoint controller" --- pkg/controller/endpoint/endpoints_controller.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkg/controller/endpoint/endpoints_controller.go b/pkg/controller/endpoint/endpoints_controller.go index b7d46c3e07..8aa41da8a8 100644 --- a/pkg/controller/endpoint/endpoints_controller.go +++ b/pkg/controller/endpoint/endpoints_controller.go @@ -394,7 +394,15 @@ func (e *EndpointController) syncService(key string) error { } service, err := e.serviceLister.Services(namespace).Get(name) if err != nil { - // Service has been deleted. So no need to do any more operations. + // Delete the corresponding endpoint, as the service has been deleted. + // TODO: Please note that this will delete an endpoint when a + // service is deleted. However, if we're down at the time when + // the service is deleted, we will miss that deletion, so this + // doesn't completely solve the problem. See #6877. + err = e.client.CoreV1().Endpoints(namespace).Delete(name, nil) + if err != nil && !errors.IsNotFound(err) { + return err + } return nil }