Provide custom Heat templates for each service in Trove
Provide custom heat templates for each service.
There is a need to provide and store custom templates for provisioning.
Make it pluggable for easy import on the fly.
https:/
Suppose we want to provide custom heat template for specific service type.
Now trove uses only one heat template for VM pre-configuration and guestagent launching.
-------
We should provide dependency between service(mysql, percona, mongo, redis, cassandra)
and specific heat template.
Also, we should externalize heat template from trove.common.
to trove.extension
-------
This is what Trove does now:
heat_template = template.
parameters = {"KeyName": "heatkey",
stack_name = 'trove-%s' % self.id
stack = client.
stack = client.
-------
What it should do:
This is what Trove does now:
service_
utils.
% service_type)
service_template = service_
if hasattr(
heat_template = service_
parameters = {"KeyName": "heatkey",
stack_name = 'trove-%s' % self.id
stack = client.
stack = client.
Or, at least, store heat templates in separate 'service'
Let's keep templates in etc/heat_templates
1 per service single instance, 1 per service cluster.
Workflow:
By service type loading custom class which perform look-up at etc/heat_templates for specific template.
Loading template as simple string (or yaml document) than passing it to stack creation.
Blueprint information
- Status:
- Complete
- Approver:
- Michael Basnight
- Priority:
- Essential
- Drafter:
- Michael Basnight
- Direction:
- Needs approval
- Assignee:
- yogesh-mehra
- Definition:
- Approved
- Series goal:
- Accepted for icehouse
- Implementation:
- Implemented
- Milestone target:
- 2014.1
- Started by
- Denis M.
- Completed by
- Denis M.
Related branches
Related bugs
Sprints
Whiteboard
Work Items
Dependency tree
* Blueprints in grey have been implemented.