Commit Graph

807 Commits (d4285b5f21bacc72f8c22353f260d0e819680ef2)

Author SHA1 Message Date
Brian Coca 328b6b5a39 Merge pull request #1454 from grossws/patch-issue-530
Escape spaces, backslashes and ampersands in fstab
9 years ago
Brian Coca 2b209f8065 Merge pull request #1642 from sivel/core-fixups
Core module fix-ups
9 years ago
Toshio Kuratomi 1dc5074602 Merge pull request #1651 from verm666/issue-1515
fix authorized_keys in check_mode
9 years ago
Matt Martz b6b576abf6 Replaced tabbed indentation with spaces for group module 9 years ago
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.
9 years ago
Brian Coca d59de3af63 Merge pull request #578 from sysadmin75/mount_dir_spaces
allows spaces in names for mount module
9 years ago
Evan Kaufman 1187399ffa Add disabled option to cron module 9 years ago
Brian Coca 6f6d7f5c18 updated docs to clarify use of exclusive 9 years ago
Brian Coca fed5ff04a6 Merge pull request #742 from aseigneurin/fix-remove-cron_file
Name parameter should not be marked as mandatory
9 years ago
Hagai Kariti 9d833d1d4c Hostname module should update ansible_hostname 9 years ago
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>
9 years ago
Greg DeKoenigsberg 2a5f0bde87 Proper author info for all remaining modules 9 years ago
Brian Coca 9acc7c402f Revert "added innitial daemon-reloaded support to service module"
This reverts commit 438d87d269.
9 years ago
Brian Coca 438d87d269 added innitial daemon-reloaded support to service module 9 years ago
Patrik Lundin fb41bdfc1e service: Fix comments in OpenBsdService class.
No functional change.
9 years ago
Brian Coca d02ef57815 minor doc fix 9 years ago
Brian Coca 0c9dd0e6a4 Merge pull request #751 from j2sol/service_must_exist
Add service option to avoid failure on missing service
9 years ago
Brian Coca 1736c8dfea Merge pull request #1399 from SUSE/devel
Add SLE12 support to hostname.py
9 years ago
Jonathan Mainguy 442b6a2067 fixes check mode for Ubuntu 14.04 9 years ago
Vladislav Lewin 771b369005 add SLE12 support to hostname.py 9 years ago
Brian Coca 150b71f11a removed executable bit 9 years ago
Toshio Kuratomi 59ea9003ea Merge pull request #1359 from Jmainguy/hostname_64_chars
added nice error for systemd hosts where name > 64 chars
9 years ago
Toshio Kuratomi 8d2fdf2aff Update the cron docs to specify that it takes a boolean value 9 years ago
Toshio Kuratomi 4106047e77 Fix documentation of the variable that backup file name is returned in 9 years ago
Jonathan Mainguy f7064c672c added nice error for systemd hosts where name > 64 chars 9 years ago
Brian Coca 78d84dc400 value should be string as that is what it compares against 9 years ago
Jonathan Mainguy ffbdd349b8 added openbsd to hostname module 9 years ago
Semyon Deviatkin 4e22a8039c Fix unused variable systemd_enabled
Removed declared but unused variable systemd_enabled
10 years ago
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.
10 years ago
0tmc c3cb39dfa0 Use of proper fstab file on FreeBSD 10 years ago
macbeth76 bb2fc14865 Update user.py
M in date format is minutes. m is for months.
10 years ago
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.
10 years ago
James Cammarata c4f6e63117 Fix bug in service where upstart services incorrectly use init scripts
Fixes #1170
10 years ago
Evgenii Terechkov d1595b99bc Add ALT Linux support to hostname module 10 years ago
Michael Scherer a4d7ebc12a Name is a required parameter, fix https://github.com/ansible/ansible/issues/10335 10 years ago
Toshio Kuratomi b668ecc4a3 Merge pull request #1119 from ubergeek42/patch-1
Make link clickable
10 years ago
Brian Coca 727c9131c8 Merge pull request #1138 from bcoca/service_fix
simplified bad if chain
10 years ago
Brian Coca f1d72ea004 simplified bad if chain
hopefully fixes #1136
10 years ago
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.
10 years ago
Keith Johnson 7dc1e77263 Make link clickable 10 years ago
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
10 years ago
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.
10 years ago
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`.
10 years ago
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
10 years ago
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.
10 years ago
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.
10 years ago
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
10 years ago
Carlo Mandelli 0029c960e4 Added HP-UX subclass 10 years ago
Oleg A. Mamontov fa19753707 On FreeBSD apply 'login_class' only if there is real change. 10 years ago
Edward Larkey 4db27877bf Fix typo in authorized key module documentation.
Added opening double quote
10 years ago
Stefan J. Betz dc470cc91f Create SSH Keys always after creating $HOME 10 years ago
Brian Coca 5df3058aab fix for mount w/o opts (bug introduced when fixing bind mounts) 10 years ago
Brian Coca 1bca815d37 Merge pull request #95 from Gamevy/use-insserv
Use insserv where available
10 years ago
Brian Coca ed8154bdc7 Merge pull request #759 from jonhadfield/systemd_enabled_check
use is-enabled to check systemd service status.
10 years ago
Sébastien Gross 67ce4cf416 Add basic support for OSX groups. 10 years ago
Sébastien Gross 1555cfeea2 Add basic support for OS X (Darwin) user management. 10 years ago
Dagobert Michelsen 1f2ffb3900 Solaris SMF is already supported and should be mentioned in the docs, 10 years ago
Brian Coca 55b06568b0 added note that url src is only avaialable from 1.9 on 10 years ago
Brian Coca b82055f021 Merge pull request #648 from bcoca/service_fix_update-rc.d
simplified update-rc.d enable/disable handling,
10 years ago
Toshio Kuratomi b84f566ee7 Tabs to spaces 10 years ago
Brian Coca 8bccb27c41 Merge pull request #49 from Jmainguy/mount_bind_fix
Fixes bind mounts for some OSs, reproduced only on debian and ubuntu
10 years ago
Paul Geraghty b42b0f49b9 Correct grammar of comment relating to example 10 years ago
Jesse Keating e0c5b4340d Add exclusive option to authorized_keys
This option allows the module to ensure that ONLY the specified keys
exist in the authorized_keys file. All others will be removed. This is
quite useful when rotating keys and ensuring no other key will be
accepted.
10 years ago
Jon Hadfield b20b29bd17 use is-enabled to check systemd service status. 10 years ago
Philippe ALEXANDRE ac1a64e62f Add Linuxmint support in hostname module 10 years ago
Jesse Keating cf0e8d62d2 Add service option to avoid failure on missing service
This adds a must_exist option to the service module, which gives callers the
ability to be tolerant to services that do not exist. This allows for
opportunistic manipulation of a list of services if they happen to exist on the
host. While failed_when could be used, it's difficult to track all the
different error strings that might come from various service tools regarding a
missing service.
10 years ago
Brian Coca b9786835eb Merge pull request #554 from likwid/devel
Added ability to use url as key source
10 years ago
Graham Hay 17c7d9c5d5 Use insserv where available 10 years ago
Jeff Gonzalez 27c046ae79 Refactored code to use module utility fetch_url function. 10 years ago
Alexis Seigneurin 6d6e948f1e - 'name' should not be required so as to allow uninstalling a cron_file 10 years ago
Brian Coca 543c45a15f implemented account expiration as flag and not state, removed from unsupported platforms 10 years ago
Brian Coca fc1045a1ee Merge pull request #41 from billwanjohi/add_expired_state
user: add expired state
10 years ago
Jeff Gonzalez e9ae165792 Added documentation for using url as key source 10 years ago
Jonathan Armani 645e0653a3 Merge branch 'devel' into openbsd_rcctl 10 years ago
Toshio Kuratomi 4f1f8e89c9 More information about distutils on Solaris in case we run into this again 10 years ago
Toshio Kuratomi effdba95de Merge pull request #639 from tgolly/devel
distutils is not available on some non-Linux OS's
10 years ago
Brian Coca 8c4b279552 Merge pull request #39 from kustodian/selinux_disable_fix
Set selinux state to 'permissive' for state=disabled
10 years ago
Brian Coca d80e7438a6 Merge pull request #37 from mscherer/fix_old_7420
Add hostname to generated user SSH key comment
10 years ago
Brian Coca 6b784fb28a Merge pull request #675 from bcoca/sysctl_nonstrings
now handles non string values for sysctl
10 years ago
Ben Konrath 347234b937 Add support for SL7 to hostname module. 10 years ago
Brian Coca f85b7ee13c now handles non string values for sysctl 10 years ago
Brian Coca e957150f77 Merge pull request #189 from jarmani/openbsd_rcctl
Openbsd rcctl
10 years ago
Patrik Lundin e8c328773a Update OpenBSD rcctl handling to use new syntax.
See http://marc.info/?l=openbsd-cvs&m=142054488027109&w=2
10 years ago
Tim G 8f43a0a4fe Load distutils on all platforms EXCEPT Solaris.
Solaris doesn't ship distutils with with the default Python package.  This patch fixes "service" on Solaris since 30d6713.
10 years ago
Brian Coca 9ac5ed2621 now allows for case in which someone removed the K* links and is trying
to reenable a service
10 years ago
Brian Coca f4a709ad7c simplified update-rc.d enable/disable handling, removed forced defaults
creation as that breaks local customizations
10 years ago
Toshio Kuratomi 4c50fbedf4 Merge pull request #632 from mscherer/fix_uneeded_echo
Do not use echo shell builtin for password
10 years ago
Tim G 68b5b7be72 distutils is not available on some non-Linux OS's 10 years ago
Michael Scherer 826d313aad Do not use echo shell builtin for password
Using \t in a password may result in a different password
being set :

    $ echo 'a\ta'
    a   a

Problem report originally found by Pilou-
( https://github.com/ansible/ansible-modules-extras/pull/198 )
10 years ago
Brian Coca 8c8be0e48c Merge pull request #572 from jrobeson/rename-fedora-hostname-strategy
[hostname] rename FedoraStratgy to SystemdStrategy
10 years ago
Toshio Kuratomi 2973bac72f Clarify documented behaviour of user module's ssh_key_file parameter
Fixes #9873
10 years ago
sysadmin75 aa99eade7e ansible-modules-core #530 fix - Mount module does not accept spaces in mount point path 10 years ago
Johnny Robeson 50011f13d6 [hostname] rename FedoraStratgy to SystemdStrategy 10 years ago
Jeff Gonzalez 54214f83b5 Added ability to use url as key source 10 years ago
Peter Oliver 18c429d016 Fix appending to a user's group on Solaris
Without this change, you get:
    AttributeError: 'set' object has no attribute 'extend'

Tested on a Solaris 11.2 client with the included Python 2.6.8.
10 years ago
Toshio Kuratomi 443951ce82 Merge pull request #524 from zitterbacke/patch-1
re-enable AIX password setting
10 years ago
Toshio Kuratomi 67aeab9576 Merge pull request #512 from mscherer/fix_438
Revert commit cbc417c, as the code is broken, see #438
10 years ago
Jonathan Mainguy 541070be4c Fixed hostname for rhel5 python 2.4.3 10 years ago
zitterbacke 2e88582165 re-enable AIX password setting
the AIX class uses a unsafe shell for setting the user password (containing a pipe in the command). This patch adopts to the new behavior of module_utils/basic.py (since somewhere around 1.7).

besides it changes the qoutes for the echo command from double to single, because password-hashes contain $-signs and one would not have this variables expanded.
10 years ago
Michael Scherer 39cd64ec17 Revert commit cbc417c, as the code is broken, see #438
LooseVersion expect a string, so filtering to return a int
is incorrect. Thanks to Jeremy Brown for the analysis.
10 years ago
Toshio Kuratomi e1f90635af Don't traceback if a gid is specified instead of a group name
Fixes https://github.com/ansible/ansible/issues/9796
10 years ago
Patrik Lundin 2acfbf016d Handle string returned by 'default' correctly.
We need to handle the string returned by 'default' in the same way we handle
the string returned by 'status' since the resulting flags are compared later.
10 years ago
Brian Coca ba139b145b fixed hostname for gentoo 10 years ago
Brian Coca aba9e5e4f9 vastly simplified systemd detection, made enable/disable errors clearer
both of which allows us to remove 'service name detection' as if systemd
is init we still use it to handle initscripts.
10 years ago
Brian Coca df6d58614e now actually adds usable name for systemd when service only has init
script
10 years ago
Toshio Kuratomi 5af4463823 Gixes to doc formatting 10 years ago
Toshio Kuratomi 799a75580a Update cron example for setting to run twice a day
Fixes #415
10 years ago
Brian Coca 943f8fe7c9 Merge pull request #346 from bcoca/service_cleanup
service cleanup
10 years ago
Jonathan Mainguy a75bef5bc6 Fixes bind mounts
Fixed tab's and spaces, or so I think I did

Fixed tabs and spaces for real this time
10 years ago
Achilleas Pipinellis a375ce33d3 Clarify supported init systems. 10 years ago
Pascal Borreli 32a00ec3a3 Fixed typo 10 years ago
Fabrice Bernhard 1ef8c26c0e Typo in comments
Credit goes to @kbsali 
@pborreli : you did not see that one? :-)
10 years ago
Brian Coca 29d211e7ab service cleanup 10 years ago
Brian Coca f49120598f service now detects systemd is actually running, not just installed 10 years ago
Jonathan Mainguy 8b8008569f fixes user module for rhel5 by using -n instead of -N, all other distros will still use -N 10 years ago
Robert Estelle 4dd099fe7a Remove incorrect executable permissions. 10 years ago
Brian Coca 04680ce228 Merge pull request #286 from bcoca/hostname_24_compatible
made hostname work with python 2.4
10 years ago
Patrik Lundin eea4d06848 Fix typo: Replace "N0" with "NO". 10 years ago
Brian Coca 83669d7eda switched to iterator as per comments 10 years ago
Martijn P. Rijkeboer 5257222f33 Fix whitespace around '=' in sysctl.conf. 10 years ago
Brian Coca e4b6968901 made hostname work with python 2.4 10 years ago
David Fritzsche c96a85fb70 Add working status detection for pf on FreeBSD
The return code of "service pf onestatus" is usually zero on FreeBSD (tested with FreeBSD 10.0), even if pf is not running. So the service module always thinks that pf is running, even when it needs to be started.
10 years ago
Toshio Kuratomi 7f611468a8 Fix for systemd service scripts with newlines
Fixes #127
10 years ago
Patrik Lundin f9d9c1b6d7 Multiple fixes for OpenBSD rcctl handling.
* Use the newly added 'default' argument to know if the default flags are set
  or not.
* Handle that 'status' may either return flags or YES/NO.
* Centralize flag handling logic.
* Set action variable after check if we need to keep going.

Big thanks to @ajacoutot for implementing the rcctl 'default' argument.
10 years ago
Patrik Lundin e463400412 Simplify self.arguments logic.
Strange logic pointed out by @jarmani, thanks!
10 years ago
Patrik Lundin 924cf20cf8 Depend more on rcctl if it is present.
* Make the module support enable/disable of special services like pf via rcctl.
  Idea and method from @jarmani.
* Make the module handle when the user supplied 'arguments' variable does not
  match the current flags in rc.conf.local.
* Update description now that the code tries to use rcctl for everything if it
  is available.
10 years ago
Patrik Lundin 5f37624eb4 Tweak error checking for "enabled" code.
Based on input from @jarmani:
* A return value of 2 now means a service does not exist. Instead of
  trying to handle the different meanings of rc after running "status",
  just look at stderr to know if something failed.
* Skip looking at stdout to make the code cleaner. Any errors should
  turn up on stderr.
10 years ago
Patrik Lundin c6dd88c1d1 Fail if "rcctl status" writes to stderr. 10 years ago
Patrik Lundin 1a8cdb5e3e Check rc and print error message if any.
It is probably good to use stdout before printing a generic error
message as well.
10 years ago
Patrik Lundin c46e030100 Make "enabled" code aware of --check mode. 10 years ago
Jonathan Armani 1b97390765 Add enable / disable of services for OpenBSD if rcctl is present 10 years ago
louis 45f41f4b05 added skeleton support in user module 10 years ago
billwanjohi ff36edbb11 user: add expired state
ported from
https://github.com/ansible/ansible/pull/6303

It's very useful and routine to disable a *nix user.
I implemented expired instead of locked because this prevents any use of
the account, safer than just preventing password-based authentication.

I have tests [1], but since none of the suite came along with the core
modules, I'm unsure how to submit them.

[1] https://github.com/billwanjohi/ansible/blob/add_locked_state/test/integration/roles/test_user/tasks/main.yml
10 years ago
kustodian 82af074382 Set selinux state to 'permissive' for state=disabled 10 years ago
Michael Scherer 37d9903169 Add hostname to generated user SSH key comment
The default is not very useful to sort between different
keys and user. Adding the hostname in the comment permit to later
sort them if you start to reuse the key and set them in different
servers. See https://github.com/ansible/ansible/pull/7420
for the rational.
10 years ago
Michael DeHaan 385a037cd6 package files 10 years ago
Michael DeHaan c8e1a2077e file extensions! 10 years ago
Michael DeHaan 417309a626 Restructuring. 10 years ago
Michael DeHaan 73123b69fa Move modules into subdirectory. 10 years ago
Toshio Kuratomi 8b81062be0 The fix for gh-7284 causes problems for initscripts which have the
standards compliant return codes but return a verbose error message via
stdout.  Limit the times when we invoke the heuristic to attempt to work
around this.
10 years ago
Michael Scherer c9a0a7ae4b Fix #9704, correctly set changed as false when nothing is done 10 years ago
Toshio Kuratomi 7b100dd389 Be more specific in checking if a job restarted successfully.
Fixes: #9056
10 years ago
Toshio Kuratomi 36083c3b90 Failure to enable a service now fails the task
Fixes: 8855
10 years ago
Toshio Kuratomi a50258d26a remove debugging that was causing failure 10 years ago
Toshio Kuratomi 2e16bd3a44 Refactor the Linux service_enable() method
* Fix check_mode for initctl systems

Fixes #9009
10 years ago
Toshio Kuratomi 104401805b Revert "Refactor the Linux service_enable() method" needs some debugging
This reverts commit e294e31fd3.
10 years ago
Toshio Kuratomi c362902f50 Refactor the Linux service_enable() method
* Fix check_mode for initctl systems

Fixes #9009
10 years ago
Toshio Kuratomi a9928492f7 Make systemd vs rht detection more robust for centos
Centos 6.x and below use an old RHT style of configuring hostname.
CentOS 7.x and better use systemd.  Instead of depending on the
distribution string which seems to have changed over the course of 6.x
we need to explicitly check the version.

Fixes #8997
10 years ago
James Cammarata 7edcf21bdc Move initscript rc check to later in service status check
Fixes #7284
10 years ago
Michael DeHaan 5aa6ddef7f Tracebacks are now catchable with ignore_errors and have streamlined output. Also removes 'baby-JSON' for bash modules. 10 years ago