Commit graph

798 commits

Author SHA1 Message Date
Brian Coca
a15aa09251 removed typo 2015-10-01 10:16:34 -04:00
Brian Coca
f6bbd2ac5b removed syslog in favor of common module logging functions 2015-10-01 00:13:58 -04:00
Brian Coca
3e42527fde revert must_exist 2015-10-01 00:13:58 -04:00
Mike Boone
539c996ede Updated link to the FAQ. 2015-09-20 22:45:51 -04:00
Brian Coca
81a7243bbb changed chmod to 2.4 compat 2015-09-14 09:54:38 -04:00
Brian Coca
813053c51c Merge pull request #986 from ssssam/cron-permissions-fix
Fix permissions issue with 'cron' module
2015-09-11 16:37:16 -04:00
tobbe
75fed6e6d8 Merge remote-tracking branch 'upstream/devel' into devel 2015-09-05 22:50:55 +02:00
tobbe
30576ad0c7 add text to the description, more user friendly 2015-09-05 14:39:52 +02:00
Brian Coca
e278f285aa partially reverted previous change to deal with systemctl show status not returning errors on missing service
Now it looks for not-found key instead of running status which does return error codes when service is present but in diff states.
fixes #12216
2015-09-02 17:11:30 -04:00
Brian Coca
bbcfb1092a check systemctl status before show as show will not return antyhing other than rc=0 even when it fails. 2015-09-01 10:58:15 -04:00
Marius Gedminas
5595a9f81d authorized_key: fix example in documentation
'key=' cannot be pointing to a file name; it needs to be the key itself as a string (or a URL).
2015-08-31 09:08:35 +03:00
Tim Rupp
48f522455d Add hostname support for Kali linux 2.0
This patch allows the hostname module to detect and set the hostname for a
Kali Linux 2.0 installation. Without this patch, the hostname module raises
the following error

   hostname module cannot be used on platform Linux (Kali)

Kali is based off of Debian.
2015-08-28 20:35:24 -07:00
Benno Joy
8bf800d5c5 Merge pull request #1973 from mgedmin/user-no-ssh-keygen-in-check-mode
user: don't generate SSH keys in check mode
2015-08-27 12:13:06 +05:30
Marius Gedminas
4ae4331a6b user: don't generate SSH keys in check mode
Fixes https://github.com/ansible/ansible/issues/11768

Test plan:

- (in a Vagrant VM) created a user 'bob' with no ssh key
- ran the following playbook in check mode:

    ---
    - hosts: trusty
      tasks:
        - user: name=bob state=present generate_ssh_key=yes

- saw that ansible-playbook reported "changes=1"
- saw that /home/bob/.ssh was still absent
- ran the playbook for real
- saw that /home/bob/.ssh was created
- ran the playbook in check mode again
- saw that ansible-playbook reported no changes
- tried a variation with a different username for a user that didn't
  exist: ansible-playbook --check worked correctly (no errors, reported
  "changed")
2015-08-26 08:51:52 +03:00
Simon Li
428550e179 Don't fail in check_mode if user exists
PR #1651 fixed issue #1515 but the requirement for path to be defined is unecessarily strict. If the user has previously been created a path isn't necessary.
2015-08-21 17:55:28 +01:00
tobbe
8fa1e9515b Add suport for selinux user when adding a new user on selinux enabled
systems
2015-08-20 22:34:32 +02:00
Александр Костырев
31ec203583 Fix documentation of authorized_key.py
man for sshd http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man8/sshd.8?query=sshd
says there's no "host" option but "from".
2015-08-17 18:00:04 +03:00
Brian Coca
5d7cb981d3 made continue into a pass (there was no loop) 2015-08-13 10:05:30 -04:00
Brian Coca
6d7428527d minor doc fixes 2015-08-12 23:55:01 -04:00
Brian Coca
2fd171a5e1 Merge pull request #878 from EvanK/system-cron--disabled
cron module: Add disabled option for commented jobs
2015-08-12 23:50:47 -04:00
Brian Coca
cd0a1947c2 Merge pull request #1899 from austinhyde/fix-service-rcconf-newlines
Service module incorrectly handles lines not ending in a newline
2015-08-12 19:34:34 -04:00
Brian Coca
7a2687178e avoid shlex exceptions in rc parsing (happens with multiline entries)
fixes #1898
2015-08-12 18:10:24 -04:00
Brian Coca
0c403781a7 Merge pull request #1905 from evverx/fix-legacy-services-enabled
Fix service.enabled on: Debian 8, Ubuntu 15.04
2015-08-12 10:18:50 -04:00
Evgeny Vereshchagin
55e8863cb4 Fix service.enable on: Debian 8, Ubuntu 15.04
Workaround for https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=751638
See https://github.com/systemd/systemd/issues/937
2015-08-12 14:13:19 +00:00
Brian Coca
072c4f38ea Merge pull request #62 from 0x46616c6b/user-add-skeleton-support
Add support for skeleton directory (useradd -k) in user module
2015-08-12 09:17:35 -04:00
Austin Hyde
5c25057868 Always end rc.conf entries with a new line 2015-08-10 17:42:26 -04:00
Brian Coca
0e9fccd098 changed verbose override variable 2015-07-29 14:54:19 -04:00
James Cammarata
bc60c893f5 Prefer non-zero rc's over text analyis in service status checks
Fixes ansible/ansible#10441
2015-07-27 12:51:30 -04:00
saito-hideki
e91ad2ab6c Add Solaris support in hostname module
feature_pull_request: #1804
2015-07-25 23:32:55 +09:00
saito-hideki
b991a2708b Add Solaris support in hostname module 2015-07-25 21:48:13 +09:00
Brian Coca
a2b713edad Merge pull request #1790 from renard/allow-star-password-on-openbsd-2015-07-24
[user] Allow '*' as empty password.
2015-07-24 18:55:13 -04:00
KIKUCHI Koichiro
a3b9fb58bf Fix service enabled check failure on FreeBSD 2015-07-24 21:05:16 +09:00
Sébastien Gross
349195e689 [user] Allow '*' as empty password.
If `password` is defined as `*` `useradd` or `usermod` returns an error:

    msg: usermod: Invalid password: `*'

This works very well on Linux host to not define any password for a
user (mainly useful if your setup is only based on SSH keys for
auth). On OpenBSD this does not work, so we have to ignore the encrypted
password parameter if it defined as `*`.
2015-07-24 10:48:36 +02:00
fti7
6a872469fc mount: Support for Check-Mode 2015-07-23 15:51:24 -04:00
Brian Coca
718fd1f891 prevent usless assignment of home 2015-07-18 23:28:41 -04:00
Brian Coca
045b8e8cff Merge pull request #1733 from tersmitten/the-tilde-expansion-doesnt-work-with-userhome
The tilde expansion doesn't work with user.home
2015-07-18 23:26:20 -04:00
bambou
e04f75d872 Check if the gid is set 2015-07-18 17:53:02 +02:00
Mischa ter Smitten
0ca732baaf The tilde expansion doesn't work with user.home 2015-07-15 12:00:23 +02:00
Brian Coca
8546744418 Merge pull request #1286 from 0tmc/freebsd_mount_fix
Use of proper fstab file on FreeBSD
2015-07-07 17:59:29 -04:00
Sean Chittenden
c57d70ad20 Fix group mod and group add for FreeBSD 2015-07-07 12:06:52 -07:00
Brian Coca
03d4805074 Merge pull request #1279 from no2a/devel
Not use "is" to compare strings
2015-07-04 16:00:05 -04:00
Brian Coca
328b6b5a39 Merge pull request #1454 from grossws/patch-issue-530
Escape spaces, backslashes and ampersands in fstab
2015-07-04 15:13:27 -04:00
Brian Coca
2b209f8065 Merge pull request #1642 from sivel/core-fixups
Core module fix-ups
2015-07-01 11:00:47 -04:00
Toshio Kuratomi
1dc5074602 Merge pull request #1651 from verm666/issue-1515
fix authorized_keys in check_mode
2015-07-01 07:52:48 -07:00
Matt Martz
b6b576abf6 Replaced tabbed indentation with spaces for group module 2015-07-01 09:39:19 -05:00
verm666
b00b3f2b3c fix authorized_keys in check_mode
This change is in response to issue #1515.
Original pull request #1580.

The original problem is: in authorized_key module you have no idea about users
which will be created by Ansible at first run. I can propose next two ways to
solve this problem:

  1. Combine modules system/user.py and system/authorized_key.py in one module
     (so you will know everything about users in that module)
  2. Use small workaround: add my commit and always provide 'path' parameter
     for authorized_key module during runs with --check option.
2015-07-01 07:04:45 -07:00
Brian Coca
d59de3af63 Merge pull request #578 from sysadmin75/mount_dir_spaces
allows spaces in names for mount module
2015-06-29 18:15:06 -04:00
Evan Kaufman
1187399ffa Add disabled option to cron module 2015-06-28 11:29:31 -05:00
Brian Coca
6f6d7f5c18 updated docs to clarify use of exclusive 2015-06-27 00:10:45 -04:00
Brian Coca
fed5ff04a6 Merge pull request #742 from aseigneurin/fix-remove-cron_file
Name parameter should not be marked as mandatory
2015-06-26 19:09:45 -04:00
Hagai Kariti
9d833d1d4c Hostname module should update ansible_hostname 2015-06-21 12:07:41 +03:00
Konstantin Gribov
dadc1faebd Escape spaces, backslashes and ampersands in fstab
Fixes #530.

It's more generic than #578 which only fixes spaces escaping in name (target dir to mount).
Escaping is used in both `set_mount` (important for `src`, `name` and `opts`) and
`unset_mount` (for `name`).

It's shouldn't be used in `mount` and `umount` since `name` parameter is passed as array element
to `module.run_command`.

Signed-off-by: Konstantin Gribov <grossws@gmail.com>
2015-06-17 02:37:03 +03:00
Greg DeKoenigsberg
2a5f0bde87 Proper author info for all remaining modules 2015-06-15 15:53:30 -04:00
Brian Coca
9acc7c402f Revert "added innitial daemon-reloaded support to service module"
This reverts commit 438d87d269.
2015-06-10 12:53:34 -04:00
Brian Coca
438d87d269 added innitial daemon-reloaded support to service module 2015-06-08 20:12:30 -04:00
Patrik Lundin
fb41bdfc1e service: Fix comments in OpenBsdService class.
No functional change.
2015-05-27 08:05:30 +02:00
Brian Coca
d02ef57815 minor doc fix 2015-05-26 13:43:29 -04:00
Brian Coca
0c9dd0e6a4 Merge pull request #751 from j2sol/service_must_exist
Add service option to avoid failure on missing service
2015-05-26 13:39:08 -04:00
Brian Coca
1736c8dfea Merge pull request #1399 from SUSE/devel
Add SLE12 support to hostname.py
2015-05-26 10:08:52 -04:00
Jonathan Mainguy
442b6a2067 fixes check mode for Ubuntu 14.04 2015-05-22 21:28:36 -04:00
Vladislav Lewin
771b369005 add SLE12 support to hostname.py 2015-05-22 13:26:25 +02:00
Brian Coca
150b71f11a removed executable bit 2015-05-21 07:01:08 -04:00
Toshio Kuratomi
59ea9003ea Merge pull request #1359 from Jmainguy/hostname_64_chars
added nice error for systemd hosts where name > 64 chars
2015-05-20 17:49:21 -07:00
Toshio Kuratomi
8d2fdf2aff Update the cron docs to specify that it takes a boolean value 2015-05-19 14:23:23 -07:00
Toshio Kuratomi
4106047e77 Fix documentation of the variable that backup file name is returned in 2015-05-19 14:15:02 -07:00
Jonathan Mainguy
f7064c672c added nice error for systemd hosts where name > 64 chars 2015-05-18 23:02:05 -04:00
Brian Coca
78d84dc400 value should be string as that is what it compares against 2015-05-18 14:30:43 -04:00
Jonathan Mainguy
ffbdd349b8 added openbsd to hostname module 2015-05-17 23:42:49 -04:00
Semyon Deviatkin
4e22a8039c Fix unused variable systemd_enabled
Removed declared but unused variable systemd_enabled
2015-05-15 11:36:04 +03:00
Toshio Kuratomi
60a66a544d Several cleanups to many modules:
* Fix docs to specify when python2.6+ is required (due to a library
  dep).  This helps us know when it is okay to use python2.6+ syntax in
  the file.
* remove BabyJson returns.  See #1211  This commit fixes all but the
  openstack modules.
* Use if __name__ == '__main__' to only run the main part of the module
  if the module is run as a program.  This allows for the potential to
  unittest the code later.
2015-05-11 12:15:53 -07:00
0tmc
c3cb39dfa0 Use of proper fstab file on FreeBSD 2015-05-08 12:22:37 +03:00
macbeth76
bb2fc14865 Update user.py
M in date format is minutes. m is for months.
2015-05-07 16:55:28 -04:00
Arata Notsu
fff29f049e Not use "is" to compare strings
As "is" tests whether if operands are the same object rather than
they have the same value, potentially causes a wrong result.
2015-05-08 01:53:13 +09:00
James Cammarata
c4f6e63117 Fix bug in service where upstart services incorrectly use init scripts
Fixes #1170
2015-05-04 14:03:05 -05:00
Evgenii Terechkov
d1595b99bc Add ALT Linux support to hostname module 2015-04-25 01:25:14 +07:00
Michael Scherer
a4d7ebc12a Name is a required parameter, fix https://github.com/ansible/ansible/issues/10335 2015-04-19 12:39:36 -04:00
Toshio Kuratomi
b668ecc4a3 Merge pull request #1119 from ubergeek42/patch-1
Make link clickable
2015-04-15 03:35:32 -07:00
Brian Coca
727c9131c8 Merge pull request #1138 from bcoca/service_fix
simplified bad if chain
2015-04-14 14:04:28 -04:00
Brian Coca
f1d72ea004 simplified bad if chain
hopefully fixes #1136
2015-04-14 13:54:42 -04:00
Brian Coca
61f664bc47 Merge pull request #251 from davidfritzsche/patch-1
Add working status detection for pf on FreeBSD
i'm going to merge this to give you a usable workaround, still I consider this a bug in the init script.
2015-04-13 12:36:13 -04:00
Keith Johnson
7dc1e77263 Make link clickable 2015-04-09 15:44:00 -04:00
James Cammarata
4558cb71f4 Merge branch 'osx_user_fix' of https://github.com/bambou42/ansible-modules-core into bambou42-osx_user_fix
Includes commits for:
* Don't return change if the password is not set
* Set the group to nogroup if none is specified
* Set an uid if none is specified
* Test if SHADOWFILE is set (for Darwin)
* remove unused uid
2015-04-06 13:05:11 -05:00
David Wittman
8d53ef2f60 [service] Fix bug with upstart detection
Upstart scripts are being incorrectly identified as SysV init scripts
due to a logic error in the `service` module.

Because upstart uses multiple commands (`/sbin/start`, `/sbin/stop`,
etc.) for managing service state, the codepath for upstart sets
`self.svc_cmd` to an empty string on line 451.

Empty strings are considered a non-truthy value in Python, so
conditionals which are checking the state of `self.svc_cmd` should
explicitly compare it to `None` to avoid overlooking the fact that
the service may be controlled by an upstart script.
2015-03-25 17:37:18 -05:00
Sam Thursfield
adf1cba745 Fix permissions issue with 'cron' module
I have a task like this in a playbook. The ansible_ssh_user is 'root'
for this host.

    - cron:
        hour: 00
        job: /home/backup/backup.sh
        name: baserock.org data backup
        user: backup

Running it gave me the following error:

    TASK: [backup cron job, runs every day at midnight] ***************************
    failed: [baserock-backup1] => {"failed": true}
    msg: crontab: can't open '/tmp/crontabvVjoZe': Permission denied
    crontab: user backup cannot read /tmp/crontabvVjoZe

The temporary file created by the 'cron' module is created with the
Python tempfile.mkstemp() function. This creates a file that is readable
only by 'root' (mode 600). The Busybox `crontab` program then checks if
the file is readable by the 'backup' user, and fails if it isn't. So we
need to make sure the file is world-readable before running `crontab`.
2015-03-23 15:09:05 +00:00
Sam Thursfield
60397fae0f Fix authorized_key module crashing when given an invalid key
I tried a playbook with the following (accidentally wrong) task:

  tasks:
      - name: authorized key test
        authorized_key: key=/home/sam/.ssh/id_rsa.pub key_options='command="/foo/bar"' user=sam

I got the following traceback:

    TASK: [authorized key test] ***************************************************
    failed: [localhost] => {"failed": true, "parsed": false}
    Traceback (most recent call last):
    File "/home/sam/.ansible/tmp/ansible-tmp-1427110003.65-277897441194582/authorized_key", line 2515, in <module>
        main()
    File "/home/sam/.ansible/tmp/ansible-tmp-1427110003.65-277897441194582/authorized_key", line 460, in main
        results = enforce_state(module, module.params)
    File "/home/sam/.ansible/tmp/ansible-tmp-1427110003.65-277897441194582/authorized_key", line 385, in enforce_state
        parsed_new_key = (parsed_new_key[0], parsed_new_key[1], parsed_options, parsed_new_key[3])
    TypeError: 'NoneType' object has no attribute '__getitem__'

With this fix, I see the expected error instead:

    TASK: [authorized key test] ***************************************************
    failed: [localhost] => {"failed": true}
    msg: invalid key specified: /home/sam/.ssh/id_rsa.pub
2015-03-23 11:51:49 +00:00
Mario Loria
30be06c971 Setting the actual passno and dump defaults, and warning user of consequences in nulling
Using ansible 1.8.4, I found that these two options actually work slightly different than advertised.
2015-03-11 21:36:44 -04:00
Dag Wieers
0a91ace6ad Update authorized_key.py
Fix a (common) error in the examples. This is something that may go unnoticed during troubleshooting when copy&pasting the example.
2015-03-05 11:42:34 +01:00
Toshio Kuratomi
939ecd33d4 In service_enable, the default of changed is True so we have to set it
to False explicitly if it is False.

Fixes #875
2015-03-03 11:23:35 -08:00
Carlo Mandelli
0029c960e4 Added HP-UX subclass 2015-02-27 18:32:36 +01:00
Oleg A. Mamontov
fa19753707 On FreeBSD apply 'login_class' only if there is real change. 2015-02-27 14:41:35 +03:00
Edward Larkey
4db27877bf Fix typo in authorized key module documentation.
Added opening double quote
2015-02-25 09:00:31 -06:00
Stefan J. Betz
dc470cc91f Create SSH Keys always after creating $HOME 2015-02-21 12:00:47 +01:00
Brian Coca
5df3058aab fix for mount w/o opts (bug introduced when fixing bind mounts) 2015-02-18 15:28:39 -05:00
Brian Coca
1bca815d37 Merge pull request #95 from Gamevy/use-insserv
Use insserv where available
2015-02-16 18:52:38 -05:00
Brian Coca
ed8154bdc7 Merge pull request #759 from jonhadfield/systemd_enabled_check
use is-enabled to check systemd service status.
2015-02-16 12:29:44 -05:00
Sébastien Gross
67ce4cf416 Add basic support for OSX groups. 2015-02-13 10:14:37 +01:00
Sébastien Gross
1555cfeea2 Add basic support for OS X (Darwin) user management. 2015-02-13 10:14:37 +01:00
Dagobert Michelsen
1f2ffb3900 Solaris SMF is already supported and should be mentioned in the docs, 2015-02-12 17:04:31 +01:00
Brian Coca
55b06568b0 added note that url src is only avaialable from 1.9 on 2015-02-12 09:31:45 -05:00
Brian Coca
b82055f021 Merge pull request #648 from bcoca/service_fix_update-rc.d
simplified update-rc.d enable/disable handling,
2015-02-11 21:05:25 -05:00