Commit Graph

99 Commits (86e19cd8c842c5996725032392e92f16aac545ff)

Author SHA1 Message Date
Michael DeHaan 86e19cd8c8 This adds async poll support to playbooks. See examples. Some more testing due + docs
but this is more or less a mirror of what /bin/ansible does.  It also has a 'fire and
forget' mode if the poll interval is left off or set to 0.
12 years ago
Michael DeHaan db7ba87111 Add polling logic in runner such that all actions get kicked off everywhere then polling
happens only on needed hosts, allowing some hosts to fail and drop out of the running.
12 years ago
Michael DeHaan 49a636d8a0 Fixed up async and polling logic. 12 years ago
Michael DeHaan 5be1a612d3 Add async polling logic to runner. Will add to playbook shortly, have to diagnose why paramiko
is not letting async_wrapper daemonize itself when it does work fine when directly executed.
12 years ago
Michael DeHaan 60a13cf540 Ignore commented out lines in the ansible setup files. 12 years ago
Michael DeHaan 4c9dd972b4 Fixes for output formatting 12 years ago
Michael DeHaan bb5e4fad48 Abstracted out transport from implementation so it can be pluggable. Also fixes for output format. 12 years ago
Seth Vidal b576e389b1 runner buglet and yum module
runner: fix buglet causing logger output to include a u for the command
yum: add yum module:
   ensure=installed pkg=name/name.arch/name-ver-rel.arch
   ensure=removed pkg=name/name.arch/name-ver-rel.arch
   list=installed
   list=updates
   list=available
   list=pkgspec
   list=repos
12 years ago
Seth Vidal 19b784e480 if we've failed a connection to a host - we cannot set items to the
'conn' object since it is not an object on failure - it's a string.
12 years ago
Tim Bielawa 95502c3089 Adding version and author to ansible init. 13 years ago
Michael DeHaan 8e20ed3714 src= parameters for template and copy operations can be relative to the playbook (for /usr/bin/ansible-playbook) or current directory (for /usr/bin/ansible) 13 years ago
Michael DeHaan 7eedc3fb1a Breakout includes into seperate functions, allow vars to apply to handlers but handlers
still may not be parameterized because it does not make sense to import them more than
once since they are keyed by name.
13 years ago
Michael DeHaan 85e0de5bb2 Move print statements out of playbook.py and back into CLI so we can simplify playbook operations
independent of output, and can also see all the output nicely grouped together if we want
to reformat it or make summaries of statistics.
13 years ago
Michael DeHaan 0935506d6f Templating as non-root should not require passing in the metadata= parameter. 13 years ago
Michael DeHaan 4ee4ddcd7c Parameterized include statements can see top level variables and also be passed specific variables!
Code needs cleanup, but works
13 years ago
Michael DeHaan 8d57ceecf1 Factoids and push variables via setup are now available to be templated in command args
as well as template files.  PLUS, variables are now expressed in playbooks without having
to know about the setup task, which means playbooks are simpler to read now.
13 years ago
Tim Bielawa f2c2786a14 Update constants.py to pull module path and the hosts file from the
environment (ANSIBLE_{LIBRARY,HOSTS}) if defined.

Update manpages to represent this.

Also update the env-setup script to set ANSIBLE_{LIBRARY,HOSTS}.
13 years ago
Tim Bielawa b190ea4b62 Fix parse_hosts to not blow up on ungrouped hosts. 13 years ago
Michael DeHaan fae3a71899 WIP on async tests 12 years ago
Michael DeHaan 369b9cde1c Add test for template module and make 'dark' errors clearer if we get output back and the JSON
is not parseable
12 years ago
Michael DeHaan 8d06c074b1 * Added uptime.py as an example of somewhat minimal API usage & reporting
* Pattern in API now has a default
* Fixed bug in template module operation detected from running playbook (tests for that pending)
* Workaround for multiprocessing lib being harmlessly squeaky (feeder thread got sentinel)
12 years ago
Michael DeHaan db57933614 Allow ":" to be used to split patterns as well as ";" so if you are just using group names or fully explicit names you do not need to use shell quoting at all. Obviously if you use wildcards like "*" you wouldstill. 13 years ago
Michael DeHaan 45c40524ef Time limit needs to be passed to async_wrapper. 13 years ago
Michael DeHaan eaa7714ff8 Laying the groundwork for async mode, async status script still needs to be done, and async_wrapper
still needs to daemonize.  Then, once done, playbook can be taught how to poll async within the
timing window.
13 years ago
Michael DeHaan ab408b0000 Ability to import task lists and handler lists from a top level playbook file. It is possible
to use multiple import statements to implement 'class' like behavior, and also to share
a common list of handlers between multiple patterns.
13 years ago
Michael DeHaan cbfabcd0fb Add -i, -k, and -M to ansible-playbook CLI to match options in /usr/bin/ansible 13 years ago
Michael DeHaan e4304a0ac5 Make sure tempdirs are cleaned up after execution steps, fix notifiers, make sure
service module is installed by setup.py
13 years ago
Michael DeHaan 6541f338df add pyflakes target & associated fixes. Also decided to save JSON to --tree file so it can
be better used programatically.  May have to come up with another system of tree logging for
playbook if playbook decides to have tree logging.  Presumably not the highest priority.
13 years ago
Michael DeHaan 3ad9db4966 Some minor from 'pep8', and silencing the PEP8 messages I don't care about.
Also make pep8 show all messages rather than just 1 per code.
13 years ago
Michael DeHaan 0d7a84d591 Some minor refactoring of playbook code, more to go. 13 years ago
Michael DeHaan c57df6220b Add pydoc to playbook binary, fix default types for playbook '.get()' call 13 years ago
Michael DeHaan 34cbbfbfe1 Added pydoc for utils.py 13 years ago
Michael DeHaan e9a24cdad4 Extensive refactoring of bin/ansible, moving most output functions into lib/ansible/utils to
encourage readability and make things more maintainable.
13 years ago
Michael DeHaan e6a1acf756 Let "all" be an alias for "*" in patterns, fix output bug on non-command execution, make clean now removes the build dir 13 years ago
Michael DeHaan 5040c01640 rename 'pattern' to 'hosts' in playbook format. 13 years ago
Michael DeHaan 687a315a80 Increasing default --forks to 5 13 years ago
Michael DeHaan 847846af0e -p has been replaced by a required option. Various docs changes. 13 years ago
Michael DeHaan bed29b7e11 Allow the /etc/ansible/hosts file to contain groups and those group names to be used in place
of pattern names.
13 years ago
Christopher Johnston d15172abdc add a -T option for setting ssh timeout in seconds 13 years ago
Christopher Johnston 2773234c3f python 2.5 does not include json so lets try to use simplejson 13 years ago
Michael DeHaan ab266472be Trim errors on connection refused messages 13 years ago
Michael DeHaan a40ac93716 Plan to merge things back into ansible means we can simplify our code tree
by eliminating the lib/ansible/scripts file.  Ansible-playbook
doesn't have enough options to need it's own thing, and we're going to try
to work most things back into bin/ansible
13 years ago
Michael DeHaan 430f38d54c minor option consistency 13 years ago
Michael DeHaan ab17f6f44e Because I can't remember which options are supposed to be uppercase and which are not,
rename all of them so we can use non-conflicting lowercase.  Manpage updates pending
13 years ago
Michael DeHaan de1d0011bc Take darkened hosts out of the playbook rotation, fix error handling in template
module so that if a directory path is specified we get valid output
13 years ago
Michael DeHaan 01e5da6d0b Make /bin/ansible use the common options from lib/ansible/scripts
DRY!
13 years ago
Michael DeHaan fb531a8dfa Minor option string relabelling, move one option from common into helper script 13 years ago
Michael DeHaan 7de661dd2c Add ansible command, fix import error in runner 13 years ago
Michael DeHaan 0321afb1e3 Minor error handling tweaks (yell if no args) for ansible-command and some minor
style bits (underscores between compound words, use dest always in optparse)
13 years ago
Michael DeHaan a3a426b4c5 Add GPLv3 license headers to new files. Approved by all contributors on mailing list. 13 years ago