Commit Graph

871 Commits (b4f1d0d0c2f8e580e972c75860a9e44dba89e3d8)

Author SHA1 Message Date
Lars Engels a49cd08832 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
8 years ago
Riccardo Murri 344927a6b1 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.
8 years ago
Toshio Kuratomi 432ee70da1 Fix syntax 8 years ago
Brian Coca 067167a9b3 switched to use built in function for validation 8 years ago
Antonio Murdaca dc7ba8f3c9 system/systemd: enable systemctl --user (#4208)
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
8 years ago
glovenglaven 9bb0c498df 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
8 years ago
Gregor Giesen 2f3fdc4975 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'.
8 years ago
Michael Scherer 5f652c7584 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.
8 years ago
Michael Scherer cee7473df6 Port mount.py to python3, need to use six.iteritems (#4581) 8 years ago
Michael Scherer 38992bbd57 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'
8 years ago
Michael Scherer 6063071a46 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 {}
8 years ago
Levi Morales 688fa6fc54 Fixes #2322 fix for missing append check on Darwin systems (#4256) 8 years ago
Ali Ok ab55355b00 Fix minor syntax error in authorized_key module doc (#4491) 8 years ago
Michael Scherer 21688383c3 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.
8 years ago
Michael Scherer 5f1d6ded7f Add support for setting fstab location on Linux too for mount (#3271)
Fix #3153
8 years ago
jctanner 4047096ac4 user: Cast all arguments to string before passing to run_command (#4398)
Fixes #4397
8 years ago
Brian Coca 1eb01d7612 remove X bit 8 years ago
Indrajit Raychaudhuri 23ebb98570 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).
8 years ago
Brian Coca f3e761f0c8 improved logic when dealing with init scripts 8 years ago
Brian Coca 92b4ae4768 fixes corner case for systemd services
when both unit file and sysv init script exist
Thanks to @olfway for fix.

fixes #3764
8 years ago
Evan Kaufman 4905ab66d6 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
8 years ago
BradLook 7c4de52693 Allow cron to target remote user (#4270) 8 years ago
Michael Scherer c46e425846 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.
8 years ago
Michael Scherer 21c9f0defc 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
8 years ago
Christian Schwarz 635c37cec6 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.
8 years ago
Marcos Diez f7558164b5 better authorized_keys documentation (#3739) 8 years ago
Brian Coca 7437b6b25f updated checkmode for update-rc.d
fixes #4146
8 years ago
jctanner db8af4c5af add gather_timeout parameter (#4093) 8 years ago
Christian Schwarz f5e8204dbc 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)
8 years ago
Brian Coca 380fb2be59 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.
8 years ago
Michael LoSapio e626803882 Showing some of the sysctl settings in proper yaml format per Ansible documentation (#4073) 8 years ago
Allen Sanabria 343c3ecfb9 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.
8 years ago
Thomas Quinot 00fb13010c Clarify behaviour when state=present and no name is given (#3904) 8 years ago
Robin Naundorf 9c52f781c9 Fixed Typo in Examples of systemd module (#3870) 8 years ago
Brian Coca a412451a89 fixed issue with multiline output from systemd
fixes #3868
8 years ago
Brian Coca c50859d20b fixed enabled state 8 years ago
Brian Coca b9686fbadf fixed reported state 8 years ago
Erik Nadel 7491a11581 Added statement about escaping characters in chron tasks (#3770) 8 years ago
Dmitry Marakasov 68cb864aad 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
8 years ago
Brian Coca 96b2bc9084 fixed enabled reporting 8 years ago
Brian Coca beb9ff9170 fixed typo 8 years ago
Brian Coca d03914ed63 added state in results for backwards compat 8 years ago
Brian Coca fb77ab49ab first draft systemd service plugin (#3660)
* first draft systemd service plugin

* now systemd status handles multiline values
8 years ago
Marcos Diez 873a7435df Added one extra example in the authorized_key module. (#3637) 8 years ago
Ken Mitchell b903c54bac Proposed fix to not require src and fstype arguments for mount. Issue #1259. (#1357) 8 years ago
jctanner 76b7de943b Do not ignore the primary group if modifying the list of secondary groups. (#3585)
Fixes #1118
8 years ago
Michael Scherer a62f088a24 Port seboolean to py3/py2.4 syntax (#3679) 8 years ago
Michael Scherer c1e40b73f7 Port mount to python3 and python 2.4 compatible syntax (#3678) 8 years ago
Michael Scherer f41a90eae4 Port authorized_keys to a syntax compatible with python3 and 2.4 (#3677) 8 years ago
Michael Scherer 2e0307e083 Port hostname to a py24 and py3 compatible syntax (#3676) 8 years ago