Skip to content

Commit 229d555

Browse files
authored
Merge pull request #430 from coolstim/node-region
Node region
2 parents 925ee98 + e6a6ac1 commit 229d555

File tree

5 files changed

+31
-51
lines changed

5 files changed

+31
-51
lines changed

charts/aws-fsx-csi-driver/templates/node-daemonset.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,10 @@ spec:
6868
valueFrom:
6969
fieldRef:
7070
fieldPath: spec.nodeName
71+
{{- with .Values.node.region }}
72+
- name: AWS_REGION
73+
value: {{ . }}
74+
{{- end }}
7175
volumeMounts:
7276
- name: kubelet-dir
7377
mountPath: /var/lib/kubelet

charts/aws-fsx-csi-driver/values.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,11 @@ node:
8888
name: fsx-csi-node-sa
8989
annotations: {}
9090
podAnnotations: {}
91+
# AWS region to use. If not specified then the region will be looked up via the AWS EC2 metadata
92+
# service.
93+
# ---
94+
# region: us-east-1
95+
region:
9196
terminationGracePeriodSeconds: 30
9297
tolerateAllTaints: true
9398
tolerations:

pkg/driver/fakes.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,6 @@ func NewFakeDriver(endpoint string) *Driver {
4545
driverOptions: &driverOptions,
4646
},
4747
nodeService: nodeService{
48-
metadata: &cloud.Metadata{
49-
InstanceID: "instanceID",
50-
Region: "region",
51-
AvailabilityZone: "az",
52-
},
5348
mounter: NewFakeMounter(),
5449
inFlight: internal.NewInFlight(),
5550
driverOptions: &DriverOptions{},

pkg/driver/node.go

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ var (
5252
const VolumeOperationAlreadyExists = "An operation with the given volume=%q and target=%q is already in progress"
5353

5454
type nodeService struct {
55-
metadata cloud.MetadataService
5655
mounter Mounter
5756
inFlight *internal.InFlight
5857
driverOptions *DriverOptions
@@ -62,11 +61,16 @@ type nodeService struct {
6261
func newNodeService(driverOptions *DriverOptions) nodeService {
6362
klog.V(5).InfoS("[Debug] Retrieving node info from metadata service")
6463
region := os.Getenv("AWS_REGION")
65-
metadata, err := cloud.NewMetadataService(cloud.DefaultEC2MetadataClient, cloud.DefaultKubernetesAPIClient, region)
66-
if err != nil {
67-
panic(err)
64+
if region == "" {
65+
klog.InfoS("newNodeService: getting region from metadata")
66+
metadata, err := cloud.NewMetadataService(cloud.DefaultEC2MetadataClient, cloud.DefaultKubernetesAPIClient, region)
67+
if err != nil {
68+
panic(err)
69+
}
70+
region = metadata.GetRegion()
6871
}
69-
klog.InfoS("regionFromSession Node service", "region", metadata.GetRegion())
72+
73+
klog.InfoS("regionFromSession Node service", "region", region)
7074

7175
nodeMounter, err := newNodeMounter()
7276
if err != nil {
@@ -78,7 +82,6 @@ func newNodeService(driverOptions *DriverOptions) nodeService {
7882
go removeTaintInBackground(cloud.DefaultKubernetesAPIClient, removeNotReadyTaint)
7983

8084
return nodeService{
81-
metadata: metadata,
8285
mounter: nodeMounter,
8386
inFlight: internal.NewInFlight(),
8487
driverOptions: driverOptions,
@@ -242,11 +245,21 @@ func (d *nodeService) NodeGetCapabilities(ctx context.Context, req *csi.NodeGetC
242245
return &csi.NodeGetCapabilitiesResponse{Capabilities: caps}, nil
243246
}
244247

245-
func (d *nodeService) NodeGetInfo(ctx context.Context, req *csi.NodeGetInfoRequest) (*csi.NodeGetInfoResponse, error) {
246-
klog.V(4).InfoS("NodeGetInfo: called", "args", util.SanitizeRequest(req))
248+
func (d *nodeService) NodeGetInfo(ctx context.Context, _ *csi.NodeGetInfoRequest) (*csi.NodeGetInfoResponse, error) {
249+
if id := os.Getenv("CSI_NODE_NAME"); id != "" {
250+
klog.InfoS("NodeGetInfo: Got CSI_NODE_NAME from env", "CSI_NODE_NAME", id)
251+
return &csi.NodeGetInfoResponse{NodeId: id}, nil
252+
}
253+
254+
klog.InfoS("NodeGetInfo: get node name from metadata")
255+
region := os.Getenv("AWS_REGION")
256+
metadata, err := cloud.NewMetadataService(cloud.DefaultEC2MetadataClient, cloud.DefaultKubernetesAPIClient, region)
257+
if err != nil {
258+
panic(err)
259+
}
247260

248261
return &csi.NodeGetInfoResponse{
249-
NodeId: d.metadata.GetInstanceID(),
262+
NodeId: metadata.GetInstanceID(),
250263
}, nil
251264
}
252265

pkg/driver/node_test.go

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import (
3030
corev1 "k8s.io/api/core/v1"
3131
"k8s.io/client-go/kubernetes"
3232
"sigs.k8s.io/aws-fsx-csi-driver/pkg/cloud"
33-
cloudMock "sigs.k8s.io/aws-fsx-csi-driver/pkg/cloud/mocks"
3433
"sigs.k8s.io/aws-fsx-csi-driver/pkg/driver/internal"
3534
driverMocks "sigs.k8s.io/aws-fsx-csi-driver/pkg/driver/mocks"
3635
)
@@ -66,11 +65,9 @@ func TestNodePublishVolume(t *testing.T) {
6665
mockCtl := gomock.NewController(t)
6766
defer mockCtl.Finish()
6867

69-
mockMetadata := cloudMock.NewMockMetadataService(mockCtl)
7068
mockMounter := driverMocks.NewMockMounter(mockCtl)
7169

7270
driver := &nodeService{
73-
metadata: mockMetadata,
7471
mounter: mockMounter,
7572
inFlight: internal.NewInFlight(),
7673
}
@@ -104,11 +101,9 @@ func TestNodePublishVolume(t *testing.T) {
104101
mockCtl := gomock.NewController(t)
105102
defer mockCtl.Finish()
106103

107-
mockMetadata := cloudMock.NewMockMetadataService(mockCtl)
108104
mockMounter := driverMocks.NewMockMounter(mockCtl)
109105

110106
driver := &nodeService{
111-
metadata: mockMetadata,
112107
mounter: mockMounter,
113108
inFlight: internal.NewInFlight(),
114109
}
@@ -141,11 +136,9 @@ func TestNodePublishVolume(t *testing.T) {
141136
mockCtl := gomock.NewController(t)
142137
defer mockCtl.Finish()
143138

144-
mockMetadata := cloudMock.NewMockMetadataService(mockCtl)
145139
mockMounter := driverMocks.NewMockMounter(mockCtl)
146140

147141
driver := &nodeService{
148-
metadata: mockMetadata,
149142
mounter: mockMounter,
150143
inFlight: internal.NewInFlight(),
151144
}
@@ -181,11 +174,9 @@ func TestNodePublishVolume(t *testing.T) {
181174
mockCtl := gomock.NewController(t)
182175
defer mockCtl.Finish()
183176

184-
mockMetadata := cloudMock.NewMockMetadataService(mockCtl)
185177
mockMounter := driverMocks.NewMockMounter(mockCtl)
186178

187179
driver := &nodeService{
188-
metadata: mockMetadata,
189180
mounter: mockMounter,
190181
inFlight: internal.NewInFlight(),
191182
}
@@ -229,11 +220,9 @@ func TestNodePublishVolume(t *testing.T) {
229220
mockCtl := gomock.NewController(t)
230221
defer mockCtl.Finish()
231222

232-
mockMetadata := cloudMock.NewMockMetadataService(mockCtl)
233223
mockMounter := driverMocks.NewMockMounter(mockCtl)
234224

235225
driver := &nodeService{
236-
metadata: mockMetadata,
237226
mounter: mockMounter,
238227
inFlight: internal.NewInFlight(),
239228
}
@@ -262,11 +251,9 @@ func TestNodePublishVolume(t *testing.T) {
262251
mockCtl := gomock.NewController(t)
263252
defer mockCtl.Finish()
264253

265-
mockMetadata := cloudMock.NewMockMetadataService(mockCtl)
266254
mockMounter := driverMocks.NewMockMounter(mockCtl)
267255

268256
driver := &nodeService{
269-
metadata: mockMetadata,
270257
mounter: mockMounter,
271258
inFlight: internal.NewInFlight(),
272259
}
@@ -295,11 +282,9 @@ func TestNodePublishVolume(t *testing.T) {
295282
mockCtl := gomock.NewController(t)
296283
defer mockCtl.Finish()
297284

298-
mockMetadata := cloudMock.NewMockMetadataService(mockCtl)
299285
mockMounter := driverMocks.NewMockMounter(mockCtl)
300286

301287
driver := &nodeService{
302-
metadata: mockMetadata,
303288
mounter: mockMounter,
304289
inFlight: internal.NewInFlight(),
305290
}
@@ -328,11 +313,9 @@ func TestNodePublishVolume(t *testing.T) {
328313
mockCtl := gomock.NewController(t)
329314
defer mockCtl.Finish()
330315

331-
mockMetadata := cloudMock.NewMockMetadataService(mockCtl)
332316
mockMounter := driverMocks.NewMockMounter(mockCtl)
333317

334318
driver := &nodeService{
335-
metadata: mockMetadata,
336319
mounter: mockMounter,
337320
inFlight: internal.NewInFlight(),
338321
}
@@ -369,11 +352,9 @@ func TestNodePublishVolume(t *testing.T) {
369352
mockCtl := gomock.NewController(t)
370353
defer mockCtl.Finish()
371354

372-
mockMetadata := cloudMock.NewMockMetadataService(mockCtl)
373355
mockMounter := driverMocks.NewMockMounter(mockCtl)
374356

375357
driver := &nodeService{
376-
metadata: mockMetadata,
377358
mounter: mockMounter,
378359
inFlight: internal.NewInFlight(),
379360
}
@@ -406,11 +387,9 @@ func TestNodePublishVolume(t *testing.T) {
406387
mockCtl := gomock.NewController(t)
407388
defer mockCtl.Finish()
408389

409-
mockMetadata := cloudMock.NewMockMetadataService(mockCtl)
410390
mockMounter := driverMocks.NewMockMounter(mockCtl)
411391

412392
driver := &nodeService{
413-
metadata: mockMetadata,
414393
mounter: mockMounter,
415394
inFlight: internal.NewInFlight(),
416395
}
@@ -446,11 +425,9 @@ func TestNodePublishVolume(t *testing.T) {
446425
mockCtl := gomock.NewController(t)
447426
defer mockCtl.Finish()
448427

449-
mockMetadata := cloudMock.NewMockMetadataService(mockCtl)
450428
mockMounter := driverMocks.NewMockMounter(mockCtl)
451429

452430
awsDriver := &nodeService{
453-
metadata: mockMetadata,
454431
mounter: mockMounter,
455432
inFlight: internal.NewInFlight(),
456433
}
@@ -478,11 +455,9 @@ func TestNodePublishVolume(t *testing.T) {
478455
mockCtl := gomock.NewController(t)
479456
defer mockCtl.Finish()
480457

481-
mockMetadata := cloudMock.NewMockMetadataService(mockCtl)
482458
mockMounter := driverMocks.NewMockMounter(mockCtl)
483459

484460
awsDriver := &nodeService{
485-
metadata: mockMetadata,
486461
mounter: mockMounter,
487462
inFlight: internal.NewInFlight(),
488463
}
@@ -539,11 +514,9 @@ func TestNodeUnpublishVolume(t *testing.T) {
539514
mockCtl := gomock.NewController(t)
540515
defer mockCtl.Finish()
541516

542-
mockMetadata := cloudMock.NewMockMetadataService(mockCtl)
543517
mockMounter := driverMocks.NewMockMounter(mockCtl)
544518

545519
driver := &nodeService{
546-
metadata: mockMetadata,
547520
mounter: mockMounter,
548521
inFlight: internal.NewInFlight(),
549522
}
@@ -569,11 +542,9 @@ func TestNodeUnpublishVolume(t *testing.T) {
569542
mockCtl := gomock.NewController(t)
570543
defer mockCtl.Finish()
571544

572-
mockMetadata := cloudMock.NewMockMetadataService(mockCtl)
573545
mockMounter := driverMocks.NewMockMounter(mockCtl)
574546

575547
driver := &nodeService{
576-
metadata: mockMetadata,
577548
mounter: mockMounter,
578549
inFlight: internal.NewInFlight(),
579550
}
@@ -598,11 +569,9 @@ func TestNodeUnpublishVolume(t *testing.T) {
598569
mockCtl := gomock.NewController(t)
599570
defer mockCtl.Finish()
600571

601-
mockMetadata := cloudMock.NewMockMetadataService(mockCtl)
602572
mockMounter := driverMocks.NewMockMounter(mockCtl)
603573

604574
driver := &nodeService{
605-
metadata: mockMetadata,
606575
mounter: mockMounter,
607576
inFlight: internal.NewInFlight(),
608577
}
@@ -624,11 +593,9 @@ func TestNodeUnpublishVolume(t *testing.T) {
624593
mockCtl := gomock.NewController(t)
625594
defer mockCtl.Finish()
626595

627-
mockMetadata := cloudMock.NewMockMetadataService(mockCtl)
628596
mockMounter := driverMocks.NewMockMounter(mockCtl)
629597

630598
driver := &nodeService{
631-
metadata: mockMetadata,
632599
mounter: mockMounter,
633600
inFlight: internal.NewInFlight(),
634601
}
@@ -655,11 +622,9 @@ func TestNodeUnpublishVolume(t *testing.T) {
655622
mockCtl := gomock.NewController(t)
656623
defer mockCtl.Finish()
657624

658-
mockMetadata := cloudMock.NewMockMetadataService(mockCtl)
659625
mockMounter := driverMocks.NewMockMounter(mockCtl)
660626

661627
awsDriver := &nodeService{
662-
metadata: mockMetadata,
663628
mounter: mockMounter,
664629
inFlight: internal.NewInFlight(),
665630
}
@@ -682,11 +647,9 @@ func TestNodeUnpublishVolume(t *testing.T) {
682647
mockCtl := gomock.NewController(t)
683648
defer mockCtl.Finish()
684649

685-
mockMetadata := cloudMock.NewMockMetadataService(mockCtl)
686650
mockMounter := driverMocks.NewMockMounter(mockCtl)
687651

688652
awsDriver := &nodeService{
689-
metadata: mockMetadata,
690653
mounter: mockMounter,
691654
inFlight: internal.NewInFlight(),
692655
}

0 commit comments

Comments
 (0)