jkleint
b50c50748e
_chain_file_module() calls .get() on error string
...
runner._return_from_module() normally returns a list (?) of `[str,bool,dict,str]`, but on error it returns `[str,bool,str,str]`. runner._chain_file_module() then tries to call .get() on the third item (`data2`), which fails when it's a string. This patch only accesses `data2` if the return value was `ok`. It might be better to return consistent types in both cases, but I'm not sure where/how else the return value is used.
2012-04-24 17:21:01 -03:00
Seth Vidal
41619278e5
handle issues when the hostlist is inadvertently set executable
...
and/or executing it fails. This produces a nicer error message than
a traceback
2012-04-24 11:03:14 -04:00
Michael DeHaan
02abb5a83b
Merge pull request #217 from jhoekx/connection-fixes
...
Expand user in ssh identity file
2012-04-24 07:40:33 -07:00
Jeroen Hoekx
973b1fe02e
Fix incorrect merge of custom-facts branch.
...
This fixes #216 .
2012-04-24 16:11:56 +02:00
Jeroen Hoekx
c2f1aefaf1
Expand user in SSH identity file.
2012-04-24 15:56:46 +02:00
Jeroen Hoekx
1804df0bae
Whitespace fixes in connection.py
2012-04-24 15:56:04 +02:00
Matt Coddington
d34160ed26
cast ssh port number as integer
2012-04-24 00:38:24 -04:00
Michael DeHaan
89c013035e
Merge branch 'integration' of https://github.com/cocoy/ansible into cocoy-integration
2012-04-23 21:30:44 -04:00
Michael DeHaan
bced4c9db1
Merge branch 'jhoekx-custom-facts' into devel
2012-04-23 21:25:26 -04:00
Michael DeHaan
49cca98f1e
Merge branch 'custom-facts' of https://github.com/jhoekx/ansible into jhoekx-custom-facts
...
Conflicts:
lib/ansible/runner.py
2012-04-23 21:24:52 -04:00
Michael DeHaan
346df537b4
Merge branch 'integration' of https://github.com/jkleint/ansible into jkleint-integration
2012-04-23 21:21:43 -04:00
Michael DeHaan
7de90c4e64
Version bump for integration branch (soon to be renamed 'devel'), didn't update package
...
changelogs yet since this isn't released yet (but 0.3 is)
2012-04-23 21:14:48 -04:00
Michael DeHaan
4d62510997
Version bump for 0.3 release
2012-04-23 21:11:43 -04:00
Michael DeHaan
a8707e48e8
Fix merge issue
2012-04-23 21:06:47 -04:00
Michael DeHaan
c00699d0ef
Merge branch 'integration'
...
Conflicts:
lib/ansible/playbook.py
lib/ansible/runner.py
library/apt
2012-04-23 21:05:06 -04:00
Michael DeHaan
321ed53e3a
Fetch module doesn't set invocation parameter as it invokes nothing, so don't let that be an error.
2012-04-23 21:02:39 -04:00
jkleint
e69e078569
More robust remote sudo.
...
The basic idea is sudo /bin/sh -c 'quoted_command'. We use Paramiko's low-level API to set a timeout, get a pseudo tty, execute sudo and the (shell quoted) command atomically, wait just until sudo is ready to accept the password before sending it down the pipe, and then return the command's stdout and stderr.
This should be faster, as there are no unneeded sleeps. There are no permissions issues reading the output. It will raise socket.timeout if the command takes too long. However, this is a per-read timeout, not a total execution timeout, so as long as the command is writing output and you are reading it, it will not time out.
Local and non-sudo commands remain unchanged, but should probably adopt a similar approach.
Since this is a significant change, it needs a lot of testing. Also, someone smarter than I should double-check the quoting and execution, since it is a security issue.
2012-04-23 17:32:08 -03:00
Jeroen Hoekx
2dc9a563ef
Allow modules to return facts.
...
If the module result contains "ansible_facts", that will be added to the setup
cache.
2012-04-23 21:28:12 +02:00
cocoy
c844a2d072
Fix to skip /.ssh/config if don't exist rather than raise an error.
2012-04-23 14:32:57 +08:00
cocoy
645b7a2dff
Add .ssh/config support
2012-04-23 09:48:42 +08:00
Michael DeHaan
533c2c6126
Make it possible to use facts from hosts in templates for other hosts.
...
It works like this:
{{ hostvars['127.0.0.1']['ansible_eth0']['ipv4']['address'] }}
2012-04-21 12:45:37 -04:00
Michael DeHaan
767282df2a
Small style fixes for indentation and spacing.
2012-04-21 12:06:54 -04:00
Michael DeHaan
bed5da6086
Remove unused assignment
2012-04-21 12:03:29 -04:00
Michael DeHaan
ddc0342920
Unused import
2012-04-21 12:01:37 -04:00
Michael DeHaan
1e7b60b9a5
Unused import
2012-04-21 12:01:26 -04:00
Michael DeHaan
9d0f2a6e9b
Unused import
2012-04-21 12:01:15 -04:00
Michael DeHaan
3081bb93f1
Use /var/tmp for root by default to avoid /tmp being mounted noexec, and segregate tmp files for other users
...
into their home directories.
2012-04-21 11:38:39 -04:00
Michael DeHaan
3d72260887
Make it such that modules with no arguments work fine in playbooks (like ping, which is
...
non-sensical, but also if the user wrote a module that took none)
2012-04-21 11:26:48 -04:00
Michael DeHaan
c6b8e1621d
A better fix for slurp, expand path in the module.
2012-04-20 07:54:38 -04:00
Michael DeHaan
13ba31231e
Fixup slurp module usage when not running as root, fix error handling path in slurp module.
2012-04-19 11:38:44 -04:00
Michael DeHaan
8a433ecb96
Merge branch 'align-vars-syntax' of https://github.com/jhoekx/ansible into jhoekx-align-vars-syntax
2012-04-19 09:15:48 -04:00
Jeroen Hoekx
cdb8213dcc
Supported 'listed' vars in playbooks.
2012-04-19 09:40:17 +02:00
Jeroen Hoekx
903e4f6eae
Support dicts in inventory vars.
2012-04-19 09:40:17 +02:00
Michael DeHaan
9cd492befe
make all templating happen locally, so no jinja2 deps are ever required
2012-04-18 22:43:17 -04:00
Michael DeHaan
30d06dbcea
Don't force down ansible facts back to setup, the setup module won't like parsing them on input and that
...
data is already there.
2012-04-18 22:23:33 -04:00
Michael DeHaan
5fa3d9b148
Teach playbooks to template locally to eliminate the need for Jinja2 on remote nodes.
...
You still need jinja2 if using /usr/bin/ansible vs /usr/bin/ansible-playbook though
this could change later by fetching the ansible file with a 'slurp' module.
2012-04-18 22:19:25 -04:00
Michael DeHaan
da0209dbc4
The fetch module really should preserve the whole directory structure being fetched to allow subsequent calls,
...
particularly in playbook, to recreate the host tree structure. Making it thus.
2012-04-18 21:12:48 -04:00
Jeroen Hoekx
22ff8282a8
Template template module source.
2012-04-18 14:26:33 +02:00
Jeroen Hoekx
b678cf783c
Template the source file of the copy module.
2012-04-18 11:40:15 +02:00
Michael DeHaan
de70277173
No need to save setup files to disk, this is what SETUP_CACHE effectively does.
2012-04-17 19:39:11 -04:00
Jeroen Hoekx
aa555b8b16
Inventory: AnsibleError is not global...
2012-04-17 15:29:59 +02:00
Michael DeHaan
da6cb1ca6e
Less scrolling over constructor params now that documentation follows
2012-04-16 23:51:03 -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
78b5cd64d0
Add pydoc for constructors. Some arguments can be trimmed as we plan to remove the need for them (like setup_cache and
...
maybe module_vars) with various pending refactoring.
2012-04-16 23:45:15 -04:00
Michael DeHaan
9ce27be878
Remove extra_vars tests
2012-04-16 23:03:04 -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
Michael DeHaan
08468dcb0c
Fixes to make ports DWIM.
2012-04-16 21:52:15 -04:00
Michael DeHaan
957867e088
Merge branch 'yaml-inventory' of https://github.com/jhoekx/ansible into jhoekx-yaml-inventory
...
Conflicts:
lib/ansible/runner.py
2012-04-16 21:14:44 -04:00
Michael DeHaan
a5cb16c9d7
Use correct user to determine host files path, do not reuse .ansible
...
which is already taken for ansible management ops.
2012-04-16 21:12:54 -04:00
Michael DeHaan
6307267cf3
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-16 21:12:54 -04:00