Commit graph

5025 commits

Author SHA1 Message Date
Michael DeHaan
8fc393a7ef Merge pull request #287 from dne/user-group-add-system
Add 'system' option for user and group modules
2012-05-01 15:54:45 -07:00
Michael DeHaan
395ae73066 Merge pull request #281 from dne/file-link-relative
File module fix for symlink from relative source path
2012-05-01 15:41:46 -07:00
Michael DeHaan
a0adf573a9 Merge pull request #289 from skvidal/devel
service enable=on/off
2012-05-01 15:40:59 -07:00
Jeroen Hoekx
5045841719 Make async wrapper kill the process it supervises.
It wasn't killing the job at all before.
Indentation was 3 spaces.
2012-05-01 18:38:26 -04:00
Seth Vidal
70f4956420 new service module handles enable=on/off for chkconfigging it on 2012-05-01 17:46:45 -04:00
Daniel Néri
0c4c3422f3 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.
2012-05-01 21:38:55 +02:00
Daniel Néri
546cacd172 File module fix for symlink from relative source path 2012-05-01 03:12:13 +02:00
Michael DeHaan
31f6cd6408 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.
2012-04-27 01:25:38 -04:00
Michael DeHaan
7c9c3b306a 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.
2012-04-26 22:43:36 -04:00
Michael DeHaan
2604d714e0 Merge branch 'devel' of https://github.com/jkleint/ansible into jkleint-devel 2012-04-26 22:23:09 -04:00
Seth Vidal
aa69614a8c fixes for yum module for rhel5 and issue 269 2012-04-27 17:38:46 -04:00
Seth Vidal
deae763793 very minor indentation issue in librar/copy 2012-04-27 16:45:28 -04:00
John Kleint
c8a542dda9 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`.
2012-04-27 13:35:24 -04:00
Michael DeHaan
0841cf4a85 Merge pull request #249 from jhoekx/octal-file-mode
Return the octal mode of a file instead of decimal.
2012-04-26 16:25:39 -07:00
Michael DeHaan
13b8a57386 Merge pull request #250 from jkleint/devel
Service module crashes if args has no "=".
2012-04-26 16:22:56 -07:00
Michael DeHaan
038a8cff28 Merge pull request #251 from sfromm/selinux
Selinux -- more fun
2012-04-26 16:20:49 -07:00
Stephen Fromm
b49b8528bf Change to socket.getfqdn() for fqdn fact 2012-04-26 08:39:47 -07:00
Stephen Fromm
61f63b66ff Update file module selinux-awareness
This adds selinux_mls_enabled() and selinux_enabled() to detect a)
whether selinux is MLS aware (ie supports selevel) and b) whether
selinux is enabled.  If selinux is not enabled, all selinux operations
are punted on -- same as if python's selinux module were not available.
In set_context_if_different(), I now iterate over the current context
instead of the context argument.  Even if the system supports MLS, it
may not return the selevel from selinux.lgetfilecon().  Lastly, this
drops selinux_has_selevel() in lieu of the current approach.
2012-04-26 07:31:25 -07:00
jkleint
808cd1b4e9 Service module crashes if args has no "=". 2012-04-26 10:48:50 -03:00
Jeroen Hoekx
3e9159b4d2 Return the octal mode of a file instead of decimal. 2012-04-26 14:55:31 +02:00
Stephen Fromm
41fed6ef0c Fix for issue #227
Older versions of selinux, such as that deployed on rhel5, only return a
context of user:role:type instead of user:role:type:level.  This detects
whether the tuple has three elements (old-style) or four.  If the
old-style, it keeps the secontext list at three elements.
2012-04-25 09:39:11 -07:00
cocoy
73349fba36 Bugfix for issue no. 229 2012-04-25 21:02:44 +08:00
Michael DeHaan
f27fbe86d5 Merge pull request #226 from cread/make-osx-tests-pass
Use the $HOME env var instead of hard coding /home/<username>
2012-04-24 15:22:43 -07:00
Jeroen Hoekx
48c210c5ff Ohai and facter modules should not use the ansible_facts API. 2012-04-24 16:57:04 +02:00
Michael DeHaan
46e8225bbf Fix bug in library/file 2012-04-24 08:10:50 -04:00
Michael DeHaan
21520d2d47 Fix bug in library/file 2012-04-24 08:06:32 -04:00
Michael DeHaan
f79a2cc6a3 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
f4bca7ea22 Merge branch 'integration'
Conflicts:
	lib/ansible/playbook.py
	lib/ansible/runner.py
	library/apt
2012-04-23 21:05:06 -04:00
Jeroen Hoekx
08ba4928dc 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
Daniel Néri
922899f4be 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
Stephen Fromm
332931b9b8 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
Daniel Néri
187ab3f918 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
73412513b8 Fix bug in src. Should not code this early :) 2012-04-20 08:09:43 -04:00
Michael DeHaan
d35de23c53 Don't try to expand path for None values 2012-04-20 08:02:12 -04:00
Michael DeHaan
ba882d98e1 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
f74984fb4a A better fix for slurp, expand path in the module. 2012-04-20 07:54:38 -04:00
Michael DeHaan
4a72e71cd7 Fixup slurp module usage when not running as root, fix error handling path in slurp module. 2012-04-19 11:38:44 -04:00
Daniel Néri
f6d0cc56a0 Fix two misspellings of the apt module's "fail_json" function 2012-04-19 23:40:44 +02:00
Michael DeHaan
bc06a49850 Backport typo fix from integration branch for apt module error path. 2012-04-19 09:14:43 -04:00
Michael DeHaan
908f01044c Add missing file (slurp) used by templates in non-playbook mode. 2012-04-19 09:03:40 -04:00
Michael DeHaan
eeb3cf7bd7 make all templating happen locally, so no jinja2 deps are ever required 2012-04-18 22:43:17 -04:00
Michael DeHaan
ea5b6876ba Merge pull request #160 from sfromm/facts
Facts
2012-04-18 18:28:48 -07:00
Stephen Fromm
573d4b4bad Rename serange to selevel to be consistent with selinux docs 2012-04-17 17:12:09 -07:00
Stephen Fromm
cfbd9b282b Add native facts to library/setup
This collects various facts from the host so that it isn't necessary to
have facter or ohai installed.  It gets various platform/distribution
facts, information about the type of hardware, whether a virtual
environment and what type, assorted interface facts, and ssh host public
keys.  Most facts are flat.  The two exceptions are 'processor' and all
interface facts.  Interface facts are presented as:
    ansible_lo : {
        "macaddress": "00:00:00:00:00:00",
        "ipv4": { "address": "127.0.0.1", "netmask": "255.0.0.0" },
        "ipv6": [
                    { "address": "::1", "prefix": "128", "scope": "host" }
                ]
    }
2012-04-17 16:59:23 -07:00
Tim Bielawa
c98ed049c3 Fix FSF address in virt header. 2012-04-17 10:30:44 -04:00
Jeroen Hoekx
37e18dfb13 template: expand path if metadata is in user home. 2012-04-17 11:16:53 +02:00
Martijn Koster
f2d9169672 comment typos 2012-04-13 11:19:36 +01:00
Stephen Fromm
5cdcd4b4a3 Add selinux support to file module
This adds the options: seuser, serole, setype, and serange to the file
module.  If the python selinux module doesn't exist, this will set
HAVE_SELINUX to False and punt in the related modules.

This takes the options the user provides and applies those to the
default selinux context as provided from matchpathcon().  If there is no
default context, this uses the value from the current context.  This
implies that if you set the setype and later remove it, the file module
will rever the setype to the default if available.
2012-04-12 10:45:31 -07:00
Michael DeHaan
02bcec578f Yum package state defaults to installed 2012-04-11 20:47:38 -04:00
Michael DeHaan
9d08eefa9a Also allow the apt module to use package or name as an alias for 'pkg' 2012-04-11 20:45:14 -04:00