diff options
author | 2020-05-15 12:47:29 -0400 | |
---|---|---|
committer | 2020-05-15 09:47:29 -0700 | |
commit | a3aeb3d5034be71a352f874cfe7d7d31c218059d (patch) | |
tree | c9839454a0b2e57ecd19c76af738f6943753f2f9 /plugin/kubernetes/object/service.go | |
parent | bb7ee5010ed7eeba7aa269bdbe73b31e620c17cb (diff) | |
download | coredns-a3aeb3d5034be71a352f874cfe7d7d31c218059d.tar.gz coredns-a3aeb3d5034be71a352f874cfe7d7d31c218059d.tar.zst coredns-a3aeb3d5034be71a352f874cfe7d7d31c218059d.zip |
plugin/kubernetes: handle tombstones in default processor (#3890)
* handle deletion tombstones in default processor
Signed-off-by: Chris O'Haver <cohaver@infoblox.com>
* fix terminating pod exclusion
Signed-off-by: Chris O'Haver <cohaver@infoblox.com>
Diffstat (limited to 'plugin/kubernetes/object/service.go')
-rw-r--r-- | plugin/kubernetes/object/service.go | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/plugin/kubernetes/object/service.go b/plugin/kubernetes/object/service.go index 295715e2d..3dc061528 100644 --- a/plugin/kubernetes/object/service.go +++ b/plugin/kubernetes/object/service.go @@ -1,6 +1,8 @@ package object import ( + "fmt" + api "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/runtime" ) @@ -28,17 +30,16 @@ func ServiceKey(name, namespace string) string { return name + "." + namespace } // ToService returns a function that converts an api.Service to a *Service. func ToService(skipCleanup bool) ToFunc { - return func(obj interface{}) interface{} { - return toService(skipCleanup, obj) + return func(obj interface{}) (interface{}, error) { + svc, ok := obj.(*api.Service) + if !ok { + return nil, fmt.Errorf("unexpected object %v", obj) + } + return toService(skipCleanup, svc), nil } } -func toService(skipCleanup bool, obj interface{}) interface{} { - svc, ok := obj.(*api.Service) - if !ok { - return nil - } - +func toService(skipCleanup bool, svc *api.Service) *Service { s := &Service{ Version: svc.GetResourceVersion(), Name: svc.GetName(), |