Commit graph

533 commits

Author SHA1 Message Date
Toshio Kuratomi
5336217649 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.
2016-12-08 11:22:58 -05:00
macbeth76
fce97365a4 Update user.py
M in date format is minutes. m is for months.
2016-12-08 11:22:58 -05:00
louis
9d20a3091e added skeleton support in user module 2016-12-08 11:22:57 -05:00
James Cammarata
d7ce6b0d4b Fix bug in service where upstart services incorrectly use init scripts
Fixes #1170
2016-12-08 11:22:57 -05:00
Evgenii Terechkov
37d6c10133 Add ALT Linux support to hostname module 2016-12-08 11:22:56 -05:00
Michael Scherer
f7707ea137 Name is a required parameter, fix https://github.com/ansible/ansible/issues/10335 2016-12-08 11:22:55 -05:00
Brian Coca
a6107e35e9 simplified bad if chain hopefully fixes #1136 2016-12-08 11:22:54 -05:00
Keith Johnson
06579c560e Make link clickable 2016-12-08 11:22:54 -05:00
James Cammarata
68a07a2bb5 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
2016-12-08 11:22:53 -05:00
David Wittman
15235a718d 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.
2016-12-08 11:22:52 -05:00
David Fritzsche
14720b54ac 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.
2016-12-08 11:22:50 -05:00
Sam Thursfield
5d2652f31b 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
2016-12-08 11:22:50 -05:00
Mario Loria
00613cd4f3 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.
2016-12-08 11:22:48 -05:00
Dag Wieers
43ef3a2bd9 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.
2016-12-08 11:22:46 -05:00
Toshio Kuratomi
9fa04de137 In service_enable, the default of changed is True so we have to set it to False explicitly if it is False.
Fixes #875
2016-12-08 11:22:46 -05:00
Carlo Mandelli
1f93a052d6 Added HP-UX subclass 2016-12-08 11:22:47 -05:00
Oleg A. Mamontov
845b6d78be On FreeBSD apply 'login_class' only if there is real change. 2016-12-08 11:22:45 -05:00
Edward Larkey
d17726bae9 Fix typo in authorized key module documentation.
Added opening double quote
2016-12-08 11:22:45 -05:00
Stefan J. Betz
aca24caa19 Create SSH Keys always after creating $HOME 2016-12-08 11:22:44 -05:00
Brian Coca
2278a69f7b fix for mount w/o opts (bug introduced when fixing bind mounts) 2016-12-08 11:22:43 -05:00
Jon Hadfield
90f5a23f34 use is-enabled to check systemd service status. 2016-12-08 11:22:42 -05:00
Graham Hay
15fcbcb0ee Use insserv where available 2016-12-08 11:22:42 -05:00
Sébastien Gross
164d518370 Add basic support for OSX groups. 2016-12-08 11:22:42 -05:00
Sébastien Gross
624be0e239 Add basic support for OS X (Darwin) user management. 2016-12-08 11:22:41 -05:00
Dagobert Michelsen
9991e8d8f1 Solaris SMF is already supported and should be mentioned in the docs, 2016-12-08 11:22:41 -05:00
Brian Coca
132c43a84f added note that url src is only avaialable from 1.9 on 2016-12-08 11:22:41 -05:00
Toshio Kuratomi
691f4cc049 Tabs to spaces 2016-12-08 11:22:41 -05:00
Paul Geraghty
5f24584010 Correct grammar of comment relating to example 2016-12-08 11:22:41 -05:00
Jesse Keating
6f4273a3ff 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.
2016-12-08 11:22:41 -05:00
Philippe ALEXANDRE
5b48ecc80a Add Linuxmint support in hostname module 2016-12-08 11:22:41 -05:00
Jeff Gonzalez
7ea6650d6c Refactored code to use module utility fetch_url function. 2016-12-08 11:22:41 -05:00
Jeff Gonzalez
04fb952d49 Added documentation for using url as key source 2016-12-08 11:22:41 -05:00
Brian Coca
b6a1927f13 now allows for case in which someone removed the K* links and is trying to reenable a service 2016-12-08 11:22:41 -05:00
Brian Coca
03273e06c7 simplified update-rc.d enable/disable handling, removed forced defaults creation as that breaks local customizations 2016-12-08 11:22:41 -05:00
Brian Coca
884471a6b5 implemented account expiration as flag and not state, removed from unsupported platforms 2016-12-08 11:22:40 -05:00
Toshio Kuratomi
a73bd8dcbc More information about distutils on Solaris in case we run into this again 2016-12-08 11:22:39 -05:00
Ben Konrath
96a20de9ff Add support for SL7 to hostname module. 2016-12-08 11:22:39 -05:00
Brian Coca
8405edd5a2 now handles non string values for sysctl 2016-12-08 11:22:38 -05:00
Patrik Lundin
88fe45d7e7 Update OpenBSD rcctl handling to use new syntax.
See http://marc.info/?l=openbsd-cvs&m=142054488027109&w=2
2016-12-08 11:22:38 -05:00
Tim G
b2e39265e1 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.
2016-12-08 11:22:38 -05:00
Tim G
ea77ac076b distutils is not available on some non-Linux OS's 2016-12-08 11:22:37 -05:00
Michael Scherer
0a745de765 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 )
2016-12-08 11:22:37 -05:00
Toshio Kuratomi
e75dc7e5a6 Clarify documented behaviour of user module's ssh_key_file parameter
Fixes #9873
2016-12-08 11:22:37 -05:00
Johnny Robeson
6fc04862a4 rename FedoraStratgy to SystemdStrategy 2016-12-08 11:22:37 -05:00
Jeff Gonzalez
30822706dd Added ability to use url as key source 2016-12-08 11:22:36 -05:00
Patrik Lundin
9803938663 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.
2016-12-08 11:22:36 -05:00
Patrik Lundin
d88080007a Fix typo: Replace "N0" with "NO". 2016-12-08 11:22:36 -05:00
Patrik Lundin
6594a1458d 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.
2016-12-08 11:22:36 -05:00
Jonathan Mainguy
aef138107c Fixes bind mounts
Fixed tab's and spaces, or so I think I did

Fixed tabs and spaces for real this time
2016-12-08 11:22:36 -05:00
billwanjohi
b019076dd3 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
2016-12-08 11:22:35 -05:00