-
Notifications
You must be signed in to change notification settings - Fork 46
StartVM and TerminateVM Main Flow of Cloud Drivers
ByoungSeob Kim edited this page May 21, 2021
·
11 revisions
[Init]
- StartVM: 30s
- TerminateVM: 10s
- issues:
- Alibaba TerminateVM 시 오류 발생
- OpenStack StartVM 시 오류 발생
[2021.05.21.]
- StartVM: 120s
- TerminateVM: 60s
- Focusing on CallLog and Waiting Loop
- Waiting Loop: VM 정보 제공을 위해서 VM 정보가 생성될 때까지(=running status) 기다리는 작업
- StartVM 규격 참고: StartVM(vmReqInfo VMReqInfo) (VMInfo, error)
- Flow에서 함수 이름은 실제 이름과 다를 수 있음
- SetUser('cb-user'): cloud-init 데이터 설정
- CreateUser('cb-user'): runSSH into VM
Driver Names | StartVM Flow | Etc |
---|---|---|
ALIBABA | GetKey() SetUser('cb-user') StartTime RunInstances() EndTime Loop-120sec(getStatus('Running'): sleep 1s) return GetVMInfo() |
|
AWS | GetKey() SetUser('cb-user') StartTime RunInstances() EndTime WaitUntilInstanceRunning() return GetVMInfo() |
|
AZURE | CheckVM() CreatePublicIP() CreateVNic() GetPublicKey() StartTime CreateOrUpdate() EndTime WaitForCompletionRef() return GetVMInfo() |
|
CLOUDIT | StartTime Rest.Post(ACE, servers) EndTime Loop-120sec(get(PrivateIP && Running): sleep 1s) Loop-120sec(echo: sleep 1) CreateUser('cb-user') Restart(sshd) return GetVMInfo() |
|
GCP | GetKey() StartTime Instances.Insert.Do() EndTime Loop-120sec(getStatus('Running'): sleep 1s) return GetVMInfo() |
|
OPENSTACK | CheckVM() setUser('cb-user') StartTime servers.Create() EndTime Loop-120sec(getStatus('active'): sleep 1s) AssociatePublicIP() return GetVMInfo() |
- Focusing on CallLog and Waiting Loop
- Waiting Loop: VM이 원하는 상태로 될 때까지 기다리는 작업
- TerminateVM 규격 참고: TerminateVM(vmIID IID) (VMStatus, error)
- Flow에서 함수 이름은 실제 이름과 다를 수 있음
Driver Names | TerminateVM Flow | Etc |
---|---|---|
ALIBABA | SuspendVM() Loop-60sec(getStatus('Suspended'): sleep 1s) Starttime DeleteInstance() EndTime return 'Terminating' |
|
AWS | StartTime TerminateInstances() EndTime return 'Terminating' |
|
AZURE | GetVM() StartTime Delete() EndTime WaitForCompletionRef() DeleteVNic() DeletePublicIP() DeleteVMDisk() return irs.NotExist |
|
CLOUDIT | GetVM() DisassociatePublicIP() sleep 5s StartTime Terminate() EndTime return irs.Terminating |
|
GCP | StartTime Delete() EndTime return 'Terminating' |
|
OPENSTACK | GetVM() floatingip.Delete() StartTime Delete() EndTime return irs.Terminating |
-
Install & Start Guide
-
Features & Usage
-
- AdminWeb Tool Guide
- CLI Tool Guide
- REST API Guide
-
Design
-
Developer Guide
-
Cloud Driver Developer Guide
- Cloud Driver Developer Guide-WIP
- VM SSH Key Development Guide-WIP
- VM User Development Guide
- What is the CSP SDK API Version of drivers
- Region Zone Info and Driver API
- Price Info and Driver API
- (StartVM TerminateVM) API Call Counts and Waiting
- StartVM and TerminateVM Main Flow of drivers
- VM Root Disk Configuration Guide
- Security Group Rules and Driver API
- Network Load Balancer and Driver API
- VM Snapshot, MyImage and Disk Overview
- Kubernetes and Driver API(PMKS, K8S)
- Tag and Cloud Driver API
- AnyCall API Extension Guide
-
Test Reports
- v0.2.8-for-espresso-release
- v0.3.0-espresso-release
- Azure:Terminating VM
- cb-user@VM: ssh login, sudo run
- v0.3.14 test for SG Source
- v0.4.0-cafemocha-release
- Test via REST API Gateway
- Test Reports of v0.4.11 (IID2 initial Version)
- Test Reports of v0.4.12 (Register & Unregister existing Resources)
- Test Reports for v0.6.0 Release
- How to ...
- How to provision GPU VMs
- How to Resolve the 'Failed to Connect to Database' Error
- How to test CB Spider with Mock Driver
- How to install CB Spider on WSL2 under 공유기/사설망
- How to install CB Spider on macOS
- How to run CB Spider Container on macOS
- How to install OpenStack on a VM for CB Spider Testing
- How to get Azure available Regions
- How to profile memory usage in Golang
- Deprecated:How to install protoc and plugins
- [For Cloud-Migrator]