Skip to content

Commit 76a9003

Browse files
authored
feat: pass context to every scw APIs
1 parent 4ae7bf2 commit 76a9003

2 files changed

Lines changed: 57 additions & 56 deletions

File tree

scaleway/baremetal.go

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ func newBaremetal(client *client) *baremetal {
4545

4646
// NodeAddresses returns the addresses of the specified instance.
4747
func (b *baremetal) NodeAddresses(ctx context.Context, name types.NodeName) ([]v1.NodeAddress, error) {
48-
baremetalServer, err := b.getServerByName(string(name))
48+
baremetalServer, err := b.getServerByName(ctx, string(name))
4949
if err != nil {
5050
return nil, err
5151
}
@@ -55,7 +55,7 @@ func (b *baremetal) NodeAddresses(ctx context.Context, name types.NodeName) ([]v
5555
// NodeAddressesByProviderID returns the addresses of the specified instance.
5656
// The instance is specified using the providerID of the node.
5757
func (b *baremetal) NodeAddressesByProviderID(ctx context.Context, providerID string) ([]v1.NodeAddress, error) {
58-
baremetalServer, err := b.getServerByProviderID(providerID)
58+
baremetalServer, err := b.getServerByProviderID(ctx, providerID)
5959
if err != nil {
6060
return nil, err
6161
}
@@ -65,7 +65,7 @@ func (b *baremetal) NodeAddressesByProviderID(ctx context.Context, providerID st
6565
// InstanceID returns the cloud provider ID of the node with the specified NodeName.
6666
// Note that if the instance does not exist, we must return ("", cloudprovider.InstanceNotFound)
6767
func (b *baremetal) InstanceID(ctx context.Context, nodeName types.NodeName) (string, error) {
68-
baremetalServer, err := b.getServerByName(string(nodeName))
68+
baremetalServer, err := b.getServerByName(ctx, string(nodeName))
6969
if err != nil {
7070
return "", err
7171
}
@@ -74,20 +74,20 @@ func (b *baremetal) InstanceID(ctx context.Context, nodeName types.NodeName) (st
7474

7575
// InstanceType returns the type of the specified instance.
7676
func (b *baremetal) InstanceType(ctx context.Context, name types.NodeName) (string, error) {
77-
baremetalServer, err := b.getServerByName(string(name))
77+
baremetalServer, err := b.getServerByName(ctx, string(name))
7878
if err != nil {
7979
return "", err
8080
}
81-
return b.getServerOfferName(baremetalServer)
81+
return b.getServerOfferName(ctx, baremetalServer)
8282
}
8383

8484
// InstanceTypeByProviderID returns the type of the specified instance (ex. GP-BM1-M, HC-BM1-S,...).
8585
func (b *baremetal) InstanceTypeByProviderID(ctx context.Context, providerID string) (string, error) {
86-
baremetalServer, err := b.getServerByProviderID(providerID)
86+
baremetalServer, err := b.getServerByProviderID(ctx, providerID)
8787
if err != nil {
8888
return "", err
8989
}
90-
return b.getServerOfferName(baremetalServer)
90+
return b.getServerOfferName(ctx, baremetalServer)
9191
}
9292

9393
// AddSSHKeyToAllInstances adds an SSH public key as a legal identity for all instances
@@ -106,7 +106,7 @@ func (b *baremetal) CurrentNodeName(ctx context.Context, hostname string) (types
106106
// If false is returned with no error, the instance will be immediately deleted by the cloud controller manager.
107107
// This method should still return true for instances that exist but are stopped/sleeping.
108108
func (b *baremetal) InstanceExistsByProviderID(ctx context.Context, providerID string) (bool, error) {
109-
_, err := b.getServerByProviderID(providerID)
109+
_, err := b.getServerByProviderID(ctx, providerID)
110110
if err != nil {
111111
if err == cloudprovider.InstanceNotFound {
112112
return false, nil
@@ -118,7 +118,7 @@ func (b *baremetal) InstanceExistsByProviderID(ctx context.Context, providerID s
118118

119119
// InstanceShutdownByProviderID returns true if the instance is shutdown in cloudprovider
120120
func (b *baremetal) InstanceShutdownByProviderID(ctx context.Context, providerID string) (bool, error) {
121-
baremetalServer, err := b.getServerByProviderID(providerID)
121+
baremetalServer, err := b.getServerByProviderID(ctx, providerID)
122122
if err != nil {
123123
return false, err
124124
}
@@ -134,7 +134,7 @@ func (b *baremetal) InstanceShutdownByProviderID(ctx context.Context, providerID
134134
// This method is particularly used in the context of external cloud providers where node initialization must be done
135135
// outside the kubelets.
136136
func (b *baremetal) GetZoneByProviderID(ctx context.Context, providerID string) (cloudprovider.Zone, error) {
137-
baremetalServer, err := b.getServerByProviderID(providerID)
137+
baremetalServer, err := b.getServerByProviderID(ctx, providerID)
138138
if err != nil {
139139
return cloudprovider.Zone{Region: "", FailureDomain: ""}, err
140140
}
@@ -145,7 +145,7 @@ func (b *baremetal) GetZoneByProviderID(ctx context.Context, providerID string)
145145
// This method is particularly used in the context of external cloud providers where node initialization must be done
146146
// outside the kubelets.
147147
func (b *baremetal) GetZoneByNodeName(ctx context.Context, nodeName types.NodeName) (cloudprovider.Zone, error) {
148-
baremetalServer, err := b.getServerByName(string(nodeName))
148+
baremetalServer, err := b.getServerByName(ctx, string(nodeName))
149149
if err != nil {
150150
return cloudprovider.Zone{Region: "", FailureDomain: ""}, err
151151
}
@@ -184,11 +184,11 @@ func baremetalZone(server *scwbaremetal.Server) (cloudprovider.Zone, error) {
184184
}
185185

186186
// getServerOfferName returns the offer name of a baremetal server
187-
func (b *baremetal) getServerOfferName(server *scwbaremetal.Server) (string, error) {
187+
func (b *baremetal) getServerOfferName(ctx context.Context, server *scwbaremetal.Server) (string, error) {
188188
offer, err := b.api.GetOffer(&scwbaremetal.GetOfferRequest{
189189
OfferID: server.OfferID,
190190
Zone: server.Zone,
191-
})
191+
}, scw.WithContext(ctx))
192192
if err != nil {
193193
if is404Error(err) {
194194
return "UNKNOWN", nil
@@ -201,7 +201,7 @@ func (b *baremetal) getServerOfferName(server *scwbaremetal.Server) (string, err
201201

202202
// getServerByName returns a *instance.Server matching a name
203203
// it must match the exact name
204-
func (b *baremetal) getServerByName(name string) (*scwbaremetal.Server, error) {
204+
func (b *baremetal) getServerByName(ctx context.Context, name string) (*scwbaremetal.Server, error) {
205205
if name == "" {
206206
return nil, cloudprovider.InstanceNotFound
207207
}
@@ -212,7 +212,7 @@ func (b *baremetal) getServerByName(name string) (*scwbaremetal.Server, error) {
212212
resp, err := b.api.ListServers(&scwbaremetal.ListServersRequest{
213213
Zone: zoneReq,
214214
Name: &name,
215-
}, scw.WithAllPages())
215+
}, scw.WithAllPages(), scw.WithContext(ctx))
216216
if err != nil {
217217
if is404Error(err) {
218218
continue
@@ -241,7 +241,7 @@ func (b *baremetal) getServerByName(name string) (*scwbaremetal.Server, error) {
241241

242242
// getServerByProviderID returns a *instance,Server matchig the given uuid and in the specified zone
243243
// if the zone is empty, it will try all the zones
244-
func (b *baremetal) getServerByProviderID(providerID string) (*scwbaremetal.Server, error) {
244+
func (b *baremetal) getServerByProviderID(ctx context.Context, providerID string) (*scwbaremetal.Server, error) {
245245
_, zone, id, err := ServerInfoFromProviderID(providerID)
246246
if err != nil {
247247
return nil, err
@@ -250,7 +250,7 @@ func (b *baremetal) getServerByProviderID(providerID string) (*scwbaremetal.Serv
250250
server, err := b.api.GetServer(&scwbaremetal.GetServerRequest{
251251
ServerID: id,
252252
Zone: scw.Zone(zone),
253-
})
253+
}, scw.WithContext(ctx))
254254
if err != nil {
255255
if is404Error(err) {
256256
return nil, cloudprovider.InstanceNotFound
@@ -268,9 +268,9 @@ func (b *baremetal) InstanceExists(ctx context.Context, node *v1.Node) (bool, er
268268
var err error
269269

270270
if node.Spec.ProviderID == "" {
271-
_, err = b.getServerByName(node.Name)
271+
_, err = b.getServerByName(ctx, node.Name)
272272
} else {
273-
_, err = b.getServerByProviderID(node.Spec.ProviderID)
273+
_, err = b.getServerByProviderID(ctx, node.Spec.ProviderID)
274274
}
275275

276276
if err == cloudprovider.InstanceNotFound {
@@ -290,9 +290,9 @@ func (b *baremetal) InstanceShutdown(ctx context.Context, node *v1.Node) (bool,
290290
var err error
291291

292292
if node.Spec.ProviderID == "" {
293-
bm, err = b.getServerByName(node.Name)
293+
bm, err = b.getServerByName(ctx, node.Name)
294294
} else {
295-
bm, err = b.getServerByProviderID(node.Spec.ProviderID)
295+
bm, err = b.getServerByProviderID(ctx, node.Spec.ProviderID)
296296
}
297297

298298
if err != nil {
@@ -315,16 +315,16 @@ func (b *baremetal) InstanceMetadata(ctx context.Context, node *v1.Node) (*cloud
315315
var err error
316316

317317
if node.Spec.ProviderID == "" {
318-
bm, err = b.getServerByName(node.Name)
318+
bm, err = b.getServerByName(ctx, node.Name)
319319
} else {
320-
bm, err = b.getServerByProviderID(node.Spec.ProviderID)
320+
bm, err = b.getServerByProviderID(ctx, node.Spec.ProviderID)
321321
}
322322

323323
if err != nil {
324324
return nil, err
325325
}
326326

327-
offerName, err := b.getServerOfferName(bm)
327+
offerName, err := b.getServerOfferName(ctx, bm)
328328
if err != nil {
329329
return nil, err
330330
}

0 commit comments

Comments
 (0)