James Tanner
4a20055a59
Add the ansible-galaxy command
2013-12-18 20:15:37 -05:00
jctanner
6d80c50faf
Merge pull request #4817 from j2sol/zero-exit
...
Exit 0 with no matched hosts
2013-12-02 10:04:18 -08:00
jctanner
189ec15bd5
Merge pull request #4706 from mvo5/bugfix/more-syntax-check
...
load tasks/vars includes in syntax-check mode as well
2013-11-14 09:46:54 -08:00
jctanner
2d9087b806
Merge pull request #4484 from mscherer/add_short_hostname
...
ansible-pull by default will look for local.yml and $fqdn.yml.
2013-11-14 05:32:47 -08:00
James Tanner
91e5569324
Merge pull request #4466 from sfromm/ansible
...
Add pager support to ansible-doc
2013-11-13 20:32:20 -05:00
jctanner
e08f685507
Merge pull request #3937 from masahide/devel
...
Supports to the playbook of Process Substitution
2013-11-07 14:50:23 -08:00
Jesse Keating
46554bbc30
Exit 0 with no matched hosts
...
And also print to stdout not err
This lines up with how ansible-playbook will exit. 0 in the case of no
matched hosts. This makes it easier to script ansible commands w/
variable iventory input which may or may not have an entry for the
specific ansible task being scripted. No matched hosts is acceptable,
but matched hosts w/ failures is not.
2013-11-06 08:08:21 -08:00
Michael Vogt
0b82722484
load tasks/vars includes in syntax-check mode as well
2013-10-28 13:48:50 +01:00
Michael Scherer
f8b23e5721
add a default value for the -d option of ansible-pull
...
Thi permit to simplify the command line to use by using
a sensible default, and so reduce the number of incorrect
possible choices and setup needed. Among potential
incorrect choices is using a fixed directory in /tmp, which
could be problematic with a setup whose access is not
properly restricted.
2013-10-18 02:05:41 +02:00
Stoned Elipot
c7217a8f1b
Fix 'ansible-doc -l' runtime error following commit 4430d0f
...
skip "module" not found as plugin, id est directory
2013-10-16 21:58:54 +02:00
Michael Scherer
92147aff0f
also fix the doc, forgot in last commit
2013-10-13 15:34:56 +02:00
Michael Scherer
4b067fa47e
ansible-pull by default will look for local.yml and $fqdn.yml.
...
For a small network ( home, small company ), having to put the FQDN
in each file is a bit tedious, so this patch also add the shorthostname
as a 3rd default if the fqdn is not found.
2013-10-13 15:34:43 +02:00
Stephen Fromm
79d6d344d8
Add pager support to ansible-doc
...
If PAGER is set, or the executable less is present, ansible-doc will use
it to pipe information into so that it can be scrolled through.
If the environment variable LESS is not set, this will set it to FRSX.
2013-10-11 10:21:29 -07:00
James Cammarata
51638df48f
Minor format fix in ansible-pull related to the -f patch
2013-09-20 22:08:08 -05:00
James Cammarata
97e3e967a7
Merge branch 'devel' of https://github.com/jflorian/ansible into jflorian-devel
2013-09-20 22:01:50 -05:00
Alan Descoins
ebd8e262d3
Fixed -e "" on ansible-playbook.
2013-09-07 00:28:39 -03:00
John Florian
c8a5aabf39
Added -f/--force option to ansible-pull
2013-09-03 16:39:19 -04:00
YAMASAKI Masahide
ac3f05c720
Take out the spaces inside the parenthesis.
2013-08-25 05:56:57 +09:00
YAMASAKI Masahide
7f9313b2b1
Supports to the playbook of Process Substitution
2013-08-24 17:27:30 +09:00
James Cammarata
d9be910e6e
Merge branch 'exit-3-on-dark' of https://github.com/j2sol/ansible into j2sol-exit-3-on-dark
2013-08-22 22:03:34 -05:00
Alek Storm
8c9f84f6f8
Parse --extra-vars as YAML (which includes JSON)
2013-08-22 16:43:15 -07:00
Alek Storm
21d2069a74
Support multiple --extra-vars flags
2013-08-22 00:01:52 -05:00
Stephen Fromm
cc3651592b
Extend ansible-pull to support other source repositories
...
This extends ansible-pull so that it can support using other
source_control modules for checking out a playbook repository
(issue #3372 ). This will check to see if the module exists before
it attempts to do the checkout and will exit if the module is not found.
It requires that the module used to check out the repository support the
parameters 'name' and 'version'. The option -C, --checkout is now
optional and defaults to the module's default behavior for selecting a
branch, tag, or commit value. For git, this continues to be HEAD.
Other changes include:
* Remove git from help and use generic term(s) where needed.
* Use SortedOptParser from ansible.utils
* More abstraction of common options used between ansible and
ansible-playbook.
2013-08-20 13:43:26 -05:00
Jesse Keating
2b96c347dc
Exit with status 3 if no failures but unreachable.
...
Provide hints to playbook callers that a playbook execution had
unreachable vs failures. 2 == failures, 3 == no failures, but
unreachable hosts. 0 continues to be all good.
2013-08-14 13:37:26 -07:00
Michael DeHaan
0988a86653
Misc style fixes.
2013-08-10 17:59:05 -04:00
Andy R
5a47953e7d
Never ask for SSH password when using local connection.
...
With the command line option "-c local", ansible and ansible-playbook
should never ask for a SSH password even if this is set in the config.
Fixes #3720
2013-08-07 08:05:59 -04:00
Alan Descoins
c19c2c7295
ansible-playbook can load extra vars from a file, with "@" syntax
2013-07-23 19:39:39 -03:00
Michael DeHaan
d8e5fc9d1b
Remove task count information from task list.
2013-07-21 09:50:14 -04:00
Alan Descoins
04349ec362
Added --skip-tags option to ansible-playbook.
2013-07-16 19:43:58 -03:00
Matt Lesko
b37ecb055c
set checkout destination directory to be full path
...
we chdir into this path and read the playbook/inventory if a
non-absolute path is given on the command line, that will fail
2013-07-05 17:57:01 +00:00
Michael DeHaan
506178542d
Merge pull request #3303 from markmandel/feature/sudo_pass
...
Don't turn on sudo for all tasks when setting the sudo_user or ask_sudo_pass
2013-06-30 16:35:20 -07:00
Michael DeHaan
c2988dfdb0
Merge branch 'option-updates' of git://github.com/jlund/ansible into devel
...
Conflicts:
bin/ansible-pull
2013-06-30 19:31:37 -04:00
Stavros Korokithakis
53207ddbdf
Add --only-if-changed option.
2013-07-01 00:20:58 +03:00
Joshua Lund
dc984d94ac
Updates to Ansible command options
...
* Moved the --list-hosts option that is common to both `ansible` and
`ansible-playbook` into utils/__init__.py (corrects a FIXME)
* Wrote new help text for the --list-hosts option that makes sense
for both of the commands that it applies to
* Changed the usage argument in `ansible-playbook` so that it is
setup in the base_parser method the same way that it is in
the `ansible` executable
* Updated the help text for several options to correct typos,
clarify meaning, improve readability, or fix grammatical errors.
In the case of `ansible-pull`, I changed the help text so that
it adheres to the same standards as the other executables.
2013-06-26 19:57:31 -06:00
Mark Mandel
73dda68e18
Don't turn on sudo for all tasks when setting the sudo_user or ask_sudo_pass,
2013-06-21 23:20:12 +10:00
Stephen Fromm
355ab6983c
remove errant and unneeded import of ansible.constants
2013-06-01 21:47:38 -07:00
Stephen Fromm
291fb9e944
Help ansible-pull work better in bootstap environment
...
Add option to specify inventory. No default is defined since
ansible-playbook already does this and it allows an ansible.cfg in the
git repository to take precedence.
Overall, this should help ansible-pull work with less setup in advance,
which should be helpful in kickstart scenarios. Much of this was
discussed in issue #2464 .
2013-06-01 21:44:52 -07:00
Michael DeHaan
6cd3ba5b06
Allow the group_vars and host_vars directories to be stored alongside the playbook as well as inventory.
2013-06-01 10:38:16 -04:00
Kent Frazier
3316b87059
Keep ansible-playbook from bombing without extra-vars
...
A recent change to ansible-playbook to support json extra-vars
also inadvertently broke the script when no extra-vars are
provided. Simply checking to make sure it is defined and truthy
should take care of the issue.
2013-05-31 22:37:16 -05:00
Fabio Bonelli
6bef150695
Support JSON in --extra-vars.
...
If --extra-vars starts with either a '{' or a '[', it will be assumed
we are dealing with JSON and parse the data as such.
2013-05-28 09:46:50 +02:00
Stoned Elipot
d25888f410
Fix empty requirements specifications in modules documentation
...
And also be liberal in what ansible-doc accepts as an empty
requirements specification.
While here fix a typo in template module documentation
wrt jinja2 overrides example.
2013-05-16 17:15:21 +02:00
Jan-Piet Mens
eeb80c695f
Add Requirements to rst template, ansible-doc
...
tweak position & look of Requirements in rst
tweak APT's notes as per anhj's wish
2013-05-11 16:46:59 +02:00
Jan-Piet Mens
2f76bc9e47
ansible-doc: skip directories (new library/ format)
2013-04-30 08:31:39 +02:00
Michael DeHaan
aa55268514
Adds a logfile for ansible playbooks that can be set by the environment or configuration file.
2013-04-27 10:24:26 -04:00
Michael DeHaan
be947e5266
Resolve merge conflict
2013-04-22 23:57:20 -04:00
Michael DeHaan
89ab3a0b9f
Make --list-tasks work nicer with --tags
2013-04-22 23:24:54 -04:00
Michael DeHaan
e6bf01a6b0
Make plugin loader path operations more efficient.
2013-04-20 12:31:14 -04:00
Michael DeHaan
92ddab8a69
Merge pull request #2649 from sergevanginderachter/bin-ansible
...
make bin/ansible error output consistent for shell module as for the command module when no arguments are given
2013-04-11 12:33:12 -07:00
Michael DeHaan
3e736eaf00
Merge pull request #2622 from skvidal/playbook-start-at-task
...
implement --start-at-task option to hop to a specific task before starti...
2013-04-11 11:17:24 -07:00
Serge van Ginderachter
94243e983f
make bin/ansible error output consistent for shell module as for the command module when no arguments
2013-04-11 19:43:31 +02:00
Michael DeHaan
0be04d2b57
Decided to not deprecate legacy template syntax for now. Backwards compat is important, though the docs will suggest the new way.
2013-04-10 19:21:35 -04:00
Michael DeHaan
b09ef21ec9
Add code to flag legacy templating like $foo.{bar} as deprecated in favor of Jinja2 {{ foo.bar }} so we
...
can remove the legacy system at a later date.
2013-04-10 17:52:35 -04:00
Seth Vidal
690738ea32
implement --start-at-task option to hop to a specific task before starting running them
2013-04-09 01:53:40 -04:00
Michael DeHaan
0d530f3bf0
Change the retry logic to write a limit file, able to source limit from files by indicating with @filename
2013-04-08 12:36:01 -04:00
Michael DeHaan
c695aa2d6a
When playbooks fail, attempt to create an inventory file in the inventory directory that allows rerunning
...
of the playbook against only the hosts that failed.
2013-04-07 23:37:10 -04:00
Michael DeHaan
bc0be456da
Modify output banners to have constant length and use dashes instead
...
of "-" to be less visually heavy (unless cowsay is installed of course)
2013-04-06 18:52:30 -04:00
Seth Vidal
7687c2caf8
add --step option to ansible-playbooks to let people step through a playbook
...
one by one - asking for confirmation along the way.
also allows to 'continue' after a certain point
2013-03-11 00:39:05 -04:00
Jan-Piet Mens
396a07bcc7
Add support for additional EXAMPLES string in Ansible modules
...
return DOC and EXAMPLES as a list
add moduledev explanation
more
2013-02-18 20:02:46 +01:00
Michael DeHaan
c4779d95b8
Removing unused import, 'make pyflakes' is now clean.
2013-02-17 19:49:50 -05:00
Michael DeHaan
5c38248788
Fix crontab doc formatting
2013-02-09 14:29:31 -05:00
Michael DeHaan
e564de3983
Some formatting preferences for --list-hosts and --list-tasks
2013-02-09 11:28:59 -05:00
Michael DeHaan
e231708260
Merge branch 'devel' of git://github.com/schmic/ansible into schmic-devel
2013-02-09 11:24:08 -05:00
Michael DeHaan
a9162a86f2
Very basic --diff option for showing what happens when templates change.
...
Probably output is not useful if not used with --limit
Works well with --check mode
2013-02-07 22:52:25 -05:00
schmic
1205bbe195
Adds commandline parameter --list-tasks
2013-02-07 22:29:28 +01:00
schmic
dd9e3430e4
No authentication with --syntax-check
2013-02-07 21:09:45 +01:00
Stoned Elipot
82011b043a
For ansible --list-hosts benefit apply hosts selection limits early
2013-02-06 14:47:21 +01:00
Michael DeHaan
fed82c2188
This implements a basic --check mode which for now is only implemented on template & copy operations. More detail will be shared with the list
...
shortly.
2013-02-03 20:34:13 -05:00
Daniel Hokka Zakrisson
9a34c20cc5
Create Play objects for --list-hosts to mimic actual behaviour
...
This makes --list-hosts work more like actually running the playbook,
and thus gets the correct hosts with regard to includes and similar.
Fixes #1959 .
2013-02-03 14:01:55 +01:00
Michael DeHaan
25f52d79d1
Tweak sysctl docs so they'll web-render
2013-01-26 12:58:12 -05:00
Michael DeHaan
36066d8664
Fixup ec2_facts docs parsing
2013-01-26 12:34:30 -05:00
Daniel Hokka Zakrisson
5d067497e3
Enable --list-hosts with a list of hosts
2013-01-13 15:29:32 +01:00
Jan-Piet Mens
52a55a3575
cleanup Example output in ansible-doc
2012-12-14 11:12:26 +01:00
Michael DeHaan
aff6ae47ed
Merge pull request #1741 from christopher-snapp/list-hosts
...
add list-hosts support to bin/ansible
2012-12-12 14:52:06 -08:00
Michael DeHaan
42f769637e
Merge pull request #1749 from jpmens/andoc3
...
ansible-doc: print Notes heading only if there are any
2012-12-12 14:46:42 -08:00
Seth Vidal
0f6669fafe
make --list-hosts expand out extra vars in the hosts: field
2012-12-11 14:12:10 -05:00
Jan-Piet Mens
e913fb8732
print Notes heading only if there are any
2012-12-11 08:26:12 +01:00
Christopher A. Snapp
8655f64e68
add --list-hosts support to bin/ansible
...
add error handling when no arg passed to command module
2012-12-09 09:05:43 -05:00
Jan-Piet Mens
77e060250c
CLI: ansible-doc rebased
2012-12-03 09:01:04 +01:00
Jan-Piet Mens
17f31a2a79
CLI: ansible-doc shows lists of modules & module docs on command-line
...
check path is directory
added manpage & setup
small cleanup
shut up module_formatter in utils to avoid trace print on crud files in library
2012-11-30 21:57:25 -05:00
Daniel Hokka Zakrisson
900790af41
Reuse inventory object created by ansible-playbook in playbook
...
This reduces the amount of times an inventory script has to be invoked.
2012-11-27 15:24:33 +01:00
Michael DeHaan
20c65bf854
Merge pull request #1629 from dagwieers/list-hosts-plays
...
Make --list-hosts consider all plays (in multiple playbooks)
2012-11-17 07:40:48 -08:00
Dag Wieers
9ea26c75f9
Make --list-hosts consider all plays (in multiple playbooks)
...
Currently when more than one playbook is provided on the commandline, ansible-playbook --list-hosts will only consider the first playbook and stop. This change will make it work for the various different playbooks.
2012-11-15 17:47:01 +01:00
Dag Wieers
a259b95556
Fail ansible-playbook when the hosts list (with applied subset) is empty
...
When the inventory is empty, or the provided --limit subset returns an empty intersection, we don't want to loop over all plays but bail out at the very start.
2012-11-15 15:26:49 +01:00
fdavis
7256c5af1a
ansible-playbook verifies playbooks exist before running them
...
refers to #1345
2012-11-11 18:08:35 -08:00
Stephen Fromm
4ae3bee416
Add --limit to calls to ansible and ansible-playbook
...
--limit takes localhost, FQDN, and 127.0.0.1.
2012-11-11 00:13:59 -08:00
Michael DeHaan
6f938c9f4c
Merge branch 'playbook_ssh_ask_pass' of git://github.com/clatour/ansible into devel
...
Conflicts:
examples/ansible.cfg
+ doc tweak
2012-11-03 19:23:38 -04:00
Chandler Latour
f436a8c88b
Added config option for default ask for ssh_pass
2012-11-02 10:53:26 -05:00
Brian Coca
604bf9f58a
Added config option to control default of asking or not for sudo password
...
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
2012-10-30 23:36:07 -04:00
Michael DeHaan
be300b562a
pyflakes fixes (mostly unused imports, unused vars)
2012-10-30 20:47:05 -04:00
Seth Vidal
41195d0d49
trivial --syntax-check option to ansible to just do the yaml validation
...
check. Lots of room to make this more interesting - but not today
2012-10-15 17:48:25 -04:00
Stephen Fromm
60d3e9f3de
Add --purge option to ansible-pull
...
Removes git checkout after playbook run.
2012-10-12 07:55:22 -07:00
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.
2012-10-12 07:55:22 -07:00
Matthew Johnson
0841ed4796
change method of obtaining hostname to match ansible/library/setup
2012-10-12 07:55:22 -07:00
Matthew Johnson
2b24131baa
fetch the git repo before trying to find a playbook
2012-10-12 07:55:22 -07:00
Stephen Fromm
788e11f1db
Merge commits from copperlight's branch ansible-pull_playbook_parameter branch
...
Merged commits: 3cd25b5
and ed9fc76
. Some massaging of changes applied.
2012-10-12 07:55:22 -07:00
Aleksej Romanov
05464816c2
Different return codes for different errors.
2012-10-04 17:43:25 +07:00
Aleksej Romanov
01e922aa69
Indicate errors with exit code.
2012-10-04 03:11:14 +07:00
Michael DeHaan
a2f76c1c69
If all hosts in a play fail, fail the whole playbook and don't bother printing out every remaining task.
2012-09-30 21:06:00 -04:00
Michael DeHaan
3017dc92d9
make callbacks modular
2012-08-18 19:43:08 -04:00
Seth Vidal
8e039a6389
add --list-hosts option to ansible-playbook to dump out the hosts
...
being run against for each playbook
2012-08-15 14:19:45 -04:00
Michael DeHaan
3587ffdef3
Allow /bin/ansible to use --limit
2012-08-11 14:05:24 -04:00
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.
2012-08-10 02:45:29 -04:00
Michael DeHaan
846186e2fc
Add -vvv support for debugging activity
2012-08-08 21:09:14 -04:00
Michael DeHaan
faed4b5a33
whitespace + remove deprecated YAML parser (migration script lives in examples/scripts and warning was added
...
in 0.6 release)
2012-08-06 20:07:02 -04:00
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)
2012-07-25 20:31:26 -04:00
Michael DeHaan
12ff9b5b9a
Move color coding bits to module, use over rest of playbook
2012-07-24 19:30:02 -04:00
Jan-Piet Mens
bc17553d1c
Support for colors in ansible-playbook
2012-07-24 14:39:45 +02:00
Michael DeHaan
dc4ebab345
Merge pull request #576 from davehatton/adjust_playbook_output_formating
...
improve output formating for playbook
2012-07-11 17:42:39 -07:00
Michael DeHaan
83f23ef861
Basic support for tagging tasks and selecting a subset of tasks to run with --tags.
2012-07-11 19:51:26 -04:00
Dave Hatton
7ecdb83800
improve output formating for playbook
2012-07-11 09:35:10 +01:00
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.
2012-06-19 21:57:43 -04:00
Michael DeHaan
0972b761de
Leverage cowsay if installed.
2012-05-30 19:44:00 -04:00
Michael DeHaan
db1d5b154a
Fix casing/underscore convention in method name, split polling logic away from runner.
2012-05-25 19:18:02 -04:00
Seth Vidal
b42628d858
hook up --private-key to the runner
2012-05-14 16:22:05 -04:00
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.
2012-05-07 23:16:20 -04:00
John Kleint
710d085def
Fix non-sudo execution, add --sudo-user to ansible-playbook.
2012-05-07 19:58:16 -04:00
Michael DeHaan
05545e3735
Fixup the previous sudo_user support patch to work with playbooks.
2012-05-06 18:24:45 -04:00
Jim Richardson
93a20a33e9
first bit of getting sudo -u functionality
2012-05-06 18:24:44 -04:00
Michael DeHaan
a33320d03d
Add some comments to ansible-pull and the example playbook
2012-05-01 23:22:23 -04:00
Michael DeHaan
e54eeb7629
Merge branch 'local' of https://github.com/sfromm/ansible into devel
2012-05-01 23:06:50 -04:00
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.
2012-05-02 09:51:19 -07:00
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'.
2012-05-02 09:51:19 -07:00
Rafal Lewczuk
06e99ee75e
Trivial fix: make PyDev happy (imports).
2012-05-01 22:56:21 -04:00
Jeroen Hoekx
029fe1273c
Modify /usr/bin/ansible and playbooks to use the new async API.
2012-05-01 18:38:26 -04:00
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
2012-04-26 19:57:07 -04:00
Michael DeHaan
edb8988e8e
Unused imports
2012-04-21 12:04:21 -04:00
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.
2012-04-21 11:46:32 -04:00
Michael DeHaan
70734f5968
Update bin/ansible to fix usage of inventory API + no more verbose option
2012-04-19 09:21:21 -04:00
Michael DeHaan
3f26a1c7f6
verbose option is not being used, so remove it. debug variable still exists.
2012-04-16 23:47:41 -04:00
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
2012-04-16 23:06:27 -04:00
Michael DeHaan
35fdf6636b
Allow --user for playbooks, no need for port setting as can specify in inventory file now.
2012-04-16 22:15:55 -04:00
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.
2012-04-16 09:16:28 +02:00
Michael DeHaan
347637339c
Merge remote branch 'public/integration' into integration
2012-04-13 19:33:57 -04:00
Michael DeHaan
c3cad50075
Update manpages, fix missing variable assignment
2012-04-13 19:33:19 -04:00
Michael DeHaan
f2465e0571
Add support for specifying sudo passwords to both ansible & playbook. Nopasswd sudo is no longer required.
2012-04-13 19:06:11 -04:00
Jeroen Hoekx
d366885367
Stop async /bin/ansible if completed on all hosts.
2012-04-13 15:32:41 +02:00
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.
2012-04-12 22:38:19 -04:00
Michael DeHaan
6b50078881
Add defaults to command help to avoid a certain class of user questions.
2012-04-12 21:30:49 -04:00
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
2012-04-12 11:18:35 -07:00
Michael DeHaan
4c75b7f3ad
Merge commit '8ae71cc' into integration
...
Conflicts:
bin/ansible
bin/ansible-playbook
lib/ansible/utils.py
2012-04-10 21:13:01 -04:00
Stephen Fromm
fdee1d3459
Add support to bin/ansible for --connection option
2012-04-10 16:28:43 -07:00
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
2012-04-10 13:51:58 -04:00
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?
2012-04-10 15:17:25 +00:00
Brad Olson
74b26da9ac
began playbook tweak
2012-04-10 14:45:44 +00:00
Brad Olson
f840c0d167
Wired in Michael's usage string optparse style.
2012-04-09 23:12:05 +00:00
Michael DeHaan
7b9856bc0e
Modification on top of skvidal's common options patch to keep options to command line tools sorted.
2012-04-06 10:59:15 -04:00
Michael DeHaan
8e1f24b822
Amend option descriptions.
2012-04-06 10:18:52 -04:00
Seth Vidal
7e50d170a8
move the bulk of the opt parsing out of ansible/ansible-playbook and into utils
...
for other scripts to use.
2012-04-05 17:06:23 -04:00
Michael DeHaan
2511992659
Surface module debug (-D) to /usr/bin/ansible also
2012-03-31 11:45:29 -04:00
Jeroen Hoekx
a6b8973938
Change debug flag to D instead of d.
...
d would be useful for --dry-run.
2012-03-31 12:48:19 +02:00
Jeroen Hoekx
d9a16a3d67
Add --debug option to ansible-playbook.
...
This prints remote module stderr on local stderr.
2012-03-31 09:32:13 +02:00
Michael DeHaan
6275e57718
pyflakes: Unused import / unused var
2012-03-30 23:04:02 -04:00
Michael DeHaan
3ded27fe35
Treat module args as strings everywhere to avoid unneccessary shlex and requoting
2012-03-30 22:47:58 -04:00
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).
2012-03-30 22:29:06 -04:00
Michael DeHaan
81e3496037
Added preliminary support for --sudo to ansible, playbook support and further testing pending.
2012-03-29 01:37:06 -04:00
Tim Bielawa
5261d14aef
Fix exception catching for py2.4
2012-03-29 14:19:09 -04:00
Michael DeHaan
b30ddc4520
Expose remote_port option in playbook
2012-03-28 19:31:17 -04:00
Christopher Johnston
9041ad4d83
just some minor clean up single vs double in getopt parsing
2012-03-28 14:17:20 -07:00
Christopher Johnston
f06ec76fdb
add support for using an alternate remote port
2012-03-28 14:05:31 -07:00
Michael DeHaan
01e51b120a
Recieved quite a few requests to run python via /usr/bin/env, so doing that.
2012-03-26 22:07:04 -04:00
Michael DeHaan
f074f1c4c4
Fixes from pyflakes
2012-03-26 21:23:28 -04:00
Michael DeHaan
45a455a805
Make /usr/bin/ansible output realtime and also delete some code!
2012-03-26 21:17:11 -04:00
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)
2012-03-25 19:05:27 -04:00
Michael DeHaan
3052d85a6a
use capital O.
2012-03-24 16:32:16 -04:00
Michael DeHaan
9df612f007
Add a "-o" override option so hosts not in a playbook can still be managed by a playbook.
2012-03-24 16:19:38 -04:00
Michael DeHaan
7ed734dfb2
move callbacks to seperate file, anticipating callbacks for Runner() as well
2012-03-21 22:18:57 -04:00
Michael DeHaan
e89131a3a2
playbooks -- Ratchet up logging prior to gating things with verbosity controls and upgrading output format
2012-03-20 22:37:51 -04:00
Michael DeHaan
a5f4ca50b8
Ratchet up logging a few notches prior to controlling w/ verbosity settings
2012-03-20 22:29:21 -04:00
Michael DeHaan
b5c62ec068
Enhance logging, way to gate verbosity levels pending.
2012-03-20 21:44:01 -04:00
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
5371a9e497
Regression tests for playbooks, logging the events they call via callbacks.
2012-03-18 19:25:56 -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
a4b8cdf8b3
Remove "import *"'s from bin/ansible-playbook code so pyflakes will be usable.
2012-03-18 17:32:36 -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
db61e8f346
Fix -t tree mode so it writes out the value for each host, not everything, once again
2012-03-13 21:38:06 -04:00
Michael DeHaan
e6f175e929
Allow the SSH timeout to be passed to playbooks just like it already could with /usr/bin/ansible
2012-03-13 21:35:34 -04:00
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.
2012-03-13 21:30:34 -04:00
Michael DeHaan
4ae98ed92d
Upgrades to error handling, now general try/catch available.
2012-03-13 20:59:05 -04:00
Michael DeHaan
09a7119e74
Annotate more files, fix missing imports messing with playbooks. Hey Tim, please test your stuff :)
2012-03-13 19:19:54 -04:00
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*.
2012-03-12 23:11:54 -04:00
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.
2012-03-12 20:53:10 -04:00
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.
2012-03-11 20:54:54 -04:00
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.
2012-03-11 18:40:35 -04:00
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.
2012-03-06 19:24:36 -05:00
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.
2012-03-03 12:25:56 -05:00
Michael DeHaan
cbfabcd0fb
Add -i, -k, and -M to ansible-playbook CLI to match options in /usr/bin/ansible
2012-03-02 22:54:25 -05:00
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.
2012-03-02 22:10:51 -05:00
Michael DeHaan
c57df6220b
Add pydoc to playbook binary, fix default types for playbook '.get()' call
2012-03-02 21:20:37 -05:00
Michael DeHaan
bf967adf83
Added pydoc for functions in Cli()
2012-03-02 21:11:43 -05:00
Michael DeHaan
e9a24cdad4
Extensive refactoring of bin/ansible, moving most output functions into lib/ansible/utils to
...
encourage readability and make things more maintainable.
2012-03-02 21:08:48 -05:00
Michael DeHaan
b33ef0de60
Add a newline in output here, possibly considering printing top level keys flat
2012-03-02 19:52:43 -05:00
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
2012-03-02 19:44:50 -05:00
Michael DeHaan
847846af0e
-p has been replaced by a required option. Various docs changes.
2012-03-01 22:10:47 -05:00
Michael DeHaan
4ce1f1dd5e
README/doc/example updates to go with group support and CLI option changes.
...
Minimizing manpage until CLI options stabilize.
2012-03-01 21:18:32 -05:00
Christopher Johnston
d15172abdc
add a -T option for setting ssh timeout in seconds
2012-03-01 16:54:17 -08:00
Christopher Johnston
2773234c3f
python 2.5 does not include json so lets try to use simplejson
2012-02-29 09:30:02 -08:00
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
2012-02-28 04:20:25 -05:00
Michael DeHaan
1427ade3af
Have ansible yell if no module name is supplied
2012-02-28 04:00:31 -05:00
Michael DeHaan
edf6da5c38
Rename opts so --help looks cleaner
2012-02-28 03:57:43 -05:00