Skip to content

Commit

Permalink
Merge pull request #906 from huww98/disk-rm-size-limit
Browse files Browse the repository at this point in the history
disk: remove the size limit of some categories
  • Loading branch information
k8s-ci-robot committed Dec 26, 2023
2 parents 1284560 + d320d44 commit ba8fcf3
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 18 deletions.
33 changes: 20 additions & 13 deletions pkg/disk/cloud.go
Original file line number Diff line number Diff line change
Expand Up @@ -948,20 +948,27 @@ func request(createDiskRequest *ecs.CreateDiskRequest, ecsClient *ecs.Client) (r
if err == nil {
log.Log.Infof("request: diskId: %s, reqId: %s", volumeRes.DiskId, volumeRes.RequestId)
return true, volumeRes.DiskId, nil
} else if strings.Contains(err.Error(), DiskNotAvailable) || strings.Contains(err.Error(), DiskNotAvailableVer2) {
log.Log.Infof("request: Create Disk for volume %s with diskCatalog: %s is not supported in zone: %s", createDiskRequest.DiskName, createDiskRequest.DiskCategory, createDiskRequest.ZoneId)
return false, "", err
} else if strings.Contains(err.Error(), DiskPerformanceLevelNotMatch) && createDiskRequest.DiskCategory == DiskESSD {
log.Log.Infof("request: Create Disk for volume %s with diskCatalog: %s , pl: %s has invalid disk size: %s", createDiskRequest.DiskName, createDiskRequest.DiskCategory, createDiskRequest.PerformanceLevel, createDiskRequest.Size)
return false, "", err
} else if strings.Contains(err.Error(), DiskIopsLimitExceeded) && createDiskRequest.DiskCategory == DiskESSDAuto {
log.Log.Infof("request: Create Disk for volume %s with diskCatalog: %s , provisioned iops %s has exceeded limit", createDiskRequest.DiskName, createDiskRequest.DiskCategory, createDiskRequest.ProvisionedIops)
return false, "", err
} else {
log.Log.Errorf("request: create disk for volume %s with type: %s err: %v", createDiskRequest.DiskName, createDiskRequest.DiskCategory, err)
newErrMsg := utils.FindSuggestionByErrorMessage(err.Error(), utils.DiskProvision)
return true, "", fmt.Errorf("%s: %w", newErrMsg, err)
}
var aliErr *alicloudErr.ServerError
if errors.As(err, &aliErr) {
if strings.HasPrefix(aliErr.ErrorCode(), DiskNotAvailable) || strings.Contains(aliErr.Message(), DiskNotAvailableVer2) {
log.Log.Infof("request: Create Disk for volume %s with diskCatalog: %s is not supported in zone: %s", createDiskRequest.DiskName, createDiskRequest.DiskCategory, createDiskRequest.ZoneId)
return false, "", err
} else if aliErr.ErrorCode() == DiskSizeNotAvailable1 || aliErr.ErrorCode() == DiskSizeNotAvailable2 {
// although we have checked the size above, but these limits are subject to change, so we may still encounter this error
log.Log.Infof("request: Create Disk for volume %s with diskCatalog: %s has invalid disk size: %s", createDiskRequest.DiskName, createDiskRequest.DiskCategory, createDiskRequest.Size)
return false, "", err
} else if aliErr.ErrorCode() == DiskPerformanceLevelNotMatch && createDiskRequest.DiskCategory == DiskESSD {
log.Log.Infof("request: Create Disk for volume %s with diskCatalog: %s , pl: %s has invalid disk size: %s", createDiskRequest.DiskName, createDiskRequest.DiskCategory, createDiskRequest.PerformanceLevel, createDiskRequest.Size)
return false, "", err
} else if aliErr.ErrorCode() == DiskIopsLimitExceeded && createDiskRequest.DiskCategory == DiskESSDAuto {
log.Log.Infof("request: Create Disk for volume %s with diskCatalog: %s , provisioned iops %s has exceeded limit", createDiskRequest.DiskName, createDiskRequest.DiskCategory, createDiskRequest.ProvisionedIops)
return false, "", err
}
}
log.Log.Errorf("request: create disk for volume %s with type: %s err: %v", createDiskRequest.DiskName, createDiskRequest.DiskCategory, err)
newErrMsg := utils.FindSuggestionByErrorMessage(err.Error(), utils.DiskProvision)
return true, "", fmt.Errorf("%s: %w", newErrMsg, err)
}

func getDiskType(diskVol *diskVolumeArgs) ([]string, []string, error) {
Expand Down
10 changes: 5 additions & 5 deletions pkg/disk/constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,9 @@ const (

DiskNotAvailable = "InvalidDataDiskCategory" // InvalidDataDiskCategory.ValueNotSupported/NotSupported
DiskNotAvailableVer2 = "'DataDisk.n.Category' is not valid in this region."
DiskSizeNotAvailable = "InvalidDiskSize.NotSupported"
DiskPerformanceLevelNotMatch = "OperationDenied.PerformanceLevelNotMatch"
DiskSizeNotAvailable1 = "InvalidDiskSize.NotSupported" // for cloud/cloud_efficiency/cloud_ssd
DiskSizeNotAvailable2 = "InvalidDataDiskSize.ValueNotSupported" // for cloud_auto
DiskPerformanceLevelNotMatch = "OperationDenied.PerformanceLevelNotMatch" // for cloud_essd
DiskIopsLimitExceeded = "InvalidProvisionedIops.LimitExceed"
DiskLimitExceeded = "InstanceDiskLimitExceeded"
NotSupportDiskCategory = "NotSupportDiskCategory"
Expand Down Expand Up @@ -202,12 +203,11 @@ const (

DISK_CLOUD_EFFICIENT_MIN_CAPACITY = 20
DISK_CLOUD_SSD_MIN_CAPACITY = 20
DISK_CLOUD_ESSD_PL0_MIN_CAPACITY = 20
DISK_CLOUD_ESSD_PL0_MIN_CAPACITY = 1
DISK_CLOUD_ESSD_PL1_MIN_CAPACITY = 20
DISK_CLOUD_ESSD_PL2_MIN_CAPACITY = 461
DISK_CLOUD_ESSD_PL3_MIN_CAPACITY = 1261
DISK_CLOUD_ESSD_PLX_MIN_CAPACITY = 40
DISK_CLOUD_ESSD_AUTO_PL_MIN_CAPACITY = 40
DISK_CLOUD_ESSD_AUTO_PL_MIN_CAPACITY = 1
)

var DiskCapacityMapping = map[string]int{
Expand Down

0 comments on commit ba8fcf3

Please sign in to comment.