This is an automated email from the ASF dual-hosted git repository.

kaxilnaik pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airflow-on-k8s-operator.git


The following commit(s) were added to refs/heads/master by this push:
     new dd430ea  Get e2e tests working (#6)
dd430ea is described below

commit dd430eaa7c3add972f410e058a2fe0a4a58eeb64
Author: barney-s <6457279+barne...@users.noreply.github.com>
AuthorDate: Thu Jan 23 20:41:17 2020 -0800

    Get e2e tests working (#6)
    
    - Cleanup Application scheme registration.
    - Fix test sample paths
    - Set controller synctime to 2 mins
    - Cleanup Scheme registration in controller-reconciler
    - Use custom codec that is created from custom scheme (kb v2 uses custom
    scheme)
---
 controllers/airflowbase_controller.go              |  2 +-
 controllers/airflowcluster_controller.go           |  2 +-
 main.go                                            |  5 +++++
 test/e2e/base/base_test.go                         |  2 +-
 test/e2e/cluster/cluster_test.go                   |  2 +-
 test/e2e/gcp/gcp_test.go                           |  2 +-
 .../pkg/genericreconciler/genericreconciler.go     | 11 -----------
 .../pkg/reconciler/manager/k8s/manager.go          | 23 +++++++++++++++++++---
 .../controller-reconciler/pkg/test/framework.go    |  6 +++---
 9 files changed, 33 insertions(+), 22 deletions(-)

diff --git a/controllers/airflowbase_controller.go 
b/controllers/airflowbase_controller.go
index bb78421..d451a09 100644
--- a/controllers/airflowbase_controller.go
+++ b/controllers/airflowbase_controller.go
@@ -69,6 +69,7 @@ func (r *AirflowBaseReconciler) Reconcile(req ctrl.Request) 
(ctrl.Result, error)
 
 // SetupWithManager - called by main
 func (r *AirflowBaseReconciler) SetupWithManager(mgr ctrl.Manager) error {
+       _ = app.AddToScheme(r.Scheme)
        return ctrl.NewControllerManagedBy(mgr).
                For(&alpha1.AirflowBase{}).
                Complete(abReconciler(mgr))
@@ -86,7 +87,6 @@ func abReconciler(mgr manager.Manager) *gr.Reconciler {
                WithErrorHandler(abHandleError).
                WithValidator(validate).
                WithDefaulter(applyDefaults).
-               RegisterSchemeBuilder(app.SchemeBuilder).
                Build()
 }
 
diff --git a/controllers/airflowcluster_controller.go 
b/controllers/airflowcluster_controller.go
index aadb4bc..0852937 100644
--- a/controllers/airflowcluster_controller.go
+++ b/controllers/airflowcluster_controller.go
@@ -90,6 +90,7 @@ func (r *AirflowClusterReconciler) Reconcile(req 
ctrl.Request) (ctrl.Result, err
 
 // SetupWithManager - called by main
 func (r *AirflowClusterReconciler) SetupWithManager(mgr ctrl.Manager) error {
+       _ = app.AddToScheme(r.Scheme)
        return ctrl.NewControllerManagedBy(mgr).
                For(&alpha1.AirflowCluster{}).
                Complete(acReconciler(mgr))
@@ -110,7 +111,6 @@ func acReconciler(mgr manager.Manager) *gr.Reconciler {
                WithErrorHandler(acHandleError).
                WithValidator(acValidate).
                WithDefaulter(acApplyDefaults).
-               RegisterSchemeBuilder(app.SchemeBuilder).
                Build()
 }
 
diff --git a/main.go b/main.go
index c083011..d22f412 100644
--- a/main.go
+++ b/main.go
@@ -18,6 +18,7 @@ package main
 import (
        "flag"
        "os"
+       "time"
 
        airflowv1alpha1 "github.com/apache/airflow-on-k8s-operator/api/v1alpha1"
        "github.com/apache/airflow-on-k8s-operator/controllers"
@@ -38,6 +39,7 @@ func init() {
        _ = clientgoscheme.AddToScheme(scheme)
 
        _ = airflowv1alpha1.AddToScheme(scheme)
+
        // +kubebuilder:scaffold:scheme
 }
 
@@ -53,11 +55,14 @@ func main() {
                o.Development = true
        }))
 
+       syncperiod := time.Minute * 2
+
        mgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), ctrl.Options{
                Scheme:             scheme,
                MetricsBindAddress: metricsAddr,
                LeaderElection:     enableLeaderElection,
                Port:               9443,
+               SyncPeriod:         &syncperiod,
        })
        if err != nil {
                setupLog.Error(err, "unable to start manager")
diff --git a/test/e2e/base/base_test.go b/test/e2e/base/base_test.go
index 740389b..1dbfe69 100644
--- a/test/e2e/base/base_test.go
+++ b/test/e2e/base/base_test.go
@@ -27,7 +27,7 @@ import (
 
 const (
        CRName    = "AirflowBase"
-       SampleDir = "../../hack/sample/"
+       SampleDir = "../../../hack/sample/"
 )
 
 var f *test.Framework
diff --git a/test/e2e/cluster/cluster_test.go b/test/e2e/cluster/cluster_test.go
index 2d56a68..48eac95 100644
--- a/test/e2e/cluster/cluster_test.go
+++ b/test/e2e/cluster/cluster_test.go
@@ -27,7 +27,7 @@ import (
 
 const (
        CRName    = "AirflowCluster"
-       SampleDir = "../../hack/sample/"
+       SampleDir = "../../../hack/sample/"
 )
 
 var f *test.Framework
diff --git a/test/e2e/gcp/gcp_test.go b/test/e2e/gcp/gcp_test.go
index c369909..41c80e0 100644
--- a/test/e2e/gcp/gcp_test.go
+++ b/test/e2e/gcp/gcp_test.go
@@ -27,7 +27,7 @@ import (
 
 const (
        CRName    = "AirflowCluster"
-       SampleDir = "../../hack/sample/"
+       SampleDir = "../../../hack/sample/"
 )
 
 var f *test.Framework
diff --git 
a/vendor/sigs.k8s.io/controller-reconciler/pkg/genericreconciler/genericreconciler.go
 
b/vendor/sigs.k8s.io/controller-reconciler/pkg/genericreconciler/genericreconciler.go
index bb76f08..ad9520f 100644
--- 
a/vendor/sigs.k8s.io/controller-reconciler/pkg/genericreconciler/genericreconciler.go
+++ 
b/vendor/sigs.k8s.io/controller-reconciler/pkg/genericreconciler/genericreconciler.go
@@ -33,7 +33,6 @@ import (
        ctrl "sigs.k8s.io/controller-runtime"
        "sigs.k8s.io/controller-runtime/pkg/manager"
        "sigs.k8s.io/controller-runtime/pkg/reconcile"
-       "sigs.k8s.io/controller-runtime/pkg/runtime/scheme"
        "time"
 )
 
@@ -396,20 +395,10 @@ func (gr *Reconciler) WithResourceManager(getter func() 
(string, rmanager.Manage
        return gr
 }
 
-// AddToSchemes for adding Application to scheme
-var AddToSchemes runtime.SchemeBuilder
-
-// RegisterSchemeBuilder - create controller
-func (gr *Reconciler) RegisterSchemeBuilder(builder *scheme.Builder) 
*Reconciler {
-       AddToSchemes = append(AddToSchemes, builder.AddToScheme)
-       return gr
-}
-
 // Build - create controller
 func (gr *Reconciler) Build() *Reconciler {
        km := k8s.NewRsrcManager(context.TODO(), gr.manager.GetClient(), 
gr.manager.GetScheme())
        gr.rsrcMgr.Add(k8s.Type, km)
-       AddToSchemes.AddToScheme(gr.manager.GetScheme())
        return gr
 }
 
diff --git 
a/vendor/sigs.k8s.io/controller-reconciler/pkg/reconciler/manager/k8s/manager.go
 
b/vendor/sigs.k8s.io/controller-reconciler/pkg/reconciler/manager/k8s/manager.go
index f7f56f2..173a088 100644
--- 
a/vendor/sigs.k8s.io/controller-reconciler/pkg/reconciler/manager/k8s/manager.go
+++ 
b/vendor/sigs.k8s.io/controller-reconciler/pkg/reconciler/manager/k8s/manager.go
@@ -27,10 +27,10 @@ import (
        metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
        "k8s.io/apimachinery/pkg/runtime"
        "k8s.io/apimachinery/pkg/runtime/schema"
+       serializer "k8s.io/apimachinery/pkg/runtime/serializer"
        "k8s.io/apimachinery/pkg/types"
        "k8s.io/apimachinery/pkg/util/validation/field"
        "k8s.io/apimachinery/pkg/util/yaml"
-       "k8s.io/client-go/kubernetes/scheme"
        "log"
        "os"
        "reflect"
@@ -46,11 +46,16 @@ const (
        Type = "k8s"
 )
 
+// Codecs - Default Codec that is initlizated when manager is created
+// TODO - this becomes global. try make it part of manager context ?
+var Codecs serializer.CodecFactory
+
 // RsrcManager - complies with resource manager interface
 type RsrcManager struct {
        name   string
        client client.Client
        scheme *runtime.Scheme
+       codecs serializer.CodecFactory
 }
 
 // FileResource - file, resource
@@ -71,7 +76,19 @@ func Getter(ctx context.Context, c client.Client, v 
*runtime.Scheme) func() (str
 // NewRsrcManager returns nil manager
 func NewRsrcManager(ctx context.Context, c client.Client, v *runtime.Scheme) 
*RsrcManager {
        rm := &RsrcManager{}
-       rm.WithClient(c).WithName(Type + "Mgr").WithScheme(v)
+       rm.WithClient(c).WithName(Type + "Mgr").WithScheme(v).WithCodec(nil)
+       return rm
+}
+
+// WithCodec - inject or create codec
+func (rm *RsrcManager) WithCodec(codec *serializer.CodecFactory) *RsrcManager {
+       if codec != nil {
+               rm.codecs = *codec
+               Codecs = *codec
+       } else {
+               rm.codecs = serializer.NewCodecFactory(rm.scheme)
+               Codecs = rm.codecs
+       }
        return rm
 }
 
@@ -199,7 +216,7 @@ func itemFromReader(name string, b *bufio.Reader, data 
interface{}, list metav1.
                if err == nil {
                        err = tmpl.Execute(&exdoc, data)
                        if err == nil {
-                               d := scheme.Codecs.UniversalDeserializer()
+                               d := Codecs.UniversalDeserializer()
                                obj, _, e := d.Decode(exdoc.Bytes(), nil, nil)
                                err = e
                                if err == nil {
diff --git a/vendor/sigs.k8s.io/controller-reconciler/pkg/test/framework.go 
b/vendor/sigs.k8s.io/controller-reconciler/pkg/test/framework.go
index a534eaf..dac3a9f 100644
--- a/vendor/sigs.k8s.io/controller-reconciler/pkg/test/framework.go
+++ b/vendor/sigs.k8s.io/controller-reconciler/pkg/test/framework.go
@@ -66,10 +66,10 @@ func New(typename string) *Framework {
        flag.Parse()
 
        cfg, err := config.GetConfig()
-       g.Expect(err).NotTo(g.HaveOccurred(), "failed to initialize the 
Framework: %v", err)
+       g.Expect(err).NotTo(g.HaveOccurred(), "failed to get config: %v", err)
 
-       mgr, err := manager.New(cfg, manager.Options{})
-       g.Expect(err).NotTo(g.HaveOccurred(), "failed to initialize the 
Framework: %v", err)
+       mgr, err := manager.New(cfg, manager.Options{MetricsBindAddress: "0"})
+       g.Expect(err).NotTo(g.HaveOccurred(), "failed to create manager: %v", 
err)
 
        err = apiextensionsv1beta1.AddToScheme(mgr.GetScheme())
        g.Expect(err).NotTo(g.HaveOccurred(), "failed to initialize the 
Framework: %v", err)

Reply via email to