mirror of https://github.com/k3s-io/k3s
Merge pull request #77851 from andyzhangx/azuredisk-max-count
remove vmsizelist call in azure disk GetVolumeLimitsk3s-v1.15.3
commit
b533613233
|
@ -16,6 +16,7 @@ go_library(
|
||||||
"azure_common_windows.go",
|
"azure_common_windows.go",
|
||||||
"azure_dd.go",
|
"azure_dd.go",
|
||||||
"azure_dd_block.go",
|
"azure_dd_block.go",
|
||||||
|
"azure_dd_max_disk_count.go",
|
||||||
"azure_mounter.go",
|
"azure_mounter.go",
|
||||||
"azure_provision.go",
|
"azure_provision.go",
|
||||||
],
|
],
|
||||||
|
@ -76,7 +77,6 @@ go_test(
|
||||||
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
|
"//staging/src/k8s.io/apimachinery/pkg/types:go_default_library",
|
||||||
"//staging/src/k8s.io/client-go/util/testing:go_default_library",
|
"//staging/src/k8s.io/client-go/util/testing:go_default_library",
|
||||||
"//vendor/github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2019-03-01/compute:go_default_library",
|
"//vendor/github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2019-03-01/compute:go_default_library",
|
||||||
"//vendor/github.com/Azure/go-autorest/autorest/to:go_default_library",
|
|
||||||
"//vendor/github.com/stretchr/testify/assert:go_default_library",
|
"//vendor/github.com/stretchr/testify/assert:go_default_library",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
|
@ -20,7 +20,6 @@ import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
|
||||||
|
|
||||||
"github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2019-03-01/compute"
|
"github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2019-03-01/compute"
|
||||||
"github.com/Azure/azure-sdk-for-go/services/storage/mgmt/2018-07-01/storage"
|
"github.com/Azure/azure-sdk-for-go/services/storage/mgmt/2018-07-01/storage"
|
||||||
|
@ -87,9 +86,6 @@ var _ volume.VolumePluginWithAttachLimits = &azureDataDiskPlugin{}
|
||||||
var _ volume.ExpandableVolumePlugin = &azureDataDiskPlugin{}
|
var _ volume.ExpandableVolumePlugin = &azureDataDiskPlugin{}
|
||||||
var _ volume.DeviceMountableVolumePlugin = &azureDataDiskPlugin{}
|
var _ volume.DeviceMountableVolumePlugin = &azureDataDiskPlugin{}
|
||||||
|
|
||||||
// store vm size list in current region
|
|
||||||
var vmSizeList *[]compute.VirtualMachineSize
|
|
||||||
|
|
||||||
const (
|
const (
|
||||||
azureDataDiskPluginName = "kubernetes.io/azure-disk"
|
azureDataDiskPluginName = "kubernetes.io/azure-disk"
|
||||||
defaultAzureVolumeLimit = 16
|
defaultAzureVolumeLimit = 16
|
||||||
|
@ -164,40 +160,22 @@ func (plugin *azureDataDiskPlugin) GetVolumeLimits() (map[string]int64, error) {
|
||||||
return volumeLimits, nil
|
return volumeLimits, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if vmSizeList == nil {
|
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), 60*time.Second)
|
|
||||||
defer cancel()
|
|
||||||
result, err := az.VirtualMachineSizesClient.List(ctx, az.Location)
|
|
||||||
if err != nil || result.Value == nil {
|
|
||||||
klog.Errorf("failed to list vm sizes in GetVolumeLimits, plugin.host: %s, location: %s", plugin.host.GetHostName(), az.Location)
|
|
||||||
return volumeLimits, nil
|
|
||||||
}
|
|
||||||
vmSizeList = result.Value
|
|
||||||
}
|
|
||||||
|
|
||||||
volumeLimits = map[string]int64{
|
volumeLimits = map[string]int64{
|
||||||
util.AzureVolumeLimitKey: getMaxDataDiskCount(instanceType, vmSizeList),
|
util.AzureVolumeLimitKey: getMaxDataDiskCount(instanceType),
|
||||||
}
|
}
|
||||||
|
|
||||||
return volumeLimits, nil
|
return volumeLimits, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func getMaxDataDiskCount(instanceType string, sizeList *[]compute.VirtualMachineSize) int64 {
|
func getMaxDataDiskCount(instanceType string) int64 {
|
||||||
if sizeList == nil {
|
vmsize := strings.ToUpper(instanceType)
|
||||||
return defaultAzureVolumeLimit
|
maxDataDiskCount, exists := maxDataDiskCountMap[vmsize]
|
||||||
|
if exists {
|
||||||
|
klog.V(12).Infof("got a matching size in getMaxDataDiskCount, VM Size: %s, MaxDataDiskCount: %d", vmsize, maxDataDiskCount)
|
||||||
|
return maxDataDiskCount
|
||||||
}
|
}
|
||||||
|
|
||||||
vmsize := strings.ToUpper(instanceType)
|
klog.V(12).Infof("not found a matching size in getMaxDataDiskCount, VM Size: %s, use default volume limit: %d", vmsize, defaultAzureVolumeLimit)
|
||||||
for _, size := range *sizeList {
|
|
||||||
if size.Name == nil || size.MaxDataDiskCount == nil {
|
|
||||||
klog.Errorf("failed to get vm size in getMaxDataDiskCount")
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
if strings.ToUpper(*size.Name) == vmsize {
|
|
||||||
klog.V(12).Infof("got a matching size in getMaxDataDiskCount, Name: %s, MaxDataDiskCount: %d", *size.Name, *size.MaxDataDiskCount)
|
|
||||||
return int64(*size.MaxDataDiskCount)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return defaultAzureVolumeLimit
|
return defaultAzureVolumeLimit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,264 @@
|
||||||
|
/*
|
||||||
|
Copyright 2019 The Kubernetes Authors.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package azure_dd
|
||||||
|
|
||||||
|
// about how to get all VM size list,
|
||||||
|
// refer to https://github.com/kubernetes/kubernetes/issues/77461#issuecomment-492488756
|
||||||
|
var maxDataDiskCountMap = map[string]int64{
|
||||||
|
"BASIC_A0": 1,
|
||||||
|
"BASIC_A1": 2,
|
||||||
|
"BASIC_A2": 4,
|
||||||
|
"BASIC_A3": 8,
|
||||||
|
"BASIC_A4": 16,
|
||||||
|
"STANDARD_A0": 1,
|
||||||
|
"STANDARD_A10": 32,
|
||||||
|
"STANDARD_A11": 64,
|
||||||
|
"STANDARD_A1": 2,
|
||||||
|
"STANDARD_A1_V2": 2,
|
||||||
|
"STANDARD_A2": 4,
|
||||||
|
"STANDARD_A2M_V2": 4,
|
||||||
|
"STANDARD_A2_V2": 4,
|
||||||
|
"STANDARD_A3": 8,
|
||||||
|
"STANDARD_A4": 16,
|
||||||
|
"STANDARD_A4M_V2": 8,
|
||||||
|
"STANDARD_A4_V2": 8,
|
||||||
|
"STANDARD_A5": 4,
|
||||||
|
"STANDARD_A6": 8,
|
||||||
|
"STANDARD_A7": 16,
|
||||||
|
"STANDARD_A8": 32,
|
||||||
|
"STANDARD_A8M_V2": 16,
|
||||||
|
"STANDARD_A8_V2": 16,
|
||||||
|
"STANDARD_A9": 64,
|
||||||
|
"STANDARD_B1LS": 2,
|
||||||
|
"STANDARD_B1MS": 2,
|
||||||
|
"STANDARD_B1S": 2,
|
||||||
|
"STANDARD_B2MS": 4,
|
||||||
|
"STANDARD_B2S": 4,
|
||||||
|
"STANDARD_B4MS": 8,
|
||||||
|
"STANDARD_B8MS": 16,
|
||||||
|
"STANDARD_D11": 8,
|
||||||
|
"STANDARD_D11_V2": 8,
|
||||||
|
"STANDARD_D11_V2_PROMO": 8,
|
||||||
|
"STANDARD_D12": 16,
|
||||||
|
"STANDARD_D12_V2": 16,
|
||||||
|
"STANDARD_D12_V2_PROMO": 16,
|
||||||
|
"STANDARD_D13": 32,
|
||||||
|
"STANDARD_D13_V2": 32,
|
||||||
|
"STANDARD_D13_V2_PROMO": 32,
|
||||||
|
"STANDARD_D1": 4,
|
||||||
|
"STANDARD_D14": 64,
|
||||||
|
"STANDARD_D14_V2": 64,
|
||||||
|
"STANDARD_D14_V2_PROMO": 64,
|
||||||
|
"STANDARD_D15_V2": 64,
|
||||||
|
"STANDARD_D16S_V3": 32,
|
||||||
|
"STANDARD_D16_V3": 32,
|
||||||
|
"STANDARD_D1_V2": 4,
|
||||||
|
"STANDARD_D2": 8,
|
||||||
|
"STANDARD_D2S_V3": 4,
|
||||||
|
"STANDARD_D2_V2": 8,
|
||||||
|
"STANDARD_D2_V2_PROMO": 8,
|
||||||
|
"STANDARD_D2_V3": 4,
|
||||||
|
"STANDARD_D3": 16,
|
||||||
|
"STANDARD_D32S_V3": 32,
|
||||||
|
"STANDARD_D32_V3": 32,
|
||||||
|
"STANDARD_D3_V2": 16,
|
||||||
|
"STANDARD_D3_V2_PROMO": 16,
|
||||||
|
"STANDARD_D4": 32,
|
||||||
|
"STANDARD_D4S_V3": 8,
|
||||||
|
"STANDARD_D4_V2": 32,
|
||||||
|
"STANDARD_D4_V2_PROMO": 32,
|
||||||
|
"STANDARD_D4_V3": 8,
|
||||||
|
"STANDARD_D5_V2": 64,
|
||||||
|
"STANDARD_D5_V2_PROMO": 64,
|
||||||
|
"STANDARD_D64S_V3": 32,
|
||||||
|
"STANDARD_D64_V3": 32,
|
||||||
|
"STANDARD_D8S_V3": 16,
|
||||||
|
"STANDARD_D8_V3": 16,
|
||||||
|
"STANDARD_DC2S": 2,
|
||||||
|
"STANDARD_DC4S": 4,
|
||||||
|
"STANDARD_DS11-1_V2": 8,
|
||||||
|
"STANDARD_DS11": 8,
|
||||||
|
"STANDARD_DS11_V2": 8,
|
||||||
|
"STANDARD_DS11_V2_PROMO": 8,
|
||||||
|
"STANDARD_DS12": 16,
|
||||||
|
"STANDARD_DS12-1_V2": 16,
|
||||||
|
"STANDARD_DS12-2_V2": 16,
|
||||||
|
"STANDARD_DS12_V2": 16,
|
||||||
|
"STANDARD_DS12_V2_PROMO": 16,
|
||||||
|
"STANDARD_DS13-2_V2": 32,
|
||||||
|
"STANDARD_DS13": 32,
|
||||||
|
"STANDARD_DS13-4_V2": 32,
|
||||||
|
"STANDARD_DS13_V2": 32,
|
||||||
|
"STANDARD_DS13_V2_PROMO": 32,
|
||||||
|
"STANDARD_DS1": 4,
|
||||||
|
"STANDARD_DS14-4_V2": 64,
|
||||||
|
"STANDARD_DS14": 64,
|
||||||
|
"STANDARD_DS14-8_V2": 64,
|
||||||
|
"STANDARD_DS14_V2": 64,
|
||||||
|
"STANDARD_DS14_V2_PROMO": 64,
|
||||||
|
"STANDARD_DS15_V2": 64,
|
||||||
|
"STANDARD_DS1_V2": 4,
|
||||||
|
"STANDARD_DS2": 8,
|
||||||
|
"STANDARD_DS2_V2": 8,
|
||||||
|
"STANDARD_DS2_V2_PROMO": 8,
|
||||||
|
"STANDARD_DS3": 16,
|
||||||
|
"STANDARD_DS3_V2": 16,
|
||||||
|
"STANDARD_DS3_V2_PROMO": 16,
|
||||||
|
"STANDARD_DS4": 32,
|
||||||
|
"STANDARD_DS4_V2": 32,
|
||||||
|
"STANDARD_DS4_V2_PROMO": 32,
|
||||||
|
"STANDARD_DS5_V2": 64,
|
||||||
|
"STANDARD_DS5_V2_PROMO": 64,
|
||||||
|
"STANDARD_E16-4S_V3": 32,
|
||||||
|
"STANDARD_E16-8S_V3": 32,
|
||||||
|
"STANDARD_E16S_V3": 32,
|
||||||
|
"STANDARD_E16_V3": 32,
|
||||||
|
"STANDARD_E20S_V3": 32,
|
||||||
|
"STANDARD_E20_V3": 32,
|
||||||
|
"STANDARD_E2S_V3": 4,
|
||||||
|
"STANDARD_E2_V3": 4,
|
||||||
|
"STANDARD_E32-16S_V3": 32,
|
||||||
|
"STANDARD_E32-8S_V3": 32,
|
||||||
|
"STANDARD_E32S_V3": 32,
|
||||||
|
"STANDARD_E32_V3": 32,
|
||||||
|
"STANDARD_E4-2S_V3": 8,
|
||||||
|
"STANDARD_E4S_V3": 8,
|
||||||
|
"STANDARD_E4_V3": 8,
|
||||||
|
"STANDARD_E64-16S_V3": 32,
|
||||||
|
"STANDARD_E64-32S_V3": 32,
|
||||||
|
"STANDARD_E64IS_V3": 32,
|
||||||
|
"STANDARD_E64I_V3": 32,
|
||||||
|
"STANDARD_E64S_V3": 32,
|
||||||
|
"STANDARD_E64_V3": 32,
|
||||||
|
"STANDARD_E8-2S_V3": 16,
|
||||||
|
"STANDARD_E8-4S_V3": 16,
|
||||||
|
"STANDARD_E8S_V3": 16,
|
||||||
|
"STANDARD_E8_V3": 16,
|
||||||
|
"STANDARD_F1": 4,
|
||||||
|
"STANDARD_F16": 64,
|
||||||
|
"STANDARD_F16S": 64,
|
||||||
|
"STANDARD_F16S_V2": 32,
|
||||||
|
"STANDARD_F1S": 4,
|
||||||
|
"STANDARD_F2": 8,
|
||||||
|
"STANDARD_F2S": 8,
|
||||||
|
"STANDARD_F2S_V2": 4,
|
||||||
|
"STANDARD_F32S_V2": 32,
|
||||||
|
"STANDARD_F4": 16,
|
||||||
|
"STANDARD_F4S": 16,
|
||||||
|
"STANDARD_F4S_V2": 8,
|
||||||
|
"STANDARD_F64S_V2": 32,
|
||||||
|
"STANDARD_F72S_V2": 32,
|
||||||
|
"STANDARD_F8": 32,
|
||||||
|
"STANDARD_F8S": 32,
|
||||||
|
"STANDARD_F8S_V2": 16,
|
||||||
|
"STANDARD_G1": 8,
|
||||||
|
"STANDARD_G2": 16,
|
||||||
|
"STANDARD_G3": 32,
|
||||||
|
"STANDARD_G4": 64,
|
||||||
|
"STANDARD_G5": 64,
|
||||||
|
"STANDARD_GS1": 8,
|
||||||
|
"STANDARD_GS2": 16,
|
||||||
|
"STANDARD_GS3": 32,
|
||||||
|
"STANDARD_GS4-4": 64,
|
||||||
|
"STANDARD_GS4": 64,
|
||||||
|
"STANDARD_GS4-8": 64,
|
||||||
|
"STANDARD_GS5-16": 64,
|
||||||
|
"STANDARD_GS5": 64,
|
||||||
|
"STANDARD_GS5-8": 64,
|
||||||
|
"STANDARD_H16": 64,
|
||||||
|
"STANDARD_H16M": 64,
|
||||||
|
"STANDARD_H16M_PROMO": 64,
|
||||||
|
"STANDARD_H16MR": 64,
|
||||||
|
"STANDARD_H16MR_PROMO": 64,
|
||||||
|
"STANDARD_H16_PROMO": 64,
|
||||||
|
"STANDARD_H16R": 64,
|
||||||
|
"STANDARD_H16R_PROMO": 64,
|
||||||
|
"STANDARD_H8": 32,
|
||||||
|
"STANDARD_H8M": 32,
|
||||||
|
"STANDARD_H8M_PROMO": 32,
|
||||||
|
"STANDARD_H8_PROMO": 32,
|
||||||
|
"STANDARD_HB60RS": 4,
|
||||||
|
"STANDARD_HC44RS": 4,
|
||||||
|
"STANDARD_L16S": 64,
|
||||||
|
"STANDARD_L16S_V2": 32,
|
||||||
|
"STANDARD_L32S": 64,
|
||||||
|
"STANDARD_L32S_V2": 32,
|
||||||
|
"STANDARD_L4S": 16,
|
||||||
|
"STANDARD_L64S_V2": 32,
|
||||||
|
"STANDARD_L80S_V2": 32,
|
||||||
|
"STANDARD_L8S": 32,
|
||||||
|
"STANDARD_L8S_V2": 16,
|
||||||
|
"STANDARD_M128-32MS": 64,
|
||||||
|
"STANDARD_M128": 64,
|
||||||
|
"STANDARD_M128-64MS": 64,
|
||||||
|
"STANDARD_M128M": 64,
|
||||||
|
"STANDARD_M128MS": 64,
|
||||||
|
"STANDARD_M128S": 64,
|
||||||
|
"STANDARD_M16-4MS": 16,
|
||||||
|
"STANDARD_M16-8MS": 16,
|
||||||
|
"STANDARD_M16MS": 16,
|
||||||
|
"STANDARD_M208MS_V2": 64,
|
||||||
|
"STANDARD_M208S_V2": 64,
|
||||||
|
"STANDARD_M32-16MS": 32,
|
||||||
|
"STANDARD_M32-8MS": 32,
|
||||||
|
"STANDARD_M32LS": 32,
|
||||||
|
"STANDARD_M32MS": 32,
|
||||||
|
"STANDARD_M32TS": 32,
|
||||||
|
"STANDARD_M64-16MS": 64,
|
||||||
|
"STANDARD_M64-32MS": 64,
|
||||||
|
"STANDARD_M64": 64,
|
||||||
|
"STANDARD_M64LS": 64,
|
||||||
|
"STANDARD_M64M": 64,
|
||||||
|
"STANDARD_M64MS": 64,
|
||||||
|
"STANDARD_M64S": 64,
|
||||||
|
"STANDARD_M8-2MS": 8,
|
||||||
|
"STANDARD_M8-4MS": 8,
|
||||||
|
"STANDARD_M8MS": 8,
|
||||||
|
"STANDARD_NC12": 48,
|
||||||
|
"STANDARD_NC12_PROMO": 48,
|
||||||
|
"STANDARD_NC12S_V2": 24,
|
||||||
|
"STANDARD_NC12S_V3": 24,
|
||||||
|
"STANDARD_NC24": 64,
|
||||||
|
"STANDARD_NC24_PROMO": 64,
|
||||||
|
"STANDARD_NC24R": 64,
|
||||||
|
"STANDARD_NC24R_PROMO": 64,
|
||||||
|
"STANDARD_NC24RS_V2": 32,
|
||||||
|
"STANDARD_NC24RS_V3": 32,
|
||||||
|
"STANDARD_NC24S_V2": 32,
|
||||||
|
"STANDARD_NC24S_V3": 32,
|
||||||
|
"STANDARD_NC6": 24,
|
||||||
|
"STANDARD_NC6_PROMO": 24,
|
||||||
|
"STANDARD_NC6S_V2": 12,
|
||||||
|
"STANDARD_NC6S_V3": 12,
|
||||||
|
"STANDARD_ND12S": 24,
|
||||||
|
"STANDARD_ND24RS": 32,
|
||||||
|
"STANDARD_ND24S": 32,
|
||||||
|
"STANDARD_ND6S": 12,
|
||||||
|
"STANDARD_NV12": 48,
|
||||||
|
"STANDARD_NV12_PROMO": 48,
|
||||||
|
"STANDARD_NV12S_V2": 24,
|
||||||
|
"STANDARD_NV12S_V3": 12,
|
||||||
|
"STANDARD_NV24": 64,
|
||||||
|
"STANDARD_NV24_PROMO": 64,
|
||||||
|
"STANDARD_NV24S_V2": 32,
|
||||||
|
"STANDARD_NV24S_V3": 24,
|
||||||
|
"STANDARD_NV48S_V3": 32,
|
||||||
|
"STANDARD_NV6": 24,
|
||||||
|
"STANDARD_NV6_PROMO": 24,
|
||||||
|
"STANDARD_NV6S_V2": 12,
|
||||||
|
"STANDARD_PB6S": 12,
|
||||||
|
}
|
|
@ -20,8 +20,6 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2019-03-01/compute"
|
|
||||||
"github.com/Azure/go-autorest/autorest/to"
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
|
||||||
"k8s.io/api/core/v1"
|
"k8s.io/api/core/v1"
|
||||||
|
@ -61,33 +59,24 @@ func TestCanSupport(t *testing.T) {
|
||||||
func TestGetMaxDataDiskCount(t *testing.T) {
|
func TestGetMaxDataDiskCount(t *testing.T) {
|
||||||
tests := []struct {
|
tests := []struct {
|
||||||
instanceType string
|
instanceType string
|
||||||
sizeList *[]compute.VirtualMachineSize
|
|
||||||
expectResult int64
|
expectResult int64
|
||||||
}{
|
}{
|
||||||
{
|
{
|
||||||
instanceType: "standard_d2_v2",
|
instanceType: "standard_d2_v2",
|
||||||
sizeList: &[]compute.VirtualMachineSize{
|
|
||||||
{Name: to.StringPtr("Standard_D2_V2"), MaxDataDiskCount: to.Int32Ptr(8)},
|
|
||||||
{Name: to.StringPtr("Standard_D3_V2"), MaxDataDiskCount: to.Int32Ptr(16)},
|
|
||||||
},
|
|
||||||
expectResult: 8,
|
expectResult: 8,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
instanceType: "NOT_EXISTING",
|
instanceType: "NOT_EXISTING",
|
||||||
sizeList: &[]compute.VirtualMachineSize{
|
|
||||||
{Name: to.StringPtr("Standard_D2_V2"), MaxDataDiskCount: to.Int32Ptr(8)},
|
|
||||||
},
|
|
||||||
expectResult: defaultAzureVolumeLimit,
|
expectResult: defaultAzureVolumeLimit,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
instanceType: "",
|
instanceType: "",
|
||||||
sizeList: &[]compute.VirtualMachineSize{},
|
|
||||||
expectResult: defaultAzureVolumeLimit,
|
expectResult: defaultAzureVolumeLimit,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, test := range tests {
|
for _, test := range tests {
|
||||||
result := getMaxDataDiskCount(test.instanceType, test.sizeList)
|
result := getMaxDataDiskCount(test.instanceType)
|
||||||
assert.Equal(t, test.expectResult, result)
|
assert.Equal(t, test.expectResult, result)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue