Skip to content

Commit 9e65e4f

Browse files
authored
chore(k8s): migrate to context based workflow (#619)
1 parent a43d0fc commit 9e65e4f

File tree

3 files changed

+134
-128
lines changed

3 files changed

+134
-128
lines changed

scaleway/helpers_k8s.go

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package scaleway
22

33
import (
4+
"context"
45
"fmt"
56
"strings"
67
"time"
@@ -68,15 +69,15 @@ func k8sGetMinorVersionFromFull(version string) (string, error) {
6869
}
6970

7071
// k8sGetLatestVersionFromMinor returns the latest full version (x.y.z) for a given minor version (x.y)
71-
func k8sGetLatestVersionFromMinor(k8sAPI *k8s.API, region scw.Region, version string) (string, error) {
72+
func k8sGetLatestVersionFromMinor(ctx context.Context, k8sAPI *k8s.API, region scw.Region, version string) (string, error) {
7273
versionSplit := strings.Split(version, ".")
7374
if len(versionSplit) != 2 {
7475
return "", fmt.Errorf("minor version should be like x.y not %s", version)
7576
}
7677

7778
versionsResp, err := k8sAPI.ListVersions(&k8s.ListVersionsRequest{
7879
Region: region,
79-
})
80+
}, scw.WithContext(ctx))
8081
if err != nil {
8182
return "", err
8283
}
@@ -93,12 +94,12 @@ func k8sGetLatestVersionFromMinor(k8sAPI *k8s.API, region scw.Region, version st
9394
return "", fmt.Errorf("no available upstream version found for %s", version)
9495
}
9596

96-
func waitK8SCluster(k8sAPI *k8s.API, region scw.Region, clusterID string, desiredStates ...k8s.ClusterStatus) error {
97+
func waitK8SCluster(ctx context.Context, k8sAPI *k8s.API, region scw.Region, clusterID string, desiredStates ...k8s.ClusterStatus) error {
9798
cluster, err := k8sAPI.WaitForCluster(&k8s.WaitForClusterRequest{
9899
ClusterID: clusterID,
99100
Region: region,
100101
Timeout: scw.TimeDurationPtr(K8SClusterWaitForPoolRequiredTimeout),
101-
})
102+
}, scw.WithContext(ctx))
102103
if err != nil {
103104
return err
104105
}
@@ -112,12 +113,12 @@ func waitK8SCluster(k8sAPI *k8s.API, region scw.Region, clusterID string, desire
112113
return fmt.Errorf("cluster %s has state %s, wants one of %+q", clusterID, cluster.Status, desiredStates)
113114
}
114115

115-
func waitK8SClusterDeleted(k8sAPI *k8s.API, region scw.Region, clusterID string) error {
116+
func waitK8SClusterDeleted(ctx context.Context, k8sAPI *k8s.API, region scw.Region, clusterID string) error {
116117
cluster, err := k8sAPI.WaitForCluster(&k8s.WaitForClusterRequest{
117118
ClusterID: clusterID,
118119
Region: region,
119120
Timeout: scw.TimeDurationPtr(K8SClusterWaitForDeletedTimeout),
120-
})
121+
}, scw.WithContext(ctx))
121122
if err != nil {
122123
if is404Error(err) {
123124
return nil
@@ -128,12 +129,12 @@ func waitK8SClusterDeleted(k8sAPI *k8s.API, region scw.Region, clusterID string)
128129
return fmt.Errorf("cluster %s has state %s, wants %s", clusterID, cluster.Status, k8s.ClusterStatusDeleted)
129130
}
130131

131-
func waitK8SPoolReady(k8sAPI *k8s.API, region scw.Region, poolID string) error {
132+
func waitK8SPoolReady(ctx context.Context, k8sAPI *k8s.API, region scw.Region, poolID string) error {
132133
pool, err := k8sAPI.WaitForPool(&k8s.WaitForPoolRequest{
133134
PoolID: poolID,
134135
Region: region,
135136
Timeout: scw.TimeDurationPtr(K8SPoolWaitForReadyTimeout),
136-
})
137+
}, scw.WithContext(ctx))
137138

138139
if err != nil {
139140
return err
@@ -163,14 +164,14 @@ func convertNodes(res *k8s.ListNodesResponse) []map[string]interface{} {
163164
return result
164165
}
165166

166-
func getNodes(k8sAPI *k8s.API, pool *k8s.Pool) ([]map[string]interface{}, error) {
167+
func getNodes(ctx context.Context, k8sAPI *k8s.API, pool *k8s.Pool) ([]map[string]interface{}, error) {
167168
req := &k8s.ListNodesRequest{
168169
Region: pool.Region,
169170
ClusterID: pool.ClusterID,
170171
PoolID: &pool.ID,
171172
}
172173

173-
nodes, err := k8sAPI.ListNodes(req, scw.WithAllPages())
174+
nodes, err := k8sAPI.ListNodes(req, scw.WithAllPages(), scw.WithContext(ctx))
174175

175176
if err != nil {
176177
return nil, err

0 commit comments

Comments
 (0)