Commit Graph

763 Commits (bd1e566c8f6fe932780b104528de5ca2e679210a)

Author SHA1 Message Date
Brian Coca 970fd54d12 moved gluster_volume to new home 2018-05-29 09:44:38 -04:00
Strahinja Kustudic 0781a7f68c Fixed check_mode status to be the same as normal execution (#40721)
* Fixed check_mode status to be the same as normal execution

* Now when setting the status to `disabled` in check_mode it correctly
returns the state changed and prints a warning like it does in normal
model. Before it always returned changed even if everything was set
correctly and a reboot was required.

* Add changelog entry


Co-authored by: Strahinja Kustudic <kustodian@gmail.com>
2018-05-25 17:06:11 -04:00
Strahinja Kustudic de57fa71c1 Improve timezone module for none systemd Linux distributions (#38032)
* The module now correctly sets the timezone in both the config file and
in /etc/localtime; while hwclock is set in both the config and
/etc/adjtime.
* Module checks if the timezone is actually set by checking
/etc/localtime. Before it only checked if it was set in the config file.
* Fixed module not setting the timezone on RedHat systems if
/etc/localtime was a symbolic link.
* Fixed module failures in case of missing config files or incorrect data
in them.
* Added a lot of integrations tests to cover most of these situations.
2018-05-25 12:01:03 -05:00
Jiri Tyr e6e5e45d7e Fixing choices for transport option in gluster_volume module (#38815) 2018-05-25 03:30:30 -04:00
Sachidananda Urs 0211fb7a78 gluster_volume: Fix `volume set' and `quota' features (#40438) (#40644)
* Add documentation for setting multiple options.
* Do not set `cluster' to myhostname, if cluster is not set. This will cause
  parse error, since module will try to parse the brick and hosts.
* Also fixes issue #40410
2018-05-24 16:00:11 -05:00
Antonio Huete Jimenez e93fbedcc7 service: More DragonFly BSD support (#40449)
- Use NetBSD's service_enable which sets the vars correctly in
  /etc/rc.conf
2018-05-23 17:38:10 -05:00
Adam Miller bc7ff83cd9 parted module not idempotent for esp flag and name (#40547)
* parted module not idempotent for esp flag and name

Fixes #40452

Currently the parted module doesn't take into account names with
spaces in them which leads to non-idempotent transactions on the
state of the system because the name comparison will never succeed.

Also, when the esp flag is set, parted infers the boot flag and the
parted module did not previously account for this. This lead to
non-idempotent transactions as well.

Signed-off-by: Adam Miller <admiller@redhat.com>

* fix unit tests, expected command changed in the patch

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-05-23 11:06:26 -04:00
Ken Evensen fabce98104 Pamd++ (#35709)
* Cleaner, more pythonic, shorter, easier to maintain

* Added validation
2018-05-23 08:24:54 -05:00
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
Jack 93d2761551 Fix typo in timezone.py (#37442) 2018-03-16 11:18:03 +05:30
Dag Wieers cdd21e2170
Clean up module documentation (#36909)
* Clean up module documentation

This PR includes:
- Removal of `default: None` (and variations)
- Removal of `required: false`
- Fixing booleans and `type: bool` where required

* Fix remaining (new) validation issues
2018-03-15 22:15:24 +01:00
Shinichi TAMURA 73512eeb78 timezone module: allow suse linux as target (#36719)
* timezone module: allow suse linux as target

* use with statement for file handling
2018-03-15 04:00:28 -04:00
Simon Dodsley 841cb0e6a4 Add fact to obtain iSCSI initiator IQN 2018-03-13 17:39:53 -07:00
Sam Doran aeb56e4bbe
Accept list or string for ports is seport module (#36661)
* Accept list or string for ports is seport module

Fixes #36466

* Update docs
2018-03-13 12:04:27 -04:00
Sebastian Gumprich 16c564c4b4 fix spelling mistakes in several modules (#36296)
* fix more spelling mistakes

* fix spelling mistakes
2018-03-12 11:00:19 +01:00
Tim Smith e479e55f59 Fix the docs link to Ohai in the Ohai module (#33788) 2018-03-08 17:00:17 -08:00
John Smith 8824a8fe23 Assume firewall is offline on DBUS_ERROR during init (#36486)
During init, the FirewallClient tries to connect to the DBUS socket.  If it
fails to connect it should be safe to assume firewalld is offline.
2018-03-03 21:59:10 -06:00
Kevin M. Gallagher 3a6f0fbb9c Allow inversion of uid_owner match in iptables module (#36073)
Fixes #20747 and updates documentation for uid_owner in iptables.py
2018-03-01 12:24:02 +00:00
Pilou 07927f52ae filesystem: fix documentation (#36556) 2018-02-23 10:59:38 +00:00
Sam Doran 2bffcfa63b Add force option to systemd module (#35925)
* Add force option to systemd module

* Use multi-line YAML syntax in examples

* Add version_added for new option
2018-02-20 20:47:29 -05:00
James Vornhagen 9704668277 Fixed spelling error in runit module (#35948) 2018-02-10 21:13:55 +05:30
Bobby Watson 79b0739ba2 Accept interfaces without address family or method (#34200) 2018-02-09 15:09:09 +00:00
Giorgio Crivellari 54e0327e5d added 'local' option to group (#34805)
* added 'local' option to group

fixes #34804'

* fix to version 2.5

fixes #34804'

* fix missing local var
2018-02-09 01:02:35 -05:00
Jonathan Towne 1e04cababd add DragonFlyBSD support to modules/system/{user,group} 2018-02-07 17:18:49 -05:00
Antonio Huete Jimenez fae21f6aad service: Add support for DragonFly BSD
For now create a subclass of the FreeBsd class
2018-02-07 11:23:10 -05:00
Kai f30a08d049 Add vfat support for the filesystem module (#23527)
* Add fat filesystem support

fatresize is temporarily disabled

* Refactor Filesystem.get_dev_size

For more sharing with vFAT class

* Fix filesystem tests on some OSs

I think this is due to older mke2fs on those systems.

* Fix vFAT command on FreeBSD

newfs doesn't seem to work on image files

* Refactor filesystem.grow()

Split out grow_cmd generation and Device operations

* Use swap as unsupported filesystem

Except FreeBSD, which doesn't have mkswap

* Be consistent about str(dev) vs dev.path

Prefer str(dev), this works transparently with '%s' formatting.

* Enable vfat resize, only test fatresize >= 1.0.4

Lower versions have a segfault bug.

* Only install fatresize where available

FreeBSD, OpenSUSE, RHEL and CentOS < 7 don't ship it.
2018-02-06 11:56:43 +01:00
Abhijeet Kasurde 6bd0fbb63c Remove deprecated get_exception API
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2018-02-05 23:39:56 -05:00
Ken Evensen 5cce0249f3 Fixes #35629 (#35668) 2018-02-05 15:47:14 -06:00
Bryan Gurney 3b30297817 New Ansible module for Virtual Data Optimizer (#32267)
Add an Ansible module for VDO (Virtual Data Optimizer), a
device-mapper module that provides deduplication, compression,
and thin provisioning.  This module provides the ability to create,
remove, and modify parameters on storage volumes created by VDO.
2018-01-31 15:22:01 -05:00
Shinichi TAMURA fec85a42a6 timezone module: Enhanced update command for Debian/Ubuntu (#34390)
* timezone module: Symlink to /etc/localtime before dpkg-reconfigure in Debian/Ubuntu

* timezone module: Symlink rather than hard link
2018-01-30 18:34:45 -05:00
Colins-Git ac7e62ec08 open_iscsi fails to login when discovery returns multiple portals #29309 (#35262) 2018-01-31 00:03:35 +01:00
Matt Martz c282e4e00f
Replace LooseVersion comparison with int/float comparison. Fixes #35435 (#35519) 2018-01-30 15:27:22 -06:00
Reto Gantenbein d32c4ab62e Fix task description of thinpool examples (#35402) 2018-01-26 18:36:10 +00:00
Ryan Groten 34d6f5168f Add -F to usermod -p to force user password update (#26258)
If changing root password, usermod will fail with error "Login root is currently in use\n".  -F avoids this
2018-01-26 12:30:32 -06:00
Reto Gantenbein 466e1b289b Add thin pool / volume managment to lvol (#19312)
* add functionality to create thin pool / volume on Linux LVM to lvol module

add `thinpool' parameter.
change `lv' parameter to not required.

To create thin poll, specify `thinpool'(, `vg' and `size') parameter and omit `lv' parameter.
It will create thin pool, nameed by `thinpool' parameter.

To create thin volume, specify both `thinpool' and `lv' parameter (also `vg' and `size' paramter is need).
It will create thin volume on `thinpool' pool, named by `lv' parameter.

Thin volume and pool can delete whith 'state=absent' parameter.
Thin volume is resizable like normal volume.
Thin pool can extend, but not reduce. This limitation is in Linux's LVM.

* Add thin volume support

- Based on f816618

- Indicate that either lv or thinpool are required parameters using
AnsibleModule's required_one_of.

- Resolve conflict with snapshot functionality

* Fix typo in documentation

* Fix and simplify logical volume check

* Rebase fixes

* Convert examples to native YAML syntax

* Fix failure with snapshot creation

* Properly fail when trying to snapshot a thinpool volume

* Don't fail when no size given for thin volume snapshot

Fixes ansible/ansible-modules-extras#2478

* Convert old style required property sneaked in through rebase

* Fix 'too many leading #' syntax check
2018-01-26 08:49:51 +00:00
Aron Szekely 943730b70c Update pamd.py to allow module path with slashes (#32197) 2018-01-18 09:57:12 +05:30
Gert Goet 9d4d86237d Logger-process is not considered for pid and state (#34905)
Fixes #34899
2018-01-17 10:50:28 -05:00
John R Barker db61f8f967
Clarify which ping module to use (#34935)
* Clarify which ping module to use

Ensure each of the ping modules link to each other

ping - Requires Python on remote-node
nxos_ping - Only on Cisco NXOS
ios_ping - Only on Cisco IOS
net_ping - For network devices
win_ping - only for Windows
2018-01-17 14:02:06 +00:00
John R Barker 195beebcb4
Module DOCUMENTATION should match argspec (#34895)
* Module DOCUMENTATION should match argspec

Large update of many modules so that DOCUMENTATION option name and
aliases match those defined in the argspec.

Issues identified by https://github.com/ansible/ansible/pull/34809

In addition to many typos and missing aliases, the following notable
changes were made:

* Create `module_docs_fragments/url.py` for `url_argument_spec`
* `dellos*_command` shouldn't have ever had `waitfor` (was incorrectly copied)
* `ce_aaa_server_host.py` `s/raduis_server_type/radius_server_type/g`
* `Junos_lldp` enable should be part of `state`.
2018-01-16 12:18:51 +00:00
Pilou e9e316c76b Filesystem: refactor, improvements, add tests (#25519)
* filesystem: list used tools

* filesystem: btrfs and reiserfs don't support resizing

* filesystem: list supported filesystems

use formatting functions and 'filesystem' instead of 'file system'

* filesystem: PEP8

* filesystem: remove useless calls to module.boolean

* filesystem: fail when the requested action isn't implemented

* filesystem: resizefs: list supported FS rather than unsupported

* filesystem: refactor

* filesystem: add integration tests

* filesystem: allow to use image file with 'dev' param

* filesystem: test resizefs (ext2/3/4 filesystems only)

* filesystem: Btrfs, handle older version than v0.20-rc1

* filesystem: use loop keyword (integration tests)

* filesystem: new test, check when another filesystem already exists

* filesystem: add myself as a maintainer

* filesystem: fix tests as filters
2018-01-11 11:10:14 -05:00
Adam Miller 39edee7572
service_facts module (#34065)
Signed-off-by: Adam Miller <admiller@redhat.com>
2018-01-08 13:35:16 -08:00
André Nähring b9bc64c7f9 Adding param "rule_num" for insert action to iptables module (#33708)
* Added rule_num parameter for insert action in iptables module
2017-12-15 16:08:40 -06:00
David Kretch 98260f9884 Fix pamd error when inserting a new rule at the end. Fixes #28487 (#28488)
* When inserting a new rule in `insert_after_rule`, check if the old rule is
the last rule, to avoid a list index out of range error when attempting to
access the next rule.
* Add a test for inserting a new rule after the last rule.
2017-12-13 15:31:20 -06:00
Russell Parks 158b32cd7a user: Fix add for SuSE Linux Enterprise 11 (#27015) 2017-12-13 15:30:51 -06:00
Mans Matulewicz beef269d46 Update mount.py (#23906)
added noauto to dvd mount example, simply copy pasting + removed (virtual) optical disc will result in a non booting system (centos7)
2017-12-13 11:37:01 -06:00
Felix Kaechele 8475171f67 firewalld: Implement zone operations (#32845)
* firewalld: Implement zone operations

Zones are removed or added when no other operations are used in
conjunction with the keywords 'present' or 'absent'.

This leads to a logical and natural syntax of:

- firewalld:
    zone: foo
    state: present

for adding or removing zones.

Signed-off-by: Felix Kaechele <felix@kaechele.ca>

* firewalld: zone ops: addressed review concerns

- Added more documentation on the peculiarities of the zone operations
- Output meaningful error messages when trying to use zones incorrectly

Signed-off-by: Felix Kaechele <felix@kaechele.ca>
2017-12-12 09:34:41 +01:00
Abhijeet Kasurde dbc6963617
mount: Add option to backup fstab file (#33734)
This fix adds option to create a backup of fstab file
before making any changes to it.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-11 10:09:07 +05:30
John Barker c57a7f05e1 Bulk autopep8 (modules)
As agreed in 2017-12-07 Core meeting bulk fix pep8 issues

Generated using:
autopep8 1.3.3 (pycodestyle: 2.3.1)
autopep8 -r  --max-line-length 160 --in-place --ignore E305,E402,E722,E741 lib/ansible/modules

Manually fix issues that autopep8 has introduced
2017-12-07 20:25:55 +00:00
Abhijeet Kasurde 1faa0a7c60 authorized_key: remove deprecated get_exception API (#33277)
This fix removes deprecated get_exception API.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-12-02 14:24:30 +01:00
Adam Miller 9225052496 firewalld - fail offline operations on old lib version
This fixes an issue where the check for an import error would occur
before checking to see if firewalld is in "offline mode" and if it
is, then checking to ensure the version of the firewall python
library was new enough to support offline operations. This patch
will now fail with a correct error message in the scenario that
someone attempts to perform an offline operation but has a version
of the firewall python library that is too old.

Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>
2017-12-01 16:22:39 -05:00
R. Francis Smith e957760d52 updated pamd rule args regexp to match file paths also (#33432)
* Added . and / to rule args regexp

Things like pam_echo.so file=/etc/foo.txt weren't being matched and
causing incorrect change counts.  Adding / and . fixed that.

Fixes #33351

* pamd: test argument with value

Relates #33351
2017-11-30 15:32:02 -05:00
Rowin Andruscavage 3a3a63ce46 Update debconf example (#33397)
'true' needs to be quoted as a string, otherwise it is stored as boolean and ends up getting capitalized to 'True' when presented to debconf
Subsequent install of oracle-java8-installer fails with "oracle-license-v1-1 license could not be presented"

ansible version: 2.3.1.0

Actual: value: true
    debconf-show oracle-java8-installer
    * shared/accepted-oracle-license-v1-1: True

Expected: value: 'true'
    debconf-show oracle-java8-installer
    * shared/accepted-oracle-license-v1-1: true
2017-11-30 18:07:11 +10:00
Martin Krizek 0592fd47bc selinux: check if policy exists before switching (#31834)
* selinux: check if policy exists before switching

* Check the policy dir
2017-11-28 11:09:24 -05:00
Tim Rightnour e197a94f2b Add resizefs param in lvol (#31132)
This fix allows user to specify resizefs in logical volume extension.
Fix placement of new option, document.

Signed-off-by: Tim Rightnour <root@garbled.net>
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2017-11-25 07:12:58 +00:00
Adam Miller 122398b081 Fix firewalld to fail with correct version numbers (#33144)
Currently it's reporting an inverted version number about the
python library and it shouldn't be. Also it's currently claiming
python2 as a requirement, which it is not.

Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>
2017-11-22 08:39:06 +01:00
Matt Clay 9735a70059 Fix invalid string escape sequences. 2017-11-21 20:59:08 -08:00
Jose A. Rivera 7a82c49a5f Fix documentation for mount state (#32647)
* Fix documentation for mount state

Fixes https://github.com/ansible/ansible/issues/18948

Signed-off-by: Jose A. Rivera <jarrpa@redhat.com>

* Remove redundant line
2017-11-10 12:31:40 -05:00
Dag Wieers dace517133
Fix error in YAML example 2017-11-07 16:30:53 +01:00
nilhase25 6ddc7c8524 Pep8 puppet.py (#32313)
* fix pep8 issue in consul_kv.py

* fix pep8 issue in aos_login.py

* fix pep8 issue in puppet.py

* Restore legacy-files.txt
2017-11-07 14:00:39 +01:00
Yadnyawalkya Tale d21a6aa147 Ansible system module: sanity pep8 fixes (#32314)
* Ansible system module: pep8 fixes

* Clean up documentation

* Blank line change not required by PEP8

* Update legacy-files.txt

* Documentation updates

* Update documentation

* Documentation update
2017-11-07 13:46:55 +01:00
Yadnyawalkya Tale a2d34e914e PEP8 fixes: Ansible system module and playbook base.py (#32322)
* Ansible files module sanity pep8 fixes

* Ansible system module and playbook base.py

* Undo empty lines not required by sanity checks

* Undo empty lines not required by sanity checks

* Undo empty lines not required by sanity checks

* Undo empty lines not required by sanity checks

* Undo empty lines not required by sanity checks

* Undo empty lines not required by sanity checks

* Undo empty lines not required by sanity checks

* Undo empty lines not required by sanity checks

* Undo empty lines not required by sanity checks

* Undo empty lines not required by sanity checks

* Undo empty lines not required by sanity checks

* Various changes

* Various changes

* Various changes

* Various changes

* Undo blank lines not required by sanity checks

* Various changes

* Various changes

* Various changes

* Various changes

* Various changes

* Undo blank line changes not required by sanity checks

* Various changes

* Various changes

* Various changes

* Various changes

* Various changes

* Missing piece after merge

* Blank lines

* Blank line

* Line too long

* Fix typo

* Unnecessary quotes

* Fix example error
2017-11-07 09:38:59 +01:00
Sébastien DA ROCHA bc4ba6b638 Iptables unit tests (#30762)
* Add some tests for iptables

* Fix remove bug (calls 2 times check to remove a chain)

* Add me as maintainer

* Fix PEP8

* Doc: Give more information on issue #18988

* Fix #18988 and test it

* Fix doc (thanks Pillou)

* enable PEP8 check for iptables
2017-11-01 12:08:57 +01:00
Brian Coca 3e80f9caf4 luseradd defaults to creating w/o need for -m (#32411)
and -M is incorrect in this case
2017-10-31 14:25:29 -07:00
Brian Coca bd321a0af6 adjust nohome param when using luser
fixes #32199
2017-10-31 16:35:03 -04:00
James Sumners 4a19482413 Add check for sv binary (#32250)
* Add check for sv binary

This commit adds a check for the sv binary. If the binary is not present
then the module will fail.

Resolves issue #32248

* Change sv check to suggestion by @bcoca
2017-10-30 09:59:41 -04:00
Dag Wieers b0954dbeb4
Fix typo 2017-10-30 11:14:06 +01:00
Ken Evensen 8724ff3eae pamd: fix issue with trailing commas in module_arguments 2017-10-30 08:24:21 +01:00
Dag Wieers 86bb82a220
user: PEP8 compliancy and doc fixes (#30895)
This PR includes:
- PEP8 compliancy fixes
- Documentation fixes
2017-10-30 01:06:37 +01:00
Dag Wieers 63edeb1644
systemd: PEP8 compliancy and doc fixes (#30892)
This PR includes:
- PEP8 compliancy fixes
- Documentation fixes
2017-10-30 01:04:57 +01:00
Dag Wieers 8b2bf09c49
service: PEP8 compliancy and doc fixes (#30890)
This PR includes:
- PEP8 compliancy fixes
- Documentation fixes
2017-10-30 01:03:54 +01:00
Dag Wieers edc0ff481c
seboolean: PEP8 compliancy and doc fixes (#30888)
This PR includes:
- PEP8 compliancy fixes
- Documentation fixes
2017-10-30 01:02:45 +01:00
Dag Wieers 32775b0caa
hostname: PEP8 compliancy and doc fixes (#30886)
This PR includes:
- PEP8 compliancy fixes
- Documentation fixes
2017-10-30 01:00:49 +01:00
Dag Wieers 3ae42afbc7
getent: PEP8 compliancy and doc fixes (#30885)
This PR includes:
- PEP8 compliancy fixes
- Documentation fixes
2017-10-30 00:58:04 +01:00
Dag Wieers 11f8d9659d
at: PEP8 compliancy and doc fixes (#30881)
This PR includes:
- PEP8 compliancy fixes
- Documentation changes
2017-10-30 00:56:54 +01:00
tacatac 4ffd60a406 nosh system module: fixes and improvements (#32014)
* nosh system module: fixes and improvements

documentation:
* fleshed out and fixed to better follow the official guidelines

consistency:
* the following facts will now always be returned on success: name,
service_path, enabled, preset, user, status
* state is only returned when the state option is used
* state and status will be null if the service is not loaded by the end
of the task

* [nosh]: PEP8 fix
2017-10-23 09:19:22 -04:00
Will Thames 0c10e1ebe4 Handle timezone updates on Ubuntu 16.04+ on containers (#27546)
* Handle timezone updates on Ubuntu 16.04+ on containers

Although Ubuntu 16.04 will use timedatectl by default,
containers without a working timedatectl need to use the
old method.

A bug in Ubuntu for the old method means having to write
a nasty hack

https://bugs.launchpad.net/ubuntu/+source/tzdata/+bug/1554806

* Add tests for timezones

Ensure timezone changes work across various OSs
2017-10-20 16:02:38 +10:00
Adam Miller 5b7d161b10 firewalld: don't reference undefined variable in error case (#31949)
* firewalld: don't reference undefined variable in error case

Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>

* firewalld: don't set exception as var and not use it

Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>
2017-10-19 17:09:06 -04:00
tacatac 91e9aaca28 Add nosh service manager module (#31847)
* Add nosh service manager module

* based on the `svc`, `systemd`, `runit` and proposed `rc_service`
modules
* uses the high-level 'system-control' command and assumes nosh-native
interfaces though it should work with daemontools-style service scanning
* assumes a single service name is provided

* Metadata fixes

* Added "author" and "version_added"
* fixed the RETURN yaml

* PEP8 fixes

* fixed spacing issue
2017-10-18 11:13:43 -04:00
guilhermeoki a35b4449ee Add support to pass a Makefile (#31853) 2017-10-18 11:19:24 +01:00
Martin Krizek efec43dd1e hostname: fix for a new version of rhel (#31839)
Fixes #31811
2017-10-17 13:43:54 -04:00
Kairo Araujo 8415d2e60a new module: AIX rootvg backup image using mksysb (#30460)
* new module: AIX rootvg backup image using mksysb

This module is simple but very useful for AIX system
administrators. Easy to construct playbooks to generate
and manage rootvg backups using mksysb tool.

* added module_check, pep8, non-written convention

- implemented module_check;
- fixed some pep8 and non-written convention

* removed parameters as global variables and doc

Moved global variables parameters to inside main()
Better doc format for mentioned files
2017-10-12 11:58:43 -04:00
Sam Doran 2610b521bc Remove sysctl entries when state=absent (#31486)
* Remove sysctl entry when state=absent
* Cleanup sysctl integration test syntax
* Correct grammar on error message
* Add sysctl integration test for state=absent
2017-10-10 09:01:33 -07:00
Toshio Kuratomi 75eed6a51a Port arg specs from type='str' to type='path' 2017-10-09 21:15:56 -07:00
Dag Wieers ae5d8e5ebb modprobe: PEP8 compliancy and doc fixes (#31255)
This PR includes:
- PEP8 compliancy fixes
- Documentation fixes
- Make module a bit more consistent with existing practices
2017-10-08 09:21:58 -04:00
Toshio Kuratomi 4804e99b44 Change ping docs to refer to win_ping (#31444) 2017-10-08 08:33:51 +01:00
Strahinja Kustudic 7417282d37 Do not run systemctl daemon-reload in check mode 2017-10-05 18:40:02 -04:00
Sam Doran 00df1fda10 Correctly write SELinux config file (#31251)
* Add new lines to end of config file lines

* Properly write out selinux config file

Change module behavior to not always report a change but warn if a reboot is needed and return reboot_required.

Improve the output messages.

Add strip parameter to get_file_lines utility to help with parsing the selinux config file.

* Add return documentation

* Add integration tests for selinux module

* Use consistent capitalization for SELinux

* Use atomic_move in selinux module

* Don't copy the config file initially

There's no need to make a copy just for reading.

* Put message after set_config_policy in case the change fails

* Add aliases to selinux tests
2017-10-03 23:38:58 -04:00
Brian Coca aa4b3f14c5 corrected version added 2017-10-03 21:50:13 -04:00
Michael Scherer 6caac2743a Add support for LVM to filesystem module (#21620)
And since LVM2_member is not a very userfiendly name, add
a mechanism for more user friendly names.
2017-10-03 15:26:25 -04:00
Carsten Clasohm 89799bbb98 add https_proxy (#31062)
* add https_proxy

* fix indentation

* use http.nonProxyHosts
2017-10-03 00:12:50 +02:00
Jonathan Piron 54859a2132 Fix crypttab python3 compatibility issue (#30457)
In python2 str gives byte string. In Python3 it gives unicode string so it
can't be written in a binary mode opened file.
Use to_bytes helper function to ensure content being written will be
properly encoded in both python2 and python3.
2017-09-27 11:58:02 -07:00
Dag Wieers 125c4b135d mount: PEP8 compliancy and doc fixes
This PR includes:
- PEP8 compliancy fixes
- Documentation fixes
2017-09-27 01:56:08 +02:00
Indrajit Raychaudhuri 90e2def72a timezone: Add support for macOS (#23447)
* timezone: Add support for macOS

On macOS, preferred way of managing timezone is via `systemsetup(8)`.
Thus, we use this command instead of relying on directly modifying
`/etc/localtime` as in other *BSDs.

* timezone: Use % instead of .format() in strings

This ensures better compatibility across different versions of Python.
2017-09-26 00:08:20 -04:00
Dag Wieers 4647713be9 cron: PEP8 compliancy and doc fixes (#30884)
This PR includes:
- PEP8 compliancy fixes
- Documentation fixes
2017-09-25 19:48:22 -04:00
Reid Wahl 5f90169d73 modules/system/user.py: Change createhome to create_home (#30179) 2017-09-20 17:34:49 -07:00
Martin Krizek 32d6b1d0e0 user: fix default non-system user's shell on macOS 2017-09-19 18:11:22 -04:00
Matt Clay 7714dcd04e Enable more pylint rules and fix reported issues. (#30539)
* Enable pylint unreachable test.
* Enable pylint suppressed-message test.
* Enable pylint redundant-unittest-assert test.
* Enable pylint bad-open-mode test.
* Enable pylint signature-differs test.
* Enable pylint unnecessary-pass test.
* Enable pylint unnecessary-lambda test.
* Enable pylint raising-bad-type test.
* Enable pylint logging-not-lazy test.
* Enable pylint logging-format-interpolation test.
* Enable pylint useless-else-on-loop test.
2017-09-18 23:20:32 -07:00
Shinichi TAMURA 934ae28365 Timezone modeule: Better env choice for Linux (#28229)
* timezone module: fixed platform decision rule for Linux
— For better handling of environments where timedatectl is unavailable

* timezone module: allow absence of configuration files if specific commands are available

* timezone module: remove duplicated line

* timezone module: fixed docs to clarify returned diff

* timezone module: fixed “undefined variable err”

* Revert "timezone module: fixed docs to clarify returned diff"

This reverts commit 4b783227f713eee9aa6717c0a8b9e697b939f471.

* timezone module: revert platform decision rule; just warn instead of futher command checks

* timezone module: [NosystemdTimezone] enhanced error message
2017-09-18 19:04:58 -04:00
mwellmeyer 8749894ebc add possibility for log messages via log_prefix (#30358) 2017-09-14 12:12:26 -04:00
Adam Miller 75127092f2 refactor firewalld module with object abstraction (#26487)
* refactor firewalld module with object abstraction

This change creates a FirewallTransaction object that each
individual transaction type is a sub-class of as they all follow the
same pattern to enable or disable something in the firewall.

Also, there's a few bugfixes here:
    - Fix the "source" type to handle permanent operations
    - Remove ambiguity of required parameters for only specific use
      cases that can lead to transactions effectively being a no-op.
      Instead, pick sane defaults and document them.
    - Change how imports are done so globals are no longer needed

This is based on the original feedback by Toshio from the last
refactor attempt:

    https://github.com/ansible/ansible-modules-extras/pull/3383

Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>

* fix line too long for pep8 for shippable tests

Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>

* remove firewalld from pep8/legacy-files

Signed-off-by: Adam Miller <maxamillion@fedoraproject.org>
2017-09-11 14:10:07 -07:00
Erwin Oegema 61d2620098 Fix section in known_hosts documentation
SSHD is part of section 8, SSH is part of section 1.
2017-09-10 20:24:46 -07:00