Commit graph

6583 commits

Author SHA1 Message Date
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
Michael DeHaan
6ab8497a9a Allow yum module to use package or name as an alias for 'pkg' 2012-04-11 20:44:15 -04:00
Michael DeHaan
8e006f6088 Upgrade apt message if no python-apt to intercept potential user questions. 2012-04-11 20:31:24 -04:00
Michael DeHaan
e06cfa1ad8 Merge pull request #131 from mgwilliams/feature-fetch-module
Fetch Module
2012-04-11 16:55:51 -07:00
Matthew Williams
d4af9d97c1 fetch 'module' -- working with paramiko and local connections 2012-04-10 20:23:25 -07:00
Michael DeHaan
6f2bedc060 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
Michael DeHaan
16f3d018c0 Added 'creates=filename' to the shell/command module, which can skip command execution if a file
already exists
2012-04-06 11:16:53 -04:00
Seth Vidal
c7634619f3 handle incorrect commands w/o '=' slightly better 2012-04-05 17:03:36 -04:00
Michael DeHaan
c13c71c7d2 Merge pull request #114 from jhoekx/module-vars
Introduce task local variables.
2012-04-04 17:21:46 -07:00
Seth Vidal
7be9f1dfa8 edit comment to reflect real args 2012-04-04 17:25:02 -04:00
Seth Vidal
26a0644a27 add idempotent and ='s separated parameters to virt module to make people happy 2012-04-04 17:17:29 -04:00
Seth Vidal
7f328752be add virt module for libvirt interaction/support 2012-04-04 14:30:24 -04:00
Jeroen Hoekx
f728e8c536 Introduce per task variables and push them to templates. 2012-04-04 13:39:03 +02:00
Matthew Williams
f99a7f29e8 apt module bugfix 2012-04-03 12:52:08 -07:00
Michael DeHaan
18852d81f9 have apt module raise an error if apt cannot be imported 2012-04-02 20:54:31 -04:00
Michael DeHaan
1cfc35de6b If missing state or name or list parameter on yum module, raise error explaining what is up. 2012-04-02 20:12:35 -04:00
Michael DeHaan
043815a6e6 Fix syntax error in user patch 2012-04-02 20:08:40 -04:00
Michael DeHaan
7635686df7 Merge remote branch 'public/integration' 2012-04-02 20:02:46 -04:00
Michael DeHaan
5a08b426c6 Merge pull request #100 from mgwilliams/file-module-bugs
file module: mode formatting & directory ownership
2012-04-02 16:59:55 -07:00
Michael DeHaan
37cfaf402f Merge pull request #104 from mgwilliams/feature-apt
improvements to apt module
2012-04-02 16:59:28 -07:00
Matthew Williams
0ad5fec487 improvements to apt module: state=latest, update-cache=yes|no, purge=yes|no 2012-04-02 14:42:54 -07:00
Matthew Williams
3404fb4594 protecting against replacing file or directory with link 2012-04-02 10:21:14 -07:00
Seth Vidal
6cd4d7459c catch all exceptions and emit sensible errors - if we have a config file error this lets us know about it 2012-04-02 12:33:46 -04:00
Matthew Williams
ac85f48871 file module: mode formatting & directory ownership 2012-04-01 16:44:08 -07:00
Matthew Williams
ff8750bbdc "link" state in file module 2012-04-01 16:10:23 -07:00
Michael DeHaan
a3bd951bfb Eliminate possible race condition in async_wrapper where ansible deletes the argsfile while the module
is still kicking off.  Should not happen except in modules that are somewhat slow to load and probably
can be fixed better than the included sleep, i.e. some IPC communication that the process has
launched and is ok to exit.  This works pretty well for now though.
2012-04-01 02:35:19 -04:00
Michael DeHaan
dca511fa35 Surface module debug (-D) to /usr/bin/ansible also 2012-03-31 11:45:29 -04:00
Jeroen Hoekx
645640b88d Make copy module idempotent.
Check md5sum before overwriting a file. Unconditionally copying changes the timestamp.
2012-03-31 13:59:41 +02:00
Michael DeHaan
6f55ded1c3 Be more flexible about where the service binary lives for better cross platform support. 2012-03-30 22:57:26 -04:00
Jeroen Hoekx
3b7f17ab67 Fix except statement in template module.
Python 2.4 (RHEL 5) does not know 'as'.
2012-03-30 11:46:30 +02:00
Michael DeHaan
2e060c537f Added preliminary support for --sudo to ansible, playbook support and further testing pending. 2012-03-29 01:37:06 -04:00
Michael DeHaan
f8a51437f3 Merge pull request #101 from sfromm/user-module
Supplementary group membership now in users module
2012-03-28 16:24:26 -07:00
Michael DeHaan
749d8ed3ae Merge pull request #100 from sfromm/group-module
Remove support for membership from group module
2012-03-28 16:24:15 -07:00
Christopher Johnston
4183a96495 add support for running and started - both will do the same thing 2012-03-28 16:06:26 -07:00
Stephen Fromm
36e1e37f4f Drop support of group membership in group module
Use the user module to define group membership.
2012-03-28 14:29:23 -07:00
Stephen Fromm
cf6bfba2f8 Update user module to support supplementary group membership
This adds two options to the user module: groups and append.  groups is
a comma-delimited list of supplementary groups a user should belong to.
If a user is currently a member of a group not listed in groups, the
user will be removed from it.  To change this behavior, use append=yes.
This will append the user to the list of supplementary groups and *not*
remove the user from unlisted groups.
2012-03-28 14:12:35 -07:00
Michael DeHaan
306e1d865f Merge remote branch 'origin/master' 2012-03-26 23:05:05 -04:00
Seth Vidal
cb681e750b make sure latest outputs an error if the thing you've listed as 'latest'
is not there at all or even updateable
2012-03-27 14:15:48 -04:00
Seth Vidal
c32cb8dc18 fix up latest so it behaves like latest should
if installed and updated available: apply update
if not installed and available: install
2012-03-27 13:58:49 -04:00
Seth Vidal
bd3fdb89d4 make yum module work with older yum for rhel5 :( 2012-03-27 12:06:21 -04:00
Stephen Fromm
65667c5c9e Add group module to manage groups and group membership
This relies on groupadd, groupmod, groupdel, and gpasswd utilities on
the system.  You can optionally modify the gid for the group.  You can
also add/remove a user to/from a group with the option member.  Member
state is defined with the option memberstate.
2012-03-26 23:04:19 -04:00
Stephen Fromm
e44bf9e19c Update user module to support group name
This changes the gid option to group.  One may provide a primary group
as either a gid or a name.  The module will then check to verify that
the group already exists.  If the group does not already exist, the
module will fail.
2012-03-26 23:03:09 -04:00
Seth Vidal
616f7a2842 make sure latest outputs an error if the thing you've listed as 'latest'
is not there at all or even updateable
2012-03-26 23:02:09 -04:00