Commit Graph

812 Commits (a60740a37dd94e3840293a93a10ca673c79efd7f)

Author SHA1 Message Date
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
Jordan Borean c1e51ef486 Use common functions for handling import errors (#51851)
* Use common functions for handling import errors

* use refactored version of gitlab modules
2019-02-07 16:51:16 -05:00
Alexander Kharkevich b93b3dd7a7 java_cert: support of different keystore type (JKS, JCEKS) (#49953)
* add differents type of keystores support (JKS, JCEKS)

* update documentation

* fix pep8 errors

* fix check in get_keystore_type
2019-02-07 10:45:28 -05:00
Kairo Araujo a355686987 new module: aix_devices, manage AIX devices (#32290)
* new module: aix_devices AIX devices management

This module discovery, defines, removes and modifies attributes of AIX
devices.

* Added hide attributes that can be used for aliases

Added hid attributes that can be used to manage aliases on en
interfaces.

* After tests: docs and attributes tests

Fixed attributes tests and doc explaining how to use
attributes with comma.

* Fixed grammar on module description

Fixed grammar on module description

* Included test/legacy/aix_devices.yml for tests

As discussed on IRC ansible-devel channes, was include the
legacy tests for further manual tests.

* Added 'attributes' as dictionary

Added 'attributes' as a dictionary makes the configuration
simple.

* Changed the added version from 2.5 to 2.7

Fixed the shippable error from 2.5 to 2.7

```
2018-06-01 08:28:02 ERROR: Found 1 validate-modules issue(s) which
need to be resolved:
2018-06-01 08:28:02 ERROR:
lib/ansible/modules/system/aix_devices.py:0:0: E307 version_added
should be 2.7. Currently 2.5 (75%)
```

* Various changes

* Revert

* Changed the tests to integration dir

* Implement 'available' state

'available' state is the AIX state used, that works same as 'present'

* The states were changed to AIX expressions and kept Ansible states.

Makes sense keep the states names to AIX and use the Ansible 'standards'
states.

'available' is 'present'
'removed' is 'absent'

It makes easy to AIX sysadmins use the module, however it keep the
Ansible meanings.

* Fixed choices according with latest patchset (commit)

* A few doc changes

Nothing material
2019-02-04 03:49:25 +01:00
Kairo Araujo de67b8e5ee new module: AIX Volume Group creating, resizing, removing (#30381)
* new module: AIX Volume Group creating, resizing, removing

It is a module to manage Volume Groups to AIX Logical Volume
Manager. With this module is able to create, reisize and
remove a Volume Group.

* fixed suggestion for standards and PEP8

fixed suggestion on PR according with standards and PEP8

* Removed blank space in the end of line.

Removed blank space in the end of line.

* Improved validations, functions, pep8

- fixed pep8 and non-written conventions;
- fixed RETURN doc indentation for msg;
- fixed and improved the physical volume verification;
- pp_size, when not specified, is followed from AIX side;
- included volume group verification in the top;
- included state varyon and varyoff to be easy in playbooks;
- removed check_mode

* Implemented back module.check_module, pep8, return

Implemented back the module.check_module to permit be used.
Some corrections regarding module.exit_json() and
module.fail_json().
Some pep8 and non-written conventions

* removed exit_json() from functions and pep8

- ordered option parameters and pep8 compliance
- removed exit_json() from functions and moved to main()

* pep8, two spaces before function

pep8, two spaces before function

* changed single/double quotes

changed single/double quotes to non-written convention.

* removed command options parameters as global vars.

Commands options parameters was moved as global variables
to inside create_vg().

* include state to return.

included the state to return.

* no-underscore-variable applied to the code

no-underscore-variable was applied to the code

* Fixed version and doc

Fixed version and documentation sanity

* Fixed documentation for E325, E326

Fixed documentation for E325, E326 to force option

* Fixed E319 for return doc.

* Various improvements and cosmetic changes

* Fix whitespace issue
2019-02-04 03:30:10 +01:00
Sam Doran 55436fde26 Use correct property name (#51511)
Add missing variable for storing returned file object. This prevents an I/O error because the f.writelines() call will be against a closed file.
2019-01-30 17:26:23 -05:00
Brian Coca 2b1b4db04d added docs for sleep/systemd interaction (#51336)
fixes #22430
2019-01-29 15:19:29 -05:00
Anatoly Pugachev 88dee04f66 Prefer to use gmake (if available) on non linux OS (#51294)
* Prefer to use gmake (if available) on non linux OS

Fixes #26187

* Small cosmetic changes
2019-01-26 15:28:55 +01:00
Stephan Müller ffac260c66 add support for hostname on Raspbian (#51273) 2019-01-24 11:48:48 -05:00
Dag Wieers 30227ace98
Fix parameter types and other fixes (#50111)
* Fix parameter types and other fixes

* Fix issues after review

* Fix Windows-references in system/files modules

This PR includes:
- Replacing version/v with just Ansible X.Y
- Removing Windows-alternatives from notes

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

Co-Authored-By: dagwieers <dag@wieers.com>

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

Co-Authored-By: dagwieers <dag@wieers.com>

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

Co-Authored-By: dagwieers <dag@wieers.com>

* Revert type change, move to separate PR

* Update lib/ansible/modules/files/replace.py

Co-Authored-By: dagwieers <dag@wieers.com>

* Update lib/ansible/modules/files/replace.py

Co-Authored-By: dagwieers <dag@wieers.com>

* Update lib/ansible/modules/files/replace.py

Co-Authored-By: dagwieers <dag@wieers.com>

* Update lib/ansible/modules/files/replace.py

Co-Authored-By: dagwieers <dag@wieers.com>

* Update lib/ansible/modules/files/replace.py

Co-Authored-By: dagwieers <dag@wieers.com>

* Update lib/ansible/modules/files/replace.py

Co-Authored-By: dagwieers <dag@wieers.com>
2019-01-18 03:24:47 +01:00
Thiago Ribeiro 04b381b28a Add new param "ignore_selinux_state" to seport, sefcontext, seboolean (#48945) 2019-01-16 15:50:02 -05:00
Christopher Gadd e89fb35843 Allow overwrite of SSH key (#49971)
* Allow overwrite of SSH key

* Use k: v syntax rather than k=v
2019-01-16 13:05:29 -05:00
Brian Coca a7e81ba500
ensure we have required systemd env var (#50607)
* ensure we have required systemd env var
* add clarification about systemd and user scope

  fixes #50272
2019-01-16 12:36:41 -05:00
Strahinja Kustudic eb8294e6d9 Fix create home dir fallback (#49262)
When a user home dir is not created with `useradd`, the home dir will now
be created with umask from /etc/login.defs. Also fixed a bug in which
after a local user is deleted, and the same user exists in the central
user management system, the module would create that user's home.
2019-01-14 16:01:26 -05:00
Jacob Olsen 37960ccc87 check for chroot in systemd module (#43904)
* check for result['status'] in systemd module

* instead of checking for result['state'], actually check for chroot and warn

* allow systemctl status to work if in a chroot, update warn text

* simply change warning message
2019-01-14 15:45:05 -05:00
Abhijeet Kasurde db8702cdb8 Close all open filehandle (#50544)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-01-11 10:14:08 -05:00
Kairo Araujo 3ec469f904 Included support to AIX group of subsystems on service module (#33043)
* Included support to AIX group subsystems

AIX systems has subsystems as services but also uses group
subsystems.
For example, spooler is a group subsystem to services
qdaemon, writesrv, and lpd.
This change enables the possibility to use also the group
susbsystmes such as spooler, nfs, etc.

When the service name is informed, first the module will
check if the name is a subsystem, if not it will check if
the name is a group subsystem and also it subsystems states.

This change makes services more flexible with AIX systems.

* Included test/legacy/aix_services.yml for tests

As discussed on IRC ansible-devel channes, was include the
legacy tests for further manual tests.
2019-01-08 17:41:58 -05:00
Toshio Kuratomi eb4249c7da Fix for the new 2.8 feature to have modprobe check for builtins.
uname output includes a newline.  strip() the newline so that the
filepath we construct points to the right place.
2019-01-07 09:05:50 -08:00
Kairo Araujo fc6d85e4cf new module: Configure LVM and NFS file systems for AIX (#30810)
* new module: AIX LVM file system and NFS

This module creates, removes, mount and unmount LVM and NFS file system
for AIX using /etc/filesystems. For LVM file systems is also possible
to resize the file system.

* better parameters options structure

better parameters options structure

* Improved file system resize returns

Added better tratment for return codes for file system resize.
When a resize is not possible because no enough space on lv or
shrink is not allowed.

* improved doc and creation file system return code

- improved doc
- creation file system return code 10 was treated.

* Doc recomendations, dict result, line limit

- Added doc recomendations
- Changed return to dict results on main()
- Using 159 columns for code limit

* wrong changed return when file system is already

Fixed wrong changed return when file system is already mounted.
When the file system is already mounted the return for changed
is False.

* Fixed description and included playbook for tests

- Fixed description
- Included playbook for manual tests

* Various small bits to get this merged ASAP

* Rename test/legacy/aix_filesystem.yml to test/integration/targets/aix_filesystem/tasks/main.yml

Move integration test to its proper location

* Create aliases

* Fix CI issues
2019-01-05 02:18:12 +01:00
Eric L 69deb73803 Fix firewalld module failing on missing protocol. (#50242)
Under Python 3.7 at least, the split of the port field fails
ungracefully if there is no slash. The fix also addresses the
case of an empty protocol after the slash.
2019-01-02 11:09:42 -06:00
Adam Miller 33156712a9 Provide both service state and status when possible in service_facts (#49618)
* Combine systemd units/unit-files output for service_facts

Fixes #47118

Previously we were only taking the output of `systemd units` which
would leave out information about the service units that were
disabled, static, masked, etc. Now we're aggregating the results so
that anything not active/inactive/dead at least is pulled as fact
data with it's state provided.

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

* provide state and status information about services

Fixes #45730

Signed-off-by: Adam Miller <admiller@redhat.com>
2018-12-26 13:24:03 +00:00
Jacob Floyd 069e0b8d57 Make modprobe module check for builtins as well (#37150)
Without this modprobe always reports changed when modprobe-ing a builtin module.

With this, if a kernel module is a builtin, the modprobe module will:
- succeed (without incorrectly reporting changed) if ``state`` is ``present``;
- fail if ``state`` is ``absent``

The failure will have whatever error message modprobe returns when
attempting to remove a builtin module. For example:
``modprobe: ERROR: Module nfs is builtin.``
2018-12-20 15:30:29 -06:00
Julien Girardin 3e303bea4c List correctly current PV in "lvg" module: fix lvg reduce (#49731)
* Refactor integration test for lvg module to introduce grow/reduce test

* List correctly current PV in lvg module: fix lvg reduce

Previous behaviour was to only take into account PV passed in 'pvs'
argument. This lead to reduce not working as expecting:

* with state=present and list of wanted pvs, lvg found only the pvs to
  add or already present and ignored the pv to remove (obviously absent
  from the list of given PV)

* with state=absent and a pv to remove, lvg found that the remaining pvs
  list is empty (ignoring possible other PV in the vg) and decides to
  remove the vg entirely (as supposely no PV are left anymore to store
  lvm metadata)

* Add changelog fragment
2018-12-20 15:43:18 +00:00
soulofmischief f43217d520 Fix typo: or -> on (#50123)
"To create a disabled account or Linux systems" should be "To create a disabled account **on** Linux systems"

+label: docsite_pr
2018-12-19 12:12:52 +01:00
Dag Wieers 05c6ff79f9 Convert to reduced list of known types (#50010) 2018-12-19 07:25:30 +10:00
Michaël de Groot 13f2b29305 Small documentation update: Clarify daemon-reload always executing. (#49889)
* Small documentation update
* shortens and clarifies line
2018-12-18 12:22:57 -06:00
Dag Wieers 15d39f9108 Sanity fixes in various modules (#50080) 2018-12-18 09:53:46 -06:00
Toshio Kuratomi 61b1daa65f Port from plaform.dist to ansible.module_utils.distro.linux_distribution
ci_complete
2018-12-17 11:01:01 -08:00
Toshio Kuratomi 3fba006207 Update bare exceptions to specify Exception.
This will keep us from accidentally catching program-exiting exceptions
like KeyboardInterupt and SystemExit.
2018-12-16 15:03:19 -08:00
Dag Wieers 26474c6902
Add seealso section to Windows and related modules (#49845)
* Add seealso section to Windows and related modules

* Fixes after review
2018-12-15 03:23:59 +01:00
Adam Furbee 2dc36bf842 added support for icmp-blocks and icmp-block-inversion (#45705) 2018-12-12 15:01:35 -05:00