Difference between revisions of "Sahara/Scaling"
< Sahara
Line 27: | Line 27: | ||
Please take a look on mockup: | Please take a look on mockup: | ||
− | [[File:Mockup.png | + | [[File:Mockup.png]] |
Revision as of 12:22, 27 June 2013
Overview
Now we are considering 2 variants for scaling:
- Existing node groups scaling. And here we have an ability to remove instances in existing node groups.
- Addition of new node groups to cluster. It will allow user to add new node groups with configurable params as it happens during cluster creation.
Limitations:
We are considering only datanode and tasktracker adding/removing within node groups. So, we will work with 3 types of node groups with following processes' lists:
- [datanode]
- [tasktracker]
- [datanode, tasktracker]
First Approach
REST API
POST /v1.0/{tenant_id}/clusters/{cluster_id}/scale Request format:
{ "nodes": [ { "name": "node_group_name", "amount": "+1" {amount of instance to be added or deleted (-1)} } ] }
Please take a look on mockup:
SPI
It is needed to add 2 methods to plugin:
validate_scaling(node_groups):
Should validate is it possible to remove or add instances
scale_existing_node_groups(cluster, instances)
Prepares instances to run specified processes.
Instances, as such, will be up and down by savanna_core using existing methods.