Commit graph

585 commits

Author SHA1 Message Date
Jan-Piet Mens
d6625a2b1f Module DOCUMENTATION for template, wait_for, and yum 2012-09-29 00:49:02 +02:00
Michael DeHaan
550fa7ec27 Various fixes for the module documentation auto-generator 2012-09-27 21:30:32 -04:00
Michael DeHaan
5256ea7e75 Various tweaking to get the module formatter to work for 'make docs' in the docs project. Likely the templates for other module formatting types will have to change
by the time I'm done.
2012-09-27 21:06:31 -04:00
Michael DeHaan
ff9708fd65 Merge pull request #1098 from jpmens/ini_file
New module: manipulate INI-style settings
2012-09-27 16:03:45 -07:00
Daniel Hokka Zakrisson
bb1cc71d8a Remove assemble action plugin, fix daisychaining 2012-09-27 18:30:08 +02:00
Michael DeHaan
99c98a0875 The very first start of 'fireball mode', which uses ansible in SSH mode to deploy a ephemeral zeromq daemon (entirely optional) that is will die after
it is no longer used.  No key signing will be required.  At this point, development use only -- NOT complete.
2012-09-26 23:51:59 -04:00
Jan-Piet Mens
25d8c9b223 New module: manipulate INI-style settings
split off examples from DOCUMENTATION into own array as per #1098
2012-09-26 13:44:19 +02:00
Michael DeHaan
dd6f02dcb5 Merge pull request #1096 from sfromm/issue1067
Ignore failure of stop command if start succeeds with state=restarted
2012-09-26 04:02:02 -07:00
Stephen Fromm
3d09c6cc21 Ignore failure of stop command if start succeeds with state=restarted
In some cases (see issue #1067) with state=restarted, a failure to stop
the service (which wasn't running) would appear to the module to be a
failure to restart the service even though it successfully started the
service.  This changes the behavior of the service module to focus
on the return code of the start command.  If the rc of stop is not
0 and the rc of start does equal 0, it considers the service
successfully restarted.  It then ignores the rc, stdout, and stderr
from the unsuccessful stop command.
2012-09-25 22:51:13 -07:00
Stephen Fromm
77c88fa63a Give nice error message if destination directory doesn't exist (issue #1048) 2012-09-25 14:57:32 -07:00
Michael DeHaan
d786e876a7 Merge pull request #1071 from dhozac/git-expanduser
User-expand the destination path of the git module
2012-09-23 10:21:04 -07:00
Michael DeHaan
ca06b951ea Merge pull request #1066 from jpmens/doc3_lineinfile
Added DOCUMENTATION to lineinfile module
2012-09-23 10:20:08 -07:00
Michael DeHaan
85a9519313 Merge pull request #1073 from dcoutu/devel
Added cases for 'dead but subsys locked' status
2012-09-23 10:19:19 -07:00
Dave Coutu
5bf8415b3d Added cases for 'dead but subsys locked' status 2012-09-21 14:55:59 -04:00
Daniel Hokka Zakrisson
75583deb5b User-expand the destination path of the git module 2012-09-21 19:20:05 +02:00
Jan-Piet Mens
78c04b2cd8 Added DOCUMENTATION to lineinfile module 2012-09-19 22:29:11 +02:00
Jan-Piet Mens
af1f925eea Tweak DOCUMENTATION YAML as per latest 991 2012-09-19 16:09:26 +02:00
Michael DeHaan
9146fc74e1 Merge pull request #1062 from dagwieers/wait_for-fix
Fix on older python versions, plus various improvements
2012-09-19 06:36:56 -07:00
Dag Wieers
a05be4afbd Fix on older python versions, plus various improvements
This change includes:

 - (on possibly older python versions ?) a string variable test using the 'is' operator fails (so it always return ok immediately after initial delay)
 - add a missing socket.settimeout() for the state=started case (if the machine does not exist, timeout defaults to 60 seconds)
 - add a connect_timeout option to customize the default connection timeout
 - use socket.shutdown(2) to close immediately
 - return the elapsed time
2012-09-19 15:19:59 +02:00
Michael DeHaan
26f8b30653 Merge pull request #1054 from jpmens/geturl_doc1
First attempt at standardizing DOCUMENTATION string
2012-09-19 06:09:39 -07:00
Aleksej Romanov
31711062f7 Squashed commit of the following:
commit 80a26a8175b779b707bc08e9d28c451c30ee4ada
Merge: b25b9fd 61e9b27
Author: Michael DeHaan <michael.dehaan@gmail.com>
Date:   Tue Sep 18 21:01:47 2012 -0400

    Merge branch 'devel' of git://github.com/alopropoz/ansible into file-force

commit 61e9b27df2
Merge: 3f6f329 16bf3e1
Author: Aleksej Romanov <alopropoz2@yandex.ru>
Date:   Thu Sep 13 20:48:02 2012 +0700

    Merge remote branch 'upstream/devel' into devel

commit 3f6f3291df
Author: Aleksej Romanov <alopropoz2@yandex.ru>
Date:   Thu Sep 13 20:41:31 2012 +0700

    'force' option for 'file' module.

commit 6223bba941
Author: Aleksej Romanov <alopropoz2@yandex.ru>
Date:   Thu Sep 13 20:40:19 2012 +0700

    changed = True when changing symlink referent, #1008. Needed for tests.
2012-09-18 21:04:42 -04:00
Jan-Piet Mens
952a82cca0 First attempt at standardizing DOCUMENTATION string (new DICT) 2012-09-18 14:04:43 +02:00
Michael DeHaan
9f417e3502 Merge pull request #1052 from romeotheriault/add-SunOSVirtual-facts
Adding SunOSVirtual facts
2012-09-17 17:27:43 -07:00
Romeo Theriault
62f1347f69 Adding SunOSVirtual facts 2012-09-16 23:14:06 -10:00
Stephen Fromm
dc8c0ea467 Update package manager fact innards to a list of dicts 2012-09-16 21:42:55 -07:00
Stephen Fromm
6e7b94ad32 Add pkg_mgr fact to setup
This should help facilitate playbook decision making that are not
strictly distribution specific, but more package manager.
2012-09-16 21:42:54 -07:00
Michael DeHaan
974aad0125 Merge pull request #1038 from bcoca/atomic_copy2
Atomic copy2
2012-09-14 15:53:49 -07:00
Ali Asad Lotia
eb2bdb6642 url_get module returns dest
The url_get module now includes the destination in the returned JSON.
2012-09-14 08:34:41 +01:00
Ali Asad Lotia
6867d9730e Indicate thirsty argument required if dest is dir.
The check for the destination being a directory is now done before
checking if the file exists, that way the user is informed that the
thirsty argument is required.
2012-09-14 08:02:30 +01:00
Daniel Hokka Zakrisson
9b3ad14aee Invoke is_installed correctly from rpm path 2012-09-13 12:34:52 +02:00
Brian Coca
d682807c7b time is what i wanted, not gmtime
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
2012-09-12 14:52:54 -04:00
Brian Coca
7b44dd530f small fix to prevent temp file from living past its succesful usage
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
2012-09-12 14:47:06 -04:00
Brian Coca
0235be4db5 made copy atomic by creating tmp file in dest location (ensures same partition)
uses pid and epoch to prevent collisions, good enough for most cases
Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>
2012-09-12 14:42:51 -04:00
Michael DeHaan
3276c2f0c4 lineinfile should use 'search' everywhere 2012-09-08 14:53:34 -04:00
Michael DeHaan
9998d2985c Line in file regexep should match a portion of the line, not the whole line! 2012-09-07 21:03:59 -04:00
Michael DeHaan
65f6515e3d Merge pull request #1027 from mcodd/setup_bug_python24
setup not python24 compatible in 0.7
2012-09-08 05:24:09 -07:00
Michael DeHaan
386c1d83b5 Merge pull request #1023 from lorin/postgres-user-fix
Fix postgresql_user bug
2012-09-08 05:23:29 -07:00
Matt Coddington
3102ca41a7 make this python24 compatible 2012-09-07 22:47:03 -04:00
Lorin Hochstein
9eb12a2b81 Fix postgresql_user bug
If I create a database from scratch and assign permissions by doing:

      - name: ensure database is created
        action: postgresql_db db=$dbname

      - name: ensure django user has access
        action: postgresql_user db=$dbname user=$dbuser priv=ALL password=$dbpassword

Then it fails with the error:

  File "/tmp/ansible-1347048449.32-29998829936529/postgresql_user", line 565, in <module>
    main()
  File "/tmp/ansible-1347048449.32-29998829936529/postgresql_user", line 273, in main
    changed = grant_privileges(cursor, user, privs) or changed
  File "/tmp/ansible-1347048449.32-29998829936529/postgresql_user", line 174, in grant_privileges
    changed = grant_func(cursor, user, name, privilege)\
  File "/tmp/ansible-1347048449.32-29998829936529/postgresql_user", line 132, in grant_database_privilege
    prev_priv = get_database_privileges(cursor, user, db)
  File "/tmp/ansible-1347048449.32-29998829936529/postgresql_user", line 118, in get_database_privileges
    r = re.search('%s=(C?T?c?)/[a-z]+\,?' % user, datacl)
  File "/usr/lib/python2.7/re.py", line 142, in search
    return _compile(pattern, flags).search(string)
TypeError: expected string or buffer

This fix fixes the problem by not executing the regex if the
db query on pg_database returns None.
2012-09-07 16:24:00 -04:00
Seth Vidal
7c4bbb0a77 add import sys to virt module b/c it needs it if the libvirt python
module is missing
2012-09-07 16:05:42 -04:00
Michael DeHaan
3df57c699e Merge pull request #1000 from mavimo/patch-1
Add support to removes control param
2012-09-06 17:52:02 -07:00
Michael DeHaan
e84ba53a45 Merge pull request #1003 from bladypirat/devel
added support for custom port definition for postgresql_* modules
2012-09-06 17:51:35 -07:00
Michael DeHaan
a3b67ec039 Merge pull request #1005 from dagwieers/cmdline
Add /proc/cmdline information to the default facts
2012-09-06 17:51:19 -07:00
Jan-Piet Mens
cbcd04b692 Add support for RSA/DSA SSH host key detection in setup module for OS/X
s/<8spaces>/<4spaces>/g
2012-09-06 20:40:21 +02:00
Dag Wieers
cabbb9fce7 Add /proc/cmdline information to the default facts
The use-case here is that based on information in the /proc/cmdline certain actions can be taken.

A practical example in our case is that we have a play at the end of the provisioning phase that reboots the system. Since we don't want to accidentally reboot a system (or restart the network) on a production machine, having a way to separate an Anaconda post-install (sshd in chroot) with a normal system is a good way to make that distinction.

    ---
    - name: reboot
      hosts: all
      tasks:
      - action: command init 6
        only_if: "not '${ansible_cmdline.BOOT_IMAGE}'.startswith('$')"

A practical problem here is the fact that we cannot simply check whether it is set or empty:

    ---
    - name: reboot
      hosts: all
      tasks:
      - action: command init 6
        only_if: "'${ansible_cmdline.BOOT_IMAGE}'"

If ansible_cmdline was a string, a simple only_if: "'${ansible_cmdline}'.find(' BOOT_IMAGE=')" was an option, but still not very "beautiful" :-/

This implementation uses shlex.split() and uses split(sep, maxsplit=1).
2012-09-06 09:35:33 +02:00
Piotr Kweclich
41fde07e98 added support for custom port definition 2012-09-05 18:18:30 +02:00
Marco Vito Moscaritolo
c5ee1e7ec9 Add support to removes control param
Execute action only if specified file using param removes exist (execute reverse control of creates).

Some usage eg.:

```yaml
- name: enable apache2 default websites
  action: command /usr/sbin/a2ensite $item
creates=/etc/apache2/sites-enabled/$item
  with_items:
    - default
    - default-ssl

- name: disable apache2 default websites
  action: command /usr/sbin/a2dissite $item
removes=/etc/apache2/sites-enabled/$item
  with_items:
    - default
    - default-ssl
```
2012-09-05 14:06:47 +03:00
Michael DeHaan
08a3079166 Check for ipv6 2012-09-04 21:22:47 -04:00
Michael DeHaan
4223442992 backuplocal => backup_local for API standardization reasons 2012-09-04 19:49:49 -04:00
Michael DeHaan
de96d04093 Merge branch 'backup-common' of https://github.com/dhozac/ansible into devel 2012-09-04 19:45:39 -04:00