Commit graph

845 commits

Author SHA1 Message Date
Felix Fontein
7d27348356 ufw: fix default, direction is not necessary for it (#54799)
* Correct behavior so that direction isn't required for default.
* Add more tests.
* 'disabled' values cannot be changed.
* Include 'not specified' in messages.
2019-04-08 08:49:35 -04:00
William Leemans
993727ff5e New module: xfs_quota (#51654)
* New module: xfs_quota

* wildcard import resolution

* pep8 fixes

* validate-modules fixes

* pep8 and validate-module fixes

* removal of extra copyright info

* description capitalization and trailing dot

* Some more description

* type specification

* removal of notes

* reorder imports

* sorting

* starting with variable type

* removal of defaults

* results to dict

* results to dict

* complete condition

* removal of spaces for pep8 compliancy, removal of root check, addition of tests for failed xfs_quota commands indicating the need for elevation/capabilities

* lost result

* typo

* historical override removal

* report back values

* unexpected spaces removal

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* typo

* raw data, full data

* removal of several else: statements and indentation

* pep8

* typo

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* typo

* use bytes as base, not kilobytes

* be consistent

* integration tests

* lint

* empty lines

* Update lib/ansible/modules/system/xfs_quota.py

Co-Authored-By: bushvin <bushvin@users.noreply.github.com>

* updates

* ci group

* XFS not supported on osx

* XFS not supported by freebsd

* long lines and removal of xfs_quota dict in return

* RETURN values

* no more xfs_quota dict
2019-04-07 20:11:32 +01:00
Stefano Zilli
fa21e0c3db Fix example in iptables module (#54906)
In the documentation the rule_num parameter works only in conjunction with `action` set to `insert` - fix the example with the rule_num parameter.

+label: docsite_pr
2019-04-05 14:23:59 -05:00
Sam Doran
579e72573a Add BusyBox support to group module (#54689)
* Add BusyBox support to group module

* Use bytes when reading/writing to file
2019-04-02 09:58:04 -04:00
Łukasz Szczęsny
bcdd1dc951 pamd: fix idempotence issue when removing rules (#54105) 2019-04-01 10:18:33 -04:00
Sam Doran
023c5167fd Revert "Use locking for concurrent file access (#52567)" (#54547)
This reverts commit e152b277cf.
2019-03-28 13:19:49 -04:00
Dag Wieers
e152b277cf Use locking for concurrent file access (#52567)
* Use locking for concurrent file access

This implements locking to be used for modules that are used for
concurrent file access, like lineinfile or known_hosts.

* Reinstate lock_timeout

This commit includes:
- New file locking infrastructure for modules
- Enable timeout tests
- Madifications to support concurrency with lineinfile

* Rebase, update changelog and tests

We need to specify ansible_python_interpreter to avoid running interpreter discovery and selecting the incorrect interpreter.

Remove the import of lock in known_hosts since it is not used.
2019-03-27 20:20:18 -04:00
Indrajit Raychaudhuri
cd8f8d7a3e systemd: Allow standalone 'daemon_reexec' option without using 'name' (#54424) 2019-03-26 20:50:25 -04:00
James Cassell
5d32dbd532 selogin: check_mode, ignore_selinux_state, tests
ignore_selinux_state based on #48945
2019-03-26 17:18:36 -04:00
Petr Lautrbach
f9e09f0e7f selogin
original commit:
8efa4cdde9

update module to match current ansible standards

- update version_added
- fix sanity checks
- match docs to module definition of required and default values
  - explicit default of 's0' for selevel
  - no default for seuser or login
- rename serange->selevel, add alias
- add required imports
- add RETURN info (stolen from sister module)
- add author github handles
- remove star-import, name specific requirements
- handle import error similar to sister modules
- collapse exceptions
- remove IOError, alias for OSError
  - https://stackoverflow.com/questions/29347790/difference-between-ioerror-and-oserror
- drop 'required: false' as false is the default
- list dependencies as python-agnostic
- selogin does not support check_mode
- remove unused functions
- require seuser only if state=present

Co-authored-by: James Cassell <code@james.cassell.me>
2019-03-26 17:18:36 -04:00
Matthieu Mota
f9b8371a62 [Doc UFW] Precise proto when using multiple ports (#54288)
<!--- Your description here -->

+label: docsite_pr
2019-03-26 10:39:43 -05:00
Sam Doran
bf3e397ea7 Add BusyBox support to user module (#45507) 2019-03-21 11:42:12 -04:00
MonsieurBon
eb790cd3c6 Added support for iptables module iprange (#53732) (#53732) 2019-03-18 13:05:04 +00:00
Olivier Bourdon
668f014b3c Add more tests for method option change (#52228) 2019-03-15 09:53:32 +00:00
Sam Doran
1e595493d9
User module - Check local database when local is specified in the task (#51088)
The output of pw.getpwnam() does not distinbuish between local and remote accounts. It will return a result if an account exists locally or in the directory. When local is set to True in the task parameters, look through the local password database explicitly.

* Ensure luseradd is present for tests
* Add docs and warnings about local mode
2019-03-14 22:16:53 -04:00
abyss
e428441a1d pids: case insensitive string comparison for process names (#52564) 2019-03-14 18:27:20 +05:30
Richlv
f8ecf7b7cd Minor typo/style fixes in Firewalld (#53770) 2019-03-14 09:19:21 +05:30
Gabriel do Nascimento Ribeiro
f97a593da5 Add non_unique parameter for group module (#53085) 2019-03-13 15:40:07 -04:00
Abhijeet Kasurde
3bdbe24861 java_cert: Remove redundant return (#52879)
* Remove redundant return statements for module.exit_json
* Doc changes
* Typo fixes
* Refactor for check_mode

Based upon work of pilou-

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-13 09:16:19 -04:00
Abhijeet Kasurde
8d4343b94c
iptables: implement log_level parameter (#52880)
Fixes: #25100

Based upon https://github.com/ansible/ansible/pull/25118

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-13 18:10:59 +05:30
Abhijeet Kasurde
f0ef4dae05
iptables: Add support for gateway parameter (#53465)
When user specifies the JUMP value to 'tee', gateway is required.
This fix adds new parameter 'gateway' to support this functionality.

Fixes: #53170

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-03-13 17:47:44 +05:30
Brian Coca
8940732b58
Configurable and parallel gather facts (#49399)
* Configurable list of facts modules (#31783)

 - 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
 - allow parallel option in case serialization is too slow
 - added support to automatically map network facts
   uses "smart" connection mapping
2019-03-08 13:08:37 -05:00
Sam Doran
bf28b5ceca
Use distro.id() instead of distro.name() (#52199)
* Update sys_info unit tests

* Correct distribution values in hostname.py

* Normalize Rhel to Redhat
2019-03-07 13:25:59 -05:00
Brian Coca
b0ddb88f13 fix non bool path 2019-03-07 11:23:07 -05:00
Bryan Gurney
5da0de0475 vdo: document versions that have read cache options (#53291)
The "readcache" and "readcachesize" options, which correspond to
the same options in the "vdo create" and "vdo modify" commands,
have been removed in VDO version 6.2.

Signed-off-by: Bryan Gurney <bgurney@redhat.com>
2019-03-06 14:40:09 -06:00
Brian Coca
949ddb48c0
make debconf compare apples to apples (booleans) (#53331)
hope to fix #25481
2019-03-05 16:03:54 -05:00
Tuan-Anh Hoang-Vu
1ba1f712fd Used C locale instead of relying on system locale. 2019-03-01 15:22:46 -08:00
Sam Doran
1c87ea6fa6 Reboot - add parameter for paths to search for shutdown command (#51194)
* Look in /lib/molly-guard for shutdown command

Signed-off-by: Sam Doran <sdoran@redhat.com>

* Add parameter for extra_search_paths

Signed-off-by: Sam Doran <sdoran@redhat.com>

* Change option to search_paths

- Update docs
- Make the parameter replace the default values
- Add some sanity checking on the data type

Signed-off-by: Sam Doran <sdoran@redhat.com>

* Correct parameter in tests, change conditional for molly-guard tasks

Signed-off-by: Sam Doran <sdoran@redhat.com>

* Address feedback

* Simplify field validation

Needed the try except in case a non-iterable type is put in the search_paths field
2019-02-28 13:36:33 -08:00
Jiri Tyr
7739b5e96c Last two fields in fstab are optional (fixes #43855) (#43941)
* Last two fields in fstab are optional
* Add changelog
2019-02-28 14:09:30 -05:00
Marcos Paulo de Souza
fa83a711b6 hostname.py: Fix openSUSE distribution name (#47020)
All openSUSE distributions changed to the way they are returned from distro.id().

This patches fix the openSUSE Leap and SLES distro names, and adds one entry for Tumbleweed.

These descriptions are capitilized, as expected by Ansible's hostname module.

Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com>
2019-02-27 16:18:32 -05:00
Sven Wegener
a966662e9a crypttab: Trim trailing newlines (#51594)
Having a comment or an empty line in /etc/crypttab results in an
additional empty line being added, because the newline that is part of
the line being read is getting re-injected in addition to the newline
used to concatenate the lines.

Signed-off-by: Sven Wegener <sven.wegener@inovex.de>
2019-02-22 09:25:23 +00:00
Tuan Anh Hoang-Vu
b0fc2a2103 Fixed lvol ValueError with float size. (#36811)
* Fixed lvol ValueError with float size.

* Fixed lvol ValueError with float size.

* Initialized locale using system default.
Changed size validation from float() to locale.atof().

* Added changelog fragment.
2019-02-22 08:41:50 +00:00
Jordan Borean
aab1f30906
group - fix explicit git scenario (#52769)
* group - fix explicit git scenario

* Use str for simplicity and remove changelog

* dynamically get gid and remove Jinja2 check
2019-02-22 12:40:42 +10:00
Abhijeet Kasurde
1b3cde353d osx_defaults: refactor (#52452)
* Code refactor
* Documentation update
* Add 'list' parameter
* Example update
* Testcase for osx_defaults

Fixes: #29329

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-21 14:37:16 +01:00
Matt Martz
b5c2b407d6
Fix tuples to actually be tuples (#52591) 2019-02-19 13:29:51 -06:00
Baptiste Mille-Mathias
dd669c8f6f use loop instead of with_items (#47231) 2019-02-19 13:52:37 -05:00
Baptiste Mille-Mathias
27af6367d4 Use loop instead of obsolete with_items (#47244)
* Use loop instead of with_items
2019-02-19 12:06:54 -06:00
Teodor Kostov
a5cd619ea6 Removed byte flag when opening the new JKS file. (#51951) 2019-02-19 11:47:02 -05:00
Dag Wieers
8c74df5e67
validate-modules: Fix all system modules (#52384)
This PR includes validate-modules fixes for all system modules.
Except a few that are deliberately implemented like this.
2019-02-19 15:42:14 +01:00
René Moser
d99728d9e6
cron: adjust deprecated version (#52531)
* add changelog fragment

* fixed freudian slip in changelog
2019-02-19 07:26:34 +01:00
Matt Clay
687279c7bd Set user expires on FreeBSD using UTC. (#52276) 2019-02-18 09:59:13 -05:00
Андрей Череваткин
88545b0292 Correct minor typo in filesystem module docs (#52413)
Changed 'filesytem' to 'filesystem'
2019-02-17 10:02:32 +05:30
saranyasridharan
1db6d5598a Adding custom module to get PID of the process (#50896) 2019-02-15 17:08:55 -08:00
Dane Summers
523cb8b5a4 cron - adds deprecation warnings (#37355). (#52322)
Adds deprecation warnings for both 'name', and 'reboot' option (although
not related to this change, it has been deprecated for quite a while)
2019-02-15 14:09:03 -05:00
Dag Wieers
f9ab9b4d68 Assorted pylint fixes 2019-02-15 06:54:47 -08:00
Dag Wieers
203caf2570
Fix module issues (#52209) 2019-02-15 12:57:20 +01:00
Dag Wieers
cd9471ef17 Introduce new 'required_by' argument_spec option (#28662)
* Introduce new "required_by' argument_spec option

This PR introduces a new **required_by** argument_spec option which allows you to say *"if parameter A is set, parameter B and C are required as well"*.

- The difference with **required_if** is that it can only add dependencies if a parameter is set to a specific value, not when it is just defined.
- The difference with **required_together** is that it has a commutative property, so: *"Parameter A and B are required together, if one of them has been defined"*.

As an example, we need this for the complex options that the xml module provides. One of the issues we often see is that users are not using the correct combination of options, and then are surprised that the module does not perform the requested action(s).

This would be solved by adding the correct dependencies, and mutual exclusives. For us this is important to get this shipped together with the new xml module in Ansible v2.4. (This is related to bugfix https://github.com/ansible/ansible/pull/28657)

```python
    module = AnsibleModule(
        argument_spec=dict(
            path=dict(type='path', aliases=['dest', 'file']),
            xmlstring=dict(type='str'),
            xpath=dict(type='str'),
            namespaces=dict(type='dict', default={}),
            state=dict(type='str', default='present', choices=['absent',
'present'], aliases=['ensure']),
            value=dict(type='raw'),
            attribute=dict(type='raw'),
            add_children=dict(type='list'),
            set_children=dict(type='list'),
            count=dict(type='bool', default=False),
            print_match=dict(type='bool', default=False),
            pretty_print=dict(type='bool', default=False),
            content=dict(type='str', choices=['attribute', 'text']),
            input_type=dict(type='str', default='yaml', choices=['xml',
'yaml']),
            backup=dict(type='bool', default=False),
        ),
        supports_check_mode=True,
        required_by=dict(
            add_children=['xpath'],
            attribute=['value', 'xpath'],
            content=['xpath'],
            set_children=['xpath'],
            value=['xpath'],
        ),
        required_if=[
            ['count', True, ['xpath']],
            ['print_match', True, ['xpath']],
        ],
        required_one_of=[
            ['path', 'xmlstring'],
            ['add_children', 'content', 'count', 'pretty_print', 'print_match', 'set_children', 'value'],
        ],
        mutually_exclusive=[
            ['add_children', 'content', 'count', 'print_match','set_children', 'value'],
            ['path', 'xmlstring'],
        ],
    )
```

* Rebase and fix conflict

* Add modules that use required_by functionality

* Update required_by schema

* Fix rebase issue
2019-02-15 10:57:45 +10:00
Matt Clay
0a461380a3 Fix incorrect use of is for comparisons.
See https://bugs.python.org/issue34850 for details.
2019-02-12 16:33:13 -08:00
Sayed Anisul Hoque
63148b0cc7 Fixes the comment in the example of the sysctl module(#51547) 2019-02-12 14:30:21 +05:30
Felix Fontein
09f78d2f6c ufw: allow to insert rules relative to first/last IPv4/IPv6 rules (#49796)
* Insert should have type int.

* Add insert_relative_to option.

* Add changelog.

* Add tests.

* Improve comment.
2019-02-12 08:05:14 +00:00