Commit Graph

782 Commits (672794f586dd73b91100f6dba76f6dcb6e2c76c9)
 

Author SHA1 Message Date
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
Stephen Fromm 3803b27f6c Add playbook and template to set up ansible-pull
Playbook will install ansible, create directory where git checkout goes,
and set up a cron job to run ansible-pull.
13 years ago
Michael DeHaan df61a65344 Merge pull request #294 from jhoekx/inventory-hostname
Define 'inventory_hostname' variable for hosts.
13 years ago
Michael DeHaan fe90650311 Merge pull request #295 from jhoekx/user-existing-groups
Group order in user module should not matter.
13 years ago
Jeroen Hoekx 2c8fbdbd20 Group order in user module should not matter.
Groups are not necessarily returned in the defined order, especially when the user already existed before ansible started managing the system.
13 years ago
Jeroen Hoekx 03541baba7 Define 'inventory_hostname' variable for hosts. 13 years ago
Michael DeHaan 594084bc9f Merge pull request #287 from dne/user-group-add-system
Add 'system' option for user and group modules
13 years ago
Michael DeHaan af74c741ef Merge pull request #285 from tbielawa/fixLicenseInDevel
Fix license in devel
13 years ago
Michael DeHaan 27582ad313 Merge pull request #281 from dne/file-link-relative
File module fix for symlink from relative source path
13 years ago
Michael DeHaan dd380f67e6 Merge pull request #289 from skvidal/devel
service enable=on/off
13 years ago
Jeroen Hoekx f14c1e3e91 Async: print one poll message per polling cycle.
Instead of one per host per polling cycle.
13 years ago
Jeroen Hoekx 029fe1273c Modify /usr/bin/ansible and playbooks to use the new async API. 13 years ago
Jeroen Hoekx ce9a8c9ffc Introduce Async API in Runner. 13 years ago
Jeroen Hoekx d96763346f Make async wrapper kill the process it supervises.
It wasn't killing the job at all before.
Indentation was 3 spaces.
13 years ago
Michael DeHaan cc13d34f91 changelog update 13 years ago
Seth Vidal dc30b01c87 new service module handles enable=on/off for chkconfigging it on 13 years ago
Daniel Néri a837009c5d Add 'system' option for user and group modules
Creates system accounts/groups; corresponds to the '-r' option for {user,group}add.

The option is only honored when users/groups are added, not when modified.
13 years ago
Tim Bielawa 029d86be2f Include license file in MANIFEST.in. Fixes #284 13 years ago
Daniel Néri 82d3fcfd53 File module fix for symlink from relative source path 13 years ago
Michael DeHaan cfb7c94c49 Merge pull request #271 from jhoekx/group-names
Introduce group_names in template variables.
13 years ago
Jeroen Hoekx b87710a1df Introduce group_names in template variables.
This is a list of all the groups a host is in.
13 years ago
Michael DeHaan 6341361a5b Clarify that stderr WILL crash your module. Can't redirect because if we do we lose tracebacks
from modules remotely when they fail to parse, and this is VERY useful data.
13 years ago
Michael DeHaan 88a7f771cb update changelog 13 years ago
Michael DeHaan 36e454c52f Because paramiko using a pty can't distinguish stderr and stdout, remove handling that
treated -D as a way to show stderr, and make sure modules don't include things on stderr.
Update docs and test module script to come into line.
13 years ago
Michael DeHaan 076f1bc169 Revert "Revert "Unify normal and sudo remote command execution. Breaks stderr/stdout handling"
This reverts commit 40f603539c.
13 years ago
Michael DeHaan 0d5bee2dfa Revert "Revert "Actually wait for password prompt in remote sudo execution. Totally breaks stderr debugging"
This reverts commit e16114034c.

Conflicts:

	lib/ansible/connection.py
13 years ago
Michael DeHaan 40f603539c Revert "Unify normal and sudo remote command execution. Breaks stderr/stdout handling
This reverts commit 44486223ed.
13 years ago
Michael DeHaan e16114034c Revert "Actually wait for password prompt in remote sudo execution. Totally breaks stderr debugging
and various modules.

This reverts commit 6341a9547f.
13 years ago
Michael DeHaan f939f3fdaf Playbook can now take a 'name' which it will show when starting the play 13 years ago
Michael DeHaan 67d1169674 fix code handling if module_vars is None 13 years ago
Michael DeHaan 803672a769 Update development changelog 13 years ago
Michael DeHaan aa8ae85070 Add playbook example for first_available_file 13 years ago
Michael DeHaan 3804910187 Some tweaks to first_available_file mostly in terms of error handling and not trying src= to be present
as it is not used here.
13 years ago
Michael DeHaan b56efa7809 Fix handling of list=status such that it will actually work in absense of the state command, to
make it useful from /usr/bin/ansible and the API.  Also some minor style fixes.
13 years ago
Michael DeHaan ea296e9edb Merge branch 'devel' of https://github.com/jkleint/ansible into jkleint-devel 13 years ago
Michael DeHaan 47ec93b32f Merge pull request #270 from skvidal/devel
first_if_available and yum fixes
13 years ago
Seth Vidal a3ab793ba8 fixes for yum module for rhel5 and issue 269 13 years ago
Seth Vidal c701e59592 very minor indentation issue in librar/copy 13 years ago
Seth Vidal 72fd971822 fall through file source list: first_available_file support
add first_available_file look up to _execute_template and _execute_copy
to runner.

add this data to playbook handler so it can be included into module_vars
13 years ago
John Kleint c6db4e8fa3 Get service module working with sudo, add list=status, better error messages.
When running the service module via sudo, `$PATH` didn't contain `/sbin`,
so the service binary couldn't be found.  This just runs `/sbin/service`
directly.  Output is spewed to stderr on error.

Added `list=status` to include the output of `service <cmd> status`.
13 years ago
Michael DeHaan 40f5469869 minor personal style preference on 'not' 13 years ago
Michael DeHaan bee0e8db5b Merge pull request #266 from RWJMurphy/devel
[devel] ansible-playbook hangs if not passed --extra-vars
13 years ago
Reed Murphy abf524405a shlex.split() tries to read from stdin if passed None 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 a0ac936a55 Merge pull request #249 from jhoekx/octal-file-mode
Return the octal mode of a file instead of decimal.
13 years ago
Michael DeHaan 5aa5a48f7f Merge pull request #250 from jkleint/devel
Service module crashes if args has no "=".
13 years ago
Michael DeHaan b6bdb22341 Merge pull request #251 from sfromm/selinux
Selinux -- more fun
13 years ago
Michael DeHaan 08b2f147e3 Merge pull request #252 from sfromm/facts
Use socket.getfqdn() to fix issue #243
13 years ago
Michael DeHaan a4b3b7a2cf Local connection doesn't need a port. 13 years ago
jkleint 6341a9547f Actually wait for password prompt in remote sudo execution.
When running on lots of hosts with a large login banner on a slow network, it was still possible that the first recv() didn't to pull in the sudo password prompt, and sudo would fail intermittently.  This patch tells sudo to use a specific, randomly-generated prompt and then reads until it finds that prompt (or times out).  Only then is the password sent.  It also catches `socket.timeout` and thunks it to a more useful `AnsbileError` with the output of sudo so if something goes wrong you can see what's up.
13 years ago