Commit graph

842 commits

Author SHA1 Message Date
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
Felix Fontein
4d3d8dd60f ufw: check values for direction depending on situation (#50402)
* Check values of 'direction'.

* Add changelog.

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

Co-Authored-By: felixfontein <felix@fontein.de>

* Update lib/ansible/modules/system/ufw.py
2019-02-11 14:47:35 +00:00
Felix Fontein
a279892fae ufw: allow gre and igmp protocols (#51166)
* ufw: allow gre and igmp protocols.

* Add changelog.
2019-02-11 14:46:38 +00:00
Jérôme BAROTIN
b99de25f32 Enable changed var with ufw check mode (#49948)
* Enable 'changed' var with ufw check mode

* Fix from comment of the PR + Unit Test

* Fix on ufw module after the second review

- delete rules change works in check mode
- simplify execute def & use it on every call process
- improved regexp
- rename vars defaults to current_default_values

* Add ignore error to execute() and use it in get_current_rules()

* Update after third code review (introduce change in changed status)

* Adjust tests and fix some problems (#1)

* 'active' also appears in 'inactive'.

* 'reject' is also a valid option here.

* For example for reloaded, changed will be set back to False here.

* Improve and adjust tests.

* Fix after merging integration test

* handle "disabled" on default routed

* Add /var/lib/ufw/.. rules files

* add unit test

* Fix pep8 formatting error

* Separate ipv6 and ipv4 rules process from checkmode

* fix non-ascii error on ci

* Some change after review

* Add unit test with sub network mask

* rename is_match function by is_starting

* add changelog fragment
2019-02-11 11:05:35 +00:00