Roadmap Cloud UI
This is far from a comprehensive list, and is meant to aid in discussion among developers on goals and some of the detail in how we are reaching them. It is also meant to provide a place to allow the community to suggest ideas and request features, or bring up use cases that the development team may not be currently planning for.
[edit]
SLAs/Quotas (Buckets)
- Decide how to make it easy for a cloud user to navigate/search for a certain 'bucket' (maybe just as simple as a filter for the list).
- In the sla case a user has 2 vm "buckets"(resourcepools) (say prod instances and dev instances), which have different sla guarantees, etc.
- In the multi-dept (quota) case the user has 2 buckets "marketing" and "engineering". Ultimately it all comes down to:
- Showing which quota/sla/etc in any VM list
- Giving a choice in the 'new instance' form to choose which resource bucket to pull from
- In the quota/sla/resource utilization graphs having a way to show aggregated and separate stats for each pool/sla, so you sort of have the pool idea, just simplified a bit for users by lumping the ideas together as 'buckets'. From this point of view it doesn't matter whether these are 2 VM pools in the same HW pool that differ in quota/sla bits, or whether it's 2 separate VM pools in different HW pools that have similar quota bits -it's still "which resource group do you want to pull from for this instance"
[edit]
Service API
- Add method svc_index (or similar) to VmService. This can encapsulate the functionality in current VmController::index and Vm.paged_with_perms so both controllers can use same method.
- Some work needs to be done around svc_create for new vms/instances. In the cloud case you need to include the request to create a storage volume if one doesn't exist that can be used, or choose and assign one to the vm being created (behind the scenes, since cloud user does not choose storage). Certain bits may need to be hard-coded or brought in from a config (yaml). It _might_ be better to have separate API calls with some common private method internally. Something like svc_create and svc_cloud_create. The methods differ in
- what privileges they check;
- what to do with the passed-in args and taskomatic tasks
- svc_cloud_create for now attaches vm to a single resourcePool(need to determine for now how to choose a 'default' pool in case user has multiple), but once we implement the sla stuff, there could be multiple, each corresponding to a certain sla level. More details on system design of 'VmTemplates' for Cloud Users here.

