Skip to content

Commit 6700ae5

Browse files
Bump k8s dependencies and controller-runtime (#40)
* Bump k8s dependencies and controller-runtime Bump k8s dependencirs to v0.19+ and controller-runtime to v0.7.0-alpha.6 * Fix lint
1 parent 745465e commit 6700ae5

File tree

10 files changed

+304
-166
lines changed

10 files changed

+304
-166
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
uses: actions/checkout@v2
5151

5252
- name: Run golangci-lint
53-
uses: golangci/golangci-lint-action@v1
53+
uses: golangci/golangci-lint-action@v2
5454
with:
5555
version: v1.29
5656
args: --timeout 5m

go.mod

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ module github.com/operator-framework/operator-lib
33
go 1.15
44

55
require (
6-
github.com/onsi/ginkgo v1.12.1
7-
github.com/onsi/gomega v1.10.1
8-
github.com/prometheus/client_golang v1.0.0
6+
github.com/onsi/ginkgo v1.14.1
7+
github.com/onsi/gomega v1.10.2
8+
github.com/prometheus/client_golang v1.7.1
99
github.com/prometheus/client_model v0.2.0
10-
github.com/stretchr/testify v1.5.1 // indirect
11-
k8s.io/api v0.18.4
12-
k8s.io/apimachinery v0.18.4
13-
k8s.io/client-go v0.18.4
14-
sigs.k8s.io/controller-runtime v0.6.1
10+
k8s.io/api v0.19.4
11+
k8s.io/apiextensions-apiserver v0.19.3 // indirect
12+
k8s.io/apimachinery v0.19.4
13+
k8s.io/client-go v0.19.4
14+
sigs.k8s.io/controller-runtime v0.7.0-alpha.6
1515
)

go.sum

Lines changed: 257 additions & 93 deletions
Large diffs are not rendered by default.

handler/enqueue_annotation.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import (
2222
"k8s.io/apimachinery/pkg/runtime/schema"
2323
"k8s.io/apimachinery/pkg/types"
2424
"k8s.io/client-go/util/workqueue"
25-
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
25+
"sigs.k8s.io/controller-runtime/pkg/client"
2626
"sigs.k8s.io/controller-runtime/pkg/event"
2727
crtHandler "sigs.k8s.io/controller-runtime/pkg/handler"
2828
logf "sigs.k8s.io/controller-runtime/pkg/log"
@@ -88,31 +88,31 @@ var _ crtHandler.EventHandler = &EnqueueRequestForAnnotation{}
8888

8989
// Create implements EventHandler
9090
func (e *EnqueueRequestForAnnotation) Create(evt event.CreateEvent, q workqueue.RateLimitingInterface) {
91-
if ok, req := e.getAnnotationRequests(evt.Meta); ok {
91+
if ok, req := e.getAnnotationRequests(evt.Object); ok {
9292
q.Add(req)
9393
}
9494
}
9595

9696
// Update implements EventHandler
9797
func (e *EnqueueRequestForAnnotation) Update(evt event.UpdateEvent, q workqueue.RateLimitingInterface) {
98-
if ok, req := e.getAnnotationRequests(evt.MetaOld); ok {
98+
if ok, req := e.getAnnotationRequests(evt.ObjectOld); ok {
9999
q.Add(req)
100100
}
101-
if ok, req := e.getAnnotationRequests(evt.MetaNew); ok {
101+
if ok, req := e.getAnnotationRequests(evt.ObjectNew); ok {
102102
q.Add(req)
103103
}
104104
}
105105

106106
// Delete implements EventHandler
107107
func (e *EnqueueRequestForAnnotation) Delete(evt event.DeleteEvent, q workqueue.RateLimitingInterface) {
108-
if ok, req := e.getAnnotationRequests(evt.Meta); ok {
108+
if ok, req := e.getAnnotationRequests(evt.Object); ok {
109109
q.Add(req)
110110
}
111111
}
112112

113113
// Generic implements EventHandler
114114
func (e *EnqueueRequestForAnnotation) Generic(evt event.GenericEvent, q workqueue.RateLimitingInterface) {
115-
if ok, req := e.getAnnotationRequests(evt.Meta); ok {
115+
if ok, req := e.getAnnotationRequests(evt.Object); ok {
116116
q.Add(req)
117117
}
118118
}
@@ -155,7 +155,7 @@ func parseNamespacedName(namespacedNameString string) types.NamespacedName {
155155
// and kind. In other terms, object can be said to be the dependent having annotations from the owner.
156156
// When a watch is set on the object, the annotations help to identify the owner and trigger reconciliation.
157157
// Annotations are ALWAYS overwritten.
158-
func SetOwnerAnnotations(owner, object controllerutil.Object) error {
158+
func SetOwnerAnnotations(owner, object client.Object) error {
159159
if owner.GetName() == "" {
160160
return fmt.Errorf("%T does not have a name, cannot call SetOwnerAnnotations", owner)
161161
}

handler/enqueue_annotation_test.go

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ var _ = Describe("EnqueueRequestForAnnotation", func() {
6565
It("should enqueue a Request with the annotations of the object in case of CreateEvent", func() {
6666
evt := event.CreateEvent{
6767
Object: pod,
68-
Meta: pod.GetObjectMeta(),
6968
}
7069

7170
instance.Create(evt, q)
@@ -94,7 +93,6 @@ var _ = Describe("EnqueueRequestForAnnotation", func() {
9493

9594
evt := event.CreateEvent{
9695
Object: repl,
97-
Meta: repl.GetObjectMeta(),
9896
}
9997

10098
instance.Create(evt, q)
@@ -118,7 +116,6 @@ var _ = Describe("EnqueueRequestForAnnotation", func() {
118116

119117
evt := event.CreateEvent{
120118
Object: repl,
121-
Meta: repl.GetObjectMeta(),
122119
}
123120

124121
instance.Create(evt, q)
@@ -137,7 +134,6 @@ var _ = Describe("EnqueueRequestForAnnotation", func() {
137134

138135
evt := event.CreateEvent{
139136
Object: repl,
140-
Meta: repl.GetObjectMeta(),
141137
}
142138

143139
instance.Create(evt, q)
@@ -157,7 +153,6 @@ var _ = Describe("EnqueueRequestForAnnotation", func() {
157153

158154
evt := event.CreateEvent{
159155
Object: repl,
160-
Meta: repl.GetObjectMeta(),
161156
}
162157

163158
instance.Create(evt, q)
@@ -177,7 +172,6 @@ var _ = Describe("EnqueueRequestForAnnotation", func() {
177172

178173
evt := event.CreateEvent{
179174
Object: repl,
180-
Meta: repl.GetObjectMeta(),
181175
}
182176

183177
instance.Create(evt, q)
@@ -202,7 +196,6 @@ var _ = Describe("EnqueueRequestForAnnotation", func() {
202196

203197
evt := event.CreateEvent{
204198
Object: nd,
205-
Meta: nd.GetObjectMeta(),
206199
}
207200

208201
instance.Create(evt, q)
@@ -220,7 +213,6 @@ var _ = Describe("EnqueueRequestForAnnotation", func() {
220213
instance = EnqueueRequestForAnnotation{Type: nd.GetObjectKind().GroupVersionKind().GroupKind()}
221214
evt := event.CreateEvent{
222215
Object: nd,
223-
Meta: nd.GetObjectMeta(),
224216
}
225217

226218
instance.Create(evt, q)
@@ -232,7 +224,6 @@ var _ = Describe("EnqueueRequestForAnnotation", func() {
232224
It("should enqueue a Request with the annotations of the object in case of DeleteEvent", func() {
233225
evt := event.DeleteEvent{
234226
Object: pod,
235-
Meta: pod.GetObjectMeta(),
236227
}
237228
instance.Delete(evt, q)
238229
Expect(q.Len()).To(Equal(1))
@@ -258,9 +249,7 @@ var _ = Describe("EnqueueRequestForAnnotation", func() {
258249

259250
evt := event.UpdateEvent{
260251
ObjectOld: pod,
261-
MetaOld: pod.GetObjectMeta(),
262252
ObjectNew: newPod,
263-
MetaNew: newPod.GetObjectMeta(),
264253
}
265254

266255
instance.Update(evt, q)
@@ -282,9 +271,7 @@ var _ = Describe("EnqueueRequestForAnnotation", func() {
282271

283272
evt := event.UpdateEvent{
284273
ObjectOld: pod,
285-
MetaOld: pod.GetObjectMeta(),
286274
ObjectNew: newPod,
287-
MetaNew: newPod.GetObjectMeta(),
288275
}
289276

290277
instance.Update(evt, q)
@@ -309,7 +296,6 @@ var _ = Describe("EnqueueRequestForAnnotation", func() {
309296

310297
evt := event.CreateEvent{
311298
Object: repl,
312-
Meta: repl.GetObjectMeta(),
313299
}
314300

315301
instance.Create(evt, q)
@@ -328,9 +314,7 @@ var _ = Describe("EnqueueRequestForAnnotation", func() {
328314

329315
evt2 := event.UpdateEvent{
330316
ObjectOld: repl,
331-
MetaOld: repl.GetObjectMeta(),
332317
ObjectNew: newRepl,
333-
MetaNew: newRepl.GetObjectMeta(),
334318
}
335319

336320
instance2.Update(evt2, q)
@@ -365,9 +349,7 @@ var _ = Describe("EnqueueRequestForAnnotation", func() {
365349

366350
evt := event.UpdateEvent{
367351
ObjectOld: pod,
368-
MetaOld: pod.GetObjectMeta(),
369352
ObjectNew: newPod,
370-
MetaNew: newPod.GetObjectMeta(),
371353
}
372354
instance.Update(evt, q)
373355
Expect(q.Len()).To(Equal(2))
@@ -378,7 +360,6 @@ var _ = Describe("EnqueueRequestForAnnotation", func() {
378360
It("should enqueue a Request with the annotations of the object in case of GenericEvent", func() {
379361
evt := event.GenericEvent{
380362
Object: pod,
381-
Meta: pod.GetObjectMeta(),
382363
}
383364
instance.Generic(evt, q)
384365
Expect(q.Len()).To(Equal(1))

handler/instrumented_enqueue_object.go

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,8 @@
1515
package handler
1616

1717
import (
18-
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
19-
"k8s.io/apimachinery/pkg/runtime"
2018
"k8s.io/client-go/util/workqueue"
19+
"sigs.k8s.io/controller-runtime/pkg/client"
2120
"sigs.k8s.io/controller-runtime/pkg/event"
2221
"sigs.k8s.io/controller-runtime/pkg/handler"
2322

@@ -41,43 +40,43 @@ type InstrumentedEnqueueRequestForObject struct {
4140

4241
// Create implements EventHandler, and creates the metrics.
4342
func (h InstrumentedEnqueueRequestForObject) Create(e event.CreateEvent, q workqueue.RateLimitingInterface) {
44-
setResourceMetric(e.Meta, e.Object)
43+
setResourceMetric(e.Object)
4544
h.EnqueueRequestForObject.Create(e, q)
4645
}
4746

4847
// Update implements EventHandler, and updates the metrics.
4948
func (h InstrumentedEnqueueRequestForObject) Update(e event.UpdateEvent, q workqueue.RateLimitingInterface) {
50-
setResourceMetric(e.MetaOld, e.ObjectOld)
51-
setResourceMetric(e.MetaNew, e.ObjectNew)
49+
setResourceMetric(e.ObjectOld)
50+
setResourceMetric(e.ObjectNew)
5251

5352
h.EnqueueRequestForObject.Update(e, q)
5453
}
5554

5655
// Delete implements EventHandler, and deletes metrics.
5756
func (h InstrumentedEnqueueRequestForObject) Delete(e event.DeleteEvent, q workqueue.RateLimitingInterface) {
58-
deleteResourceMetric(e.Meta, e.Object)
57+
deleteResourceMetric(e.Object)
5958
h.EnqueueRequestForObject.Delete(e, q)
6059
}
6160

62-
func setResourceMetric(metadata metav1.Object, obj runtime.Object) {
63-
if metadata != nil && obj != nil {
64-
labels := getResourceLabels(metadata, obj)
61+
func setResourceMetric(obj client.Object) {
62+
if obj != nil {
63+
labels := getResourceLabels(obj)
6564
m, _ := metrics.ResourceCreatedAt.GetMetricWith(labels)
66-
m.Set(float64(metadata.GetCreationTimestamp().UTC().Unix()))
65+
m.Set(float64(obj.GetCreationTimestamp().UTC().Unix()))
6766
}
6867
}
6968

70-
func deleteResourceMetric(metadata metav1.Object, obj runtime.Object) {
71-
if metadata != nil && obj != nil {
72-
labels := getResourceLabels(metadata, obj)
69+
func deleteResourceMetric(obj client.Object) {
70+
if obj != nil {
71+
labels := getResourceLabels(obj)
7372
_ = metrics.ResourceCreatedAt.Delete(labels)
7473
}
7574
}
7675

77-
func getResourceLabels(metadata metav1.Object, obj runtime.Object) map[string]string {
76+
func getResourceLabels(obj client.Object) map[string]string {
7877
return map[string]string{
79-
"name": metadata.GetName(),
80-
"namespace": metadata.GetNamespace(),
78+
"name": obj.GetName(),
79+
"namespace": obj.GetNamespace(),
8180
"group": obj.GetObjectKind().GroupVersionKind().Group,
8281
"version": obj.GetObjectKind().GroupVersionKind().Version,
8382
"kind": obj.GetObjectKind().GroupVersionKind().Kind,

handler/instrumented_enqueue_object_test.go

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ var _ = Describe("InstrumentedEnqueueRequestForObject", func() {
5353
It("should enqueue a request & emit a metric on a CreateEvent", func() {
5454
evt := event.CreateEvent{
5555
Object: pod,
56-
Meta: pod.GetObjectMeta(),
5756
}
5857

5958
// test the create
@@ -82,15 +81,13 @@ var _ = Describe("InstrumentedEnqueueRequestForObject", func() {
8281
BeforeEach(func() {
8382
evt := event.CreateEvent{
8483
Object: pod,
85-
Meta: pod.GetObjectMeta(),
8684
}
8785
instance.Create(evt, q)
8886
Expect(q.Len()).To(Equal(1))
8987
})
9088
It("should enqueue a request & remove the metric on a DeleteEvent", func() {
9189
evt := event.DeleteEvent{
9290
Object: pod,
93-
Meta: pod.GetObjectMeta(),
9491
}
9592

9693
// test the delete
@@ -116,7 +113,6 @@ var _ = Describe("InstrumentedEnqueueRequestForObject", func() {
116113
It("should enqueue a request & there should be no new metric on a DeleteEvent", func() {
117114
evt := event.DeleteEvent{
118115
Object: pod,
119-
Meta: pod.GetObjectMeta(),
120116
}
121117

122118
// test the delete
@@ -151,9 +147,7 @@ var _ = Describe("InstrumentedEnqueueRequestForObject", func() {
151147
}
152148
evt := event.UpdateEvent{
153149
ObjectOld: pod,
154-
MetaOld: pod.GetObjectMeta(),
155150
ObjectNew: newpod,
156-
MetaNew: newpod.GetObjectMeta(),
157151
}
158152

159153
// test the update
@@ -186,7 +180,7 @@ var _ = Describe("InstrumentedEnqueueRequestForObject", func() {
186180

187181
Describe("getResourceLabels", func() {
188182
It("should fill out map with values from given objects", func() {
189-
labelMap := getResourceLabels(pod.GetObjectMeta(), pod)
183+
labelMap := getResourceLabels(pod)
190184
Expect(labelMap).ShouldNot(BeEmpty())
191185
Expect(len(labelMap)).To(Equal(5))
192186
Expect(labelMap["name"]).To(Equal(pod.GetObjectMeta().GetName()))

predicate/nogeneration.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ type NoGenerationPredicate struct {
5959

6060
// Update implements the default UpdateEvent filter for validating absence Generation.
6161
func (NoGenerationPredicate) Update(e event.UpdateEvent) bool {
62-
if e.MetaOld == nil {
62+
if e.ObjectOld == nil {
6363
log.V(1).Info("Update event has no old metadata", "event", e)
6464
return false
6565
}
@@ -71,11 +71,11 @@ func (NoGenerationPredicate) Update(e event.UpdateEvent) bool {
7171
log.V(1).Info("Update event has no new runtime object for update", "event", e)
7272
return false
7373
}
74-
if e.MetaNew == nil {
74+
if e.ObjectNew == nil {
7575
log.V(1).Info("Update event has no new metadata", "event", e)
7676
return false
7777
}
7878
// Since generation is monotonically increasing, the new generation will always be greater than the old
7979
// iff the object respects generations.
80-
return e.MetaNew.GetGeneration() == e.MetaOld.GetGeneration() && e.MetaNew.GetGeneration() == 0
80+
return e.ObjectNew.GetGeneration() == e.ObjectOld.GetGeneration() && e.ObjectNew.GetGeneration() == 0
8181
}

predicate/nogeneration_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ var _ = Describe("NoGenerationPredicate", func() {
7070
By("the old metadata being nil", func() {
7171
old, new := &appsv1.Deployment{}, &appsv1.Deployment{}
7272
e = makeUpdateEventFor(old, new)
73-
e.MetaOld = nil
73+
e.ObjectOld = nil
7474
Expect(pred.Update(e)).To(BeFalse())
7575
})
7676
By("the new object being nil", func() {
@@ -82,7 +82,7 @@ var _ = Describe("NoGenerationPredicate", func() {
8282
By("the new metadata being nil", func() {
8383
old, new := &appsv1.Deployment{}, &appsv1.Deployment{}
8484
e = makeUpdateEventFor(old, new)
85-
e.MetaNew = nil
85+
e.ObjectNew = nil
8686
Expect(pred.Update(e)).To(BeFalse())
8787
})
8888
})

0 commit comments

Comments
 (0)