aboutsummaryrefslogtreecommitdiff
path: root/plugin/kubernetes/object/service.go
diff options
context:
space:
mode:
authorGravatar Chris O'Haver <cohaver@infoblox.com> 2020-05-15 12:47:29 -0400
committerGravatar GitHub <noreply@github.com> 2020-05-15 09:47:29 -0700
commita3aeb3d5034be71a352f874cfe7d7d31c218059d (patch)
treec9839454a0b2e57ecd19c76af738f6943753f2f9 /plugin/kubernetes/object/service.go
parentbb7ee5010ed7eeba7aa269bdbe73b31e620c17cb (diff)
downloadcoredns-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.go17
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(),