Skip to content

Commit 17ac9e2

Browse files
author
Phillip Wittrock
authored
Merge pull request #4 from pwittrock/master
Add golint to travis
2 parents 2ace093 + a81c535 commit 17ac9e2

28 files changed

+212
-213
lines changed

.travis.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,14 @@ before_install:
1919
# The dependencies have already been vendored by `dep` so
2020
# we don't need to fetch them.
2121
install:
22-
-
22+
- go get -u golang.org/x/lint/golint
2323

2424
script:
25+
- go vet ./pkg/...
26+
- golint -set_exit_status ./pkg/...
2527
- TRACE=1 ./test.sh
2628

29+
2730
# TBD. Suppressing for now.
2831
notifications:
2932
email: false

example/main.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,15 @@ func main() {
3737
flag.Parse()
3838
logf.SetLogger(logf.ZapLogger(false))
3939

40-
// Setup a ControllerManager
41-
manager, err := controller.NewControllerManager(controller.ControllerManagerArgs{})
40+
// Setup a Manager
41+
manager, err := controller.NewManager(controller.ManagerArgs{})
4242
if err != nil {
4343
log.Fatal(err)
4444
}
4545

4646
// Setup a new controller to Reconcile ReplicaSets
4747
c, err := manager.NewController(
48-
controller.ControllerArgs{Name: "foo-controller", MaxConcurrentReconciles: 1},
48+
controller.Args{Name: "foo-controller", MaxConcurrentReconciles: 1},
4949
&reconcileReplicaSet{client: manager.GetClient()},
5050
)
5151
if err != nil {
@@ -81,18 +81,18 @@ type reconcileReplicaSet struct {
8181
// Implement reconcile.reconcile so the controller can reconcile objects
8282
var _ reconcile.Reconcile = &reconcileReplicaSet{}
8383

84-
func (r *reconcileReplicaSet) Reconcile(request reconcile.ReconcileRequest) (reconcile.ReconcileResult, error) {
84+
func (r *reconcileReplicaSet) Reconcile(request reconcile.Request) (reconcile.Result, error) {
8585
// Fetch the ReplicaSet from the cache
8686
rs := &appsv1.ReplicaSet{}
8787
err := r.client.Get(context.TODO(), request.NamespacedName, rs)
8888
if errors.IsNotFound(err) {
8989
log.Printf("Could not find ReplicaSet %v.\n", request)
90-
return reconcile.ReconcileResult{}, nil
90+
return reconcile.Result{}, nil
9191
}
9292

9393
if err != nil {
9494
log.Printf("Could not fetch ReplicaSet %v for %+v\n", err, request)
95-
return reconcile.ReconcileResult{}, err
95+
return reconcile.Result{}, err
9696
}
9797

9898
// Print the ReplicaSet
@@ -104,16 +104,16 @@ func (r *reconcileReplicaSet) Reconcile(request reconcile.ReconcileRequest) (rec
104104
rs.Labels = map[string]string{}
105105
}
106106
if rs.Labels["hello"] == "world" {
107-
return reconcile.ReconcileResult{}, nil
107+
return reconcile.Result{}, nil
108108
}
109109

110110
// Update the ReplicaSet
111111
rs.Labels["hello"] = "world"
112112
err = r.client.Update(context.TODO(), rs)
113113
if err != nil {
114114
log.Printf("Could not write ReplicaSet %v\n", err)
115-
return reconcile.ReconcileResult{}, err
115+
return reconcile.Result{}, err
116116
}
117117

118-
return reconcile.ReconcileResult{}, nil
118+
return reconcile.Result{}, nil
119119
}

pkg/controller/controller.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ import (
3939

4040
var log = logf.KBLog.WithName("controller").WithName("controller")
4141

42-
// ControllerArgs are the arguments for creating a new Controller
43-
type ControllerArgs struct {
42+
// Args are the arguments for creating a new Controller
43+
type Args struct {
4444
// Name is used to uniquely identify a controller in tracing, logging and monitoring. Name is required.
4545
Name string
4646

@@ -174,7 +174,7 @@ func (c *controller) processNextWorkItem() bool {
174174

175175
obj, shutdown := c.queue.Get()
176176
if obj == nil {
177-
log.Error(nil, "Encountered nil ReconcileRequest", "Object", obj)
177+
log.Error(nil, "Encountered nil Request", "Object", obj)
178178
c.queue.Forget(obj)
179179
}
180180

@@ -190,14 +190,14 @@ func (c *controller) processNextWorkItem() bool {
190190
// put back on the workqueue and attempted again after a back-off
191191
// period.
192192
defer c.queue.Done(obj)
193-
var req reconcile.ReconcileRequest
193+
var req reconcile.Request
194194
var ok bool
195-
if req, ok = obj.(reconcile.ReconcileRequest); !ok {
195+
if req, ok = obj.(reconcile.Request); !ok {
196196
// As the item in the workqueue is actually invalid, we call
197197
// Forget here else we'd go into a loop of attempting to
198198
// process a work item that is invalid.
199199
c.queue.Forget(obj)
200-
log.Error(nil, "Queue item was not a ReconcileRequest",
200+
log.Error(nil, "Queue item was not a Request",
201201
"controller", c.name, "Type", fmt.Sprintf("%T", obj), "Value", obj)
202202
// Return true, don't take a break
203203
return true
@@ -207,7 +207,7 @@ func (c *controller) processNextWorkItem() bool {
207207
// resource to be synced.
208208
if result, err := c.reconcile.Reconcile(req); err != nil {
209209
c.queue.AddRateLimited(req)
210-
log.Error(nil, "reconcile error", "controller", c.name, "ReconcileRequest", req)
210+
log.Error(nil, "reconcile error", "controller", c.name, "Request", req)
211211

212212
// TODO(pwittrock): FTO Returning an error here seems to back things off for a second before restarting
213213
// the loop through wait.Util.
@@ -224,7 +224,7 @@ func (c *controller) processNextWorkItem() bool {
224224
c.queue.Forget(obj)
225225

226226
// TODO(directxman12): What does 1 mean? Do we want level constants? Do we want levels at all?
227-
log.V(1).Info("Successfully Reconciled", "controller", c.name, "ReconcileRequest", req)
227+
log.V(1).Info("Successfully Reconciled", "controller", c.name, "Request", req)
228228

229229
// Return true, don't take a break
230230
return true

pkg/controller/controller_integration_test.go

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ import (
3232
)
3333

3434
var _ = Describe("controller", func() {
35-
var reconciled chan reconcile.ReconcileRequest
35+
var reconciled chan reconcile.Request
3636
var stop chan struct{}
3737

3838
BeforeEach(func() {
3939
stop = make(chan struct{})
40-
reconciled = make(chan reconcile.ReconcileRequest)
40+
reconciled = make(chan reconcile.Request)
4141
Expect(cfg).NotTo(BeNil())
4242
})
4343

@@ -49,15 +49,15 @@ var _ = Describe("controller", func() {
4949
// TODO(directxman12): write a whole suite of controller-client interaction tests
5050

5151
It("should reconcile", func(done Done) {
52-
By("Creating the ControllerManager")
53-
cm, err := controller.NewControllerManager(controller.ControllerManagerArgs{Config: cfg})
52+
By("Creating the Manager")
53+
cm, err := controller.NewManager(controller.ManagerArgs{Config: cfg})
5454
Expect(err).NotTo(HaveOccurred())
5555

5656
By("Creating the Controller")
57-
instance, err := cm.NewController(controller.ControllerArgs{Name: "foo-controller"}, reconcile.ReconcileFunc(
58-
func(request reconcile.ReconcileRequest) (reconcile.ReconcileResult, error) {
57+
instance, err := cm.NewController(controller.Args{Name: "foo-controller"}, reconcile.Func(
58+
func(request reconcile.Request) (reconcile.Result, error) {
5959
reconciled <- request
60-
return reconcile.ReconcileResult{}, nil
60+
return reconcile.Result{}, nil
6161
}))
6262
Expect(err).NotTo(HaveOccurred())
6363

@@ -70,7 +70,7 @@ var _ = Describe("controller", func() {
7070
err = instance.Watch(&source.KindSource{Type: &appsv1.Deployment{}}, &eventhandler.EnqueueHandler{})
7171
Expect(err).NotTo(HaveOccurred())
7272

73-
By("Starting the ControllerManager")
73+
By("Starting the Manager")
7474
go func() {
7575
defer GinkgoRecover()
7676
Expect(cm.Start(stop)).NotTo(HaveOccurred())
@@ -95,7 +95,7 @@ var _ = Describe("controller", func() {
9595
},
9696
},
9797
}
98-
expectedReconcileRequest := reconcile.ReconcileRequest{NamespacedName: types.NamespacedName{
98+
expectedReconcileRequest := reconcile.Request{NamespacedName: types.NamespacedName{
9999
Namespace: "default",
100100
Name: "deployment-name",
101101
}}

pkg/controller/controller_manager.go

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ import (
3333
"k8s.io/client-go/util/workqueue"
3434
)
3535

36-
// ControllerManager initializes shared dependencies such as Caches and Clients, and starts Controllers.
36+
// Manager initializes shared dependencies such as Caches and Clients, and starts Controllers.
3737
//
38-
// Dependencies may be retrieved from the ControllerManager using the Get* functions
39-
type ControllerManager interface {
38+
// Dependencies may be retrieved from the Manager using the Get* functions
39+
type Manager interface {
4040
// NewController creates a new initialized Controller with the Reconcile function
41-
// and registers it with the ControllerManager.
42-
NewController(ControllerArgs, reconcile.Reconcile) (Controller, error)
41+
// and registers it with the Manager.
42+
NewController(Args, reconcile.Reconcile) (Controller, error)
4343

4444
// Start starts all registered Controllers and blocks until the Stop channel is closed.
4545
// Returns an error if there is an error starting any controller.
@@ -58,7 +58,7 @@ type ControllerManager interface {
5858
GetFieldIndexer() client.FieldIndexer
5959
}
6060

61-
var _ ControllerManager = &controllerManager{}
61+
var _ Manager = &controllerManager{}
6262

6363
type controllerManager struct {
6464
// config is the rest.config used to talk to the apiserver. Required.
@@ -88,12 +88,12 @@ type controllerManager struct {
8888
stop <-chan struct{}
8989
}
9090

91-
func (cm *controllerManager) NewController(ca ControllerArgs, r reconcile.Reconcile) (Controller, error) {
91+
func (cm *controllerManager) NewController(ca Args, r reconcile.Reconcile) (Controller, error) {
9292
cm.mu.Lock()
9393
defer cm.mu.Unlock()
9494

9595
if len(ca.Name) == 0 {
96-
return nil, fmt.Errorf("Must specify name for Controller.")
96+
return nil, fmt.Errorf("must specify name for Controller")
9797
}
9898

9999
if ca.MaxConcurrentReconciles <= 0 {
@@ -127,16 +127,16 @@ func (cm *controllerManager) NewController(ca ControllerArgs, r reconcile.Reconc
127127
}
128128

129129
func (cm *controllerManager) injectInto(i interface{}) error {
130-
if _, err := inject.InjectConfig(cm.config, i); err != nil {
130+
if _, err := inject.DoConfig(cm.config, i); err != nil {
131131
return err
132132
}
133-
if _, err := inject.InjectClient(cm.client, i); err != nil {
133+
if _, err := inject.DoClient(cm.client, i); err != nil {
134134
return err
135135
}
136-
if _, err := inject.InjectScheme(cm.scheme, i); err != nil {
136+
if _, err := inject.DoScheme(cm.scheme, i); err != nil {
137137
return err
138138
}
139-
if _, err := inject.InjectInformers(cm.informers, i); err != nil {
139+
if _, err := inject.DoInformers(cm.informers, i); err != nil {
140140
return err
141141
}
142142
return nil
@@ -187,8 +187,8 @@ func (cm *controllerManager) Start(stop <-chan struct{}) error {
187187
}
188188
}
189189

190-
// ControllerManagerArgs are the arguments for creating a new ControllerManager
191-
type ControllerManagerArgs struct {
190+
// ManagerArgs are the arguments for creating a new Manager
191+
type ManagerArgs struct {
192192
// Config is the config used to talk to an apiserver. Defaults to:
193193
// 1. Config specified with the --config flag
194194
// 2. Config specified with the KUBECONFIG environment variable
@@ -201,8 +201,8 @@ type ControllerManagerArgs struct {
201201
Scheme *runtime.Scheme
202202
}
203203

204-
// NewControllerManager returns a new fully initialized ControllerManager.
205-
func NewControllerManager(args ControllerManagerArgs) (ControllerManager, error) {
204+
// NewManager returns a new fully initialized Manager.
205+
func NewManager(args ManagerArgs) (Manager, error) {
206206
cm := &controllerManager{config: args.Config, scheme: args.Scheme, errChan: make(chan error)}
207207

208208
// Initialize a rest.config if none was specified

pkg/controller/controller_suite_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,15 @@ func TestSource(t *testing.T) {
3434
RunSpecsWithDefaultAndCustomReporters(t, "controller Suite", []Reporter{test.NewlineReporter{}})
3535
}
3636

37-
var testenv *test.TestEnvironment
37+
var testenv *test.Environment
3838
var cfg *rest.Config
3939
var clientset *kubernetes.Clientset
4040
var icache informer.Informers
4141

4242
var _ = BeforeSuite(func() {
4343
logf.SetLogger(logf.ZapLogger(true))
4444

45-
testenv = &test.TestEnvironment{}
45+
testenv = &test.Environment{}
4646

4747
var err error
4848
cfg, err = testenv.Start()

pkg/controller/doc.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -124,15 +124,15 @@ to Pod or ReplicaSet events. The Reconcile function simply adds a label to the
124124
flag.Parse()
125125
logf.SetLogger(logf.ZapLogger(false))
126126
127-
// Setup a ControllerManager
128-
manager, err := controller.NewControllerManager(controller.ControllerManagerArgs{})
127+
// Setup a Manager
128+
manager, err := controller.NewManager(controller.ManagerArgs{})
129129
if err != nil {
130130
log.Fatal(err)
131131
}
132132
133133
// Setup a new controller to Reconcile ReplicaSets
134134
c := manager.NewController(
135-
controller.ControllerArgs{Name: "my-replicaset-controller", MaxConcurrentReconciles: 1},
135+
controller.Args{Name: "my-replicaset-controller", MaxConcurrentReconciles: 1},
136136
&ReconcileReplicaSet{client: manager.GetClient()},
137137
)
138138

pkg/controller/eventhandler/enqueue.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ var enqueueLog = logf.KBLog.WithName("eventhandler").WithName("EnqueueHandler")
2828

2929
var _ EventHandler = &EnqueueHandler{}
3030

31-
// EnqueueHandler enqueues a ReconcileRequest containing the Name and Namespace of the object for each event.
31+
// EnqueueHandler enqueues a Request containing the Name and Namespace of the object for each event.
3232
type EnqueueHandler struct{}
3333

3434
// Create implements EventHandler
@@ -37,7 +37,7 @@ func (e *EnqueueHandler) Create(q workqueue.RateLimitingInterface, evt event.Cre
3737
enqueueLog.Error(nil, "CreateEvent received with no metadata", "CreateEvent", evt)
3838
return
3939
}
40-
q.AddRateLimited(reconcile.ReconcileRequest{NamespacedName: types.NamespacedName{
40+
q.AddRateLimited(reconcile.Request{NamespacedName: types.NamespacedName{
4141
Name: evt.Meta.GetName(),
4242
Namespace: evt.Meta.GetNamespace(),
4343
}})
@@ -46,7 +46,7 @@ func (e *EnqueueHandler) Create(q workqueue.RateLimitingInterface, evt event.Cre
4646
// Update implements EventHandler
4747
func (e *EnqueueHandler) Update(q workqueue.RateLimitingInterface, evt event.UpdateEvent) {
4848
if evt.MetaOld != nil {
49-
q.AddRateLimited(reconcile.ReconcileRequest{NamespacedName: types.NamespacedName{
49+
q.AddRateLimited(reconcile.Request{NamespacedName: types.NamespacedName{
5050
Name: evt.MetaOld.GetName(),
5151
Namespace: evt.MetaOld.GetNamespace(),
5252
}})
@@ -55,7 +55,7 @@ func (e *EnqueueHandler) Update(q workqueue.RateLimitingInterface, evt event.Upd
5555
}
5656

5757
if evt.MetaNew != nil {
58-
q.AddRateLimited(reconcile.ReconcileRequest{NamespacedName: types.NamespacedName{
58+
q.AddRateLimited(reconcile.Request{NamespacedName: types.NamespacedName{
5959
Name: evt.MetaNew.GetName(),
6060
Namespace: evt.MetaNew.GetNamespace(),
6161
}})
@@ -70,7 +70,7 @@ func (e *EnqueueHandler) Delete(q workqueue.RateLimitingInterface, evt event.Del
7070
enqueueLog.Error(nil, "DeleteEvent received with no metadata", "DeleteEvent", evt)
7171
return
7272
}
73-
q.AddRateLimited(reconcile.ReconcileRequest{NamespacedName: types.NamespacedName{
73+
q.AddRateLimited(reconcile.Request{NamespacedName: types.NamespacedName{
7474
Name: evt.Meta.GetName(),
7575
Namespace: evt.Meta.GetNamespace(),
7676
}})
@@ -82,7 +82,7 @@ func (e *EnqueueHandler) Generic(q workqueue.RateLimitingInterface, evt event.Ge
8282
enqueueLog.Error(nil, "GenericEvent received with no metadata", "GenericEvent", evt)
8383
return
8484
}
85-
q.AddRateLimited(reconcile.ReconcileRequest{NamespacedName: types.NamespacedName{
85+
q.AddRateLimited(reconcile.Request{NamespacedName: types.NamespacedName{
8686
Name: evt.Meta.GetName(),
8787
Namespace: evt.Meta.GetNamespace(),
8888
}})

pkg/controller/eventhandler/enqueue_mapped.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,10 @@ func (e *EnqueueMappedHandler) mapAndEnqueue(q workqueue.RateLimitingInterface,
6565
// Mapper maps an object to a collection of keys to be enqueued
6666
type Mapper interface {
6767
// Map maps an object
68-
Map(MapObject) []reconcile.ReconcileRequest
68+
Map(MapObject) []reconcile.Request
6969
}
7070

71-
// MapObject contains information from an event to be transformed into a ReconcileRequest.
71+
// MapObject contains information from an event to be transformed into a Request.
7272
type MapObject struct {
7373
// Meta is the meta data for an object from an event.
7474
Meta metav1.Object
@@ -80,9 +80,9 @@ type MapObject struct {
8080
var _ Mapper = ToRequestsFunc(nil)
8181

8282
// ToRequestsFunc implements Mapper using a function.
83-
type ToRequestsFunc func(MapObject) []reconcile.ReconcileRequest
83+
type ToRequestsFunc func(MapObject) []reconcile.Request
8484

8585
// Map implements Mapper
86-
func (m ToRequestsFunc) Map(i MapObject) []reconcile.ReconcileRequest {
86+
func (m ToRequestsFunc) Map(i MapObject) []reconcile.Request {
8787
return m(i)
8888
}

0 commit comments

Comments
 (0)