From 6bfc275204d1376dbd7bf188df3d33bec4f345ce Mon Sep 17 00:00:00 2001 From: Michael DeHaan Date: Fri, 24 Feb 2012 02:49:05 -0500 Subject: [PATCH 1/2] update TODO with ideas for playbook and latest plans --- TODO.md | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/TODO.md b/TODO.md index 07e7d79eae..89d1c04656 100644 --- a/TODO.md +++ b/TODO.md @@ -1,14 +1,38 @@ TODO list and plans =================== +Playbook TODO: + + * error codes and failure summaries + * create modules that return 'changed' attributes + * fail nodes on errors, i.e. remove from host list, rather than continuing to pound them + * further improve output + * more conditional capability + * very good logging + +General: + + * logging + * async options * modules for users, groups, and files, using puppet style ensure mechanics + * very simple option constructing/parsing for modules + * templating module (how might this work syntax wise?) with facter/ohai awareness + * probably could lay down a values.json file + * use copy capabilities to move files to tmp, run python templating + * maybe support templating engine of choice + * think about how to build idempotency guards around command module? + * think about how to feed extra JSON data onto system + +Bonus utilities: + * ansible-inventory - gathering fact/hw info, storing in git, adding RSS * ansible-slurp - recursively rsync file trees for each host - * very simple option constructing/parsing for modules - * Dead-simple declarative configuration management engine using - a runbook style recipe file, written in JSON or YAML * maybe it's own fact engine, not required, that also feeds from facter - * add/remove/list hosts from the command line - * list available modules from command line - * filter exclusion (run this only if fact is true/false) + +Not so interested really, but maybe: + + * list available modules from command line + * add/remove/list hosts from the command line + * filter exclusion (run this only if fact is true/false) + -- should be doable with playbooks (i.e. not neccessary) From 0de9f0b28ee777da3c5e5cbf33f5a1c9c445b3c2 Mon Sep 17 00:00:00 2001 From: Michael DeHaan Date: Fri, 24 Feb 2012 03:04:46 -0500 Subject: [PATCH 2/2] Added idea about how to do async + timeout in modules --- TODO.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/TODO.md b/TODO.md index 89d1c04656..8fd5ef73ac 100644 --- a/TODO.md +++ b/TODO.md @@ -10,6 +10,12 @@ Playbook TODO: * more conditional capability * very good logging +Command module: + * allow additional key/value options to be passed to any module (via ENV vars?) + * allow this to be expressed in playbook as a 4th option after the array options list + * use this to pass timeout and async params to the command module + default timeouts will be infinite, async False + General: * logging