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)

  • [Target Spider] https://github.com/cloud-barista/cb-spider/releases/tag/v0.3.8 (TerminateVM 일부 개선)

  • [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]

  • [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
        
  • [시험 고찰]

    • TerminateVM() 내부 처리 중, 삭제 순서의 의존 없는 자원들은 Thread 이용하여 동시에 future.WaitForCompletionRef() 실행하는 것을 고려 필요
    • Tumblebug 시험 패턴 확인 후 Terminate VM 지연 상황 재연 필요
    • TerminateVM() 내부에서 vmdisk 삭제 시 지연 가능성이 있어 보임. 추가 시험 필요(VM 생성 => VM 내부에 데이타 저장 => VM 삭제 시험