Skip to content

Commit 5ad3127

Browse files
committed
Warn and continue instead of erroring for bad disk topology parameters
1 parent 9d6cf4d commit 5ad3127

File tree

2 files changed

+33
-7
lines changed

2 files changed

+33
-7
lines changed

pkg/common/parameters.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ import (
2020
"fmt"
2121
"strconv"
2222
"strings"
23+
24+
"k8s.io/klog/v2"
2325
)
2426

2527
const (
@@ -326,12 +328,14 @@ func (pp *ParameterProcessor) ExtractAndDefaultParameters(parameters map[string]
326328
}
327329
case ParameterKeyUseAllowedDiskTopology:
328330
if !pp.EnableDiskTopology {
329-
return p, d, fmt.Errorf("parameters contains invalid option %q when disk topology is not enabled", ParameterKeyUseAllowedDiskTopology)
331+
klog.Warningf("parameters contains invalid option %q when disk topology is not enabled", ParameterKeyUseAllowedDiskTopology)
332+
continue
330333
}
331334

332335
paramUseAllowedDiskTopology, err := ConvertStringToBool(v)
333336
if err != nil {
334-
return p, d, fmt.Errorf("failed to convert %s parameter with value %q to bool: %w", ParameterKeyUseAllowedDiskTopology, v, err)
337+
klog.Warningf("failed to convert %s parameter with value %q to bool: %v", ParameterKeyUseAllowedDiskTopology, v, err)
338+
continue
335339
}
336340

337341
p.UseAllowedDiskTopology = paramUseAllowedDiskTopology

pkg/common/parameters_test.go

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -467,15 +467,37 @@ func TestExtractAndDefaultParameters(t *testing.T) {
467467
},
468468
},
469469
{
470-
name: "useAllowedDiskTopology specified, disk topology feature disabled",
471-
parameters: map[string]string{ParameterKeyUseAllowedDiskTopology: "foo-bar"},
472-
expectErr: true,
470+
// Disk topology feature shouldn't cause parameter parsing to fail, even when misconfigured.
471+
name: "useAllowedDiskTopology specified, disk topology feature disabled",
472+
parameters: map[string]string{
473+
ParameterKeyUseAllowedDiskTopology: "true", // Correct type: boolean string.
474+
},
475+
labels: map[string]string{},
476+
expectParams: DiskParameters{
477+
DiskType: "pd-standard",
478+
ReplicationType: "none",
479+
DiskEncryptionKMSKey: "",
480+
Tags: map[string]string{},
481+
Labels: map[string]string{},
482+
ResourceTags: map[string]string{},
483+
},
473484
},
474485
{
486+
// Disk topology feature shouldn't cause parameter parsing to fail, even when misconfigured.
475487
name: "useAllowedDiskTopology specified, wrong type",
476-
parameters: map[string]string{ParameterKeyUseAllowedDiskTopology: "123"},
477488
enableDiskTopology: true,
478-
expectErr: true,
489+
parameters: map[string]string{
490+
ParameterKeyUseAllowedDiskTopology: "123", // Incorrect type: number.
491+
},
492+
labels: map[string]string{},
493+
expectParams: DiskParameters{
494+
DiskType: "pd-standard",
495+
ReplicationType: "none",
496+
DiskEncryptionKMSKey: "",
497+
Tags: map[string]string{},
498+
Labels: map[string]string{},
499+
ResourceTags: map[string]string{},
500+
},
479501
},
480502
{
481503
name: "useAllowedDiskTopology specified as valid true boolean",

0 commit comments

Comments
 (0)