Skip to content

Commit daa2dd6

Browse files
author
Phillip Wittrock
authored
Merge pull request #13 from pwittrock/travis
Actually run metalinter and fix lint errors
2 parents e9b614b + 8960bfa commit daa2dd6

File tree

17 files changed

+96
-79
lines changed

17 files changed

+96
-79
lines changed

.travis.yml

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -23,29 +23,6 @@ install:
2323
- go get -u gopkg.in/alecthomas/gometalinter.v2 && gometalinter.v2 --install
2424

2525
script:
26-
- go vet ./pkg/...
27-
- golint -set_exit_status ./pkg/...
28-
- gometalinter.v2 --disable-all --enable=misspell \
29-
--enable=misspell \
30-
--enable=structcheck \
31-
--enable=maligned \
32-
--enable=nakedret \
33-
--enable=deadcode \
34-
--enable=gocyclo \
35-
--enable=ineffassign \
36-
--enable=dupl \
37-
--enable=golint \
38-
--enable=goimports \
39-
--enable=errcheck \
40-
--enable=varcheck \
41-
--enable=interfacer \
42-
--enable=goconst \
43-
--enable=unparam \
44-
--enable=misspell \
45-
--enable=lll \
46-
--enable=gas \
47-
--enable=safesql \
48-
--enable=megacheck ./pkg/...
4926
- TRACE=1 ./test.sh
5027

5128

pkg/admission/certprovisioner/selfsignedcertprovisioner_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import (
2525
func TestProvisionServingCert(t *testing.T) {
2626
cn := "mysvc.myns.svc"
2727
cp := SelfSignedCertProvisioner{CommonName: cn}
28-
certs, err := cp.ProvisionServingCert()
28+
certs, _ := cp.ProvisionServingCert()
2929

3030
// First, create the set of root certificates. For this example we only
3131
// have one. It's also possible to omit this in order to use the

pkg/client/cache.go

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -189,15 +189,23 @@ func (c *singleObjectCache) List(ctx context.Context, opts *ListOptions, out run
189189
labelSel = opts.LabelSelector
190190
}
191191

192+
outItems, err := c.getListItems(objs, labelSel)
193+
if err != nil {
194+
return err
195+
}
196+
return apimeta.SetList(out, outItems)
197+
}
198+
199+
func (c *singleObjectCache) getListItems(objs []interface{}, labelSel labels.Selector) ([]runtime.Object, error) {
192200
outItems := make([]runtime.Object, 0, len(objs))
193201
for _, item := range objs {
194202
obj, isObj := item.(runtime.Object)
195203
if !isObj {
196-
return fmt.Errorf("cache contained %T, which is not an Object", obj)
204+
return nil, fmt.Errorf("cache contained %T, which is not an Object", obj)
197205
}
198206
meta, err := apimeta.Accessor(obj)
199207
if err != nil {
200-
return err
208+
return nil, err
201209
}
202210
if labelSel != nil {
203211
lbls := labels.Set(meta.GetLabels())
@@ -207,7 +215,7 @@ func (c *singleObjectCache) List(ctx context.Context, opts *ListOptions, out run
207215
}
208216
outItems = append(outItems, obj.DeepCopyObject())
209217
}
210-
return apimeta.SetList(out, outItems)
218+
return outItems, nil
211219
}
212220

213221
// TODO: Make an interface with this function that has an Informers as an object on the struct

pkg/client/cache_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ import (
1111
"k8s.io/apimachinery/pkg/runtime"
1212
"k8s.io/client-go/tools/cache"
1313

14-
"k8s.io/client-go/kubernetes/scheme"
1514
"reflect"
15+
16+
"k8s.io/client-go/kubernetes/scheme"
1617
)
1718

1819
var _ = Describe("Indexers", func() {

pkg/controller/controller.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,6 @@ type controller struct {
9393
// the queue for processing
9494
queue workqueue.RateLimitingInterface
9595

96-
// once ensures unspecified fields get default values
97-
once sync.Once
98-
9996
// inject is used to inject dependencies into other objects such as Sources, EventHandlers and Predicates
10097
inject func(i interface{}) error
10198

pkg/controller/controller_suite_integration_test.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import (
2121
"time"
2222

2323
"github.com/kubernetes-sigs/controller-runtime/pkg/controller"
24-
"github.com/kubernetes-sigs/controller-runtime/pkg/internal/informer"
2524
logf "github.com/kubernetes-sigs/controller-runtime/pkg/runtime/log"
2625
"github.com/kubernetes-sigs/controller-runtime/pkg/test"
2726
. "github.com/onsi/ginkgo"
@@ -38,7 +37,6 @@ func TestSource(t *testing.T) {
3837
var testenv *test.Environment
3938
var cfg *rest.Config
4039
var clientset *kubernetes.Clientset
41-
var icache informer.Informers
4240

4341
var _ = BeforeSuite(func() {
4442
logf.SetLogger(logf.ZapLogger(false))

pkg/controller/eventhandler/enqueue_owner.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,6 @@ type EnqueueOwnerHandler struct {
5151

5252
// groupKind is the cached Group and Kind from OwnerType
5353
groupKind schema.GroupKind
54-
55-
// kindOk is true if OwnerType was successfully parsed
56-
kindOk bool
5754
}
5855

5956
var _ inject.Scheme = &EnqueueOwnerHandler{}

pkg/controller/manager.go

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import (
2525
"github.com/kubernetes-sigs/controller-runtime/pkg/internal/apiutil"
2626
"github.com/kubernetes-sigs/controller-runtime/pkg/internal/informer"
2727
"github.com/kubernetes-sigs/controller-runtime/pkg/runtime/inject"
28-
"k8s.io/api/apps/v1"
2928
"k8s.io/apimachinery/pkg/api/meta"
3029
"k8s.io/apimachinery/pkg/runtime"
3130
"k8s.io/client-go/kubernetes/scheme"
@@ -105,7 +104,9 @@ func (cm *controllerManager) NewController(ca Args, r reconcile.Reconcile) (Cont
105104
}
106105

107106
// Inject dependencies into Reconcile
108-
cm.injectInto(r)
107+
if err := cm.injectInto(r); err != nil {
108+
return nil, err
109+
}
109110

110111
// Create controller with dependencies set
111112
c := &controller{
@@ -165,7 +166,9 @@ func (cm *controllerManager) GetFieldIndexer() client.FieldIndexer {
165166
func (cm *controllerManager) Start(stop <-chan struct{}) error {
166167
// Start the Informers.
167168
cm.stop = stop
168-
cm.informers.Start(stop)
169+
if err := cm.informers.Start(stop); err != nil {
170+
return err
171+
}
169172

170173
// Start the controllers after the promises
171174
for _, c := range cm.controllers {
@@ -224,7 +227,6 @@ func NewManager(args ManagerArgs) (Manager, error) {
224227
Scheme: cm.scheme,
225228
}
226229
cm.informers = spi
227-
cm.informers.InformerFor(&v1.Deployment{})
228230

229231
// Inject a Read / Write client into all controllers
230232
// TODO(directxman12): Figure out how to allow users to request a client without requesting a watch

pkg/controller/source/source.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ import (
2828
"k8s.io/client-go/util/workqueue"
2929

3030
"github.com/kubernetes-sigs/controller-runtime/pkg/controller/predicate"
31-
logf "github.com/kubernetes-sigs/controller-runtime/pkg/runtime/log"
3231
)
3332

3433
// Source is a source of events (eh.g. Create, Update, Delete operations on Kubernetes Objects, Webhook callbacks, etc)
@@ -61,8 +60,6 @@ func (ks ChannelSource) Start(
6160
return nil
6261
}
6362

64-
var log = logf.KBLog.WithName("source").WithName("KindSource")
65-
6663
// KindSource is used to provide a source of events originating inside the cluster from Watches (eh.g. Pod Create)
6764
type KindSource struct {
6865
// Type is the type of object to watch. e.g. &v1.Pod{}

pkg/internal/admission/decode.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package admission
1818

1919
import (
2020
"fmt"
21+
2122
"k8s.io/api/admission/v1beta1"
2223
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2324
"k8s.io/apimachinery/pkg/runtime"

pkg/internal/admission/example_decode_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package admission_test
1818

1919
import (
2020
"fmt"
21+
2122
"github.com/kubernetes-sigs/controller-runtime/pkg/internal/admission"
2223
"k8s.io/api/admission/v1beta1"
2324
corev1 "k8s.io/api/core/v1"

pkg/internal/admission/handler.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@ limitations under the License.
1717
package admission
1818

1919
import (
20+
"net/http"
21+
2022
"k8s.io/api/admission/v1beta1"
2123
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
22-
"net/http"
2324
)
2425

2526
// Func implements an AdmissionReview operation for a GroupVersionResource

pkg/internal/admission/http.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,12 @@ package admission
1818

1919
import (
2020
"encoding/json"
21-
"github.com/golang/glog"
2221
"io/ioutil"
22+
"net/http"
23+
24+
"github.com/golang/glog"
2325
"k8s.io/api/admission/v1beta1"
2426
"k8s.io/apimachinery/pkg/runtime"
25-
"net/http"
2627
)
2728

2829
func (h httpHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {

pkg/internal/admission/tls.go

Lines changed: 23 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -16,32 +16,27 @@ limitations under the License.
1616

1717
package admission
1818

19-
import (
20-
"crypto/tls"
21-
"crypto/x509"
22-
)
19+
//type certs struct {
20+
// Cert []byte
21+
// Key []byte
22+
// CACert []byte
23+
//}
2324

24-
type certs struct {
25-
Cert []byte
26-
Key []byte
27-
CACert []byte
28-
}
29-
30-
// MakeTLSConfig makes a TLS configuration suitable for use with the server
31-
func makeTLSConfig(certs certs) (*tls.Config, error) {
32-
caCertPool := x509.NewCertPool()
33-
caCertPool.AppendCertsFromPEM(certs.CACert)
34-
//cert, err := tls.X509KeyPair(certs.Cert, certs.Key)
35-
//if err != nil {
36-
// return nil, err
37-
//}
38-
return &tls.Config{
39-
//Certificates: []tls.Certificate{cert},
40-
ClientCAs: caCertPool,
41-
ClientAuth: tls.NoClientCert,
42-
// Note on GKE there apparently is no client cert sent, so this
43-
// does not work on GKE.
44-
// TODO: make this into a configuration option.
45-
// ClientAuth: tls.RequireAndVerifyClientCert,
46-
}, nil
47-
}
25+
//// MakeTLSConfig makes a TLS configuration suitable for use with the server
26+
//func makeTLSConfig(certs certs) (*tls.Config, error) {
27+
// caCertPool := x509.NewCertPool()
28+
// caCertPool.AppendCertsFromPEM(certs.CACert)
29+
// //cert, err := tls.X509KeyPair(certs.Cert, certs.Key)
30+
// //if err != nil {
31+
// // return nil, err
32+
// //}
33+
// return &tls.Config{
34+
// //Certificates: []tls.Certificate{cert},
35+
// ClientCAs: caCertPool,
36+
// ClientAuth: tls.NoClientCert,
37+
// // Note on GKE there apparently is no client cert sent, so this
38+
// // does not work on GKE.
39+
// // TODO: make this into a configuration option.
40+
// // ClientAuth: tls.RequireAndVerifyClientCert,
41+
// }, nil
42+
//}

pkg/internal/informer/informertest/fake_cache.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ func (c *FakeInformers) FakeInformerFor(obj runtime.Object) (*controllertest.Fak
8585
return i.(*controllertest.FakeInformer), nil
8686
}
8787

88-
func (c *FakeInformers) informerFor(gvk schema.GroupVersionKind, obj runtime.Object) (cache.SharedIndexInformer, error) {
88+
func (c *FakeInformers) informerFor(gvk schema.GroupVersionKind, _ runtime.Object) (cache.SharedIndexInformer, error) {
8989
if c.Error != nil {
9090
return nil, c.Error
9191
}

pkg/test/server.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ type Environment struct {
4242
}
4343

4444
// Stop stops a running server
45-
func (te *Environment) Stop() {
46-
te.ControlPlane.Stop()
45+
func (te *Environment) Stop() error {
46+
return te.ControlPlane.Stop()
4747
}
4848

4949
// Start starts a local Kubernetes server and updates te.ApiserverPort with the port it is listening on

test.sh

Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,5 +101,46 @@ fetch_kb_tools
101101
# setup testing env
102102
setup_envs
103103

104-
go test github.com/kubernetes-sigs/controller-runtime/pkg/...
105-
go install github.com/kubernetes-sigs/controller-runtime/example
104+
header_text "running go vet"
105+
106+
go vet ./pkg/...
107+
108+
header_text "running golint"
109+
110+
golint -set_exit_status ./pkg/...
111+
112+
header_text "running gometalinter.v2"
113+
114+
gometalinter.v2 --disable-all \
115+
--deadline 5m \
116+
--enable=misspell \
117+
--enable=structcheck \
118+
--enable=golint \
119+
--enable=deadcode \
120+
--enable=goimports \
121+
--enable=errcheck \
122+
--enable=varcheck \
123+
--enable=goconst \
124+
--enable=gas \
125+
--enable=unparam \
126+
--enable=ineffassign \
127+
--enable=nakedret \
128+
--enable=interfacer \
129+
--enable=misspell \
130+
--enable=gocyclo \
131+
--line-length=170 \
132+
--enable=lll \
133+
--dupl-threshold=400 \
134+
--enable=dupl \
135+
./pkg/...
136+
# TODO: Enable these as we fix them to make them pass
137+
# --enable=maligned \
138+
# --enable=safesql \
139+
140+
header_text "running go test"
141+
142+
go test ./pkg/...
143+
144+
header_text "running go install"
145+
146+
go install ./example

0 commit comments

Comments
 (0)