Details
-
Task
-
Status: Complete
-
Medium
-
Resolution: Done
-
None
-
None
-
None
-
None
-
Ev 18.22
-
Unset
Description
Current PoC pool automation require changing root playbooks in order to alter configuration parameters, which is inconvenient and error prone.
It would be much better to have following workflow:
- create experiment directory using some tool (probably bash/python script or yet another playbook)
- invocation of tool should be as simple as something like init_pool <experiment-name>
- directory should be populated with some sensible default configuration, including number and type of instances created and versions of software installed
- ideally experiment directory should be usable as ansible inventory (so later ansible invocations could look as simple as ansible-playbook -i <experiment-name> <playbook-name>)
- probably it would be also good to have some software configuration files (like indy_config.py) in experiment directory as well
- subsequent invocation of tool with same experiment name should NOT overwrite existing directory
- modify parameters/configuration files in experiment directory
- run pool_create/pool_install/whatever playbook passing experiment directory (or some subdirectory) as inventory
- playbooks are allowed to modify experiment directory (for example to update information about hosts or retrieve logs)
- when done run pool_destroy (which should shut down AWS instances), attach retrieved data to JIRA issue if needed and delete experiment directory
Probably this better be done in conjunction with INDY-1788