Azure Driver Testing to reduce the elapsed time of terminating VM - cloud-barista/cb-spider GitHub Wiki
-
[Test Goals] Reduce elapsed time of Terminating VM (reported by Tumblebug)
-
https://github.com/cloud-barista/cb-spider/releases/tag/v0.3.8 (TerminateVM 일부 개선)
[Target Spider] -
[Spider Env.] MetaInfo-storetype: NUTSDB, PLUGIN_SW=OFF
-
[Target CSP] Azure, Terminating VM
-
[Test Env.]
- Region: azure-northeurope
- Image: Canonical:UbuntuServer:18.04-LTS:latest
- Spec: Standard_B1ls
-
[Test Tools]
-
AdminWeb
-
https://github.com/cloud-barista/cb-spider/blob/master/api-runtime/rest-runtime/test/full-test/2.azure-test-no-sleep.sh
Test Scripts with REST API:
-
-
[Tester/Date] powerkimhub / April.30. 2021.
-
[시험 결과]
-
개선한 CB-Spider v0.3.8 대상으로 시험
-
AdminWeb 사용한 manual test
- VPC 생성 -> SG 생성 -> Key 생성 -> VM 생성 -> VM 삭제 -> Key 삭제 -> SG 삭제 -> VPC 삭제
- VM 외 평균 생성 및 삭제 시간: VPC=15s 정도, Security Group:15s 정도
- VM 생성 및 삭제 소요 시간
- 1회: VM 생성: 1m7s, VM 삭제: 1m6s - 2회: VM 생성: 1m4s, VM 삭제: 2m10s (DeleteVMDisk 함수가 늦게 처리됨) - 3회: VM 생성: 1m8s, VM 삭제: 1m7s
-
Script 이용한 full test(중간에 sleep 없이 실행, 3회 반복 시험)
- 1회 시험 항목
## 1. VPC: Create -> List -> Get ## 2. SecurityGroup: Create -> List -> Get ## 3. KeyPair: Create -> List -> Get ## 4. VM: StartVM -> List -> Get -> ListStatus -> GetStatus -> Suspend -> Resume -> Reboot ## --------------------------------- ## 4. VM: Terminate(Delete) ## 3. KeyPair: Delete ## 2. SecurityGroup: Delete ## 1. VPC: Delete
- 시험 결과
## 1회: 5m13.625s ## 2회: 4m20.142s ## 3회: 4m14.364s
- 1회 시험 항목
-
-
[시험 고찰]
- TerminateVM() 내부 처리 중, 삭제 순서의 의존 없는 자원들은 Thread 이용하여 동시에 future.WaitForCompletionRef() 실행하는 것을 고려 필요
- Tumblebug 시험 패턴 확인 후 Terminate VM 지연 상황 재연 필요
- TerminateVM() 내부에서 vmdisk 삭제 시 지연 가능성이 있어 보임. 추가 시험 필요(VM 생성 => VM 내부에 데이타 저장 => VM 삭제 시험