summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKubeEdge Bot <48982446+kubeedge-bot@users.noreply.github.com>2024-01-18 18:20:28 +0800
committerGitHub <noreply@github.com>2024-01-18 18:20:28 +0800
commitf4ded7b8f3d8c7ee2d9c9923cbc11d47dc3b3350 (patch)
treed2c02faf81fd0f018f5f0212fbf55df87fb238c2
parentMerge pull request #5253 from wbc6080/update-dmiserver (diff)
parentUse the "github. com/avast/retry go" framework uniformly for retry. (diff)
downloadkubeedge-f4ded7b8f3d8c7ee2d9c9923cbc11d47dc3b3350.tar.gz
Merge pull request #5361 from luomengY/mapper_retry_framework
Unify the use of the "github. com/avast/retry go" framework for retries in the mapper framework.
-rw-r--r--staging/src/github.com/kubeedge/mapper-framework/go.mod1
-rw-r--r--staging/src/github.com/kubeedge/mapper-framework/go.sum6
-rw-r--r--staging/src/github.com/kubeedge/mapper-framework/pkg/grpcserver/device.go19
3 files changed, 17 insertions, 9 deletions
diff --git a/staging/src/github.com/kubeedge/mapper-framework/go.mod b/staging/src/github.com/kubeedge/mapper-framework/go.mod
index 93c038aa3..aa4cac129 100644
--- a/staging/src/github.com/kubeedge/mapper-framework/go.mod
+++ b/staging/src/github.com/kubeedge/mapper-framework/go.mod
@@ -3,6 +3,7 @@ module github.com/kubeedge/mapper-framework
go 1.20
require (
+ github.com/avast/retry-go v3.0.0+incompatible
github.com/golang/protobuf v1.5.3
github.com/gorilla/mux v1.8.0
github.com/kubeedge/kubeedge v1.15.0-beta.0.0.20240110111122-c44efa2389b9
diff --git a/staging/src/github.com/kubeedge/mapper-framework/go.sum b/staging/src/github.com/kubeedge/mapper-framework/go.sum
index 01958f37c..d6af2920c 100644
--- a/staging/src/github.com/kubeedge/mapper-framework/go.sum
+++ b/staging/src/github.com/kubeedge/mapper-framework/go.sum
@@ -1,3 +1,6 @@
+github.com/avast/retry-go v3.0.0+incompatible h1:4SOWQ7Qs+oroOTQOYnAHqelpCO0biHSxpiH9JdtuBj0=
+github.com/avast/retry-go v3.0.0+incompatible/go.mod h1:XtSnn+n/sHqQIpZ10K1qAevBhOOCWBLXXy3hyiqqBrY=
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
@@ -15,8 +18,10 @@ github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kubeedge/kubeedge v1.15.0-beta.0.0.20240110111122-c44efa2389b9 h1:vVjy6eJGzKZyAdW2L2E8fi2DDz4w4Bn+1pwXgC/v2W8=
github.com/kubeedge/kubeedge v1.15.0-beta.0.0.20240110111122-c44efa2389b9/go.mod h1:3f9VoRV6ar6yAOrjRYySlYBoSG3n4BEi/PitT2uoUm4=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/spf13/pflag v1.0.6-0.20210604193023-d5e0c0615ace h1:9PNP1jnUjRhfmGMlkXHjYPishpcw4jpSt/V/xYY3FMA=
github.com/spf13/pflag v1.0.6-0.20210604193023-d5e0c0615ace/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
+github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
@@ -37,5 +42,6 @@ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
+gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg=
k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
diff --git a/staging/src/github.com/kubeedge/mapper-framework/pkg/grpcserver/device.go b/staging/src/github.com/kubeedge/mapper-framework/pkg/grpcserver/device.go
index 1014e9a1e..fa69a9e52 100644
--- a/staging/src/github.com/kubeedge/mapper-framework/pkg/grpcserver/device.go
+++ b/staging/src/github.com/kubeedge/mapper-framework/pkg/grpcserver/device.go
@@ -7,6 +7,7 @@ import (
"reflect"
"time"
+ "github.com/avast/retry-go"
"k8s.io/klog/v2"
dmiapi "github.com/kubeedge/kubeedge/pkg/apis/dmi/v1beta1"
@@ -27,15 +28,15 @@ func (s *Server) RegisterDevice(_ context.Context, request *dmiapi.RegisterDevic
var model common.DeviceModel
var err error
- for i := 0; i < 3; i++ {
- model, err = s.devPanel.GetModel(device.Spec.DeviceModelReference)
- if err != nil {
- klog.Errorf("deviceModel %s not found, err: %s", device.Spec.DeviceModelReference, err)
- time.Sleep(1 * time.Second)
- } else {
- break
- }
- }
+ err = retry.Do(
+ func() error {
+ model, err = s.devPanel.GetModel(device.Spec.DeviceModelReference)
+ return err
+ },
+ retry.Delay(1*time.Second),
+ retry.Attempts(3),
+ retry.DelayType(retry.FixedDelay),
+ )
if err != nil {
return nil, fmt.Errorf("deviceModel %s not found, err: %s", device.Spec.DeviceModelReference, err)
}