Commit graph

998 commits

Author SHA1 Message Date
Michael DeHaan
4de7bbb169 Allow conditional imports, see examples/playbook3.yml comments for a full explanation. Extensive
refactoring of playbooks now warranted, which we'll do before we move on.   This variable assignment
system makes nearly all possible magic possible, for we can use these variables however we like,
even as module names!
2012-03-19 22:42:31 -04:00
Michael DeHaan
5ed2b894d9 Add an additional way to dereference a variable in a playbook, $foo
(Using varReplace function originally from yum, thanks Seth)
2012-03-19 19:32:38 -04:00
Michael DeHaan
af9596307d Move templating into a utils function. Reuse is our friend. 2012-03-19 19:23:14 -04:00
Michael DeHaan
c1fe0dd719 Quote long variables in playbooks when feeding them to the setup command 2012-03-18 19:50:22 -04:00
Michael DeHaan
5371a9e497 Regression tests for playbooks, logging the events they call via callbacks. 2012-03-18 19:25:56 -04:00
Michael DeHaan
b15c8e9cb1 Playbook test upgrades, made some notes about callbacks we need to add. Still need to compare events
recieved vs expected so we can be notified if this test breaks, and also to add some more detailed
playbooks that use includes & async, etc.
2012-03-18 18:50:25 -04:00
Michael DeHaan
45abe3c16b Add unit tests for playbooks, and fix an error caught by one 2012-03-18 18:29:11 -04:00
Michael DeHaan
9c5ec886a6 Import cleanup, plus have /bin/ansible remind you if no hosts were matched by a pattern (for instance, assume
there was a typo in the pattern)
2012-03-18 17:53:58 -04:00
Michael DeHaan
fde7de80df Remove "import *" from bin/ansible so we can use pyflakes, and remove unneeded imports in the process 2012-03-18 17:41:44 -04:00
Michael DeHaan
faa59e5ef1 Add the failtest module, primarily for easy development testing purposes. RPMs/etc need not ship this. 2012-03-18 17:35:49 -04:00
Michael DeHaan
a4b8cdf8b3 Remove "import *"'s from bin/ansible-playbook code so pyflakes will be usable. 2012-03-18 17:32:36 -04:00
Michael DeHaan
9e07b24239 Fix indentation 2012-03-18 17:25:22 -04:00
Michael DeHaan
6777268f4c Fixup the code that allows facter/ohai/other data to bubble up and be used in future action lines. It's a niche
case compared to usage in templates but it should work and will be wanted later for conditional support.
2012-03-18 17:24:09 -04:00
Michael DeHaan
c861e0de55 Fix "import *" and resultant new things detectable from "make pyflakes" 2012-03-18 17:16:12 -04:00
Michael DeHaan
33aa50eae7 Inside of runner, do not 'import *' from utils, so we can more easily tell where functions come from 2012-03-18 17:04:07 -04:00
Michael DeHaan
9837a616eb Preserve changed data on file and template ops when the mode operations don't result in a change but the files
were still replaced.
2012-03-18 16:58:00 -04:00
Michael DeHaan
82bd75c1e0 Update env-setup script to make it work better 2012-03-18 12:28:22 -04:00
Michael DeHaan
f1c8fc63cb host file must be marked config(noreplace), update rpm build to use checked in manpage src 2012-03-31 11:08:42 -04:00
Michael DeHaan
5905974737 Fix variable referenced before assignment when not using external variables script 2012-03-31 11:03:29 -04:00
Michael DeHaan
3495d402c7 Default for class variable 2012-03-31 11:02:10 -04:00
Michael DeHaan
b8eeb0f906 Add note about localhost/auth 2012-03-30 19:58:28 -04:00
Michael DeHaan
3d2a7ebd68 Added cobbler external inventory script, which is a demo of how external inventory
works in Ansible in general.
2012-03-30 19:56:22 -04:00
Michael DeHaan
9f6d98844e If the inventory file is EXECUTABLE, treat it as a file returning JSON, if called directly, return the host
and groups list.  If called with an argument of a host name, return the key=value data for that particular
host.
2012-03-30 19:06:14 -04:00
Michael DeHaan
f200a467e7 Update example to use correct state name 2012-03-15 23:11:09 -04:00
Michael DeHaan
f39944b89b Update example to use correct service state; minor pep8 indent/spacing fixes 2012-03-15 23:10:03 -04:00
Michael DeHaan
24923c2e17 Purge unused imports per pyflakes 2012-03-15 23:06:59 -04:00
Michael DeHaan
60bf82d266 Remove comment about FIXME that is already resolved 2012-03-15 23:05:34 -04:00
Michael DeHaan
311b93995c Add some comments 2012-03-15 22:37:37 -04:00
Michael DeHaan
6874d853c9 Fix changed=True/False detection when specifying mode= 2012-03-15 22:35:59 -04:00
Michael DeHaan
63818000b4 auto call the file module after copy/template module usage in runner
note some changed=True/False detection bits in file module still need tweaking
2012-03-15 22:32:14 -04:00
Michael DeHaan
4ad885111b Disable debug 2012-03-15 22:04:32 -04:00
Michael DeHaan
5004d21f10 Return file info about the file regardless of changes made 2012-03-15 22:04:04 -04:00
Michael DeHaan
be55145a1e Initial crack at the file module 2012-03-15 21:53:14 -04:00
Michael DeHaan
8914a1a0d7 license file should be in source tree 2012-03-15 20:24:22 -04:00
Michael DeHaan
9049b0e7ca Because folks on RHEL 6 (not CentOS 6) have some issues with asciidoc, do not build the asciidoc from
the rpm or make install targets.  Also modify the make install (only) to copy over files into the library
directory since the setup.py does not do this (due to a distutils bug, more or less).
2012-03-15 20:21:10 -04:00
Michael DeHaan
1a0672fd1e Fix exception type 2012-03-14 12:51:26 -04:00
Michael DeHaan
c909b66864 use iteritems vs items(), probably doesn't matter that much 2012-03-14 21:56:49 -04:00
Michael DeHaan
a735dd2b17 Added the 'test-module' script, useful for testing modules without running them in Ansible. 2012-03-14 21:49:27 -04:00
Michael DeHaan
4bde4926c3 Modules don't have to return JSON, key=value pairs is ok. 2012-03-14 21:16:15 -04:00
Michael DeHaan
40fd778e2c 'shell' is a magic module that executes the command module with shell=True 2012-03-14 20:40:06 -04:00
Michael DeHaan
73d20b81c6 Add basic test of yum module (VERY basic) just to make sure syntax remains ok. Need to do something
trivial for service and git module also.
2012-03-14 20:02:29 -04:00
Michael DeHaan
e8751baaf3 Remove remote log function as it's only used in one place now 2012-03-14 20:00:09 -04:00
Michael DeHaan
696b67f935 Fix async to use the new argfiles method (wrapping brain around rock, really must write module development guide) 2012-03-14 19:57:56 -04:00
Michael DeHaan
aeea46678d Fix the copy module to use the argsfile method 2012-03-14 19:09:44 -04:00
Michael DeHaan
917f929e86 Fix template module 2012-03-14 19:08:10 -04:00
Michael DeHaan
6b152c94b9 Correct the setup module 2012-03-14 19:06:35 -04:00
Michael DeHaan
3ea9174ed7 Split argsfile handling into subfunction, attempt to apply argsfile logic to setup 2012-03-14 19:05:19 -04:00
Seth Vidal
1f53c89b14 convert so they handle argsfiles rather than arguments 2012-03-14 18:47:13 -04:00
Seth Vidal
a9a9e3af65 modify yum to be used with argsfile and fix a number of items with
how it handles "advanced" pkgspecs for the state= cases
2012-03-14 18:46:53 -04:00
Seth Vidal
a9948f97c6 convert runner to use an args file rather than just arguments passed
on the command line
2012-03-14 18:46:33 -04:00