Skip to content

Commit 91bb7bd

Browse files
authored
feat(modelserving): refactored and tested modelserving wait handler to use wait helper (#7275)
1 parent adc6990 commit 91bb7bd

4 files changed

Lines changed: 29 additions & 28 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,8 @@
226226
- **Dependencies:** Bump STACKIT SDK core module from `v0.24.1` to `v0.25.0`
227227
- [v0.9.2](services/modelserving/CHANGELOG.md#v092)
228228
- **Dependencies:** Bump STACKIT SDK core module from `v0.25.0` to `v0.26.0`
229+
- [v0.10.0](services/modelserving/CHANGELOG.md#v0100)
230+
- **Improvement:** Use new WaiterHelper for modelserving waiters
229231
- `mongodbflex`:
230232
- [v1.7.3](services/mongodbflex/CHANGELOG.md#v173)
231233
- **Dependencies:** Bump STACKIT SDK core module from `v0.24.0` to `v0.24.1`

services/modelserving/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## v0.10.0
2+
- **Improvement:** Use new WaiterHelper for modelserving waiters
3+
14
## v0.9.2
25
- **Dependencies:** Bump STACKIT SDK core module from `v0.25.0` to `v0.26.0`
36

services/modelserving/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
v0.9.2
1+
v0.10.0

services/modelserving/v1api/wait/wait.go

Lines changed: 23 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,8 @@ package wait
33
import (
44
"context"
55
"errors"
6-
"net/http"
76
"time"
87

9-
"github.com/stackitcloud/stackit-sdk-go/core/oapierror"
108
"github.com/stackitcloud/stackit-sdk-go/core/wait"
119
modelserving "github.com/stackitcloud/stackit-sdk-go/services/modelserving/v1api"
1210
)
@@ -19,17 +17,19 @@ const (
1917
)
2018

2119
func CreateModelServingWaitHandler(ctx context.Context, a modelserving.DefaultAPI, region, projectId, tokenId string) *wait.AsyncActionHandler[modelserving.GetTokenResponse] {
22-
handler := wait.New(func() (waitFinished bool, response *modelserving.GetTokenResponse, err error) {
23-
getTokenResp, err := a.GetToken(ctx, region, projectId, tokenId).Execute()
24-
if err != nil {
25-
return false, nil, err
26-
}
27-
if getTokenResp.Token.State == TOKENSTATE_ACTIVE {
28-
return true, getTokenResp, nil
29-
}
20+
waitConfig := wait.WaiterHelper[modelserving.GetTokenResponse, string]{
21+
FetchInstance: a.GetToken(ctx, region, projectId, tokenId).Execute,
22+
GetState: func(response *modelserving.GetTokenResponse) (string, error) {
23+
if response == nil {
24+
return "", errors.New("empty response")
25+
}
26+
return response.Token.State, nil
27+
},
28+
ActiveState: []string{TOKENSTATE_ACTIVE},
29+
ErrorState: []string{},
30+
}
3031

31-
return false, nil, nil
32-
})
32+
handler := wait.New(waitConfig.Wait())
3333

3434
handler.SetTimeout(10 * time.Minute)
3535

@@ -43,23 +43,19 @@ func UpdateModelServingWaitHandler(ctx context.Context, a modelserving.DefaultAP
4343
}
4444

4545
func DeleteModelServingWaitHandler(ctx context.Context, a modelserving.DefaultAPI, region, projectId, tokenId string) *wait.AsyncActionHandler[modelserving.GetTokenResponse] {
46-
handler := wait.New(
47-
func() (waitFinished bool, response *modelserving.GetTokenResponse, err error) {
48-
_, err = a.GetToken(ctx, region, projectId, tokenId).Execute()
49-
if err != nil {
50-
var oapiErr *oapierror.GenericOpenAPIError
51-
if errors.As(err, &oapiErr) {
52-
if oapiErr.StatusCode == http.StatusNotFound {
53-
return true, nil, nil
54-
}
55-
}
56-
57-
return false, nil, err
46+
waitConfig := wait.WaiterHelper[modelserving.GetTokenResponse, string]{
47+
FetchInstance: a.GetToken(ctx, region, projectId, tokenId).Execute,
48+
GetState: func(response *modelserving.GetTokenResponse) (string, error) {
49+
if response == nil {
50+
return "", errors.New("empty response")
5851
}
59-
60-
return false, nil, nil
52+
return response.Token.State, nil
6153
},
62-
)
54+
ActiveState: []string{},
55+
ErrorState: []string{},
56+
}
57+
58+
handler := wait.New(waitConfig.Wait())
6359

6460
handler.SetTimeout(10 * time.Minute)
6561

0 commit comments

Comments
 (0)