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
ec56b30248
Merge pull request #198 from dne/apt-default-release
...
Implemented optional "default-release" argument for apt module
2012-04-22 16:42:01 -07:00
Daniel Néri
d5f3760acc
Add optional "default-release" argument for apt module
...
The value is passed to apt-get's "-t" option. Useful for installing backports, e.g.:
ansible webservers -m apt -a "pkg=nginx state=latest default-release=squeeze-backports"
2012-04-23 00:17:07 +02:00
Michael DeHaan
1c5bcb606e
Merge pull request #197 from sfermigier/master
...
Add missing deps in setup.py
2012-04-22 07:42:17 -07:00
Stefane Fermigier
f7469f8704
Add requirements in setup.py.
2012-04-22 16:33:19 +02:00
Michael DeHaan
9dc1b6d79d
Merge pull request #192 from sfromm/selinux
...
Update secontext behavior in file module
2012-04-22 05:09:38 -07:00
Stephen Fromm
bcfa6a7865
Add another example to file_secontext.yml
...
Demonstrate what happens when there is no default context in the policy.
2012-04-22 00:14:40 -07:00
Stephen Fromm
0f044e64f8
Add example playbook of file module's selinux capabilities
2012-04-21 23:30:08 -07:00
Stephen Fromm
be58995278
Add context=default option to file module
...
This adjusts behavior of file module such that removal of se* option
does not revert the file's selinux context to the default. In order to
go back to the default context according to the policy, you can use the
context=default option.
2012-04-21 23:27:34 -07:00
Michael DeHaan
e3967af656
Merge pull request #191 from dne/apt-install-version
...
Apt module support for installing/removing specific version of package
2012-04-21 18:38:11 -07:00
Daniel Néri
ec4d5fa287
Add apt module support for installing/removing specific version of package
...
This uses standard APT syntax, e.g.:
ansible webservers -m apt -a "pkg=nginx=1.1.19-1 state=installed"
2012-04-22 02:48:58 +02: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
e36a52f06c
Ignore pyflakes E261 style output (multiple spaces before inline comment)
2012-04-21 12:05:15 -04:00
Michael DeHaan
edb8988e8e
Unused imports
2012-04-21 12:04:21 -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
f72114c657
Move setup.py stuff back to top level as "make sdist" was not working, plus, it makes sources cleaner.
2012-04-21 11:56:06 -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
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
c0c691089d
Fix bug in src. Should not code this early :)
2012-04-20 08:09:43 -04:00
Michael DeHaan
7794493952
Don't try to expand path for None values
2012-04-20 08:02:12 -04:00
Michael DeHaan
445e48b991
Call os.path.expanduser in modules so things work as expected even when using ./hacking/test-module script
2012-04-20 07:57:39 -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
70734f5968
Update bin/ansible to fix usage of inventory API + no more verbose option
2012-04-19 09:21:21 -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
Michael DeHaan
d4a5c4aee1
Merge pull request #181 from leucos/integration
...
Adds PKGBUILD file for Arch linux
2012-04-19 15:57:22 -07:00
Michael DeHaan
4f0ed20295
Merge pull request #182 from tbielawa/moveManifest
...
Move manifest
2012-04-19 15:56:46 -07:00
Michael DeHaan
3a0c5c0b7b
Merge pull request #183 from dne/apt-fixes
...
Apt module spelling fixes
2012-04-19 15:23:22 -07:00
Daniel Néri
626e8f3543
Fix two misspellings of the apt module's "fail_json" function
2012-04-19 23:40:44 +02:00
Tim Bielawa
516df5f64f
Move packaging related things out of the root directory:
...
Distutils MANIFEST.in, setup.py -> packaging/distutils/ directory.
2012-04-19 13:50:09 -04:00
Michel Blanc
3fae2ea8a4
Fixes Arch PKGBUILD dependencies
...
Adds missing depends (python2-yaml helps...)
Adds missing build deps (fakeroot)
2012-04-19 19:26:41 +02:00
Michel Blanc
a672a5549a
Adds ArchLinux build file
...
Adds PKGBUILD file required to build Arch Linux packages
2012-04-19 15:30:26 +02:00
Michael DeHaan
86878be288
Backport typo fix from integration branch for apt module error path.
2012-04-19 09:14:43 -04:00
Michael DeHaan
4578b17213
Add missing file (slurp) used by templates in non-playbook mode.
2012-04-19 09:03:40 -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
51dfb6f88c
Add PyYAML requirement
2012-04-19 00:14:37 -04:00
Michael DeHaan
b70ed206c6
Add debian build notes... makefile target pending, some changes to instructions possibly
...
needed due to moving into packaging/debian?
2012-04-18 23:26:08 -04:00
Michael DeHaan
645e7afaa6
Make note that the integration branch is the development branch (will rename later)
2012-04-18 23:21:55 -04:00
Michael DeHaan
5bf32f9c90
Add gentoo packaging pointer
2012-04-18 22:51:54 -04:00
Michael DeHaan
8539f4926a
Move debian under packaging subdirectory
2012-04-18 22:50:09 -04:00
Michael DeHaan
9cd492befe
make all templating happen locally, so no jinja2 deps are ever required
2012-04-18 22:43:17 -04:00