Commit Graph

296 Commits (39af9b5a8605748753fcc0e18c73e8228ed2dbb6)

Author SHA1 Message Date
Jiri Tyr be1036f461 Ultimate fix of the mount module for Linux (#5055) 2016-12-08 11:25:14 -05:00
Jiri Tyr 5a9f5918d3 Fixing bind mount on Linux (#1942) (#4439)
* Fixing bind mount on Linux

* Fixing broken implementation
2016-12-08 11:25:13 -05:00
Toshio Kuratomi 08874e4bf6 Fix #3153 again (#4989) 2016-12-08 11:25:13 -05:00
Toshio Kuratomi 27759ee58f Working subset of mount fixes (#4987)
* Fixing bind mount on Linux

* The latest update from jtyr doesn't pass integration tests.

Manually select the changes that are necessary to fix the bug with
unmounting
2016-12-08 11:25:13 -05:00
Lars Engels 8010b7f980 Add support for password aging on Solaris (#4372)
* Add support for password aging on Solaris

* Fix shadow file editing when {MIN,MAX,WARN}WEEKS is not set in /etc/default/passwd

* Un-break with python3

* _Really_ un-break with python3
2016-12-08 11:25:12 -05:00
Riccardo Murri 6733d1c72c hostname: Support "Scientific Linux CERN" (#4855)
CERN maintains its own fork of "Scientific Linux",
which identifies as "Scientific Linux CERN SLC".
This commit lets Ansible know that this is again
another variant of RHEL.
2016-12-08 11:25:05 -05:00
Toshio Kuratomi ae310d5034 Fix syntax 2016-12-08 11:25:05 -05:00
Brian Coca 6030bcdb47 switched to use built in function for validation 2016-12-08 11:25:04 -05:00
Antonio Murdaca b9962d2389 system/systemd: enable systemctl --user (#4208)
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-12-08 11:25:04 -05:00
glovenglaven 289e5f1884 Added Solaris support to core mount module (#4771)
* Added Solaris support to the mount module.

* Added checking so that if a non-standard fstab file is specified it will
still work in Solaris without breaking existing functionality.

* Added a check to avoid writing duplicate vfstab entries on Solaris

* Added "version_added" to new boot option
2016-12-08 11:25:04 -05:00
Gregor Giesen b87ef7772f cron: replacement for os.getlogin() (#4777)
os.getlogin() returns the user logged in on the controlling terminal. However
'crontab' only looks for the login name of the process' real user id which
pwd.getpwuid(os.getuid())[0] does provide.

While in most cases there is no difference, the former might fail under certain
circumstances (e.g. a lxc container connected by attachment without login),
throwing the error 'OSError: [Errno 25] Inappropriate ioctl for device'.
2016-12-08 11:25:04 -05:00
Michael Scherer 30cd0e8afe Add support for selinux_boolean_sub conversion (#4570)
SELinux since 2012 use a configuration file to
convert boolean names from a old name to a new name,
for preserving backward compatibility.

However, this has to be done explicitely when using the python
bindings, and the module was not doing it.

Openshift ansible script use this construct to detect if
a boolean exist or not:

    - name: Check for existence of virt_sandbox_use_nfs seboolean
      command: getsebool virt_sandbox_use_nfs
      register: virt_sandbox_use_nfs_output
      failed_when: false
      changed_when: false

    - name: Set seboolean to allow nfs storage plugin access from containers(sandbox)
      seboolean:
        name: virt_sandbox_use_nfs
        state: yes
        persistent: yes
      when: virt_sandbox_use_nfs_output.rc == 0

On a system where virt_sandbox_use_nfs do not exist, this work. But
on a system where virt_sandbox_use_nfs is a alias to virt_use_nfs (like
Fedora 24), this fail because the seboolean is not aware of the alias.
2016-12-08 11:24:58 -05:00
Michael Scherer f4158304ac Port mount.py to python3, need to use six.iteritems (#4581) 2016-12-08 11:24:56 -05:00
Michael Scherer f2b6c7b6a2 Fix user module under python3 (#4560)
Using something like:

    - name: Create ssh keys
      user:
        name: root
        generate_ssh_key: yes
      register: key

result into this traceback on F24

    Traceback (most recent call last):
      File \"/tmp/ansible_jm5d4vlh/ansible_module_user.py\", line 2170, in <module>
        main()
      File \"/tmp/ansible_jm5d4vlh/ansible_module_user.py\", line 2108, in main
        (rc, out, err) = user.modify_user()
      File \"/tmp/ansible_jm5d4vlh/ansible_module_user.py\", line 660, in modify_user
        return self.modify_user_usermod()
      File \"/tmp/ansible_jm5d4vlh/ansible_module_user.py\", line 417, in modify_user_usermod
        has_append = self._check_usermod_append()
      File \"/tmp/ansible_jm5d4vlh/ansible_module_user.py\", line 405, in _check_usermod_append
        lines = helpout.split('\\n')
    TypeError: a bytes-like object is required, not 'str'
2016-12-08 11:24:56 -05:00
Michael Scherer 898cf5b462 Fix traceback on python3 (#4556)
Traceback (most recent call last):
  File "/tmp/ansible_csqv781s/ansible_module_systemd.py", line 374, in <module>
    main()
  File "/tmp/ansible_csqv781s/ansible_module_systemd.py", line 263, in main
    for line in out.split('\\n'): # systemd can have multiline values delimited with {}
2016-12-08 11:24:56 -05:00
Levi Morales 0c9d895438 Fixes #2322 fix for missing append check on Darwin systems (#4256) 2016-12-08 11:24:55 -05:00
Ali Ok 1e411f9551 Fix minor syntax error in authorized_key module doc (#4491) 2016-12-08 11:24:54 -05:00
Michael Scherer 338a8c8632 Convert command output to native string (#4559)
Without it, the module always return changed on python3,
which is harmless but add noise and can have some side effects.
2016-12-08 11:24:54 -05:00
Michael Scherer 1f8b2f3e6e Add support for setting fstab location on Linux too for mount (#3271)
Fix #3153
2016-12-08 11:24:52 -05:00
jctanner 6c439a4882 user: Cast all arguments to string before passing to run_command (#4398)
Fixes #4397
2016-12-08 11:24:50 -05:00
Brian Coca 16ccde49ad remove X bit 2016-12-08 11:24:49 -05:00
Indrajit Raychaudhuri fb255b3607 Improve hostname module to support systemd in more generic way (#4382)
Now that there is general purpose `Fact` helper to detect if systemd
is active, we would be able to rely on that to apply SystemdStrategy.

Detecting presence of systemd at runtime would be more reliable than
distribution version based heuristics. (e.g., Debian, Ubuntu allows
user to change the default init system, Gentoo allows switching as
well, and so on).
2016-12-08 11:24:49 -05:00
Brian Coca ab3a87cc1a improved logic when dealing with init scripts 2016-12-08 11:24:49 -05:00
Brian Coca 3c89a21e0c fixes corner case for systemd services
when both unit file and sysv init script exist
Thanks to @olfway for fix.

fixes #3764
2016-12-08 11:24:49 -05:00
Evan Kaufman 3a44d60fbc Fixes #3791 cron always returning changed state for multiline jobs (#4285)
Strip only newlines and carriage returns. Instead of stripping ALL whitespace, which may have unintended side effects
2016-12-08 11:24:49 -05:00
BradLook 766413e79d Allow cron to target remote user (#4270) 2016-12-08 11:24:49 -05:00
Michael Scherer cd3c454917 Add a example with a non service unit (#4355)
Since the documentation focus mostly on service
units, a explicit example may help people realizing
it can be used for socket and timer too.
2016-12-08 11:24:48 -05:00
Michael Scherer 3c2110215c Do not hardcode default ssh key size for RSA (#4074)
By default, ssh-keygen will pick a suitable default for ssh keys
for all type of keys. By hardocing the number of bits to the
RSA default, we make life harder for people picking Elliptic
Curve keys, so this commit make ssh-keygen use its own default
unless specificed otherwise by the playbook
2016-12-08 11:24:47 -05:00
Christian Schwarz e526b2ad3d system/service.py: fix false-positive service enablement on FreeBSD. (#4283)
sysrc(8) does not exit with non-zero status when encountering a
permission error.

By using service(8) `service <name> enabled`, we now check the actual
semantics expressed through calling sysrc(8), i.e. we check if the
service enablement worked from the rc(8) system's perspective.

Note that in case service(8) detects the wrong value is still set,
we still output the sysrc(8) output in the fail_json() call:
the user can derive the exact reason of failure from sysrc(8) output.
2016-12-08 11:24:46 -05:00
Marcos Diez f10413b919 better authorized_keys documentation (#3739) 2016-12-08 11:24:43 -05:00
Brian Coca 72eaf0281a updated checkmode for update-rc.d
fixes #4146
2016-12-08 11:24:43 -05:00
jctanner d5b35eb8db add gather_timeout parameter (#4093) 2016-12-08 11:24:42 -05:00
Christian Schwarz e25cb4df77 service module: use sysrc on FreeBSD (#4042)
* service module: use sysrc on FreeBSD

sysrc(8) is the designated userland program to edit rc files on FreeBSD.

It first appeared in FreeBSD 9.2, hence is available on all supported
versions of FreeBSD.

Side effect: fixes #2664

* Incorporate changes suggested by bcoca.

- Use `get_bin_path` to find sysrc binary.
- Only use sysrc when available (support for legacy versions of FreeBSD)
2016-12-08 11:24:41 -05:00
Brian Coca 186db40864 make daemon reload first thing always run
otherwise service detection can fail before we run it which might
be required to actually detect the service.
2016-12-08 11:24:41 -05:00
Michael LoSapio 20d8103b53 Showing some of the sysctl settings in proper yaml format per Ansible documentation (#4073) 2016-12-08 11:24:41 -05:00
Allen Sanabria 6d6b8a1823 Fixes #1715 Allow authorized_module accept multi. (#3573)
This will allow the authorized_module to accept options that can be
passed multiple times into ssh options. For instance permitopen.
2016-12-08 11:24:38 -05:00
Thomas Quinot 0bd32c3465 Clarify behaviour when state=present and no name is given (#3904) 2016-12-08 11:24:36 -05:00
Robin Naundorf 03515fc26c Fixed Typo in Examples of systemd module (#3870) 2016-12-08 11:24:35 -05:00
Brian Coca 03f06ca2e8 fixed issue with multiline output from systemd
fixes #3868
2016-12-08 11:24:35 -05:00
Brian Coca cffe358260 fixed enabled state 2016-12-08 11:24:33 -05:00
Brian Coca df1b03d0c6 fixed reported state 2016-12-08 11:24:33 -05:00
Erik Nadel 6f5dfcf1bd Added statement about escaping characters in chron tasks (#3770) 2016-12-08 11:24:32 -05:00
Dmitry Marakasov 13d7a61160 Fix crontab argument order for writing (#3750)
Currently, when writing user's crontab, ansible calls

    crontab <file> -u <user>

This is incorrect according to crontab(1) on both FreeBSD and Linux,
which suggest that file argument should be the last.

At least on FreeBSD, this leads to incorrect cron module bahavior which
writes to root's crontab instead of users's
2016-12-08 11:24:31 -05:00
Brian Coca 01819bbc9d fixed enabled reporting 2016-12-08 11:24:31 -05:00
Brian Coca 38d71b9eef fixed typo 2016-12-08 11:24:31 -05:00
Brian Coca 472d5c11ef added state in results for backwards compat 2016-12-08 11:24:31 -05:00
Brian Coca 8085678dc8 first draft systemd service plugin (#3660)
* first draft systemd service plugin

* now systemd status handles multiline values
2016-12-08 11:24:31 -05:00
Marcos Diez d34c5dfd69 Added one extra example in the authorized_key module. (#3637) 2016-12-08 11:24:30 -05:00
Ken Mitchell 8c2b333a73 Proposed fix to not require src and fstype arguments for mount. Issue #1259. (#1357) 2016-12-08 11:24:30 -05:00
jctanner c952753735 Do not ignore the primary group if modifying the list of secondary groups. (#3585)
Fixes #1118
2016-12-08 11:24:30 -05:00
Michael Scherer cca89ef489 Port seboolean to py3/py2.4 syntax (#3679) 2016-12-08 11:24:29 -05:00
Michael Scherer c793571bc3 Port mount to python3 and python 2.4 compatible syntax (#3678) 2016-12-08 11:24:29 -05:00
Michael Scherer fd61e81764 Port authorized_keys to a syntax compatible with python3 and 2.4 (#3677) 2016-12-08 11:24:28 -05:00
Michael Scherer 907b3fb667 Port hostname to a py24 and py3 compatible syntax (#3676) 2016-12-08 11:24:28 -05:00
Michael Scherer e02f401225 Port sysctl to a py3 and py24 compatible syntax (#3675) 2016-12-08 11:24:28 -05:00
Michael Scherer f0fd1109dd Port cron to a py3 and py24 compatible syntax (#3674) 2016-12-08 11:24:28 -05:00
Michael Scherer f2212dc41a Port user module to python3 and 2.4 compatible syntax (#3673) 2016-12-08 11:24:28 -05:00
Toshio Kuratomi 93fe022aa4 Port to dual python2/python3 compat 2016-12-08 11:24:27 -05:00
Toshio Kuratomi e10b7e1773 Port ping to dual python3/2 compat. 2016-12-08 11:24:27 -05:00
James Tanner bc39f8c42e Revert "remove checking of stderr for insserv (#1846)"
This reverts commit 2ee6e4cf668a9bba77c3bb019d473f3614563838.
2016-12-08 11:24:26 -05:00
TheSameCH ca8bf6ab4c remove checking of stderr for insserv (#1846)
stderr of insserv can also contain warnings which can be ignored. checking rc only is more accurate.
fixes #1502
2016-12-08 11:24:26 -05:00
Brian Coca 8a4257d297 removed incorrect defaults from docs 2016-12-08 11:24:23 -05:00
Konstantin Gribov 9284c80039 Escape spaces, backslashes when create new entry in fstab (#3193)
Supplement to PR #1454 and issue #530.

Fixes #3192.
Fixes #1861 (introduced by PR #1454).

Signed-off-by: Konstantin Gribov <grossws@gmail.com>
2016-12-08 11:24:23 -05:00
Guido Falsi 582a5bccc8 Make FreeBSD subclass respect the sleep option. 2016-12-08 11:24:20 -05:00
Michael Scherer 5b32a299a5 Change home and ssh_key_file to 'path' in user module 2016-12-08 11:24:20 -05:00
Joshua Kugler 15ae8c8e0b Fix mount's handling of passno 2016-12-08 11:24:17 -05:00
Robin Roth ee06cd27b2 use custom ismount function in mount module (#2737)
* based on cpython os.path.ismount
* includes patch from http://bugs.python.org/issue2466
* fixes #2186
* when the upstream bug is fixed this should be removed/rewritten
* use ismount from module_utils
2016-12-08 11:24:17 -05:00
Toshio Kuratomi 4c40886814 Remove the ignore_ohai and ignore_facter parameters as the functionality was merged into gather_subset 2016-12-08 11:24:12 -05:00
Tobias Wolf 368cf59e4b Add diff and check mode to cron module
supports not writing backup file in check mode and new environment
vars.

![example screenshot](http://i.imgur.com/mkAThq8.png)
2016-12-08 11:24:12 -05:00
Yannig Perré 02abe0b7c9 Use list type in order to convert directly gather_subset option into list. 2016-12-08 11:24:12 -05:00
Yannig Perré 12804a80b6 Add a way to restrict gathered facts in Ansible: - Using gather_subset options - By ignoring ohai/chef or facter/puppet facts 2016-12-08 11:24:12 -05:00
Joao Carreira 92d76e8828 added support for sles 10 & 11 2016-12-08 11:24:11 -05:00
Brian Coca 9e0aef8ea2 docs updates and fixes
fixes http://github.com/ansible/ansible/issues/14876
2016-12-08 11:24:11 -05:00
davidobrien1 072c68ea79 Restore filter on Windows and version reference for Windows facts. 2016-12-08 11:24:10 -05:00
David O'Brien ce7a86b4ce Add documentation to setup.py and remove use of $params.fact_path in setup.ps1 2016-12-08 11:24:09 -05:00
Toshio Kuratomi 646d0e406d Set one parameter to be type path 2016-12-08 11:24:08 -05:00
Ton Kersten b58e16ed3d Fix facter path
In Puppet 4 and in the PE edition, the Puppet tree is installed in
`/opt/puppetlabs/...` and all commands can be reached from
`/opt/puppetlabs/bin`.
2016-12-08 11:24:07 -05:00
Matt Martz aaf762573e Various simple linting type cleanups on modules 2016-12-08 11:24:06 -05:00
jjshoe a160d5426d List which version it was added
fixes https://github.com/ansible/ansible-modules-core/issues/2605
2016-12-08 11:24:05 -05:00
Luca Berruti feb309e3cf Typo. 2016-12-08 11:24:04 -05:00
Brian Coca b5c9945485 avoid chmod in check mode 2016-12-08 11:24:04 -05:00
Brian Coca 5aff573098 revamped checkmode support in user module
- defaulted to commands not executing in checkmode
- added force run for info gathering (for setting changed)
- added debug for what would have been run in check mode
- added check mode for spots that made changes using system calls instead of command
- removed now redundant checkmode checks

better failure now, if i missed anything, it will misreport changed value
instead of old default of actually making the change in checkmode
2016-12-08 11:24:04 -05:00
Matt Clay 642746d0a3 Make modify_user_usermod honor check mode on AIX. 2016-12-08 11:24:03 -05:00
Matt Clay 04ad3fe304 Make modify_user honor check mode on OS X. 2016-12-08 11:24:02 -05:00
Matt Clay c87f70429b Make modify_user honor check mode on FreeBSD. 2016-12-08 11:24:01 -05:00
Toshio Kuratomi f6aa1ff9a4 Remove duplicate documentation fields 2016-12-08 11:24:01 -05:00
Toshio Kuratomi b6ff36bed3 Fix documentation build in hostname 2016-12-08 11:24:01 -05:00
Hiroaki Nakamura f2246deaf9 Doc: Add NOTE about hostname modules does not modify /etc/hosts 2016-12-08 11:24:00 -05:00
Thomas Quinot ef3308159f Allow cron_file to be an absolute path
Support specifying an absolute path (typically /etc/crontab) rather than
a path relative to /etc/cron.d, to allow modifying the main system crontab.
Particularly useful for target systems that have /etc/crontab but no
/etc/cron.d.
2016-12-08 11:24:00 -05:00
Luca Berruti 0673a4919f cron module: add enviroment variables management 2016-12-08 11:23:59 -05:00
Brian Coca 4c6515e299 reverse order of cron commands
does not affect linux but fixes issue with busybox caring about order
fixes #2807
2016-12-08 11:23:58 -05:00
Jeroen Seegers 7be08b00b0 Update cron.py
Minor update to documentation for the cron module to reflect the required "name" parameter when the value of "state" is "absent".
2016-12-08 11:23:58 -05:00
Brian Coca f8a36c4047 service goes back to failing when absent
if no tools and no init script, this should always fail
2016-12-08 11:23:53 -05:00
Brian Coca f435f887fa better handling of checkmode for solaris fixes #2296 2016-12-08 11:23:51 -05:00
tobbe 65f12bccb6 add text to the description, more user friendly 2016-12-08 11:23:51 -05:00
tobbe 455da45e62 Add suport for selinux user when adding a new user on selinux enabled systems 2016-12-08 11:23:51 -05:00
Michael Scherer 55f2345829 Remove a unneeded use of use_unsafe_shell
Since use_unsafe_shell is suspicious from a security point
of view (or it wouldn't be unsafe), the less we have, the less
code we have to toroughly inspect for a security audit.
2016-12-08 11:23:51 -05:00
nitzmahone 0d0b78dd1e fixed disappearing groups on OSX user module
Ensure that we don't try to modify the groups collection if groups are not specified
2016-12-08 11:23:51 -05:00
Dominique Barton 5c05016d1e bugfix for issue #2537 2016-12-08 11:23:51 -05:00
Sina Sadeghi 2ad9c6c9e5 Update hostname.py
Added support for FreeBSD. (http://www.freebsd.org)
2016-12-08 11:23:50 -05:00