Provide additional config with specific parameters per datastore

Registered by Denis M.

Now trove has guest_info config, formed and passed through nova file injections.
Current guest_info has datastore and guest_id.

Idea is to bring new kind of config:
        it would store datastore specific parameters such mount point, manager, backup strategy and other datastore specific parameters.

Whole process would have next flow:
1. Jinja would load config with parameters with pattern /template/{datastore}/launch.template
2. Append it (with guest_id, etc.).
3. Performs file injection via heat/nova

launch.template would substitute guest_info totally.

What the value of such feature:
- Keeping clean main configs.
- Config hierarchy.
- Simple serverside configuring.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Approved
Assignee:
Denis M.
Definition:
Obsolete
Series goal:
None
Implementation:
Slow progress
Milestone target:
milestone icon next
Started by
Denis M.
Completed by
Nikhil Manchanda

Related branches

Sprints

Whiteboard

Rationale for the BP: for now there are several datastore-specific parameters in trove-guestagent.conf including Manager implementation, mount_point, backup_strategy, backup_namespace, restore_namespace. There may come more later. Multiplicity of some of them is handled via configured dict (datastore -> datastore_specific_value), see service_registry_ext. This does not look like a good idea due to both more complex config file look and increasing number of such parameters. The idea of this BP is to have a trove-guestagent.conf file for common parameters and a datastore-specific one, that will be merged with current contents of gurest_info on instance creation.

Gerrit topic: https://review.openstack.org/#q,topic:bp/template-config-per-datastore,n,z

Addressed by: https://review.openstack.org/58574
    Provide guest_info per datastore

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.