Commit graph

1031 commits

Author SHA1 Message Date
Dag Wieers
fe0c70fe9d Make module output more consistent wrt. changed/failed
- Make sure exit_json() always returns a changed= value
- Modify the yum module to not return failed=False
- Modify install() and latest() similar to remove() in yum module
- Changed exit_json(failed=True, **res) into a fail_json(**res)
- Make sure yum rc= value reflects loop (similar to how we fixed remove())
2012-11-08 12:28:18 +01:00
Dag Wieers
dd07011a65 Only print 'Invoked with' if there are arguments to the module
This closes #1519
2012-11-07 23:51:44 +01:00
Dag Wieers
d8459425a0 Turn 'fail' and 'debug' modules into action_plugins
This makes more sense as there is no purpose in running these remotely.
2012-11-07 23:34:53 +01:00
Daniel Hokka Zakrisson
47082a9171 Add $LOOKUP(<lookup plugin>,<data>) as a templating option
Also moves file and pipe to lookup_plugins.
2012-11-07 23:17:29 +01:00
Michael DeHaan
a1f7334634 Merge pull request #1525 from jhoekx/custom-filter-plugins
Support custom jinja2 filters.
2012-11-07 13:55:21 -08:00
Michael DeHaan
c9ae19c44c Merge pull request #1547 from dagwieers/action-boolean
Bail out if an action is not a string
2012-11-07 13:52:07 -08:00
Dag Wieers
c9e62d7061 Fix for an exception when for whatever reason the inventory script fails
This avoids a traceback that gave no clue as to what was happening.

This is in line with the change from #1535
2012-11-07 15:16:00 +01:00
Dag Wieers
dfa1e8b0dc Bail out if an action is not a string
Since YAML allows anything, we should enforce that actions are strings.

This closes #1419.
2012-11-07 15:04:04 +01:00
Michael DeHaan
75d3b77454 Merge pull request #1535 from dagwieers/inventory-exception
Fix for an exception when for whatever reason the inventory script fails
2012-11-07 04:06:33 -08:00
Daniel Hokka Zakrisson
00aa584c57 Don't double dwim first_available_file in template 2012-11-06 20:34:05 +01:00
Dag Wieers
89206a6b68 Fix for an exception when for whatever reason the inventory script fails
This avoids a traceback that gave no clue as to what was happening.
2012-11-06 16:39:10 +01:00
fdavis
b1dbeec66c Allows use of scp instead of sftp in
Added a boolean constant scp_if_ssh to the config
Added scp support for the ssh connection plugin
Refers to #1279
2012-11-05 14:25:40 -08:00
Jeroen Hoekx
8ffed6df75 Support custom jinja2 filters.
This uses the plugin framework to add filter plugins.
The previously hardcoded core filters are defined using the plugin
framework now.
2012-11-05 15:11:34 +01: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
Michael DeHaan
908c43ad7f Merge branch 'devel' of git://github.com/skorokithakis/ansible into devel 2012-11-03 19:19:59 -04:00
Michael DeHaan
05de2152a0 Merge branch 'sudo_ask_pass_config' of git://github.com/bcoca/ansible into devel 2012-11-03 19:09:40 -04:00
Michael DeHaan
154a00e612 Merge branch 'plugin-sanity' of git://github.com/dhozac/ansible into try_new_plugins 2012-11-03 19:04:23 -04:00
Michael DeHaan
c96f2c968e Merge branch 'nigelm_freebsd' of git://github.com/nigelm/ansible into merge-service
Make things more reusable, correct some errors along the SSH key path

Conflicts:
	library/user
2012-11-03 18:38:05 -04:00
Seth Vidal
e19c81977d if a module returns failed in the results, don't fail unless failed is not false. 2012-11-02 15:24:17 -04:00
Chandler Latour
f436a8c88b Added config option for default ask for ssh_pass 2012-11-02 10:53:26 -05:00
Daniel Hokka Zakrisson
e05e514861 Create a plugin loader system 2012-11-02 01:24:14 +01:00
Daniel Hokka Zakrisson
000d3832cc Make ansible.utils a package 2012-11-02 00:42:37 +01:00
Stavros Korokithakis
3616dffb68 Detect whether we're running in a virtualenv. 2012-11-02 01:42:04 +02:00
Michael DeHaan
4c156e4df8 Merge pull request #1502 from dhozac/improved-lookup-plugins
Improved lookup plugins
2012-11-01 16:36:03 -07:00
Michael DeHaan
025402c0bf Merge pull request #1507 from lorin/pretty-print-msg
Pretty-print "msg" when task fails
2012-11-01 16:33:41 -07:00
Stavros Korokithakis
d9a377cbb1 Fix installing to virtualenvs. 2012-11-01 20:40:28 +02:00
Daniel Hokka Zakrisson
07ba7e2013 Return original string for non-matched vars 2012-11-01 18:53:23 +01:00
Lorin Hochstein
1c5ac5cac8 Pretty-print "msg" when task fails
Several modules (e.g., pip) return stdout and stderr together in a "msg" variable (and the module development docs seem to suggest that the standard practice is to return status in this variable).

This change ensures that it is printed out with correct formatting (most importantly, with newlines appearing as newlines instead of \n).
2012-11-01 13:23:18 -04:00
Daniel Hokka Zakrisson
fbda2d4628 Use default port if ansible_ssh_port is not set for the delegated node
Also add testcase for it.
2012-11-01 12:00:49 +01:00
Daniel Hokka Zakrisson
c519d5dac0 Add a template lookup plugin
Requires that inject be passed to run
2012-10-31 16:57:10 +01:00
Daniel Hokka Zakrisson
37d9acc097 Make lookup API extensible and allow basedir to be passed
This allows using with_fileglob in play context, e.g.
- include: $item
  with_fileglob: tasks/*.yml
as well as prepares for other data to be passed.
2012-10-31 16:55:38 +01:00
Daniel Hokka Zakrisson
2c77cf1a49 Skip tasks with a with_* that is empty 2012-10-31 16:37:26 +01: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
Michael DeHaan
c0747b7baa pep8 fixes 2012-10-30 20:42:07 -04:00
Michael DeHaan
0853ece810 Merge pull request #1474 from jhoekx/group-by-plugin-template
Add a group_by action plugin.
2012-10-30 16:54:07 -07:00
Michael DeHaan
f9a6265fb2 Merge branch 'vars_files-list-no-default' of git://github.com/dhozac/ansible into devel 2012-10-30 19:50:31 -04:00
Michael DeHaan
6dceef3a5f Merge branch 'fix-var-in-var' of git://github.com/dhozac/ansible into devel 2012-10-30 19:48:32 -04:00
Daniel Hokka Zakrisson
efe83daf19 Fix ${var.$other_var} and add test cases for it 2012-10-30 13:05:45 +01:00
Michael DeHaan
9a12873166 Merge pull request #1477 from skvidal/devel
add check that vars plugins are not handing back None
2012-10-29 16:02:26 -07:00
Seth Vidal
3fcc591f18 add check that vars plugins are not handing back None 2012-10-29 12:11:57 -04:00
Dag Wieers
3728b2f459 Missing errors-import causes traceback 2012-10-29 15:16:26 +01:00
Jeroen Hoekx
b336d40101 Add a group_by action plugin. 2012-10-29 13:10:23 +01:00
Jeroen Hoekx
f963db6c2a Fix output of pause plugin. 2012-10-29 10:57:13 +01:00
Jeroen Hoekx
77162e95e4 Send a host to runner executor instead of a letter.
Discovered in #1463 .
2012-10-29 09:45:44 +01:00
Daniel Hokka Zakrisson
e72fdccd87 Allow vars_files sequences without a default 2012-10-28 16:35:22 +01:00
Daniel Hokka Zakrisson
55a1473d50 Don't add file module arguments by default
This allows the postgresql_db module to work properly, as it uses
an argument named owner that conflicts with the file module.
2012-10-28 11:14:29 +01:00
Michael DeHaan
21258dcc66 Added 'when' as a shortcut around only_if. 2012-10-27 17:55:35 -04:00
Michael DeHaan
a768e9a9ff Fix for sudo defaults if sudo is passed in via --extra-vars 2012-10-27 16:46:33 -04:00
Michael DeHaan
6ba30170dd Make group_vars and host_vars available to usr/bin/ansible, and make vars_plugins exist 2012-10-26 19:55:59 -04:00
Michael DeHaan
e04dab904a Use previous proven multiprocessing logic as the simplification didn't have the same Ctrl-C handling and may
be subject to race issues, though still don't pass Runner to each.  Still seems performant.
2012-10-26 18:11:38 -04:00
Daniel Hokka Zakrisson
1052dd9c8f Initialize sftp variable to fix error on transferless session 2012-10-26 23:54:21 +02:00
Michael DeHaan
5e2c2564bc Explicitly execute /bin/sh versus $SHELL because some folks have very incompatible/weird shells. We do not
execute modules through the shell, this is only for basic ops, so should be sufficient.
2012-10-25 23:00:07 -04:00
Michael DeHaan
ff787146d1 stray debug 2012-10-25 22:24:15 -04:00
Michael DeHaan
24416b9e49 Remove stray debug message 2012-10-25 22:19:50 -04:00
Michael DeHaan
3257c5b61f Some caching improvements to paramiko which are still not yet fully leveraged
in playbook mode, since the Runner still closes abstract host connections completely
and does not have a LRU.
2012-10-25 22:09:54 -04:00
Michael DeHaan
4c83c274e0 Don't close paramiko SFTP multiple times in the same runner pass. Noticeable performance increase. 2012-10-25 21:49:28 -04:00
Michael DeHaan
8b50ad7e85 Fix for atomic_replace patch if file does not yet exist 2012-10-25 21:40:05 -04:00
Daniel Hokka Zakrisson
7a8009f979 When atomically replacing files, copy attributes 2012-10-25 21:40:05 -04:00
Michael DeHaan
19a5f86c2e Merge pull request #1452 from dhozac/with_items-as-plugin
Make with_items a lookup plugin
2012-10-25 18:24:34 -07:00
Michael DeHaan
9a141160a4 Merge pull request #1449 from dhozac/localhost-interpreters
Use the delegated host's interpreters
2012-10-25 18:19:26 -07:00
Michael DeHaan
347b0260c3 Merge varReplace cleanup and move code into new file 'template.py' so it's easier to keep template
code all together.
2012-10-25 21:18:08 -04:00
Michael DeHaan
f8e946b71d Merge branch 'varfind-cleanups' of git://github.com/dhozac/ansible into devel 2012-10-25 20:14:20 -04:00
Daniel Hokka Zakrisson
2f05e95d8a Use lookup plugins for task include with_* 2012-10-25 15:13:34 +02:00
Daniel Hokka Zakrisson
026e251b94 Make with_items a lookup plugin 2012-10-25 15:10:33 +02:00
Michael DeHaan
ffca0283b0 Closing pool explicitly may cause some exceptions on certain Pythons, disable for now. 2012-10-25 09:07:33 -04:00
Daniel Hokka Zakrisson
13a422261b Use the delegated host's interpreters 2012-10-25 14:10:04 +02:00
Michael DeHaan
bbe66e7610 Merge pull request #1437 from lorin/sudo-nonroot-bugfix
Fix chmod occurring as wrong user when sudo as non-root
2012-10-24 17:01:32 -07:00
Michael DeHaan
9fca4eb241 Merge pull request #1441 from dhozac/better-error-missing-template
Improve the error message for missing files
2012-10-24 16:58:28 -07:00
Daniel Hokka Zakrisson
b1200c16df path_dwim the path given to with_fileglob 2012-10-25 00:52:42 +02:00
Daniel Hokka Zakrisson
e216116807 Improve the error message for missing files 2012-10-25 00:30:05 +02:00
Lorin Hochstein
38fdc24966 Fix chmod occurring as wrong user when sudo as non-root
If you sudo to a non-root user, you get a permission denied error.
Here's an example:

    $ ansible myserver.example.com -m postgresql_db -a "db=mydatabase" -u ubuntu -s -U postgres
    myserver.example.com | FAILED >> {
        "failed": true,
        "msg": "chmod: changing permissions of `/tmp/ansible-
        1351092257.96-157699143369671/postgresql_db': Operation not
        permitted\n/usr/bin/python: can't open file '/tmp/ansible-
        1351092257.96-157699143369671/postgresql_db': [Errno 13]
        Permission denied\n",
        "parsed": false
    }

The problem is that ansible is doing the chmod as the sudo user
when it should be doing it as the remote user.
2012-10-24 11:30:56 -04:00
Michael DeHaan
f1f44843c3 close the pool. 2012-10-24 07:56:23 -04:00
Michael DeHaan
92ce8a0517 Refine new keyboard interrupt handling. Output still a bit gross. 2012-10-24 07:46:24 -04:00
Michael DeHaan
47b1315ac7 Reinstate Ctrl+C handling 2012-10-24 07:40:48 -04:00
Michael DeHaan
a4af4a7049 Since we are not needing to pass runner through the multiprocessing queue, just use
multiprocessing.pool.  Pushing so it can get wider testing.
2012-10-23 08:19:15 -04:00
Michael DeHaan
856dd5a9aa Don't pass runner instance through the mulitprocessing queue, fix temp dir removal 2012-10-23 08:04:32 -04:00
Seth Vidal
d63fa6f026 make --limit take a , as a separator as well as ; or : 2012-10-22 21:24:25 -04:00
Michael DeHaan
109632e3bc Revert "Vars specified via CLI have the highest priority."
Reverting as this as reported allows some variables to clobber each other.
We'll work on a different fix.

This reverts commit c5469f6367.
2012-10-21 16:42:15 -04:00
Daniel Hokka Zakrisson
1449c8ac67 Fix ansible_ssh_host again
This time with unit tests to ensure it keeps working.
2012-10-21 21:22:56 +02:00
Daniel Hokka Zakrisson
c9c5fc1456 Merge varFind and varLookup 2012-10-21 20:32:02 +02:00
Michael DeHaan
3c6d9972fe clarify message about name of configuration parameter 2012-10-21 07:12:06 -04:00
Michael DeHaan
cbc12f0dba Various performance streamlining and making the file features usable in all modules without daisy chaining. 2012-10-20 22:55:09 -04:00
Michael DeHaan
4104478abd Added 'script', a module that can push and insantly run a remote script. Replaces the need to copy+command.
This is a bit of a rough draft, some error handling still needs to be added.
2012-10-20 12:12:07 -04:00
Michael DeHaan
019f775a93 DWIM the paths for first_available_file 2012-10-20 11:11:31 -04:00
Michael DeHaan
6fa1a49037 Fix the basic templating system such that when the template ends in '$', life continues as normal. 2012-10-20 10:57:52 -04:00
Michael DeHaan
ed9f5eed09 Merge pull request #1338 from alopropoz/extra_vars_override
Vars specified via CLI have the highest priority.
2012-10-20 07:29:12 -07:00
Michael DeHaan
5bdc16338e Release version bump for 0.9 (development branch) 2012-10-19 21:01:57 -04:00
Michael DeHaan
cde377bddb Merge pull request #1385 from dhozac/raise-error-for-scripts-too
Raise error for missing hosts in inventory scripts as well
2012-10-19 07:30:01 -07:00
Daniel Hokka Zakrisson
b8021f12e0 Raise error for missing hosts in inventory scripts as well 2012-10-19 16:26:12 +02:00
Daniel Hokka Zakrisson
e3d18048d4 None is unfortunately not an integer 2012-10-19 16:18:38 +02:00
Michael DeHaan
d509dfc969 delete extra else clause 2012-10-18 20:27:39 -04:00
Michael DeHaan
452668ce83 Merge branch 'devel' of git://github.com/willthames/ansible into devel 2012-10-18 20:23:10 -04:00
Michael DeHaan
31b45479e8 When using delegation, local_action should always use the local connection type. 2012-10-18 20:18:33 -04:00
Daniel Hokka Zakrisson
979999b886 Port should be an integer 2012-10-18 21:48:57 +02:00
Daniel Hokka Zakrisson
19797e1a29 Accessing a node that doesn't exist throws an exception 2012-10-18 21:48:10 +02:00
willthames
5a769a5a4d Fixed tests to reflect desired configuration behaviour
Test for when environment variable and configuration file
variable both set now tests that the environment variable takes
precedence

Removed logic that would never be triggered from
lib/ansible/constants.py
2012-10-18 12:53:30 +10:00
Michael DeHaan
556799a7c4 add error message if keyczar is not installed and the user tries to use fireball mode 2012-10-17 22:53:22 -04:00
Michael DeHaan
d5db8e937e Fix port overrides such that with fireball mode you don't have to specify an explicit port. 2012-10-17 22:50:17 -04:00
Michael DeHaan
fd6a26239c Env var vs config priority fixing 2012-10-17 22:34:59 -04:00