Difference between revisions of "Trove/ResourceManagerInterface"
(Created page with "= Resource management driver = :TBD") |
(→Resource management driver) |
||
Line 1: | Line 1: | ||
− | = Resource management | + | == Description == |
− | : | + | |
+ | This feature makes three change to the behavior of Trove. | ||
+ | |||
+ | === Nova/Cinder/Designate === | ||
+ | Simple interface for the implementation of the resource managements, such as: | ||
+ | * Instances(instance groups). | ||
+ | * Volumes (cinder or ephemeral). | ||
+ | * Network attributes (SGs, floating IPs, NICS). | ||
+ | * DNS records. | ||
+ | |||
+ | === Heat and Nova/Cinder/Designate implementation of the Resource manager === | ||
+ | Heat and Nova/Cinder/Designate implementation of the Resource manager will cover all methods that are presented in Trove now, such as: | ||
+ | 1. Provisioning. | ||
+ | 2. Resizing instances (flavor). | ||
+ | 3. Resizing volumes. | ||
+ | 4. DNS records management. | ||
+ | |||
+ | == Justification/Benefits == | ||
+ | |||
+ | === Justification === | ||
+ | Heat allows to work with almost all types of the resources that Trove requires, but Trove does it separately with each resource delivery service (nova/cinder/designate). Since Heat is a cloud orchestration tools Trove needs to work with it as the single dependency instead of relaying to each service at the same time. | ||
+ | |||
+ | === Benefits of Network manager interface === | ||
+ | The restriction that is being described by the resource manager will make developers to follow provided specification while implementing resource managers (heat or nova/cinder/designate). | ||
+ | |||
+ | == Scope == | ||
+ | Heat should be able to accomplish all tasks required by Trove. | ||
+ | |||
+ | |||
+ | == Impacts == | ||
+ | From a user’s perspective this feature doesn't change any of the expectations and behavior. | ||
+ | |||
+ | === Configuration === | ||
+ | This configuration parameters are related to trove-api and trove-taskmanager | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Parameter name !! Config value !! Network managers mapping | ||
+ | |- | ||
+ | | resource_manager || ''orchestrator'' or ''natives'' || | ||
+ | { | ||
+ | "orchestrator": "trove.resources.orchestrator.ResourceManager", | ||
+ | "natives": "trove.resources.natives.ResourceManager" | ||
+ | } | ||
+ | |} | ||
+ | |||
+ | === Database === | ||
+ | |||
+ | There are no expected changes to the database | ||
+ | |||
+ | === Public API === | ||
+ | |||
+ | No changes | ||
+ | |||
+ | === Internal API === | ||
+ | |||
+ | No changes | ||
+ | |||
+ | === Guest Agent === | ||
+ | |||
+ | No changes | ||
+ | |||
+ | == Resource manager under the hood == | ||
+ | |||
+ | Resource manager interface is nothing else than class with required abstract methods. |
Revision as of 19:55, 14 April 2014
Description
This feature makes three change to the behavior of Trove.
Nova/Cinder/Designate
Simple interface for the implementation of the resource managements, such as:
- Instances(instance groups).
- Volumes (cinder or ephemeral).
- Network attributes (SGs, floating IPs, NICS).
- DNS records.
Heat and Nova/Cinder/Designate implementation of the Resource manager
Heat and Nova/Cinder/Designate implementation of the Resource manager will cover all methods that are presented in Trove now, such as: 1. Provisioning. 2. Resizing instances (flavor). 3. Resizing volumes. 4. DNS records management.
Justification/Benefits
Justification
Heat allows to work with almost all types of the resources that Trove requires, but Trove does it separately with each resource delivery service (nova/cinder/designate). Since Heat is a cloud orchestration tools Trove needs to work with it as the single dependency instead of relaying to each service at the same time.
Benefits of Network manager interface
The restriction that is being described by the resource manager will make developers to follow provided specification while implementing resource managers (heat or nova/cinder/designate).
Scope
Heat should be able to accomplish all tasks required by Trove.
Impacts
From a user’s perspective this feature doesn't change any of the expectations and behavior.
Configuration
This configuration parameters are related to trove-api and trove-taskmanager
Parameter name | Config value | Network managers mapping |
---|---|---|
resource_manager | orchestrator or natives |
{ "orchestrator": "trove.resources.orchestrator.ResourceManager", "natives": "trove.resources.natives.ResourceManager" } |
Database
There are no expected changes to the database
Public API
No changes
Internal API
No changes
Guest Agent
No changes
Resource manager under the hood
Resource manager interface is nothing else than class with required abstract methods.