Commit graph

812 commits

Author SHA1 Message Date
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
Michael DeHaan
cbb23201b7 Merge pull request #995 from mattupstate/devel
Use `get_bin_path` properly for supervisorctl module
2012-09-04 16:44:22 -07:00
Daniel Hokka Zakrisson
aa7feb076e Add backup to assemble 2012-09-04 16:04:53 +02:00
Daniel Hokka Zakrisson
25b34ddb60 Add backups to lineinfile 2012-09-04 16:04:53 +02:00
Daniel Hokka Zakrisson
14eaf79773 Move backup to module_common 2012-09-04 16:04:53 +02:00
willthames
65a0f60c30 Allow ~ expansion in chdir argument of command module
This allows the use of ~ in the chdir argument of the command module
I know the later change is absolutely necessary as the first change
was not sufficient. It may be that the first change fixes shell and
the second fixes command.
2012-09-04 14:22:53 +10:00
willthames
42ed10820b Subversion dest should allow ~ expansion
Used os.path.expanduser on dest to allow e.g. ~/svn/repo as
a destination
2012-09-04 10:15:13 +10:00
Michael DeHaan
b0dc015a13 Always pipe stderr in the setup module to avoid JSON interference. 2012-09-02 12:34:28 -04:00
Matt Wright
d145e043c7 Use get_bin_path properly 2012-08-31 15:03:26 -04:00
Matt Wright
6a67572e83 Fix supervisorctl module after merge issue 2012-08-31 11:03:14 -04:00
Michael DeHaan
2c2113430f chmod +x 2012-08-30 19:43:14 -04:00
Michael DeHaan
47ead9349b Merge branch 'binpath' of https://github.com/sfromm/ansible into devel
Conflicts:
	library/supervisorctl
2012-08-30 19:24:09 -04:00
Michael DeHaan
c02e4a0b5a Merge pull request #970 from mattupstate/devel
Improve apt_repository and supervisorctl
2012-08-30 16:21:47 -07:00
Michael DeHaan
d622f53c48 Merge pull request #971 from sfromm/seboolean
Add seboolean module
2012-08-30 16:10:30 -07:00
Michael DeHaan
a101a532a7 make parameter required 2012-08-30 19:09:02 -04:00
Michael DeHaan
4826341508 Merge pull request #974 from goozbach/add_selinux_module
add selinux module
2012-08-30 16:02:16 -07:00
Derek Carter
33edaf9663 add selinux module 2012-08-30 15:29:59 -04:00
Stephen Fromm
1222cf8de9 Add option required=(True|False) to get_bin_path and update modules
Added required as optional argument to get_bin_path(). It defaults to
false.  Updated following modules to use required=True when calling
get_bin_path():  apt_repository, easy_install, group, pip,
supervisorctl, and user.
Also removed _find_supervisorctl() from supervisorctl module and updated
_is_running() to not need it.
2012-08-30 11:01:37 -07:00
Matt Wright
d36d926bba Update handling of state changes 2012-08-30 12:37:02 -04:00
Matt Wright
46f962210a Move conditional that accounts for variances in distros/versions to work when removing and adding. 2012-08-30 12:35:37 -04:00
Stephen Fromm
5c7828415b Add seboolean module
Will manage values of seboolean on a host.  Options are name (name of
boolean), state (on or off), and persistent (on or off).  Persistent
defaults to no.
2012-08-30 09:33:09 -07:00
Stephen Fromm
f0da6b191a Migrate remaining modules to use get_bin_path in module_common.py
* Migraed easy_install, pip, service, setup, and user.
* Updated fail_json message in apt_repository
* Fixed easy_install to not hardcode location of virtualenv in
  /usr/local/bin/.
* Made handling of virtualenv more consistent between easy_install and
  pip.
2012-08-29 20:26:22 -07:00
Stephen Fromm
a284228e10 Migrate apt_repository, group, and supervisorctl to use module.get_bin_path 2012-08-29 16:24:49 -07:00
Daniel Hokka Zakrisson
61bc4bc0ed Add a lineinfile module 2012-08-30 00:07:58 +02:00