Commit Graph

655 Commits (a3cfe0d72f1d206aed9895be322625c7595ef71d)

Author SHA1 Message Date
Matt Clay 8deced3e04
Fix shebangs and file modes and update tests. (#40563)
* Add execute bit sanity test and apply fixes.
* Add shebang test for `lib` dirs and apply fixes.
* Shebang and execute bit cleanup.
2018-05-22 14:25:36 -07:00
Adrian Lopez 7255b6a151 Fixes #29818: chkconfig command is not daemonized, uses run_command()
In the last commit I modified the code to run commands when they are
daemonized. But the execution of "chkconfig" is not daemonized so it
uses "self.module.run_command(cmd)".

This commit set the default localize to allow proper screen scraping of
chkconfig command.
2018-05-21 12:54:18 -04:00
Adam Miller cc61c86049
sysvinit service module (#34962)
* sysvinit service module

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-05-17 17:32:27 -05:00
Artem Goncharov db786b846f fixes issue 39472: (#40341)
With python 3.6 spwd.getspnam returns PermissionError instead of
KeyError if user does not have privileges
2018-05-17 17:22:40 -04:00
bengerman 82f6f08712 allow non-integer values in /etc/default/passwd to mirror solaris behavior 2018-05-17 16:57:58 -04:00
Sam Doran c9d3bb59a4 Do not join flag parameters in iptables module (#36658)
* Do not join flag parameters

This put a comma between every character of the tcp flag parameters, resulting in a bad iptables command.

Fixes #36490

* Use suboptions to ensure tcp_flags options are lists

* Add unit tests for tcp_flags

* Add example of how to use tcp_flags
2018-05-17 13:53:51 -04:00
Sam Doran 13aff08748 Add better error messages and checking to known_hosts (#38307) 2018-05-17 13:53:40 -04:00
Brian Coca 677fe1076d
User unexpire (#39758)
* Allow negative values to expires to unexpire a user

Fixes #20096

(cherry picked from commit 34f8080a19c09cd20ec9c045fca1e37ef74bb1e6)
(cherry picked from commit 54619f70f4b79f121c5062d54e9732d3cbb24377)
(cherry picked from commit 8c2fae27d6e2af810112032bb1dfef5459035b7e)
(cherry picked from commit db1a32f8caa8c8b9f989baa65784d4b2b5cad1f8)

* tweaked and normalized

 - also added tests, made checking resilient
2018-05-17 11:34:13 -04:00
Pierre-Louis Bonicoli 19356c03e8 filesystem tests: update ocfs2 fs size on Trusty
Using Ubuntu 14.04, test fails because 'blkid' < 2.21 doesn't recognize
'ocfs2' filesystem smaller than 108Mo:
6baa150398

filesystem: fix MKFS_FORCE_FLAGS for ocfs2

mkfs.ocfs2 -F won't work because mkfs.ocfs2 asks for a confirmation:

    $ mkfs.ocfs2 -F img
    mkfs.ocfs2 1.6.4
    Cluster stack: classic o2cb
    Overwriting existing ocfs2 partition.
    WARNING: Cluster check disabled.
    Proceed (y/N):

The undocumented 'x' switch must be used too.
2018-05-17 11:18:18 -04:00
Luc 51af25bf60 remove bad lines
add new line and update choice documentation
adding description for ocfs2 support
use correct variable ansible_distribution to test ocfs2 with Debian
distribution
use ansible_os_family for Debian
increase ocfs2 fs size to 20M (minimal size 11 instead of 10M)
2018-05-17 11:18:18 -04:00
lchantre 4f86bec977 Update filesystem.py
add ocfs2 support for module filesystem
Update setup.yml
delete trailing spaces
add ocsfs2 defaut var
Install ocfs2-tools for all linux
Testing ocfs2 on for Ubuntu - restrict blkid to be be done
2018-05-17 11:18:18 -04:00
Colin Nolan 3dd33e7417 Corrects environment variable in example. (#40162) 2018-05-15 17:22:07 -05:00
Toshio Kuratomi 38ab36a625 Revert "Configurable list of facts modules (#31783)" (#40022)
This reverts commit 95655fae5c.
2018-05-14 13:46:14 -07:00
Felix Kaechele a8bdcd19f0 firewalld: amend docs for python3 only hosts (#40048)
Signed-off-by: Felix Kaechele <felix@kaechele.ca>
2018-05-14 08:38:10 -05:00
Brian Coca 8654508cbd
added check mode spport to package_facts (#39801)
* added check mode spport to package_facts

fixes #39789

* also service_facts
2018-05-11 14:04:08 -04:00
Brian Coca 95655fae5c
Configurable list of facts modules (#31783)
* configurable list of facts modules

 - allow for args dict for specific modules
 - add way to pass parameters
 - avoid facts poluting test
 - move to 'facts gathered' flag
 - add 'gathering' setting tests
2018-05-11 13:59:54 -04:00
lu1as 21004d86f9 "route" has to be the first option in ufw command (#31756)
For supporting deletion of ufw routes, route option has to be placed before delete option
2018-05-11 16:21:27 +01:00
Ed Schaller 5ac41ee8d8 Fix interfaces_file to accept allow-* (#37847) 2018-05-11 13:47:06 +01:00
Ikrom 9254f67f3e Update firewalld.py (#39951)
Typo fixed

+label: docsite_pr
2018-05-10 12:13:53 +02:00
Sachidananda Urs 3324765fdd lvg: Allow unit to be specified for pesize (#39666) 2018-05-07 07:50:58 +02:00
Shinichi TAMURA 75e69fe709 timezone module: fixed timezone identification logic in *BSD (#36715) 2018-05-05 10:26:38 -04:00
Adam Miller 69affddc7f
Add firewalld Rich Rule port forwarding example (#39534)
Example provided by Mike Cardwell (@mikehardenize) in an issue
comment 28349#issuecomment-385354551

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-05-01 16:33:34 -05:00
Sam Doran 5a6bdef76b Only change expiration date if it is different (#38885)
* Only change expiration date if it is different

Modify user_info() method to also return the password expiration.
Compare current and desired expiration times and only change if they are different.

* Improve formatting on user tests

* Add integration test for expiration

* Add changelog fragment

* Improve integration test

Skip macOS and use getent module for validating expiration date.

* Fix expiration change for FreeBSD

* Don't use datetime since the total_seconds method isn't available on CentOS 6

* Use better name for expiration index field

Use separate tasks for verifying expiration date on BSD

* Use calendar.timegm() rather than time.mktime()

calendar.timegm() is the inverse of time.gmtime() and returns a timestamp in UTC not localtime
Add tests that change the system timezone away from UTC

* Mark tests as destructive and use test for change status

* Fix account expiration for FreeBSD

Use DATE_FORMAT when setting expiration date on FreeBSD. Previously the argument passed to -e was an integer of days since epoch when the account will expire which was inserted directly into master.passwd. This value is interpreted as seconds since epoch by the system, meaning the account expiration was actually set to a few hours past epoch.

Greatly simply comparing desired  and current expiration time by using the first three values of the struct_time tuple rather than doing a whole bunch of manipulations of the seconds since epoch.
2018-05-01 11:19:01 -04:00
Adam Miller 5eaf043711
refactor firewalld module, add firewalld module_util (#37603)
* refactor firewalld module, add firewalld module_util

This change is meant to enable the addition of advanced feature
specific firewalld modules that will have different module option
patterns than what fits in the current firewalld module, while
keeping as much common code as possible in the module_util

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-04-30 15:33:28 -05:00
Olivier Bourdon a3f2e99864 Fix for changing method only on specified interface (#39015)
Test added for interface method change
2018-04-27 05:18:19 -04:00
Zeust the Unoobian db88cb8d8f Add note about sefcontext doing no restorecon (#39076)
* Add note about sefcontext doing no restorecon

To someone like me who is relatively new to SELinux, setting the
"reload" option to yes might suggest that a restorecon is automatically
executed after the semanage call, making the new file context effective
immediately. I have found out that this is not the case and would like
to clarify this to others.

+label: docsite_pr

* Replace note by one suggested by reviewer

Reviewer dagwieers suggested a better notice text during review of my
original one, giving recommendations about what to do to actually get
the newly chosen SELinux context applied to the file.
2018-04-25 18:05:03 +02:00
Bryan Gurney ce0eee905e Allow block map cache size modification. (#35667)
The VDO Ansible module currently cannot modify the block map cache
size (but can configure the block map cache size for new volumes).
Add the "Block map cache size" parameter to the list of modifiable
parameters.
2018-04-24 16:14:04 -04:00
John R Barker 7c4b91844d
More validate module fixes (#39097)
* Fix type bool DOCUMENTATION issues
2018-04-24 18:05:50 +01:00
Adrian Lopez e7db3c0eba chkconfig localizes messages, ansible fails to recognise
In the particular case of executin "chkconfig --list NAME", ansible
checks the stderr looking for a particular english message.
This message is different in other languages, Spanish for example
(although it have been corrected in the latests versions)

Fixes #29818
2018-04-23 17:44:36 -04:00
Matt Clay c262dbfd30 Use https for links to ansible.com domains. 2018-04-23 11:33:56 -07:00
Ed Schaller e6299298f9 Extend interfaces_file to handle sources-directory (#37809) 2018-04-20 07:01:46 -04:00
nekottyo 74420ecadf Fix bool notation in systemd (#39064) 2018-04-20 06:44:48 -04:00
lazouz a1759b02cd add user password lock option to user module (#37962)
* add user password lock option to user module

* fixup! add user password lock option to user module

* add unlock, set no default

* fixup! add unlock, set no default

* fixup! fixup! add unlock, set no default

* add lock password for FreeBSD, netBSD

* fixup! add lock password for FreeBSD, netBSD
2018-04-19 10:07:49 -04:00
Olivier Bourdon 87a07e81a9 Fix interface method change (#38996) 2018-04-19 05:05:39 -04:00
Brian Coca 3b7f5aef07 name cron 2018-04-16 19:02:14 -04:00
Brian Coca 5828023e54 bool 2018-04-16 15:22:44 -04:00
Brian Coca 1d58585945 minor fixes, also handle 'values' passed to dscl 2018-04-16 15:22:44 -04:00
Adam Furbee 790a117b21 added support for hidden users on macOS 2018-04-16 15:22:44 -04:00
Brian Coca b4d235ca8d minor fixes 2018-04-13 18:50:42 -04:00
Job Evers‐Meltzer 636e705260 fix user module error when generating ssh keys w/o a home (#29055)
* Fixes https://github.com/ansible/ansible/issues/29028

* raise Exception when no home directory
2018-04-13 16:22:53 -04:00
abelbabel c1e4ef39cb fix of some problems with user modification with skeleton informations under FreeBSD (#34694)
* respect skeleton argument in usermod mode for FreeBSD

* use FreeBSD's own (more sophisticated) home creation function rather than ansible's create_home(), which does not handle skeleton files correctly for FreeBSD
2018-04-13 16:22:17 -04:00
Lutz Reinhardt d512bed495 fix bug in modules/system/user.py (#37552)
for freebsd tool "pw" use date not days in "modify_user"
2018-04-13 16:21:22 -04:00
Pilou db80504839 firewalld: fix AttributeError (#38442)
Error was:
  File "/tmp/ansible_qY_BMb/ansible_module_firewalld.py", line 703, in <module>
    main()
  File "/tmp/ansible_qY_BMb/ansible_module_firewalld.py", line 548, in main
    module.fail(msg='firewall is not currently running, unable to perform immediate actions without a running firewall daemon')
AttributeError: 'AnsibleModule' object has no attribute 'fail'
2018-04-12 08:43:00 -05:00
tobald 7f99876274 remove duplicate declaration (#38449)
result['uid'] is already defined at line 2213 in user.py module.
2018-04-08 22:24:32 +05:30
Pilou ffee906c54 lvg: don't fail if an unknown physical device is encountered (#38446)
Physical devices are listed using 'pvs' command. Then, for
'/dev/dm-*' devices 'dmsetup' command is used to find pv_name.

An error occurs when 'pvs' command list an unknown device:

$ pvs --noheadings -o pv_name,vg_name --separator ';'
  /dev/dm-0;vg_var
  /dev/mapper/sdb3_backups;vg_data_backups
$ dmsetup info -C --noheadings -o name /dev/dm-0
Device dm-0 not found

Then the module fails:
{
  "changed": false,
  "err": "Device dm-0 not found\nCommand failed\n",
  "msg": "Failed executing dmsetup command.",
  "rc": 1
}

This failure can be avoided when the unknown device isn't used in
module parameter 'pvs'.
2018-04-08 05:04:28 -04:00
Brian Coca f630d420c6 clarify os x password with user module (#38344)
also removed pointer to non existing example

fixes #36427
2018-04-05 14:13:22 -04:00
Fabian Zimmermann 0efbb702b9 fixes bug: puppet module is no longer updating persistent external facts (#38026) 2018-03-29 14:54:44 +10:00
Olivier Bourdon 612d0d6634 Fix interfaces_file for proper file contents (#37818)
The generated file was completely unusable by the system
therefore the fix which ensures that diffing the file
prior to changes and after only shows diffs

Furthermore the code did not work for Python 3.6
>       f.writelines(to_bytes(lines, errors='surrogate_or_strict'))
E       TypeError: a bytes-like object is required, not 'int'

The other modifications (lambda variable renaming) is to
comply with default flake8 rules
2018-03-28 10:21:43 +01:00
alu b7aa41b9b9 Fix crash in py3: 'TypeError: a bytes-like object is required, not 'str' (#37504)
* Fix crash in py3: 'TypeError: a bytes-like object is required, not 'str'

Fixes #37387

* Review applied https://github.com/ansible/ansible/pull/37504#pullrequestreview-104799823
2018-03-20 14:33:14 -07:00
JP Mens 357beeb7ae Address some language in EXAMPLES (#37555) 2018-03-19 13:51:23 -04:00