From 7086a16e29cfb106c272437f756b6cef628e7582 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reinhard=20Na=CC=88gele?= Date: Sat, 27 Jan 2018 11:18:41 +0100 Subject: [PATCH] Fix 'getSelectorFromObject' (cherry picked from commit ea520afd3e4d0eb3637a10b7443ca83bcaf340e8) --- pkg/kube/client.go | 37 +++++++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/pkg/kube/client.go b/pkg/kube/client.go index 2cb94cd23..6b911c8a0 100644 --- a/pkg/kube/client.go +++ b/pkg/kube/client.go @@ -27,10 +27,12 @@ import ( "time" jsonpatch "github.com/evanphx/json-patch" - apps "k8s.io/api/apps/v1beta2" + appsv1 "k8s.io/api/apps/v1" + appsv1beta1 "k8s.io/api/apps/v1beta1" + appsv1beta2 "k8s.io/api/apps/v1beta2" batch "k8s.io/api/batch/v1" "k8s.io/api/core/v1" - "k8s.io/api/extensions/v1beta1" + extv1beta1 "k8s.io/api/extensions/v1beta1" apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/meta" @@ -507,18 +509,41 @@ func updateResource(c *Client, target *resource.Info, currentObj runtime.Object, func getSelectorFromObject(obj runtime.Object) (map[string]string, error) { switch typed := obj.(type) { + case *v1.ReplicationController: return typed.Spec.Selector, nil - case *v1beta1.ReplicaSet: + + case *extv1beta1.ReplicaSet: + return typed.Spec.Selector.MatchLabels, nil + case *appsv1.ReplicaSet: + return typed.Spec.Selector.MatchLabels, nil + + case *extv1beta1.Deployment: + return typed.Spec.Selector.MatchLabels, nil + case *appsv1beta1.Deployment: return typed.Spec.Selector.MatchLabels, nil - case *v1beta1.Deployment: + case *appsv1beta2.Deployment: return typed.Spec.Selector.MatchLabels, nil - case *v1beta1.DaemonSet: + case *appsv1.Deployment: + return typed.Spec.Selector.MatchLabels, nil + + case *extv1beta1.DaemonSet: return typed.Spec.Selector.MatchLabels, nil + case *appsv1beta2.DaemonSet: + return typed.Spec.Selector.MatchLabels, nil + case *appsv1.DaemonSet: + return typed.Spec.Selector.MatchLabels, nil + case *batch.Job: return typed.Spec.Selector.MatchLabels, nil - case *apps.StatefulSet: + + case *appsv1beta1.StatefulSet: return typed.Spec.Selector.MatchLabels, nil + case *appsv1beta2.StatefulSet: + return typed.Spec.Selector.MatchLabels, nil + case *appsv1.StatefulSet: + return typed.Spec.Selector.MatchLabels, nil + default: return nil, fmt.Errorf("Unsupported kind when getting selector: %v", obj) }