Closed seokho-son closed 2 years ago
spec: t2.small 로 했을 때는
아래와 같은 에러메시지들이 나왔었습니다.
"systemMessage": "{\"message\":\"SDK.ServerError\\nErrorCode: InvalidInstanceType.ValueNotSupported\\nRecommend: https://next.api.aliyun.com/troubleshoot?q=InvalidInstanceType.ValueNotSupported\\u0026product=Ecs\\nRequestId: A4A36C66-A355-362C-B3B1-E53CB129EEBD\\nMessage: The specified parameter \\\"KeyPairName\\\" only support IoOptimized Instance.\"}\n",
이미지 세부 정보에 관련 항목이 있는 듯한데, 이미지와의 조합 이슈일 수도 있겠습니다.
- Register image in alibaba-ap-southeast-1
7 {
"namespace": "ns01",
"id": "alibaba-ap-southeast-1-shson01",
"name": "alibaba-ap-southeast-1-shson01",
"connectionName": "alibaba-ap-southeast-1",
"cspImageId": "ubuntu_18_04_x64_20G_alibase_20220428.vhd",
"guestOS": "Ubuntu 18.04 64 bit",
"status": "Available",
"keyValueList": [
{
"Key": "CreationTime",
"Value": "2022-05-06T08:21:44Z"
},
{
"Key": "Architecture",
"Value": "x86_64"
},
{
"Key": "OSNameEn",
"Value": "Ubuntu 18.04 64 bit"
},
{
"Key": "ProductCode",
"Value": ""
},
{
"Key": "OSType",
"Value": "linux"
},
{
"Key": "OSName",
"Value": "Ubuntu 18.04 64位"
},
{
"Key": "Progress",
"Value": "100%"
},
{
"Key": "IsSupportCloudinit",
"Value": "true"
},
{
"Key": "Usage",
"Value": "instance"
},
{
"Key": "ImageVersion",
"Value": ""
},
{
"Key": "IsSupportIoOptimized",
"Value": "true"
},
{
"Key": "IsSelfShared",
"Value": ""
},
{
"Key": "IsCopied",
"Value": "false"
},
{
"Key": "IsSubscribed",
"Value": "false"
},
{
"Key": "Platform",
"Value": "Ubuntu"
},
{
"Key": "Size",
"Value": "20"
},
{
"Key": "Description",
"Value": ""
}
]
"systemMessage": "{\"message\":\"SDK.ServerError\nErrorCode: InvalidResourceType.NotSupported\nRecommend: https://next.api.aliyun.com/troubleshoot?q=InvalidResourceType.NotSupported\\u0026product=Ecs\\nRequestId: 6C3C6DE3-2C18-3F26-B0FB-F34127A65B46\nMessage: user order resource type [vpc][ecs.g7.large] not exists in [us-west-1a]\"}\n",
해당 메시지는 아마도 잘못생성된 메시지 인 것 같습니다.
[spec][ecs.g7.large] 또는 [vpc][VPC-idxxx] 형태이어야 할 것 같네요.
Spec: ecs.g7.large 로 하면 아래 메시지가 주로 나옵니다. (g7, 범용 인스턴스 제품군)
"systemMessage": "{\"message\":\"SDK.ServerError\nErrorCode: InvalidParameter.Conflict\nRecommend: https://next.api.aliyun.com/troubleshoot?q=InvalidParameter.Conflict\\u0026product=Ecs\\nRequestId: A594C567-C11C-3B30-BBAA-5155BCB9285C\nMessage: The specified disk category (cloud_efficiency) is not support the specified instance type.\"}\n",
@seokho-son @powerkimhub 초반 에러들을 보면 판매 중단된 지역과 스펙이라서 스펙 목록과 이미지 목록을 신규로 정리하시면 어느 정도 해결될 것같습니다.
그 외에는 생성할 지역과 서버 타입에 맞는 디스크 타입과 사이즈를 지정해주셔야 하는데 맞지 않아서 그런 것 같습니다. 후자의 경우에는 급한대로 VM생성 시 디스크 정보와 사이즈를 변경하지 않도록 하면 어느 정도 해결될 것 같습니다.
참고로, Alibaba 드라이버에 아래의 두 값을 전달 하지 않거나 "default"라는 문자열을 전달하면 관련 로직이 동작하지 않고 API 기본 값으로 생성됩니다. (cb-spider가 중간에 default 값을 변경하기 때문에 cb-spider에서 드라이버에 두 파라메터의 값을 전달하지 않도록 수정하면 될 것같네요.)
vmReqInfo.RootDiskType == "" vmReqInfo.RootDiskSize == ""
190 라인 //============================= // Root Disk Type 변경 //============================= if vmReqInfo.RootDiskType == "" || strings.EqualFold(vmReqInfo.RootDiskType, "default") { //디스크 정보가 없으면 건드리지 않음. } else { request.SystemDiskCategory = vmReqInfo.RootDiskType }
//=============================
// Root Disk Size 변경
//=============================
if vmReqInfo.RootDiskSize == "" || strings.EqualFold(vmReqInfo.RootDiskSize, "default") {
//디스크 정보가 없으면 건드리지 않음.
} else {
변경 로직
}
@dev4unet
@dev4unet @powerkimhub 정보 감사합니다. :)
일단 CB-SP에서 코드가 수정되어도, 바로 CB-TB와 연동하여 테스트가 어려운 시점이라
살짝 우회하고 있다가, 향후에 업데이트된 SP와 연동해보도록 하겠습니다.
storage type과 instance type 관련 사항 참고
https://github.com/cloud-barista/cb-spider/blob/master/cloud-driver-libs/cloudos_meta.yaml#L37
현재 활성화 되어 있는 cloud_efficiency / cloud / cloud_ssd 중에서
cloud_ssd 는 deprecated 되는 것으로 보입니다. (#rootdisktype: cloud_efficiency / cloud / cloud_ssd / cloud_essd)
주석 처리된 cloud_essd 를 추가하는 것이 좋을 것 같습니다.
특히, 범용 vm 사양에 해당하는 g6, g7 패밀리가 모두 essd 만 지원하고 있네요.
참고하시기 바랍니다.
표준 SSD는 현재 영역에서 단계적으로 제거됩니다. 대신 PL1 ESSD를 선택하는 것을 권장합니다. 표준 SSD와 비교하여 PL1 ESSD는 동일한 구독 가격으로 제공되며 기업 수준 애플리케이션에 이상적인 100% 더 높은 IOPS 성능을 제공합니다.
일단, CB-TB에서 Alibaba 리전(24개)별로 가용한, Spec / Image / DiskType 조합을 하나씩 확인하고, 메뉴얼하게 업데이트하였습니다. (리전별로 조합이 다름)
관련 PR: https://github.com/cloud-barista/cb-tumblebug/pull/1120
가용한 조합 예시가 필요하신 경우 참고하시기 바랍니다.
[CB-Tumblebug is READY]
[CB-Spider is READY]
####################################################################
## Check test config file (-n deveoperPrefix -f ../testSetCustom.env -x numOfVMsInEachVMGroup)
####################################################################
[Configuration in ../testSet-alibaba.env & ../conf.env files]
1) System Endpoints
- Tumblebug Server : localhost:1323
- Spider Server : localhost:1024
2) Enabled Clouds and Regions
- [1] Cloud : alibaba (enabled regions : 24)
[1,1] Region : alibaba-ap-northeast-2 (South Korea (Seoul) [zone:a])
- VM SPEC : ecs.g6e.large
- VM DISK : cloud_essd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,2] Region : alibaba-ap-northeast-1 (Japan (Tokyo) [zone:b])
- VM SPEC : ecs.g6e.large
- VM DISK : cloud_essd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,3] Region : alibaba-ap-south-1 (Mumbai [zone:b])
- VM SPEC : ecs.g6.large
- VM DISK : cloud_essd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,4] Region : alibaba-ap-southeast-1 (Singapore [zone:c])
- VM SPEC : ecs.g7.large
- VM DISK : cloud_essd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,5] Region : alibaba-ap-southeast-2 (Australia (Sydney) [zone:2b])
- VM SPEC : ecs.g6.large
- VM DISK : cloud_essd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,6] Region : alibaba-ap-southeast-3 (Malaysia (Kuala Lumpur) [zone:b])
- VM SPEC : ecs.g6.large
- VM DISK : cloud_essd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,7] Region : alibaba-ap-southeast-5 (Indonesia (Jakarta) [zone:c])
- VM SPEC : ecs.g6.large
- VM DISK : cloud_essd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,8] Region : alibaba-us-west-1 (US (Silicon Valley) [zone:a])
- VM SPEC : ecs.g6.large
- VM DISK : cloud_essd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,9] Region : alibaba-us-east-1 (US (Virginia) [zone:b])
- VM SPEC : ecs.g6.large
- VM DISK : cloud_essd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,10] Region : alibaba-eu-central-1 (Germany (Frankfurt) [zone:b])
- VM SPEC : ecs.g6.large
- VM DISK : cloud_essd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,11] Region : alibaba-eu-west-1 (UK (London) [zone:b])
- VM SPEC : ecs.g6.large
- VM DISK : cloud_essd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,12] Region : alibaba-me-east-1 (UAE (Dubai) [zone:a])
- VM SPEC : ecs.sn2.medium
- VM DISK : cloud_ssd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,13] Region : alibaba-cn-hongkong (China (Hong Kong) [zone:d])
- VM SPEC : ecs.g7.large
- VM DISK : cloud_essd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,14] Region : alibaba-cn-shanghai (China (Shanghai) [zone:n])
- VM SPEC : ecs.g7.large
- VM DISK : cloud_essd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,15] Region : alibaba-cn-beijing (China (Beijing) [zone:l])
- VM SPEC : ecs.g7.large
- VM DISK : cloud_essd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,16] Region : alibaba-cn-qingdao (China (Qingdao) [zone:b])
- VM SPEC : ecs.g6.large
- VM DISK : cloud_ssd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,17] Region : alibaba-cn-zhangjiakou (China (Zhangjiakou) [zone:c])
- VM SPEC : ecs.g6.large
- VM DISK : cloud_essd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,18] Region : alibaba-cn-huhehaote (China (Huhehaote) [zone:b])
- VM SPEC : ecs.g6.large
- VM DISK : cloud_essd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,19] Region : alibaba-cn-hangzhou (China (Hangzhou) [zone:k])
- VM SPEC : ecs.g7.large
- VM DISK : cloud_essd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,20] Region : alibaba-cn-shenzhen (China (Shenzhen) [zone:f])
- VM SPEC : ecs.g7.large
- VM DISK : cloud_essd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,21] Region : alibaba-cn-heyuan (China (Heyuan) [zone:b])
- VM SPEC : ecs.g7.large
- VM DISK : cloud_essd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,22] Region : alibaba-cn-chengdu (China (Chengdu) [zone:b])
- VM SPEC : ecs.g6.large
- VM DISK : cloud_essd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,23] Region : alibaba-cn-wulanchabu (China (Ulanqab) [zone:c])
- VM SPEC : ecs.g7.large
- VM DISK : cloud_essd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
[1,24] Region : alibaba-cn-guangzhou (China (Guangzhou) [zone:b])
- VM SPEC : ecs.g7a.large
- VM DISK : cloud_essd (40 GB)
- VM IMAGE : Ubuntu 18.04 (ubuntu_18_04_x64_20G_alibase_20220428.vhd)
3) MCIS Configuration
- NameSpace ID : ns01
- MCIS ID : shson01
- Number of Total VMs : 24
- [1] VMs(24) = alibaba(24) * Replica(1)
Confirm the above configuration. Do you want to proceed to clean ? (y/n) : y
@dev4unet @dogfootman @choryang
[Alibaba/AWS/Tencent/GCP]
VM 생성 요청시 RootDiskType 및 RootDiskSize 설정 관련
기본값("", or "default") 처리 방법에 대한 재확인 및 필요시 변경 부탁 드립니다.
추가로,
cloud_essd
(처음 위치로)이웃이슈
@dev4unet @dogfootman @choryang
[Alibaba]
default
, Size: default
==> Type: ""
, Size: ""
default
, Size: 사용자 설정 size
==> Type: cloudos_meta: 첫번째 값으로 설정
, Size: 사용자 설정 Size
사용자 설정 Type
, Size: default
==> Type: 사용자 설정 Type
, Size: ""
사용자 설정 Type
, Size: 사용자 설정 Size
==> Type: 사용자 설정 Type
, Size: 사용자 설정 Size
default
, Size: 사용자 설정 size
==> Type: ""
, Size: 사용자 설정 Size
[관련 code block]
202 if vmReqInfo.RootDiskSize == "" || strings.EqualFold(vmReqInfo.RootDiskSize, "default") {
203 //▒뵒▒뒪▒겕 ▒젙蹂닿▒ ▒뾾▒쑝硫▒ 嫄대뱶由ъ▒ ▒븡▒쓬.
204 } else {
205
206 iDiskSize, err := strconv.ParseInt(vmReqInfo.RootDiskSize, 10, 64)
207 if err != nil {
208 cblogger.Error(err)
209 return irs.VMInfo{}, err
210 }
211
212 // cloudos_meta ▒뿉 DiskType, min, max 媛▒ ▒젙▒쓽
213 cloudOSMetaInfo, err := cim.GetCloudOSMetaInfo("ALIBABA")
214 arrDiskSizeOfType := cloudOSMetaInfo.RootDiskSize
215
216 fmt.Println("arrDiskSizeOfType: ", arrDiskSizeOfType)
217
218 type diskSize struct {
219 diskType string
220 diskMinSize int64
221 diskMaxSize int64
222 unit string
223 }
224
225 diskSizeValue := diskSize{}
226 // DiskType▒씠 ▒뾾▒쑝硫▒ 泥ル쾲吏멸컪▒쓣 ▒궗▒슜
227 if vmReqInfo.RootDiskType == "" || strings.EqualFold(vmReqInfo.RootDiskType, "default") {
228 diskSizeArr := strings.Split(arrDiskSizeOfType[0], "|")
229 diskSizeValue.diskType = diskSizeArr[0]
230 diskSizeValue.unit = diskSizeArr[3]
231 diskSizeValue.diskMinSize, err = strconv.ParseInt(diskSizeArr[1], 10, 64)
232 if err != nil {
233 cblogger.Error(err)
234 return irs.VMInfo{}, err
235 }
236
237 diskSizeValue.diskMaxSize, err = strconv.ParseInt(diskSizeArr[2], 10, 64)
238 if err != nil {
239 cblogger.Error(err)
240 return irs.VMInfo{}, err
241 }
242 } else {
@dev4unet @dogfootman @choryang
@powerkimhub 네, 둘 다 확인해 보니까 202라인의 if문에서 처리해야 할 부분이 GCP하고 Alibaba 모두 말씀하신 부분의 로직이 추가되어 있었네요-_-;;; ㅎㅎㅎ... 하단에서 불 필요한 로직을 넣을 줄은 몰랐네요^^ 담당자들에게 내용 전달했습니다.
@dev4unet
@powerkimhub @dev4unet @dogfootman
(2) case의 경우, 다음처럼 설정 처리가 되어야 할 것 같습니다. 227 line 부근 확인 부탁드립니다. (2) Type: default, Size: 사용자 설정 size ==> Type: "", Size: 사용자 설정 Size
Disk Type이 비어있는 경우, Disk Type을 알 수 없어서 사용자가 설정한 Size에 대한 Min/Max 체크를 할 수가 없습니다. 예를 들어, Disk Type이 비어있고 Default로 생성되는 Disk(ex. cloud_efficiency) 의 최소 Size가 20인데 사용자가 설정한 Size가 10이라면 이를 미리 체크할 수 없습니다. 참고 부탁드립니다.
@choryang @dogfootman @dev4unet
확인 및 현황 공유 감사드립니다.
다음 링크에서 하단의 <드라이버 개발 및 보완 가이드>를 참고하시면,
관련 참고
@dev4unet @dogfootman @choryang
What happened
로 VM 생성 요청시, 많은 리전에서 오류 발생
What you expected to happen
How to reproduce it (as minimally and precisely as possible) CB-TB 스크립트를 이용하여, 알리바바로 구성된 VM 생성
Anything else we need to know?
결과에서, failed 된 vm 항목의 systemMessage 참고.
Environment