From 4ac1f2bb5844f08cc5d289d49efa92d5934a633f Mon Sep 17 00:00:00 2001 From: Thijs Metsch Date: Thu, 17 Apr 2025 09:39:58 +0200 Subject: [PATCH 1/2] Fix: Bump golang.org/x/net from 0.33.0 to 0.38.0 and Bump golang.org/x/crypto from 0.31.0 to 0.35.0. --- Dockerfile | 2 +- go.mod | 17 ++++++++--------- go.sum | 35 ++++++++++++++--------------------- plugins/cpu_scale/Dockerfile | 2 +- plugins/rdt/Dockerfile | 2 +- plugins/rm_pod/Dockerfile | 2 +- plugins/scale_out/Dockerfile | 2 +- 7 files changed, 27 insertions(+), 35 deletions(-) diff --git a/Dockerfile b/Dockerfile index bbdfe76..acb15be 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ # Copyright (c) 2022 Intel Corporation # SPDX-License-Identifier: Apache-2.0 -FROM golang:1.22 AS build +FROM golang:1.24.2 AS build WORKDIR /app diff --git a/go.mod b/go.mod index bbd2e05..399352d 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/intel/intent-driven-orchestration -go 1.22.0 +go 1.24.2 require ( github.com/stretchr/testify v1.9.0 @@ -51,17 +51,16 @@ require ( github.com/xdg-go/scram v1.1.2 // indirect github.com/xdg-go/stringprep v1.0.4 // indirect github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d // indirect - golang.org/x/crypto v0.31.0 // indirect + golang.org/x/crypto v0.36.0 // indirect golang.org/x/mod v0.17.0 // indirect - golang.org/x/net v0.33.0 // indirect - golang.org/x/oauth2 v0.17.0 // indirect - golang.org/x/sync v0.10.0 // indirect - golang.org/x/sys v0.28.0 // indirect - golang.org/x/term v0.27.0 // indirect - golang.org/x/text v0.21.0 // indirect + golang.org/x/net v0.38.0 // indirect + golang.org/x/oauth2 v0.29.0 // indirect + golang.org/x/sync v0.12.0 // indirect + golang.org/x/sys v0.31.0 // indirect + golang.org/x/term v0.30.0 // indirect + golang.org/x/text v0.23.0 // indirect golang.org/x/time v0.3.0 // indirect golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect - google.golang.org/appengine v1.6.8 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index 3d1ea77..aadae74 100644 --- a/go.sum +++ b/go.sum @@ -18,15 +18,12 @@ github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEe github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= @@ -105,8 +102,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= +golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= @@ -118,16 +115,16 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= -golang.org/x/oauth2 v0.17.0 h1:6m3ZPmLEFdVxKKWnKq4VqZ60gutO35zm+zrAHVmHyDQ= -golang.org/x/oauth2 v0.17.0/go.mod h1:OzPDGQiuQMguemayvdylqddI7qcD9lnSDb+1FiwQ5HA= +golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= +golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= +golang.org/x/oauth2 v0.29.0 h1:WdYw2tdTK1S8olAzWHdgeqfy+Mtm9XNhv/xJsY65d98= +golang.org/x/oauth2 v0.29.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= -golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw= +golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -135,18 +132,18 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= +golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= -golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= +golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= +golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= -golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= -golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= +golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -160,14 +157,10 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= -google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de h1:cZGRis4/ot9uVm639a+rHCUaG0JJHEsdyzSQTMX+suY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:H4O17MA/PE9BsGx3w+a+W2VOLLD1Qf7oJneAoU6WktY= google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/plugins/cpu_scale/Dockerfile b/plugins/cpu_scale/Dockerfile index 779b13f..48c089e 100644 --- a/plugins/cpu_scale/Dockerfile +++ b/plugins/cpu_scale/Dockerfile @@ -1,7 +1,7 @@ # Copyright (c) 2022 Intel Corporation # SPDX-License-Identifier: Apache-2.0 -FROM golang:1.22 AS builder +FROM golang:1.24.2 AS builder WORKDIR /plugins diff --git a/plugins/rdt/Dockerfile b/plugins/rdt/Dockerfile index 003e4fe..5bbe3b9 100644 --- a/plugins/rdt/Dockerfile +++ b/plugins/rdt/Dockerfile @@ -1,7 +1,7 @@ # Copyright (c) 2022 Intel Corporation # SPDX-License-Identifier: Apache-2.0 -FROM golang:1.22 AS builder +FROM golang:1.24.2 AS builder WORKDIR /plugins diff --git a/plugins/rm_pod/Dockerfile b/plugins/rm_pod/Dockerfile index ded46b7..557b14a 100644 --- a/plugins/rm_pod/Dockerfile +++ b/plugins/rm_pod/Dockerfile @@ -1,7 +1,7 @@ # Copyright (c) 2022 Intel Corporation # SPDX-License-Identifier: Apache-2.0 -FROM golang:1.22 AS builder +FROM golang:1.24.2 AS builder WORKDIR /plugins diff --git a/plugins/scale_out/Dockerfile b/plugins/scale_out/Dockerfile index fcc345e..7ecc890 100644 --- a/plugins/scale_out/Dockerfile +++ b/plugins/scale_out/Dockerfile @@ -1,7 +1,7 @@ # Copyright (c) 2022 Intel Corporation # SPDX-License-Identifier: Apache-2.0 -FROM golang:1.22 AS builder +FROM golang:1.24.2 AS builder WORKDIR /plugins From 67faecb29ebf561bb5b39d7311a2e2eb90d8b471 Mon Sep 17 00:00:00 2001 From: Thijs Metsch Date: Thu, 17 Apr 2025 10:04:57 +0200 Subject: [PATCH 2/2] Fix: Bump golangci-lint from 1.57 to 1.64; adjusted code accordingly. --- .github/workflows/sca.yml | 2 +- pkg/api/plugins/v1alpha1/actuator_client_stub.go | 2 +- pkg/controller/intent_monitor.go | 6 +++--- pkg/controller/pod_monitor.go | 6 +++--- pkg/controller/profile_monitor.go | 6 +++--- pkg/planner/actuators/scaling/scale_out.go | 4 ++-- pkg/tests/full_framework_test.go | 16 ++++++++-------- 7 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.github/workflows/sca.yml b/.github/workflows/sca.yml index a46d50f..c522bc3 100644 --- a/.github/workflows/sca.yml +++ b/.github/workflows/sca.yml @@ -47,6 +47,6 @@ jobs: go-version-file: 'go.mod' - name: golangci-lint run: | - go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.57.2 + go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.64.8 make golangci-lint shell: bash diff --git a/pkg/api/plugins/v1alpha1/actuator_client_stub.go b/pkg/api/plugins/v1alpha1/actuator_client_stub.go index ee886aa..423248b 100644 --- a/pkg/api/plugins/v1alpha1/actuator_client_stub.go +++ b/pkg/api/plugins/v1alpha1/actuator_client_stub.go @@ -116,7 +116,7 @@ func toGrpcStates(states []common.State) []*protobufs.State { func toGrpcProfile(v *common.Profile) *protobufs.Profile { return &protobufs.Profile{ Key: v.Key, - ProfileType: protobufs.ProfileType(v.ProfileType), + ProfileType: protobufs.ProfileType(v.ProfileType), //nolint:gosec // explanation: only limited # of profile types exist. } } diff --git a/pkg/controller/intent_monitor.go b/pkg/controller/intent_monitor.go index 2836fd9..e6c144d 100644 --- a/pkg/controller/intent_monitor.go +++ b/pkg/controller/intent_monitor.go @@ -42,11 +42,11 @@ func NewIntentMonitor(intentClient clientSet.Interface, intentInformer informers // functions handler. _, _ = intentInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ AddFunc: mon.enqueueItem, - UpdateFunc: func(old, new interface{}) { - if old.(*v1alpha1.Intent).ResourceVersion == new.(*v1alpha1.Intent).ResourceVersion { + UpdateFunc: func(oldResource, newResource interface{}) { + if oldResource.(*v1alpha1.Intent).ResourceVersion == newResource.(*v1alpha1.Intent).ResourceVersion { return } - mon.enqueueItem(new) + mon.enqueueItem(newResource) }, DeleteFunc: func(obj interface{}) { var key string diff --git a/pkg/controller/pod_monitor.go b/pkg/controller/pod_monitor.go index 4050792..26c937e 100644 --- a/pkg/controller/pod_monitor.go +++ b/pkg/controller/pod_monitor.go @@ -72,12 +72,12 @@ func NewPodMonitor(podClient kubernetes.Interface, informer coreInformer.PodInfo // event handlers. _, _ = informer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ // No need to AddFunc, as POD is first pending...through an update is initially gets ready. - UpdateFunc: func(old, new interface{}) { - if old.(*coreV1.Pod).ResourceVersion == new.(*coreV1.Pod).ResourceVersion { + UpdateFunc: func(oldResource, newResource interface{}) { + if oldResource.(*coreV1.Pod).ResourceVersion == newResource.(*coreV1.Pod).ResourceVersion { // no change --> nothing to do. return } - mon.enqueuePod(new) + mon.enqueuePod(newResource) }, DeleteFunc: func(obj interface{}) { var key string diff --git a/pkg/controller/profile_monitor.go b/pkg/controller/profile_monitor.go index 4cb86b6..5b8127c 100644 --- a/pkg/controller/profile_monitor.go +++ b/pkg/controller/profile_monitor.go @@ -62,12 +62,12 @@ func NewKPIProfileMonitor(cfg common.MonitorConfig, profileClient clientSet.Inte // handle add, update & delete. _, _ = profileInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{ AddFunc: mon.enqueueItem, - UpdateFunc: func(old, new interface{}) { - if old.(*v1alpha1.KPIProfile).ResourceVersion == new.(*v1alpha1.KPIProfile).ResourceVersion { + UpdateFunc: func(oldResource, newResource interface{}) { + if oldResource.(*v1alpha1.KPIProfile).ResourceVersion == newResource.(*v1alpha1.KPIProfile).ResourceVersion { // no change --> nothing to do. return } - mon.enqueueItem(new) + mon.enqueueItem(newResource) }, DeleteFunc: func(obj interface{}) { var key string diff --git a/pkg/planner/actuators/scaling/scale_out.go b/pkg/planner/actuators/scaling/scale_out.go index 31ec31d..a16a089 100644 --- a/pkg/planner/actuators/scaling/scale_out.go +++ b/pkg/planner/actuators/scaling/scale_out.go @@ -189,7 +189,7 @@ func (scale ScaleOutActuator) Perform(state *common.State, plan []planner.Action return err } // conversion to int32 is ok - as we have a MaxPods defined - res.Spec.Replicas = getInt32Pointer(*res.Spec.Replicas + int32(factor)) + res.Spec.Replicas = getInt32Pointer(*res.Spec.Replicas + int32(factor)) //nolint:gosec // explanation: casting len to int64 for API compatibility if *res.Spec.Replicas > 0 { _, updateErr := scale.apps.AppsV1().Deployments(namespace).Update(context.TODO(), res, metaV1.UpdateOptions{}) return updateErr @@ -207,7 +207,7 @@ func (scale ScaleOutActuator) Perform(state *common.State, plan []planner.Action return err } // conversion to int32 is ok - as we have a MaxPods defined - res.Spec.Replicas = getInt32Pointer(*res.Spec.Replicas + int32(factor)) + res.Spec.Replicas = getInt32Pointer(*res.Spec.Replicas + int32(factor)) //nolint:gosec // explanation: casting len to int64 for API compatibility if *res.Spec.Replicas > 0 { _, updateErr := scale.apps.AppsV1().ReplicaSets(namespace).Update(context.TODO(), res, metaV1.UpdateOptions{}) return updateErr diff --git a/pkg/tests/full_framework_test.go b/pkg/tests/full_framework_test.go index 0b124ba..6f0978c 100644 --- a/pkg/tests/full_framework_test.go +++ b/pkg/tests/full_framework_test.go @@ -451,7 +451,7 @@ func (f *testFixture) setWorkloadState(pods map[string]map[string]interface{}, r // if deployment does not exist - add it. res, err := f.k8sClient.AppsV1().Deployments("default").Get(context.TODO(), "function-deployment", metaV1.GetOptions{}) if err != nil || res == nil { - repl := int32(len(pods)) + repl := int32(len(pods)) //nolint:gosec // explanation: casting len to int64 for API compatibility deployment := &appsV1.Deployment{ ObjectMeta: metaV1.ObjectMeta{ Name: "function-deployment", @@ -628,12 +628,12 @@ func (f *testFixture) setCurrentData(vals map[string]map[string]float64) { } // comparePlans compares two planes and returns false if they are not the same. -func comparePlans(old []map[string]interface{}, new []planner.Action) bool { - if len(new) != len(old) { +func comparePlans(onePlan []map[string]interface{}, anotherPlan []planner.Action) bool { + if len(anotherPlan) != len(onePlan) { return false } var oldPlan []planner.Action - for _, entry := range old { + for _, entry := range onePlan { tmp := planner.Action{ Name: entry["name"].(string), Properties: entry["properties"], @@ -641,18 +641,18 @@ func comparePlans(old []map[string]interface{}, new []planner.Action) bool { oldPlan = append(oldPlan, tmp) } for i, item := range oldPlan { - if item.Name != new[i].Name { - klog.Infof("Expected action name: %v - got %v", item.Name, new[i].Name) + if item.Name != anotherPlan[i].Name { + klog.Infof("Expected action name: %v - got %v", item.Name, anotherPlan[i].Name) return false } one := fmt.Sprintf("%v", item.Properties) - another := fmt.Sprintf("%v", new[i].Properties) + another := fmt.Sprintf("%v", anotherPlan[i].Properties) if one != another && item.Name != "rmPod" { klog.Infof("Expected property: %v - got %v", one, another) return false } else if item.Name == "rmPod" { if one != another && len(one) == len(another) { - klog.Warningf("Not super sure - but looks ok: %v - %v", item.Properties, new[i].Properties) + klog.Warningf("Not super sure - but looks ok: %v - %v", item.Properties, anotherPlan[i].Properties) } else if one != another { klog.Infof("This does not look right; expected: %v - got %v", one, another) return false