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
d8f9d7c6c9
Use correct user to determine host files path, do not reuse .ansible
...
which is already taken for ansible management ops.
2012-04-14 16:08:04 -04:00
Rafal Lewczuk
a87c77958c
clean exec bits from lib/ansible/*.py, ignore Eclipse/PyDev files
2012-04-14 21:35:51 +02:00
Michael DeHaan
3454fa9950
As part of the support for access to external nodes information, save fact data into /var/lib/ansible/setup_data
...
OR a per-user directory when running from playbooks. Technically this info is also available via the SETUP_CACHE
but that is a bit more complex of a construct and it would be better to not cross the streams.
2012-04-14 11:58:08 -04:00
Michael DeHaan
31d4ee32d1
Looping! With items! See examples/playbook/loop_with_items.yml for details
2012-04-14 09:55:24 -04: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
a975852f66
Module_arguments can be unicode.
2012-04-13 15:32:33 +02: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
Michael DeHaan
6129574290
Include default value for connection in help.
2012-04-12 21:20:37 -04:00
Michael DeHaan
09a0b9bea8
If the module return is not parsed, always show stderr information even if -D (debug)
...
is not specified. This will help for users that don't have prerequisites installed
(like python-simplejson on old RHEL) and do not know to run -D.
2012-04-12 21:18:09 -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
08c593bee1
Warn if no hosts matched
2012-04-11 21:05:46 -04:00
Michael DeHaan
f3489a53cd
English error messages if src and dest are left off the copy, template, or fetch modules
2012-04-11 20:57:41 -04:00
Michael DeHaan
a0480a1bc5
Block some paramiko warnings that are not relevant.
2012-04-11 20:20:55 -04:00
Michael DeHaan
95e045d153
Remove remote logging as we're going to move this logging to the modules for performance reasons.
2012-04-11 20:15:17 -04:00
Michael DeHaan
245aa9bf8e
Some tweaks to the fetch module. 'err' return was for stderr, so that should be empty string.
...
Some minor code shortening. Added a test to TestRunner.
2012-04-11 20:12:01 -04:00
Michael DeHaan
62224271e9
Merge pull request #131 from mgwilliams/feature-fetch-module
...
Fetch Module
2012-04-11 16:55:51 -07:00
Stephen Fromm
40fc9a3249
Update playbook to be transport aware
...
This adds transport variable to playbook.py. It can be set with
'connection' in the playbook file.
2012-04-11 09:39:04 -07:00
Matthew Williams
31d3f52b28
fetch to host specific directory
2012-04-11 09:14:36 -07:00
Matthew Williams
611e3fec4c
fetch 'module' -- working with paramiko and local connections
2012-04-10 20:23:25 -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
Michael DeHaan
1d75a29ec9
Allow variables coming in from the playbook and the API to be expressed as dictionaries throughout their full life cycle
...
such that nested data can be made available in templates and playbooks.
2012-04-10 20:58:40 -04:00
Stephen Fromm
b5061bb62e
Verify that effective uid == remote_user when transport is local
...
Raise exception if effective uid of process is not the same as
remote_user.
2012-04-10 16:27:19 -07:00
Stephen Fromm
5d74fedeb9
Update Runner to default to C.DEFAULT_TRANSPORT
...
This also uses self.transport when instantiating Connection object.
2012-04-10 16:17:39 -07:00
Stephen Fromm
1391481523
Add support for -c, --connection argument to specify connection type
...
Adds support to specify connection type to use. The option -c,
--connection is added when connect_opts is set to True. connect_opts is
added to make_parser() and base_parser_options().
2012-04-10 16:13:18 -07:00
Stephen Fromm
896f8de446
Add DEFAULT_TRANSPORT and DEFAULT_TRANSPORT_OPTS constants
...
DEFAULT_TRANSPORT is set to paramiko. DEFAULT_TRANSPORT_OPTS is a list
of possible transport options; it is set to local and paramiko.
2012-04-10 16:09:20 -07:00
Stephen Fromm
9213cf896e
Change to transport is local *and* is localhost
...
Connection.connect() now requires that, in order to use LocalConnection,
you specify transport is local and that the hostname is localhost.
2012-04-10 13:20:03 -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
f840c0d167
Wired in Michael's usage string optparse style.
2012-04-09 23:12:05 +00:00
Michael DeHaan
6749903e57
Allow explicit request of the local connection.
2012-04-07 14:51:00 -04:00
Michael DeHaan
da9d4eb29a
Merge pull request #123 from sfromm/localconnection
...
Add LocalConnection class to connection.py
2012-04-07 11:41:13 -07:00
Stephen Fromm
70a3fab79f
Add LocalConnection class to connection.py
...
This creates a LocalConnection class for the case when operating on the
localhost. If the host, argument to Connection.connect(), matches
127.0.0.1, localhost, or the name of the host as returned by
os.uname()[1], Connection.connect() will opt to use LocalConnection
instead of ParamikoConnection. LocalConnection implements connect(),
exec_command(), put_file(), and close().
2012-04-06 16:38:27 -07: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
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
Jeroen Hoekx
ab86726a15
Introduce per task variables and push them to templates.
2012-04-04 13:39:03 +02:00
Jeroen Hoekx
edd5baad8b
Refactor _transfer_argsfile to generic string transfer function.
2012-04-04 13:36:21 +02:00
Michael DeHaan
09e690fd7c
Indentation error causing forks to not be parallel. Ahem :)
2012-04-03 20:20:55 -04:00
Michael DeHaan
778fe8755f
Merge pull request #110 from jhoekx/remote-vars
...
Always add vars to a play.
2012-04-03 17:07:00 -07:00
Michael DeHaan
eae1fdd734
Merge pull request #109 from jeckersb/version-0.0.2
...
Bump release to 0.0.2
2012-04-03 17:06:09 -07:00
Jeroen Hoekx
e38ae18627
Always add vars to a play.
...
A play without vars section would fail to use variables given in an include. They would be added to the dict returned by play.get, but the dict would not be added to the play.
2012-04-03 17:35:05 +02:00
John Eckersberg
82b781925c
pep8 fix
2012-04-03 09:58:00 -04:00
John Eckersberg
5aad4bacc7
Bump release to 0.0.2
2012-04-03 09:51:05 -04:00
Michael DeHaan
e5d5b072db
Merge remote branch 'public/integration'
2012-04-02 20:02:46 -04:00
Michael DeHaan
59a1ff31db
Merge pull request #103 from jeckersb/no-shebang-on-callbacks.py
...
Remove shebang from callbacks.py
2012-04-02 16:58:41 -07:00
Michael DeHaan
2f1f0d44b4
Merge pull request #106 from mgwilliams/honor-hostfile-returncode
...
raise error if executable host file execution fails
2012-04-02 16:58:20 -07:00
Matthew Williams
461a4e78c2
raise error if executable host file execution fails
2012-04-02 15:00:28 -07:00
Matthew Williams
c742b8eb0b
bugfix for extra-vars
2012-04-02 14:57:37 -07:00
Seth Vidal
bcef25f7eb
add vars_prompt to playbooks
...
- this allows some vars to be prompted for at the start of the playbook
setup
- defaults to no output since this would mostly be used for passwords
2012-04-02 17:46:02 -04:00
John Eckersberg
2dad8cc27c
Remove shebang from callbacks.py
...
It is not +x, and has no __main__. It draws ire of rpmlint.
2012-04-02 17:19:05 -04:00
Seth Vidal
04aecdcf34
before we run the actual module/command - emit what that would be to the logs
2012-04-02 13:29:12 -04:00
Michael DeHaan
2511992659
Surface module debug (-D) to /usr/bin/ansible also
2012-03-31 11:45:29 -04:00
Michael DeHaan
4a8dc50249
Merge pull request #97 from jhoekx/stderr-logging
...
Stderr logging
2012-03-31 08:01:48 -07:00
Jeroen Hoekx
74ae4b29ad
Add a debug attribute to Runner/Playbook.
...
This prints the stderr of the executed modules on local stderr.
Most methods on Runner now return a fourth "err" parameter.
2012-03-31 09:32:13 +02:00
Jeroen Hoekx
fb1a313974
Correct default user and port in playbook.
...
They are set in the constructor.
2012-03-31 09:11:07 +02:00
Michael DeHaan
6275e57718
pyflakes: Unused import / unused var
2012-03-30 23:04:02 -04:00
Michael DeHaan
9569be8bdb
Need for quoting/unquoting problems go away once module_args are all treated as strings throughout.
2012-03-30 22:52:38 -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
6db87a5018
Minor style fix, update test to match quote fix patch
2012-03-30 21:57:34 -04:00
Matthew Williams
ec6f488d1f
shell quoting fixes
...
(edited author's original commit comment -- MPD)
2012-03-30 21:57:33 -04:00
Matthew Williams
99d5796605
support for quotes strings in command module (via posix=False), related fixes to keep other things from breaking
2012-03-30 21:57:33 -04:00
Michael DeHaan
2372a3b734
Sudo support operational in both playbooks and main program. Implementation could use some cleanup.
2012-03-29 22:59:29 -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
Michael DeHaan
72cc99722d
sudo tweaks
2012-03-28 23:30:31 -04:00
Michael DeHaan
7ae75eb14b
Default sudo is false
2012-03-28 22:55:59 -04:00
Michael DeHaan
c2a6e2f97b
Work in progress on sudo, hitting some issues with paramiko saying the connection is closed.
2012-03-28 22:51:16 -04:00
Michael DeHaan
7133734d87
Remove debug statements (WIP on sudo)
2012-03-28 20:58:34 -04:00
Michael DeHaan
4971101f27
Handler doesn't take this param.
2012-03-28 20:33:44 -04:00
Michael DeHaan
706ba9fd9a
Add paramiko/pycrypto atfork workaround (can back out later if not useful), tweak error
...
message text per skvidal's suggestion
2012-03-28 20:32:04 -04:00
Michael DeHaan
b30ddc4520
Expose remote_port option in playbook
2012-03-28 19:31:17 -04:00
Christopher Johnston
68818ad1fe
add support for remote ports in playbooks
2012-03-28 15:02:50 -07:00
Christopher Johnston
15e781eb51
add exception check for paramiko if older then 1.7
2012-03-28 14:09:11 -07:00
Christopher Johnston
f06ec76fdb
add support for using an alternate remote port
2012-03-28 14:05:31 -07:00
Michael DeHaan
b1471bf857
Add more comments to the callbacks file
2012-03-26 22:05:11 -04:00
Michael DeHaan
95670ce6b5
remove unused function
2012-03-26 21:58:28 -04:00
Michael DeHaan
f9da7cb180
remove functions that are no longer used
2012-03-26 21:56:18 -04:00
Michael DeHaan
35d77d0433
Make it an error to try to hit a change handler that doesn't exist
2012-03-26 21:31:48 -04:00
Michael DeHaan
f693759252
Style fixes from pep8 makefile target
2012-03-26 21:25:43 -04:00
Michael DeHaan
f074f1c4c4
Fixes from pyflakes
2012-03-26 21:23:28 -04:00
Michael DeHaan
35c8750bbb
Fix tree view to work with callbacks
2012-03-26 21:18:48 -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
eb67a91c57
Merge remote branch 'public/master'
2012-03-26 19:36:03 -04:00
Michael DeHaan
aaafd12b59
rm FIXMEs
2012-03-26 19:35:53 -04:00
Jeroen Hoekx
a370261dce
Playbook: create one task per include instead of per argument.
2012-03-26 10:30:48 +02: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
ab55fa4266
Revert "Only override the pattern if it is ommitted"
...
This reverts commit bb0bf9eef4
.
2012-03-24 16:21:44 -04:00
Michael DeHaan
bb0bf9eef4
Only override the pattern if it is ommitted
2012-03-24 16:20:47 -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
292ac4aad2
Make it such that the 'name' element of each playbook line is optional.
2012-03-23 21:06:54 -04:00
Michael DeHaan
44d4dede92
Split conditional imports in playbook into subfunction, fix small bug in event reporting on playbook
...
actions.
2012-03-23 21:03:25 -04:00
Michael DeHaan
b43019f3a1
In playbooks, a return code (rc) of non-zero should fail the playbook.
2012-03-23 20:53:57 -04:00
Michael DeHaan
6ab615c724
Code cleanup for playbooks, also added 'on_skipped' callback
2012-03-23 20:51:26 -04:00
Seth Vidal
53446d6d45
make sure the setup step in a playbook has the sshpass included
2012-03-23 16:41:44 -04:00
Seth Vidal
89d4bc542c
fix up minor type - AnsibleException should be AnsibleError
2012-03-23 11:59:08 -04:00
Michael DeHaan
a8c921cbcc
Allow groups to be passed to runner API to make parse_hosts optional, misc fixes as a result of refactoring in Runner.
...
Cleanup in Playbooks module is next.
2012-03-22 00:30:05 -04:00
Michael DeHaan
94605b811b
Fixes from refactoring
2012-03-21 23:47:58 -04:00
Michael DeHaan
6a7aac38c5
misc cleanup in the runner module, splitting some things out into utils, breaking up functions into smaller functions.
2012-03-21 23:39:09 -04:00
Michael DeHaan
7ed734dfb2
move callbacks to seperate file, anticipating callbacks for Runner() as well
2012-03-21 22:18:57 -04:00