Stephen Fromm
034e8f59ed
Clean up auto-selection of playbook and miscellaneous changes
...
Direct any ansible-pull specific messages to stderr.
Introduce try_playbook() and select_playbook() to remove try/except-y.
12 years ago
Matthew Johnson
0841ed4796
change method of obtaining hostname to match ansible/library/setup
12 years ago
Matthew Johnson
2b24131baa
fetch the git repo before trying to find a playbook
12 years ago
Stephen Fromm
788e11f1db
Merge commits from copperlight's branch ansible-pull_playbook_parameter branch
...
Merged commits: 3cd25b5
and ed9fc76
. Some massaging of changes applied.
12 years ago
Aleksej Romanov
05464816c2
Different return codes for different errors.
12 years ago
Aleksej Romanov
01e922aa69
Indicate errors with exit code.
12 years ago
Michael DeHaan
a2f76c1c69
If all hosts in a play fail, fail the whole playbook and don't bother printing out every remaining task.
12 years ago
Michael DeHaan
3017dc92d9
make callbacks modular
12 years ago
Seth Vidal
8e039a6389
add --list-hosts option to ansible-playbook to dump out the hosts
...
being run against for each playbook
12 years ago
Michael DeHaan
3587ffdef3
Allow /bin/ansible to use --limit
12 years ago
Michael DeHaan
1c81ddf8d4
add the limit option, which can be used to further confine the patterns selected by "hosts:" in ansible-playbooks
...
to an additional pattern (a subset) specified on the command line. For instance, a playbook could be reusable
and target "webservers" and "dbservers", but you want to test only in the stage environment, or a few boxes at a time.
12 years ago
Michael DeHaan
846186e2fc
Add -vvv support for debugging activity
12 years ago
Michael DeHaan
faed4b5a33
whitespace + remove deprecated YAML parser (migration script lives in examples/scripts and warning was added
...
in 0.6 release)
12 years ago
Michael DeHaan
e035ce97ce
blue on black, tears on a river, push on a shove, it don't mean much
...
(make colorized playbook runs not suck on black terminals)
13 years ago
Michael DeHaan
12ff9b5b9a
Move color coding bits to module, use over rest of playbook
13 years ago
Jan-Piet Mens
bc17553d1c
Support for colors in ansible-playbook
13 years ago
Michael DeHaan
dc4ebab345
Merge pull request #576 from davehatton/adjust_playbook_output_formating
...
improve output formating for playbook
13 years ago
Michael DeHaan
83f23ef861
Basic support for tagging tasks and selecting a subset of tasks to run with --tags.
13 years ago
Dave Hatton
7ecdb83800
improve output formating for playbook
13 years ago
Michael DeHaan
efac68b636
Remove the -D module debug flag, which no longer is functional due to sudo pty requirements, and replace with -v/--verbose.
...
This flag will show playbook output from non-failing commands. -v is also added to /usr/bin/ansible, but not yet used.
I also gutted some internals code dealing with 'invocations' which allowed the callback to know what module invoked
it. This is not something 0.5 does or needed, so callbacks have been simplified.
13 years ago
Michael DeHaan
0972b761de
Leverage cowsay if installed.
13 years ago
Michael DeHaan
db1d5b154a
Fix casing/underscore convention in method name, split polling logic away from runner.
13 years ago
Seth Vidal
b42628d858
hook up --private-key to the runner
13 years ago
Michael DeHaan
07508ad535
Since host variables are becoming important, it did not make sense to sustain --override-hosts, with the ability
...
to create hosts that didn't have inventory information, but also existed, in various groups.
13 years ago
John Kleint
710d085def
Fix non-sudo execution, add --sudo-user to ansible-playbook.
13 years ago
Michael DeHaan
05545e3735
Fixup the previous sudo_user support patch to work with playbooks.
13 years ago
Jim Richardson
93a20a33e9
first bit of getting sudo -u functionality
13 years ago
Michael DeHaan
a33320d03d
Add some comments to ansible-pull and the example playbook
13 years ago
Michael DeHaan
e54eeb7629
Merge branch 'local' of https://github.com/sfromm/ansible into devel
13 years ago
Stephen Fromm
84c9caa805
Simplify ansible-pull to just invoke ansible and ansible-playbook
...
This eliminates the creation of runner and playbook instances and just
invokes the processes ansible and ansible-playbook.
13 years ago
Stephen Fromm
672794f586
Add ansible-pull
...
A first stab at a pull-based model for ansible. This does two things:
1. Invoke the git module via Runner to set up a git repository on the
localhost. It sets up Runner to use transport='local' and forces
the inventory to just 'localhost'.
2. Run any playbooks provided. By default, this wants to run the
playbook local.yml. This also sets transport='local' and sets
the host_list to a list: localhost, fqdn, and hostname.
The reason for setting the host_list and not using override_hosts is
because there may be plays in the playbook that are not meant for a
specific host. That is, if the git repository is for the entire site
and not host-specific, you don't want to override hosts and apply all
plays to any given host. This has the downside of potentially running a
play three times if the play is defined for 'hosts: all'.
13 years ago
Rafal Lewczuk
06e99ee75e
Trivial fix: make PyDev happy (imports).
13 years ago
Jeroen Hoekx
029fe1273c
Modify /usr/bin/ansible and playbooks to use the new async API.
13 years ago
Michael DeHaan
b9982fc17b
Reinstate --extra-vars, which can do things in playbooks like:
...
ansible-playbook release-my-app.yml --extra-vars="version=123"
And make $version available in the playbook without re-editing the file
13 years ago
Michael DeHaan
edb8988e8e
Unused imports
13 years ago
Michael DeHaan
a8d748220b
Don't prompt for password info if the pattern wouldn't have matched any hosts. Also convert
...
Runner() usage to the new inventory model.
13 years ago
Michael DeHaan
70734f5968
Update bin/ansible to fix usage of inventory API + no more verbose option
13 years ago
Michael DeHaan
3f26a1c7f6
verbose option is not being used, so remove it. debug variable still exists.
13 years ago
Michael DeHaan
377488aa2a
remove --extra-vars since the new YAML inventory stuff wasn't quite using it as designed and it is getting hard to follow
...
with that and SETUP_CACHE etc
13 years ago
Michael DeHaan
35fdf6636b
Allow --user for playbooks, no need for port setting as can specify in inventory file now.
13 years ago
Jeroen Hoekx
c5cae87eca
Refactor inventory code out of Runner.
...
This introduces the Inventory class.
Playbook uses the internals of Runner to limit the number of hosts to poll
asynchronously. To accomodate this, Inventory can be restricted to specific
hosts.
13 years ago
Michael DeHaan
347637339c
Merge remote branch 'public/integration' into integration
13 years ago
Michael DeHaan
c3cad50075
Update manpages, fix missing variable assignment
13 years ago
Michael DeHaan
f2465e0571
Add support for specifying sudo passwords to both ansible & playbook. Nopasswd sudo is no longer required.
13 years ago
Jeroen Hoekx
d366885367
Stop async /bin/ansible if completed on all hosts.
13 years ago
Michael DeHaan
788d2bf8d1
Allow playbook to take --connection=local for easier reuse of playbook in kickstart w/o specifying connection: in
...
the playbook itself. Both work.
13 years ago
Michael DeHaan
6b50078881
Add defaults to command help to avoid a certain class of user questions.
13 years ago
Stephen Fromm
0675f2511b
Merge branch 'master' into localconnection
...
Merge the SortedOptParser bits and debug attribute commits into
localconnection.
Conflicts:
bin/ansible
lib/ansible/playbook.py
lib/ansible/runner.py
lib/ansible/utils.py
13 years ago
Michael DeHaan
4c75b7f3ad
Merge commit '8ae71cc' into integration
...
Conflicts:
bin/ansible
bin/ansible-playbook
lib/ansible/utils.py
13 years ago
Stephen Fromm
fdee1d3459
Add support to bin/ansible for --connection option
13 years ago
Seth Vidal
8ae71cc7b1
go back to using a normal optparser to add options instead of the dict
...
interface.
add very small subclass of OptionParser to sort the options so mdehaan is happy
13 years ago
Brad Olson
5a4d4bc051
Added usage info to bin/ansible-playbook, now shows options on bare command line. NOTE: bin/ansible outputs usage to stdout, bin/ansible-playbook to stderr. Should they be consistent?
13 years ago
Brad Olson
74b26da9ac
began playbook tweak
13 years ago
Brad Olson
f840c0d167
Wired in Michael's usage string optparse style.
13 years ago
Michael DeHaan
7b9856bc0e
Modification on top of skvidal's common options patch to keep options to command line tools sorted.
13 years ago
Michael DeHaan
8e1f24b822
Amend option descriptions.
13 years ago
Seth Vidal
7e50d170a8
move the bulk of the opt parsing out of ansible/ansible-playbook and into utils
...
for other scripts to use.
13 years ago
Michael DeHaan
2511992659
Surface module debug (-D) to /usr/bin/ansible also
13 years ago
Jeroen Hoekx
a6b8973938
Change debug flag to D instead of d.
...
d would be useful for --dry-run.
13 years ago
Jeroen Hoekx
d9a16a3d67
Add --debug option to ansible-playbook.
...
This prints remote module stderr on local stderr.
13 years ago
Michael DeHaan
6275e57718
pyflakes: Unused import / unused var
13 years ago
Michael DeHaan
3ded27fe35
Treat module args as strings everywhere to avoid unneccessary shlex and requoting
13 years ago
Michael DeHaan
f11de2f5c9
--extra-vars option for ansible-playbook
...
Conflicts:
lib/ansible/playbook.py
Removed unneccessary shlex and replaced with basic split, some repurcussions in runner
that can be eliminated once we consistently pass args as a string (soon).
13 years ago
Michael DeHaan
81e3496037
Added preliminary support for --sudo to ansible, playbook support and further testing pending.
13 years ago
Tim Bielawa
5261d14aef
Fix exception catching for py2.4
13 years ago
Michael DeHaan
b30ddc4520
Expose remote_port option in playbook
13 years ago
Christopher Johnston
9041ad4d83
just some minor clean up single vs double in getopt parsing
13 years ago
Christopher Johnston
f06ec76fdb
add support for using an alternate remote port
13 years ago
Michael DeHaan
01e51b120a
Recieved quite a few requests to run python via /usr/bin/env, so doing that.
13 years ago
Michael DeHaan
f074f1c4c4
Fixes from pyflakes
13 years ago
Michael DeHaan
45a455a805
Make /usr/bin/ansible output realtime and also delete some code!
13 years ago
Michael DeHaan
6dda6f12dc
Applying callback model to runner, and using that in playbooks, so output can be more immediate in playbooks.
...
(Runner still does not use callbacks for default output)
13 years ago
Michael DeHaan
3052d85a6a
use capital O.
13 years ago
Michael DeHaan
9df612f007
Add a "-o" override option so hosts not in a playbook can still be managed by a playbook.
13 years ago
Michael DeHaan
7ed734dfb2
move callbacks to seperate file, anticipating callbacks for Runner() as well
13 years ago
Michael DeHaan
e89131a3a2
playbooks -- Ratchet up logging prior to gating things with verbosity controls and upgrading output format
13 years ago
Michael DeHaan
a5f4ca50b8
Ratchet up logging a few notches prior to controlling w/ verbosity settings
13 years ago
Michael DeHaan
b5c62ec068
Enhance logging, way to gate verbosity levels pending.
13 years ago
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!
13 years ago
Michael DeHaan
5371a9e497
Regression tests for playbooks, logging the events they call via callbacks.
13 years ago
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)
13 years ago
Michael DeHaan
fde7de80df
Remove "import *" from bin/ansible so we can use pyflakes, and remove unneeded imports in the process
13 years ago
Michael DeHaan
a4b8cdf8b3
Remove "import *"'s from bin/ansible-playbook code so pyflakes will be usable.
13 years ago
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.
13 years ago
Michael DeHaan
db61e8f346
Fix -t tree mode so it writes out the value for each host, not everything, once again
13 years ago
Michael DeHaan
e6f175e929
Allow the SSH timeout to be passed to playbooks just like it already could with /usr/bin/ansible
13 years ago
Michael DeHaan
e3b4981feb
Various additions to make sure timed out and failed hosts are taken out of the playbook even if failed
...
during setup, async tasks, or poll operations. This introduced some redundancy so I've made some
notes in the code where things need to be refactored to remove them.
13 years ago
Michael DeHaan
4ae98ed92d
Upgrades to error handling, now general try/catch available.
13 years ago
Michael DeHaan
09a7119e74
Annotate more files, fix missing imports messing with playbooks. Hey Tim, please test your stuff :)
13 years ago
Tim Bielawa
dfd2c6dce3
Implement friendlier error handling.
...
Generic AnsibleError exception + host inventory missing exception.
First shot at catching these in a generic way in bin/ansible*.
13 years ago
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.
13 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.
13 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.
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
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
cbfabcd0fb
Add -i, -k, and -M to ansible-playbook CLI to match options in /usr/bin/ansible
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
c57df6220b
Add pydoc to playbook binary, fix default types for playbook '.get()' call
13 years ago
Michael DeHaan
bf967adf83
Added pydoc for functions in Cli()
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