Task #6869: Challenge OpenStack and OpenNebula with ucloud
Reads / watches keys below /v1/vm (later probably as well /v1/networks?)
The JSON of the VM should contain a "status" field. On submit, the status should be "REQUESTED_NEW" (-> need to update ucloud-api).
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.
ucloud scheduler only reacts on etcd changes and does not have a direct accessible API.
Updated by Nico Schottelius about 2 years ago
To be solved / undefined at the moment:
- Which component writes information about hosts? Do we have a key prefix /v1/host/<id>?
- If yes, do we need ucloud-host?
- Or do we use (existing) consul?
- consul is indeed an alternative to etcd for us as well
For the start:
- Create /v1/host and fill it up manually -- Balazs might also have some ideas on this