Skip to content

Commit 5887e81

Browse files
committed
chore(deps): Update client-go and controller-runtime
This updates k8s.io/client-go from v0.25.9 to v0.30.1 and sigs.k8s.io/controller-runtime from v0.11.1 to v0.18.6. Some other dependencies were updated for dependency resolution to succeed. Signed-off-by: mprahl <mprahl@users.noreply.github.com>
1 parent cb07619 commit 5887e81

37 files changed

+755
-3571
lines changed

.github/workflows/backend.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ jobs:
2222
runs-on: ubuntu-latest
2323
steps:
2424
- name: Install Go
25-
uses: actions/setup-go@v4
25+
uses: actions/setup-go@v5
2626
with:
27-
go-version: 1.21.x
27+
go-version-file: go.mod
2828
- name: Checkout code
2929
uses: actions/checkout@v4
3030
- name: "run go unit tests"

.github/workflows/presubmit-backend.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ jobs:
2020
uses: actions/checkout@v2
2121

2222
- name: Set up Go
23-
uses: actions/setup-go@v3
23+
uses: actions/setup-go@v5
2424
with:
25-
go-version: '1.21'
25+
go-version-file: go.mod
2626

2727
- name: Run Backend Tests
2828
run: ./test/presubmit-backend-test.sh

backend/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# limitations under the License.
1414

1515
# 1. Build api server application
16-
FROM golang:1.21.7-bookworm as builder
16+
FROM golang:1.22.10-bookworm as builder
1717
RUN apt-get update && apt-get install -y cmake clang musl-dev openssl
1818
WORKDIR /go/src/github.com/kubeflow/pipelines
1919

backend/Dockerfile.cacheserver

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# limitations under the License.
1414

1515
# Dockerfile for building the source code of cache_server
16-
FROM golang:1.21.7-alpine3.19 as builder
16+
FROM golang:1.22.10-alpine3.21 as builder
1717

1818
RUN apk update && apk upgrade && \
1919
apk add --no-cache bash git openssh gcc musl-dev

backend/Dockerfile.conformance

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# limitations under the License.
1414

1515
# Dockerfile for building the source code of conformance tests
16-
FROM golang:1.21.7-alpine3.19 as builder
16+
FROM golang:1.22.10-alpine3.21 as builder
1717

1818
RUN apk update && apk upgrade && \
1919
apk add --no-cache bash git openssh gcc musl-dev

backend/Dockerfile.driver

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
FROM golang:1.21.7-alpine3.19 as builder
15+
FROM golang:1.22.10-alpine3.21 as builder
1616

1717
WORKDIR /go/src/github.com/kubeflow/pipelines
1818

backend/Dockerfile.launcher

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
FROM golang:1.21.7-alpine3.19 as builder
15+
FROM golang:1.22.10-alpine3.21 as builder
1616

1717
WORKDIR /go/src/github.com/kubeflow/pipelines
1818

backend/Dockerfile.persistenceagent

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
FROM golang:1.21.7-alpine3.19 as builder
15+
FROM golang:1.22.10-alpine3.21 as builder
1616

1717
WORKDIR /go/src/github.com/kubeflow/pipelines
1818

backend/Dockerfile.scheduledworkflow

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
FROM golang:1.21.7-alpine3.19 as builder
15+
FROM golang:1.22.10-alpine3.21 as builder
1616

1717
WORKDIR /go/src/github.com/kubeflow/pipelines
1818

backend/Dockerfile.viewercontroller

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
FROM golang:1.21.7-alpine3.19 as builder
15+
FROM golang:1.22.10-alpine3.21 as builder
1616

1717
RUN apk update && apk upgrade
1818
RUN apk add --no-cache git gcc musl-dev

backend/api/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# limitations under the License.
1414

1515
# Generate client code (go & json) from API protocol buffers
16-
FROM golang:1.21 as generator
16+
FROM golang:1.22 as generator
1717
ENV GRPC_GATEWAY_VERSION v1.9.6
1818
ENV GO_SWAGGER_VERSION v0.18.0
1919
ENV GOLANG_PROTOBUF_VERSION v1.5.1

backend/src/agent/persistence/client/scheduled_workflow_client.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ func NewScheduledWorkflowClient(informer v1beta1.ScheduledWorkflowInformer) *Sch
3838
}
3939

4040
// AddEventHandler adds an event handler.
41-
func (c *ScheduledWorkflowClient) AddEventHandler(funcs *cache.ResourceEventHandlerFuncs) {
42-
c.informer.Informer().AddEventHandler(funcs)
41+
func (c *ScheduledWorkflowClient) AddEventHandler(funcs *cache.ResourceEventHandlerFuncs) (cache.ResourceEventHandlerRegistration, error) {
42+
return c.informer.Informer().AddEventHandler(funcs)
4343
}
4444

4545
// HasSynced returns true if the shared informer's store has synced.

backend/src/agent/persistence/client/workflow_client.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ func NewWorkflowClient(informer util.ExecutionInformer) *WorkflowClient {
3737
}
3838

3939
// AddEventHandler adds an event handler.
40-
func (c *WorkflowClient) AddEventHandler(funcs *cache.ResourceEventHandlerFuncs) {
41-
c.informer.AddEventHandler(funcs)
40+
func (c *WorkflowClient) AddEventHandler(funcs *cache.ResourceEventHandlerFuncs) (cache.ResourceEventHandlerRegistration, error) {
41+
return c.informer.AddEventHandler(funcs)
4242
}
4343

4444
// HasSynced returns true if the shared informer's store has synced.

backend/src/agent/persistence/main.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,11 +131,14 @@ func main() {
131131
log.Fatalf("Error creating ML pipeline API Server client: %v", err)
132132
}
133133

134-
controller := NewPersistenceAgent(
134+
controller, err := NewPersistenceAgent(
135135
swfInformerFactory,
136136
execInformer,
137137
pipelineClient,
138138
util.NewRealTime())
139+
if err != nil {
140+
log.Fatalf("Failed to instantiate the controller: %v", err)
141+
}
139142

140143
go swfInformerFactory.Start(stopCh)
141144
go execInformer.InformerFactoryStart(stopCh)

backend/src/agent/persistence/persistence_agent.go

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ func NewPersistenceAgent(
4646
swfInformerFactory swfinformers.SharedInformerFactory,
4747
execInformer util.ExecutionInformer,
4848
pipelineClient *client.PipelineClient,
49-
time util.TimeInterface) *PersistenceAgent {
49+
time util.TimeInterface,
50+
) (*PersistenceAgent, error) {
5051
// obtain references to shared informers
5152
swfInformer := swfInformerFactory.Scheduledworkflow().V1beta1().ScheduledWorkflows()
5253

@@ -57,12 +58,18 @@ func NewPersistenceAgent(
5758
swfClient := client.NewScheduledWorkflowClient(swfInformer)
5859
workflowClient := client.NewWorkflowClient(execInformer)
5960

60-
swfWorker := worker.NewPersistenceWorker(time, swfregister.Kind, swfInformer.Informer(), true,
61+
swfWorker, err := worker.NewPersistenceWorker(time, swfregister.Kind, swfInformer.Informer(), true,
6162
worker.NewScheduledWorkflowSaver(swfClient, pipelineClient))
63+
if err != nil {
64+
return nil, err
65+
}
6266

63-
workflowWorker := worker.NewPersistenceWorker(time, workflowregister.WorkflowKind,
67+
workflowWorker, err := worker.NewPersistenceWorker(time, workflowregister.WorkflowKind,
6468
execInformer, true,
6569
worker.NewWorkflowSaver(workflowClient, pipelineClient, ttlSecondsAfterWorkflowFinish))
70+
if err != nil {
71+
return nil, err
72+
}
6673

6774
agent := &PersistenceAgent{
6875
swfClient: swfClient,
@@ -73,7 +80,7 @@ func NewPersistenceAgent(
7380

7481
log.Info("Setting up event handlers")
7582

76-
return agent
83+
return agent, nil
7784
}
7885

7986
// Run will set up the event handlers for types we are interested in, as well

backend/src/agent/persistence/worker/persistence_worker.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ type Saver interface {
3939
}
4040

4141
type EventHandler interface {
42-
AddEventHandler(handler cache.ResourceEventHandler)
42+
AddEventHandler(handler cache.ResourceEventHandler) (cache.ResourceEventHandlerRegistration, error)
4343
}
4444

4545
// PersistenceWorker is a generic worker to persist objects from a queue.
@@ -62,7 +62,8 @@ func NewPersistenceWorker(
6262
name string,
6363
eventHandler util.ExecutionInformerEventHandler,
6464
enforceRequeueDelays bool,
65-
saver Saver) *PersistenceWorker {
65+
saver Saver,
66+
) (*PersistenceWorker, error) {
6667
worker := &PersistenceWorker{
6768
workqueue: workqueue.NewNamedRateLimitingQueue(
6869
workqueue.NewItemExponentialFailureRateLimiter(DefaultJobBackOff, MaxJobBackOff), name),
@@ -74,15 +75,18 @@ func NewPersistenceWorker(
7475
log.Info("Setting up event handlers")
7576

7677
// Set up an event handler for when the Scheduled Workflow changes
77-
eventHandler.AddEventHandler(&cache.ResourceEventHandlerFuncs{
78+
_, err := eventHandler.AddEventHandler(&cache.ResourceEventHandlerFuncs{
7879
AddFunc: worker.enqueue,
7980
UpdateFunc: func(old, new interface{}) {
8081
worker.enqueue(new)
8182
},
8283
DeleteFunc: worker.enqueueForDelete,
8384
})
85+
if err != nil {
86+
return nil, err
87+
}
8488

85-
return worker
89+
return worker, nil
8690
}
8791

8892
func (p *PersistenceWorker) Shutdown() {

backend/src/agent/persistence/worker/persistence_worker_test.go

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,10 @@ func NewFakeEventHandler() *FakeEventHandler {
3535
return &FakeEventHandler{}
3636
}
3737

38-
func (h *FakeEventHandler) AddEventHandler(handler cache.ResourceEventHandler) {
38+
func (h *FakeEventHandler) AddEventHandler(handler cache.ResourceEventHandler) (cache.ResourceEventHandlerRegistration, error) {
3939
h.handler = handler
40+
41+
return nil, nil
4042
}
4143

4244
func TestPersistenceWorker_Success(t *testing.T) {
@@ -57,15 +59,16 @@ func TestPersistenceWorker_Success(t *testing.T) {
5759
// Set up peristence worker
5860
saver := NewWorkflowSaver(workflowClient, pipelineClient, 100)
5961
eventHandler := NewFakeEventHandler()
60-
worker := NewPersistenceWorker(
62+
worker, err := NewPersistenceWorker(
6163
util.NewFakeTimeForEpoch(),
6264
"PERSISTENCE_WORKER",
6365
eventHandler,
6466
false,
6567
saver)
68+
assert.NoError(t, err)
6669

6770
// Test
68-
eventHandler.handler.OnAdd(workflow)
71+
eventHandler.handler.OnAdd(workflow, true)
6972
worker.processNextWorkItem()
7073
assert.Equal(t, workflow, pipelineClient.GetWorkflow("MY_NAMESPACE", "MY_NAME"))
7174
assert.Equal(t, 0, worker.Len())
@@ -87,15 +90,16 @@ func TestPersistenceWorker_NotFoundError(t *testing.T) {
8790
// Set up peristence worker
8891
saver := NewWorkflowSaver(workflowClient, pipelineClient, 100)
8992
eventHandler := NewFakeEventHandler()
90-
worker := NewPersistenceWorker(
93+
worker, err := NewPersistenceWorker(
9194
util.NewFakeTimeForEpoch(),
9295
"PERSISTENCE_WORKER",
9396
eventHandler,
9497
false,
9598
saver)
99+
assert.NoError(t, err)
96100

97101
// Test
98-
eventHandler.handler.OnAdd(workflow)
102+
eventHandler.handler.OnAdd(workflow, true)
99103
worker.processNextWorkItem()
100104
assert.Nil(t, pipelineClient.GetWorkflow("MY_NAMESPACE", "MY_NAME"))
101105
assert.Equal(t, 0, worker.Len())
@@ -118,15 +122,16 @@ func TestPersistenceWorker_GetWorklowError(t *testing.T) {
118122
// Set up peristence worker
119123
saver := NewWorkflowSaver(workflowClient, pipelineClient, 100)
120124
eventHandler := NewFakeEventHandler()
121-
worker := NewPersistenceWorker(
125+
worker, err := NewPersistenceWorker(
122126
util.NewFakeTimeForEpoch(),
123127
"PERSISTENCE_WORKER",
124128
eventHandler,
125129
false,
126130
saver)
131+
assert.NoError(t, err)
127132

128133
// Test
129-
eventHandler.handler.OnAdd(workflow)
134+
eventHandler.handler.OnAdd(workflow, true)
130135
worker.processNextWorkItem()
131136
assert.Nil(t, pipelineClient.GetWorkflow("MY_NAMESPACE", "MY_NAME"))
132137
assert.Equal(t, 1, worker.Len())
@@ -152,15 +157,16 @@ func TestPersistenceWorker_ReportWorkflowRetryableError(t *testing.T) {
152157
// Set up peristence worker
153158
saver := NewWorkflowSaver(workflowClient, pipelineClient, 100)
154159
eventHandler := NewFakeEventHandler()
155-
worker := NewPersistenceWorker(
160+
worker, err := NewPersistenceWorker(
156161
util.NewFakeTimeForEpoch(),
157162
"PERSISTENCE_WORKER",
158163
eventHandler,
159164
false,
160165
saver)
166+
assert.NoError(t, err)
161167

162168
// Test
163-
eventHandler.handler.OnAdd(workflow)
169+
eventHandler.handler.OnAdd(workflow, true)
164170
worker.processNextWorkItem()
165171
assert.Nil(t, pipelineClient.GetWorkflow("MY_NAMESPACE", "MY_NAME"))
166172
assert.Equal(t, 1, worker.Len())
@@ -185,15 +191,16 @@ func TestPersistenceWorker_ReportWorkflowNonRetryableError(t *testing.T) {
185191
// Set up peristence worker
186192
saver := NewWorkflowSaver(workflowClient, pipelineClient, 100)
187193
eventHandler := NewFakeEventHandler()
188-
worker := NewPersistenceWorker(
194+
worker, err := NewPersistenceWorker(
189195
util.NewFakeTimeForEpoch(),
190196
"PERSISTENCE_WORKER",
191197
eventHandler,
192198
false,
193199
saver)
200+
assert.NoError(t, err)
194201

195202
// Test
196-
eventHandler.handler.OnAdd(workflow)
203+
eventHandler.handler.OnAdd(workflow, true)
197204
worker.processNextWorkItem()
198205
assert.Nil(t, pipelineClient.GetWorkflow("MY_NAMESPACE", "MY_NAME"))
199206
assert.Equal(t, 0, worker.Len())

backend/src/common/util/execution_client.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ type ExecutionClient interface {
4444
// ExecutionInformerEventHandler only has AddEventHandler function
4545
// ExecutionInformer has all functions we need in current code base
4646
type ExecutionInformerEventHandler interface {
47-
AddEventHandler(funcs cache.ResourceEventHandler)
47+
AddEventHandler(funcs cache.ResourceEventHandler) (cache.ResourceEventHandlerRegistration, error)
4848
}
4949
type ExecutionInformer interface {
5050
ExecutionInformerEventHandler

backend/src/common/util/pipelinerun.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -870,8 +870,8 @@ type PipelineRunInformer struct {
870870
factory prsinformers.SharedInformerFactory
871871
}
872872

873-
func (pri *PipelineRunInformer) AddEventHandler(funcs cache.ResourceEventHandler) {
874-
pri.informer.Informer().AddEventHandler(funcs)
873+
func (pri *PipelineRunInformer) AddEventHandler(funcs cache.ResourceEventHandler) (cache.ResourceEventHandlerRegistration, error) {
874+
return pri.informer.Informer().AddEventHandler(funcs)
875875
}
876876

877877
func (pri *PipelineRunInformer) HasSynced() func() bool {

backend/src/common/util/workflow.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -899,8 +899,8 @@ type WorkflowInformer struct {
899899
factory argoinformer.SharedInformerFactory
900900
}
901901

902-
func (wfi *WorkflowInformer) AddEventHandler(funcs cache.ResourceEventHandler) {
903-
wfi.informer.Informer().AddEventHandler(funcs)
902+
func (wfi *WorkflowInformer) AddEventHandler(funcs cache.ResourceEventHandler) (cache.ResourceEventHandlerRegistration, error) {
903+
return wfi.informer.Informer().AddEventHandler(funcs)
904904
}
905905

906906
func (wfi *WorkflowInformer) HasSynced() func() bool {

backend/src/crd/controller/scheduledworkflow/client/swf_client.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ func NewScheduledWorkflowClient(clientSet swfclientset.Interface,
4040
}
4141

4242
// AddEventHandler adds an event handler.
43-
func (p *ScheduledWorkflowClient) AddEventHandler(funcs *cache.ResourceEventHandlerFuncs) {
44-
p.informer.Informer().AddEventHandler(funcs)
43+
func (p *ScheduledWorkflowClient) AddEventHandler(funcs *cache.ResourceEventHandlerFuncs) (cache.ResourceEventHandlerRegistration, error) {
44+
return p.informer.Informer().AddEventHandler(funcs)
4545
}
4646

4747
// HasSynced returns true if the shared informer's store has synced.

backend/src/crd/controller/scheduledworkflow/client/workflow_client.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ func NewWorkflowClient(clientSet commonutil.ExecutionClient,
4444
}
4545

4646
// AddEventHandler adds an event handler.
47-
func (p *WorkflowClient) AddEventHandler(funcs *cache.ResourceEventHandlerFuncs) {
48-
p.informer.AddEventHandler(funcs)
47+
func (p *WorkflowClient) AddEventHandler(funcs *cache.ResourceEventHandlerFuncs) (cache.ResourceEventHandlerRegistration, error) {
48+
return p.informer.AddEventHandler(funcs)
4949
}
5050

5151
// HasSynced returns true if the shared informer's store has synced.

0 commit comments

Comments
 (0)