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

tokers pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-ingress-controller.git


The following commit(s) were added to refs/heads/master by this push:
     new 9f0f246  fix: go lint errors (#325)
9f0f246 is described below

commit 9f0f2460e930984c1cf80a45fbddb5e0b4f7164f
Author: Alex Zhang <[email protected]>
AuthorDate: Thu Apr 1 09:35:56 2021 +0800

    fix: go lint errors (#325)
---
 .golangci.yml                           | 25 +++++++++++++++++
 cmd/ingress/ingress_test.go             | 10 +------
 pkg/apisix/cache/memdb_test.go          | 11 +++++++-
 pkg/config/config_test.go               |  2 +-
 pkg/ingress/apisix/tls.go               |  6 ++--
 pkg/ingress/controller/apisix_tls.go    |  4 +--
 pkg/ingress/controller/controller.go    |  1 -
 pkg/ingress/controller/ingress.go       | 49 ---------------------------------
 pkg/ingress/controller/secret.go        |  8 ++----
 pkg/kube/ingress.go                     | 16 +++++------
 pkg/kube/translation/apisix_upstream.go |  2 +-
 pkg/log/options.go                      |  1 -
 pkg/types/apisix/v1/types.go            |  2 +-
 pkg/types/timeduration.go               |  6 ++--
 14 files changed, 56 insertions(+), 87 deletions(-)

diff --git a/.golangci.yml b/.golangci.yml
new file mode 100644
index 0000000..7422131
--- /dev/null
+++ b/.golangci.yml
@@ -0,0 +1,25 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+issues:
+    exclude-rules:
+    - linters:
+      - staticcheck
+      text: SA1019
+linters-settings:
+  govet:
+    disable:
+    - unsafeptr
diff --git a/cmd/ingress/ingress_test.go b/cmd/ingress/ingress_test.go
index 139f708..4594b72 100644
--- a/cmd/ingress/ingress_test.go
+++ b/cmd/ingress/ingress_test.go
@@ -55,14 +55,6 @@ func (fws *fakeWriteSyncer) Write(p []byte) (int, error) {
        return fws.buf.Write(p)
 }
 
-func (fws *fakeWriteSyncer) bytes() (p []byte) {
-       s := fws.buf.Bytes()
-       p = make([]byte, len(s))
-       copy(p, s)
-       fws.buf.Reset()
-       return
-}
-
 func getRandomListen() string {
        port := rand.Intn(10000) + 10000
        return fmt.Sprintf("127.0.0.1:%d", port)
@@ -155,7 +147,7 @@ func TestNewIngressCommandEffectiveLog(t *testing.T) {
        assert.Equal(t, cfg.HTTPListen, listen)
        assert.Equal(t, cfg.EnableProfiling, true)
        assert.Equal(t, cfg.Kubernetes.Kubeconfig, "/foo/bar/baz")
-       assert.Equal(t, cfg.Kubernetes.ResyncInterval, types.TimeDuration{24 * 
time.Hour})
+       assert.Equal(t, cfg.Kubernetes.ResyncInterval, 
types.TimeDuration{Duration: 24 * time.Hour})
        assert.Equal(t, cfg.APISIX.AdminKey, "0x123")
        assert.Equal(t, cfg.APISIX.BaseURL, 
"http://apisixgw.default.cluster.local/apisix";)
 }
diff --git a/pkg/apisix/cache/memdb_test.go b/pkg/apisix/cache/memdb_test.go
index 47e7914..5f2c9c7 100644
--- a/pkg/apisix/cache/memdb_test.go
+++ b/pkg/apisix/cache/memdb_test.go
@@ -37,6 +37,7 @@ func TestMemDBCacheRoute(t *testing.T) {
        assert.Nil(t, c.InsertRoute(r1), "inserting route 1")
 
        r, err := c.GetRoute("abc")
+       assert.Nil(t, err)
        assert.Equal(t, r1, r)
 
        r2 := &v1.Route{
@@ -57,6 +58,7 @@ func TestMemDBCacheRoute(t *testing.T) {
        assert.Nil(t, c.InsertRoute(r3), "inserting route r3")
 
        r, err = c.GetRoute("ghi")
+       assert.Nil(t, err)
        assert.Equal(t, r3, r)
 
        assert.Nil(t, c.DeleteRoute(r3), "delete route r3")
@@ -92,6 +94,7 @@ func TestMemDBCacheService(t *testing.T) {
        assert.Nil(t, c.InsertService(s1), "inserting service 1")
 
        s, err := c.GetService("abc")
+       assert.Nil(t, err)
        assert.Equal(t, s1, s)
 
        s2 := &v1.Service{
@@ -108,6 +111,7 @@ func TestMemDBCacheService(t *testing.T) {
        assert.Nil(t, c.InsertService(s3), "inserting service 3")
 
        s, err = c.GetService("ghi")
+       assert.Nil(t, err)
        assert.Equal(t, s3, s)
 
        assert.Nil(t, c.DeleteService(s3), "delete service 3")
@@ -140,6 +144,7 @@ func TestMemDBCacheSSL(t *testing.T) {
        assert.Nil(t, c.InsertSSL(s1), "inserting ssl 1")
 
        s, err := c.GetSSL("abc")
+       assert.Nil(t, err)
        assert.Equal(t, s1, s)
 
        s2 := &v1.Ssl{
@@ -154,6 +159,7 @@ func TestMemDBCacheSSL(t *testing.T) {
        assert.Nil(t, c.InsertSSL(s3), "inserting ssl 3")
 
        s, err = c.GetSSL("ghi")
+       assert.Nil(t, err)
        assert.Equal(t, s3, s)
 
        assert.Nil(t, c.DeleteSSL(s3), "delete ssl 3")
@@ -183,9 +189,11 @@ func TestMemDBCacheUpstream(t *testing.T) {
                        Name:     "abc",
                },
        }
-       assert.Nil(t, c.InsertUpstream(u1), "inserting upstream 1")
+       err = c.InsertUpstream(u1)
+       assert.Nil(t, err, "inserting upstream 1")
 
        u, err := c.GetUpstream("abc")
+       assert.Nil(t, err)
        assert.Equal(t, u1, u)
 
        u2 := &v1.Upstream{
@@ -204,6 +212,7 @@ func TestMemDBCacheUpstream(t *testing.T) {
        assert.Nil(t, c.InsertUpstream(u3), "inserting upstream 3")
 
        u, err = c.GetUpstream("ghi")
+       assert.Nil(t, err)
        assert.Equal(t, u3, u)
 
        assert.Nil(t, c.DeleteUpstream(u3), "delete upstream 3")
diff --git a/pkg/config/config_test.go b/pkg/config/config_test.go
index ae7e868..6c814f7 100644
--- a/pkg/config/config_test.go
+++ b/pkg/config/config_test.go
@@ -33,7 +33,7 @@ func TestNewConfigFromFile(t *testing.T) {
                HTTPListen:      ":9090",
                EnableProfiling: true,
                Kubernetes: KubernetesConfig{
-                       ResyncInterval:     types.TimeDuration{time.Hour},
+                       ResyncInterval:     types.TimeDuration{Duration: 
time.Hour},
                        Kubeconfig:         "/path/to/foo/baz",
                        AppNamespaces:      []string{""},
                        ElectionID:         "my-election-id",
diff --git a/pkg/ingress/apisix/tls.go b/pkg/ingress/apisix/tls.go
index 856adae..7ef31fa 100644
--- a/pkg/ingress/apisix/tls.go
+++ b/pkg/ingress/apisix/tls.go
@@ -42,10 +42,8 @@ func (as *ApisixTLSCRD) Convert(sc Secreter) (*apisix.Ssl, 
error) {
        cert := string(secret.Data["cert"])
        key := string(secret.Data["key"])
        status := 1
-       snis := make([]string, 0)
-       for _, host := range as.Spec.Hosts {
-               snis = append(snis, host)
-       }
+       var snis []string
+       snis = append(snis, as.Spec.Hosts...)
        ssl := &apisix.Ssl{
                ID:     id,
                Snis:   snis,
diff --git a/pkg/ingress/controller/apisix_tls.go 
b/pkg/ingress/controller/apisix_tls.go
index 0ab3617..14a0131 100644
--- a/pkg/ingress/controller/apisix_tls.go
+++ b/pkg/ingress/controller/apisix_tls.go
@@ -175,7 +175,7 @@ func (c *ApisixTLSController) syncHandler(tqo *TlsQueueObj) 
error {
 func SyncSecretSSL(key string, ssl *v1.Ssl, operator string) {
        ssls, ok := secretSSLMap.Load(key)
        if ok {
-               sslMap := ssls.(sync.Map)
+               sslMap := ssls.(*sync.Map)
                switch operator {
                case state.Delete:
                        sslMap.Delete(ssl.ID)
@@ -186,7 +186,7 @@ func SyncSecretSSL(key string, ssl *v1.Ssl, operator 
string) {
                }
        } else {
                if operator != state.Delete {
-                       sslMap := sync.Map{}
+                       sslMap := &sync.Map{}
                        sslMap.Store(ssl.ID, ssl)
                        secretSSLMap.Store(key, sslMap)
                }
diff --git a/pkg/ingress/controller/controller.go 
b/pkg/ingress/controller/controller.go
index a449241..35d46f9 100644
--- a/pkg/ingress/controller/controller.go
+++ b/pkg/ingress/controller/controller.go
@@ -65,7 +65,6 @@ type Controller struct {
        clientset          kubernetes.Interface
        crdClientset       crdclientset.Interface
        metricsCollector   metrics.Collector
-       crdController      *Api6Controller
        crdInformerFactory externalversions.SharedInformerFactory
 
        // common informers and listers
diff --git a/pkg/ingress/controller/ingress.go 
b/pkg/ingress/controller/ingress.go
index badc105..690e819 100644
--- a/pkg/ingress/controller/ingress.go
+++ b/pkg/ingress/controller/ingress.go
@@ -23,7 +23,6 @@ import (
        "k8s.io/client-go/tools/cache"
        "k8s.io/client-go/util/workqueue"
 
-       apisixcache 
"github.com/apache/apisix-ingress-controller/pkg/apisix/cache"
        "github.com/apache/apisix-ingress-controller/pkg/config"
        "github.com/apache/apisix-ingress-controller/pkg/kube"
        "github.com/apache/apisix-ingress-controller/pkg/log"
@@ -175,54 +174,6 @@ func (c *ingressController) sync(ctx context.Context, ev 
*types.Event) error {
        return c.controller.syncManifests(ctx, added, updated, deleted)
 }
 
-func (c *ingressController) syncToCluster(ctx context.Context, clusterName 
string, routes []*apisixv1.Route, upstreams []*apisixv1.Upstream, ev 
types.EventType) error {
-       // TODO throttle if the number of routes and upstreams are huge.
-       if ev == types.EventDelete {
-               for _, r := range routes {
-                       if err := 
c.controller.apisix.Cluster(clusterName).Route().Delete(ctx, r); err != nil {
-                               return err
-                       }
-               }
-               for _, u := range upstreams {
-                       if err := 
c.controller.apisix.Cluster(clusterName).Upstream().Delete(ctx, u); err != nil {
-                               return err
-                       }
-               }
-               return nil
-       }
-       for _, u := range upstreams {
-               old, err := 
c.controller.apisix.Cluster(clusterName).Upstream().Get(ctx, u.FullName)
-               if err != nil && err != apisixcache.ErrNotFound {
-                       return err
-               }
-               if old == nil {
-                       _, err = 
c.controller.apisix.Cluster(clusterName).Upstream().Create(ctx, u)
-               } else {
-                       // TODO diff route.
-                       _, err = 
c.controller.apisix.Cluster(clusterName).Upstream().Update(ctx, u)
-               }
-               if err != nil {
-                       return err
-               }
-       }
-       for _, r := range routes {
-               old, err := 
c.controller.apisix.Cluster(clusterName).Route().Get(ctx, r.FullName)
-               if err != nil && err != apisixcache.ErrNotFound {
-                       return err
-               }
-               if old == nil {
-                       _, err = 
c.controller.apisix.Cluster(clusterName).Route().Create(ctx, r)
-               } else {
-                       // TODO diff route.
-                       _, err = 
c.controller.apisix.Cluster(clusterName).Route().Update(ctx, r)
-               }
-               if err != nil {
-                       return err
-               }
-       }
-       return nil
-}
-
 func (c *ingressController) handleSyncErr(obj interface{}, err error) {
        if err == nil {
                c.workqueue.Forget(obj)
diff --git a/pkg/ingress/controller/secret.go b/pkg/ingress/controller/secret.go
index 1c271e2..3738c94 100644
--- a/pkg/ingress/controller/secret.go
+++ b/pkg/ingress/controller/secret.go
@@ -145,15 +145,11 @@ func (c *secretController) sync(ctx context.Context, ev 
*types.Event) error {
        // FixMe Need to update the status of CRD ApisixTls
        ssls, ok := secretSSLMap.Load(secretMapkey)
        if ok {
-               sslMap := ssls.(sync.Map)
+               sslMap := ssls.(*sync.Map)
                sslMap.Range(func(_, v interface{}) bool {
                        ssl := v.(*apisixv1.Ssl)
                        ssl.FullName = ssl.ID
-                       err = state.SyncSsl(ssl, ev.Type.String())
-                       if err != nil {
-                               return false
-                       }
-                       return true
+                       return state.SyncSsl(ssl, ev.Type.String()) == nil
                })
        }
        return err
diff --git a/pkg/kube/ingress.go b/pkg/kube/ingress.go
index ac39470..ed43046 100644
--- a/pkg/kube/ingress.go
+++ b/pkg/kube/ingress.go
@@ -163,21 +163,21 @@ func (l *ingressLister) ExtensionsV1beta1(namespace, name 
string) (Ingress, erro
 // MustNewIngress creates a kube.Ingress object according to the
 // type of obj.
 func MustNewIngress(obj interface{}) Ingress {
-       switch obj.(type) {
+       switch ing := obj.(type) {
        case *networkingv1.Ingress:
                return &ingress{
                        groupVersion: IngressV1,
-                       v1:           obj.(*networkingv1.Ingress),
+                       v1:           ing,
                }
        case *networkingv1beta1.Ingress:
                return &ingress{
                        groupVersion: IngressV1beta1,
-                       v1beta1:      obj.(*networkingv1beta1.Ingress),
+                       v1beta1:      ing,
                }
        case *extensionsv1beta1.Ingress:
                return &ingress{
                        groupVersion:      IngressExtensionsV1beta1,
-                       extensionsV1beta1: obj.(*extensionsv1beta1.Ingress),
+                       extensionsV1beta1: ing,
                }
        default:
                panic("invalid ingress type")
@@ -188,21 +188,21 @@ func MustNewIngress(obj interface{}) Ingress {
 // type of obj. It returns nil and the error reason when the
 // type assertion fails.
 func NewIngress(obj interface{}) (Ingress, error) {
-       switch obj.(type) {
+       switch ing := obj.(type) {
        case *networkingv1.Ingress:
                return &ingress{
                        groupVersion: IngressV1,
-                       v1:           obj.(*networkingv1.Ingress),
+                       v1:           ing,
                }, nil
        case *networkingv1beta1.Ingress:
                return &ingress{
                        groupVersion: IngressV1beta1,
-                       v1beta1:      obj.(*networkingv1beta1.Ingress),
+                       v1beta1:      ing,
                }, nil
        case *extensionsv1beta1.Ingress:
                return &ingress{
                        groupVersion:      IngressExtensionsV1beta1,
-                       extensionsV1beta1: obj.(*extensionsv1beta1.Ingress),
+                       extensionsV1beta1: ing,
                }, nil
        default:
                return nil, errors.New("invalid ingress type")
diff --git a/pkg/kube/translation/apisix_upstream.go 
b/pkg/kube/translation/apisix_upstream.go
index 6b68495..f9ce843 100644
--- a/pkg/kube/translation/apisix_upstream.go
+++ b/pkg/kube/translation/apisix_upstream.go
@@ -181,7 +181,7 @@ func (t *translator) 
translateUpstreamActiveHealthCheck(config *configv1.ActiveH
        active.HTTPPath = config.HTTPPath
        active.HTTPRequestHeaders = config.RequestHeaders
 
-       if config.StrictTLS == nil || *config.StrictTLS == true {
+       if config.StrictTLS == nil || *config.StrictTLS {
                active.HTTPSVerifyCert = true
        }
 
diff --git a/pkg/log/options.go b/pkg/log/options.go
index 695f799..15c88bd 100644
--- a/pkg/log/options.go
+++ b/pkg/log/options.go
@@ -35,7 +35,6 @@ type options struct {
        writeSyncer zapcore.WriteSyncer
        outputFile  string
        logLevel    string
-       context     string
 }
 
 // WithLogLevel sets the log level.
diff --git a/pkg/types/apisix/v1/types.go b/pkg/types/apisix/v1/types.go
index bf58da5..3650a0b 100644
--- a/pkg/types/apisix/v1/types.go
+++ b/pkg/types/apisix/v1/types.go
@@ -166,7 +166,7 @@ type Upstream struct {
        Metadata `json:",inline" yaml:",inline"`
 
        Type     string               `json:"type,omitempty" 
yaml:"type,omitempty"`
-       HashOn   string               `json:"hash_on,omitemtpy" 
yaml:"hash_on,omitempty"`
+       HashOn   string               `json:"hash_on,omitempty" 
yaml:"hash_on,omitempty"`
        Key      string               `json:"key,omitempty" 
yaml:"key,omitempty"`
        Checks   *UpstreamHealthCheck `json:"checks,omitempty" 
yaml:"checks,omitempty"`
        Nodes    []UpstreamNode       `json:"nodes,omitempty" 
yaml:"nodes,omitempty"`
diff --git a/pkg/types/timeduration.go b/pkg/types/timeduration.go
index 41127fa..2000692 100644
--- a/pkg/types/timeduration.go
+++ b/pkg/types/timeduration.go
@@ -38,11 +38,11 @@ func (d *TimeDuration) UnmarshalJSON(data []byte) error {
        if err := json.Unmarshal(data, &value); err != nil {
                return err
        }
-       switch value.(type) {
+       switch v := value.(type) {
        case float64:
-               d.Duration = time.Duration(value.(float64))
+               d.Duration = time.Duration(v)
        case string:
-               dur, err := time.ParseDuration(value.(string))
+               dur, err := time.ParseDuration(v)
                if err != nil {
                        return err
                }

Reply via email to