From 35d1ac5b337e2955a08068f461c2d7427ff73c27 Mon Sep 17 00:00:00 2001 From: diptadas Date: Thu, 5 Apr 2018 16:15:25 +0600 Subject: [PATCH 1/2] Revendored (kutil only) --- .../kutil/apiextensions/v1beta1/kubernetes.go | 5 +++-- vendor/github.com/appscode/kutil/core/v1/pod.go | 4 ++-- .../appscode/kutil/core/v1/service.go | 17 +++++++++++++++++ .../appscode/kutil/tools/analytics/analytics.go | 8 ++++---- 4 files changed, 26 insertions(+), 8 deletions(-) diff --git a/vendor/github.com/appscode/kutil/apiextensions/v1beta1/kubernetes.go b/vendor/github.com/appscode/kutil/apiextensions/v1beta1/kubernetes.go index 296293cea..6238aa81a 100644 --- a/vendor/github.com/appscode/kutil/apiextensions/v1beta1/kubernetes.go +++ b/vendor/github.com/appscode/kutil/apiextensions/v1beta1/kubernetes.go @@ -16,7 +16,7 @@ import ( func RegisterCRDs(client crd_cs.ApiextensionsV1beta1Interface, crds []*crd_api.CustomResourceDefinition) error { for _, crd := range crds { - _, err := client.CustomResourceDefinitions().Get(crd.Name, metav1.GetOptions{}) + existing, err := client.CustomResourceDefinitions().Get(crd.Name, metav1.GetOptions{}) if kerr.IsNotFound(err) { _, err = client.CustomResourceDefinitions().Create(crd) if err != nil { @@ -25,7 +25,8 @@ func RegisterCRDs(client crd_cs.ApiextensionsV1beta1Interface, crds []*crd_api.C } else if err != nil { return err } else { - _, err = client.CustomResourceDefinitions().Update(crd) + existing.Spec.Validation = crd.Spec.Validation + _, err = client.CustomResourceDefinitions().Update(existing) if err != nil { return err } diff --git a/vendor/github.com/appscode/kutil/core/v1/pod.go b/vendor/github.com/appscode/kutil/core/v1/pod.go index 72e8e8b88..071477860 100644 --- a/vendor/github.com/appscode/kutil/core/v1/pod.go +++ b/vendor/github.com/appscode/kutil/core/v1/pod.go @@ -147,14 +147,14 @@ func WaitUntilPodRunningBySelector(kubeClient kubernetes.Interface, namespace st } func WaitUntilPodDeletedBySelector(kubeClient kubernetes.Interface, namespace string, selector *metav1.LabelSelector) error { - r, err := metav1.LabelSelectorAsSelector(selector) + sel, err := metav1.LabelSelectorAsSelector(selector) if err != nil { return err } return wait.PollImmediate(kutil.RetryInterval, kutil.ReadinessTimeout, func() (bool, error) { podList, err := kubeClient.CoreV1().Pods(namespace).List(metav1.ListOptions{ - LabelSelector: r.String(), + LabelSelector: sel.String(), }) if err != nil { return false, nil diff --git a/vendor/github.com/appscode/kutil/core/v1/service.go b/vendor/github.com/appscode/kutil/core/v1/service.go index 9a4e09fb2..e5cc6ea3f 100644 --- a/vendor/github.com/appscode/kutil/core/v1/service.go +++ b/vendor/github.com/appscode/kutil/core/v1/service.go @@ -107,3 +107,20 @@ func MergeServicePorts(cur, desired []core.ServicePort) []core.ServicePort { } return desired } + +func WaitUntilServiceDeletedBySelector(kubeClient kubernetes.Interface, namespace string, selector *metav1.LabelSelector) error { + sel, err := metav1.LabelSelectorAsSelector(selector) + if err != nil { + return err + } + + return wait.PollImmediate(kutil.RetryInterval, kutil.ReadinessTimeout, func() (bool, error) { + svcList, err := kubeClient.CoreV1().Services(namespace).List(metav1.ListOptions{ + LabelSelector: sel.String(), + }) + if err != nil { + return false, nil + } + return len(svcList.Items) == 0, nil + }) +} diff --git a/vendor/github.com/appscode/kutil/tools/analytics/analytics.go b/vendor/github.com/appscode/kutil/tools/analytics/analytics.go index a72015232..61cf27da6 100644 --- a/vendor/github.com/appscode/kutil/tools/analytics/analytics.go +++ b/vendor/github.com/appscode/kutil/tools/analytics/analytics.go @@ -28,16 +28,16 @@ const ( ) func ClientID() string { + if id, found := os.LookupEnv(Key); found { + return id + } + defer runtime.HandleCrash() if !meta.PossiblyInCluster() { return analytics.ClientID() } - if id := os.Getenv(Key); id != "" { - return id - } - cfg, err := rest.InClusterConfig() if err != nil { return "$k8s$inclusterconfig" From cc616590da123e1f7b77b3f7f5272d5c2cb07e7a Mon Sep 17 00:00:00 2001 From: diptadas Date: Thu, 5 Apr 2018 16:15:46 +0600 Subject: [PATCH 2/2] Added operator-only flag --- test/e2e/e2e.go | 5 ++++- test/e2e/options.go | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/test/e2e/e2e.go b/test/e2e/e2e.go index a1a20a887..da05c94c7 100644 --- a/test/e2e/e2e.go +++ b/test/e2e/e2e.go @@ -48,6 +48,10 @@ var _ = BeforeSuite(func() { root = framework.New(operatorConfig, options.TestNamespace, options.Cleanup) + if options.OperatorOnly { // run operator locally without running tests + root.Operator.RunInformers(nil) + } + By("Ensuring Test Namespace " + options.TestNamespace) err = root.EnsureNamespace() Expect(err).NotTo(HaveOccurred()) @@ -56,7 +60,6 @@ var _ = BeforeSuite(func() { if !meta.PossiblyInCluster() { go root.Operator.RunInformers(nil) - // select {} // run operator locally without running tests } Eventually(invocation.Ingress.Setup).Should(BeNil()) diff --git a/test/e2e/options.go b/test/e2e/options.go index ed99d2170..84fc0c3be 100644 --- a/test/e2e/options.go +++ b/test/e2e/options.go @@ -24,6 +24,7 @@ type E2EOptions struct { TestCertificate bool DumpLocation string LBPersistIP string + OperatorOnly bool } var ( @@ -34,6 +35,7 @@ var ( Cleanup: true, TestCertificate: false, DumpLocation: os.TempDir(), + OperatorOnly: false, } ) @@ -46,6 +48,7 @@ func init() { flag.BoolVar(&options.TestCertificate, "cert", options.TestCertificate, "") flag.StringVar(&options.DumpLocation, "dump", os.TempDir(), "") flag.StringVar(&options.LBPersistIP, "lb-ip", options.LBPersistIP, "LoadBalancer persistent IP") + flag.BoolVar(&options.OperatorOnly, "operator-only", options.OperatorOnly, "run operator locally without running tests") enableLogging() }