The scheduler watches for changes on the key prefix. If the status is REQUEST_NEW, find a suitable host for deploying the VM to. Update the status field to "SCHEDULED_DEPLOY". Also add a new field "host" that contains the hostname of the host the VM should be running on.
The scheduler watches for changes on the key prefix. If the status is REQUEST_DELETE, do nothing -> ucloud-vm needs to react and will update the field.
Now, using etcd3 instead of using coreos/etcd python binding because the latter does not have support to watch a prefix e.g /v1/vm
This has implication that we can't access etcd v2 data from v3 API and vice versa. So, instead of usual `etcdctl` we need to use `ETCDCTL_API=3 etcdctl`.