Commit Graph

7133 Commits (00003cbb7b8ac1ab4f729662190f028f9cd7fd62)

Author SHA1 Message Date
Jordan Borean 4b296da6a2
zypper: fix tests to use new URL for OpenSUSE 15.0 (#52453) 6 years ago
Zim Kalinowski 777441719f
azure_rm_cosmosdbaccount - fix for virtual network rules (#52416) 6 years ago
Jordan Borean 4a94bd8d9d
opensuse - install password-store from specific repo (#52439) 6 years ago
Abhijeet Kasurde fad6443e58
Distribution: Add support for Linux Mint 18.3 (#52224)
* Distribution: Add support for Linux Mint 18.3
* Review comments

Fixes: #52210

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
6 years ago
Piotr Wojciechowski e284a1546f Integration tests for docker_node_facts (#52423) 6 years ago
Piotr Wojciechowski d27ac7a816 Integration tests for module docker_swarm_facts (#52208)
* * docker_swarm_facts integration tests

* * docker_swarm_facts integration tests

* * docker_swarm_facts integration tests

* Removing commented lines

* Extended and updated integration tests for docker_swarm_facts module

* Cosmetic integtration tests playbook changes

* Cosmetic integtration tests playbook changes from PR comments
6 years ago
Felix Fontein ef3d86255d docker_* modules: remove from validate-modules ignore list (#52402)
* Remove docker_* modules from validate-modules ignore list.

* Adjust types of cacert_path, cert_path and key_path.

* Fix type of update_failure_action in docker_swarm_service.
6 years ago
Matt Clay f86c24a53c Update the default container to version 1.5.2.
ci_complete
6 years ago
Matt Clay f5c92f6bc1
Allow setting resource.RLIMIT_NOFILE in modules (#51989) 6 years ago
saranyasridharan 1db6d5598a Adding custom module to get PID of the process (#50896) 6 years ago
Matt Clay 1edee04bc5 Update pytest constraint for Python 2.7. 6 years ago
Matt Clay bbad5d1d16 Unfreeze six in test constraints.
This avoids re-installation during integration test runs.

Pinning this requirement shouldn't be needed for consistent test
results when running pylint.
6 years ago
Abhijeet Kasurde e0d8d9c2bf validate-modules: Documentation bool (#50085)
* validate-modules: Documentation bool

This check allows to catch cases where type of argument is different than documentation does.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

* Wrong comparison for 'str'

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

* Add ignore.txt

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

* Fix logic and clean up ignore.txt
6 years ago
Sviatoslav Sydorenko f1e67c3328 Bugfix/ fix mocker patch in tests (#52372)
* 🐛 Fix invalid os.stat mock in tests

* 🐛 Fix leaking mock patch in tests

Closes #52347
6 years ago
Matt Clay 6ac22416af Fix tests to use ANSIBLE_TEST_PYTHON_INTERPRETER. 6 years ago
Martin Krizek 50d7483632
Native Jinja2: raise undefined error immediately (#52237)
Fixes #52158
6 years ago
Abhijeet Kasurde db03f88b63
distribution: Add support for Cumulus Linux (#52309)
* Refactored code
* Added support for Cumulus Linux 2.5.4
* Added support for Cumulus Linux 3.7.3
* Test added

Fixes: #29969

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
6 years ago
Dag Wieers 677c04c01d
Sanity fixes to parameter types (#52325) 6 years ago
David Soper 958653e282 Cisco Intersight module_utils and intersight_facts module (#51309)
* Cisco Intersight module_utils and intersight_facts module

* Add RETURN information and fix pylint, import, and pep8 issues.

* Review updates for specifying type of params/returns and not polluting ansible_facts.

* BSD one line license, validate_certs used, urls.fetch_urls replaces requests
6 years ago
Dag Wieers c2fb581414 Fix various sonarcloud issues
This fixes various reported bugs through sonarcloud at:
https://sonarcloud.io/project/issues?id=Rodney-Reis_ansible&resolved=false&types=BUG
6 years ago
Dag Wieers f9ab9b4d68 Assorted pylint fixes 6 years ago
Andrey Klychkov 8e0f95951d Module postgresql_idx: added ci tests, new params, returned values, code refactoring (#52230)
* postgresql_idx: ci tests, refactoring, return values

* postgresql_idx: ci tests, new params, return values

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* postgresql_idx: ci tests, fix

* New module postgresql_table - fix tests

* New module postgresql_table - fix tests

* New module postgresql_table - fix tests

* New module postgresql_table - fix state choices order
6 years ago
Dag Wieers 203caf2570
Fix module issues (#52209) 6 years ago
Dag Wieers cedd9d9926
crypto: Fix known issues in modules (#52302)
* crypto: Fix known issues in modules

This fixes a few issues reported by 'validate-modules'.

* Fix whitespace
6 years ago
Zim Kalinowski 2f3960558d
Fix for PostgresSQL server update and storage_mb (#51653) 6 years ago
Zim Kalinowski 1f5cda37b3
Fix for MySQL server update and storage_mb (#51661) 6 years ago
japokorn 68d43130d0 New LUKS devices management module (#48991)
* New LUKS devices management module

- new module that uses cryptsetup (LUKS) functions for management
of encrypted devices
- unit tests included

* New LUKS devices management module

- modified interface by removing 'open' option and moving its functionality
into 'state' option
6 years ago
Dag Wieers 27dfdb6a6a doc_fragments: Clean up parameter types (database) (#52178)
* module_utils: Clean up parameter types (database)

This PR includes:

- Parameter types added
- Copyright format fixes
- Short license statement
- Description fixes (only for a few files, then I stopped :-))

* Fix validate-modules test ignores
6 years ago
Matt Clay 6a82827ddd Add Python 3.8 to ansible-test and CI. 6 years ago
Jordan Borean de118734e9
Ansible.Basic - add required_by to module spec (#51407)
* Ansible.Basic - add required_by to module spec

* fix typo in docs
6 years ago
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
6 years ago
René Moser 0cc23de776
cloudstack: test: ensure network is implemented (#52204)
In ACS 4.12, it is no longer possbile to acquire IPs to a (...) network
not already in implemented state.

With deployment of a VM instance, we enforce the implementation of the
network. Also see 323f791efc
6 years ago
Matt Clay d2c5fc8cac Update pytest and pytest-forked constraints. 6 years ago
Matt Clay aea4902822 Add constraint for pyone to keep tests passing. 6 years ago
Matt Clay 9bb1c59686
Add FreeBSD 12.0 to CI. (#52195) 6 years ago
Jordan Borean 7b8e814a10 Ansible.Basic: make module options case insensitive with dep warning (#51583)
* Ansible.Basic: make module options case insensitive with dep warning

* Add porting guide info
6 years ago
Matt Clay 7016559b1a Fix openssl_privatekey test on FreeBSD 12.0. 6 years ago
Yunge Zhu bccf6d31bd add azure_applicationsecuritygroup module (#51214)
* add applicationsecurity group module

* fix lint
6 years ago
Adam Miller ea0e2bf2b3 yum always return changes dict, not only in check mode (#51987)
Previously the yum module would provide a `changes` dict when
executed in check mode but omit it when not in check mode in favor
of the `results` data which is raw output from the yum command. This
pull request makes that output uniform.

Fixes #51724

Signed-off-by: Adam Miller <admiller@redhat.com>
6 years ago
Chris Archibald 6a06e9f485 New Module: na_ontap_nvme (#51182)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Add new module nvme
6 years ago
おすし c2a409a9e0 Fix: Yum module does not use proxy when username is not set #51548 (#51994)
* add test of yum with proxy

* Properly handle unauthenticated yum proxy config

Fixes #51548

* shell executable is bash
6 years ago
Sam Doran ad386290b4
Update command/shell docs with note about modules for rebooting(#51499)
- Update integration test syntax
6 years ago
Matt Martz cdb53ff1a4
Restore behavior for detecting only localhost, and no limit match. Fixes #52152 (#52172)
* Restore behavior for detecting only localhost, and no limit match. Fixes #52152

* Add test for non-matching limit
6 years ago
Jordan Borean 847d089d6b Re-add support for setting shell from play context (#52139)
* Re-add support for setting shell from play context

* Add integration tests

* Add more tests for shell override

* fix sanity issue
6 years ago
Matt Martz b34d141eed
Disallow use of remote home directories containing .. in their path (CVE-2019-3828) (#52133)
* Disallow use of remote home directories containing .. in their path

* Add CVE to changelog
6 years ago
Juan Antonio Osorio 9f081ca04f identity: Add GSSAPI suport for FreeIPA authentication (#52031)
* identity: Add GSSAPI suport for FreeIPA authentication

This enables the usage of GSSAPI for authentication, instead of having
to pass the username and password as part of the playbook run.

If there is GSSAPI support, this makes the password optional, and will
be able to use the KRB5_CLIENT_KTNAME or the KRB5CCNAME environment
variables; which are standard when using kerberos authentication.

Note that this depends on the urllib_gssapi library, and will only
enable this if that library is available.

* identity: Add documentation for GSSAPI authentication for FreeIPA

This documentation describes how to use GSSAPI authentication with the
IPA identity modules.

* identity: Add changelog for GSSAPI support for IPA

This adds the changelog entry for the GSSAPI authentication feature for
the IPA identity module.
6 years ago
Chris Archibald 7d55dc1a38 Add ontap version to gather facts (#51181)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Add FlexGroup to Gather facts:

* fix call error
6 years ago
Chris Archibald 93237edcda New Module: na_ontap_qos_policy_group (#51392)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* add new module na_ontap_qos_policy_group

* fix issues
6 years ago
Chris Archibald 311a076dae New Module: na_ontap_nvme_subsystem (#50887)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* New module na_ontap_nvme_subsystem

* updates

* update author

* fix author
6 years ago
Abhijeet Kasurde 32fce43311
hashi_vault: fix multiple spaces in params (#51524)
Fixes param parsing in hashi_vault

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
6 years ago
Abhijeet Kasurde 22bddb434a
test for ipaddr filter (#52088)
based upon work of mscherer

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
6 years ago
Pilou 51270be883 tower modules: check that 'verify_ssl' defined in ~/.tower_cli.cfg isn't ignored (#50687)
* Check that verify_ssl defined in tower_cli.cfg isn't ignored

* Avoid to override verify_ssl value defined in tower_cli.cfg

By default, tower-cli library enables SSL certificates check. But
verify_ssl false value defined in config files read by default by
tower-cli library (for example /etc/tower/tower_cli.cfg) was ignored
because overriden by the tower_verify_ssl parameter default value.

* fix a typo in comment
6 years ago
Ondra Machacek 797a5218fb kubevirt: Add new kubevirt_vm module (#50768)
This module is managing virtual machines using KubeVirt.

Signed-off-by: Ondra Machacek <omachace@redhat.com>
6 years ago
Straff d4a07f9573 Added support for user-specified log file in win_package (#51104)
* Added support for user-specified log file in win_package - feature (#38353)

* added integration tests for win_package log_path support feature (#38353), and applied review feedback

* win_package log_path support feature (#38353) - fixed typo in win-package.py documentation

* win_package log_path support feature (#38353) - improved an integration test and better doc in win-package.py
6 years ago
Matt Clay 467d2ebecd Fix unit tests on Python 3.8. 6 years ago
Amol Kahat 563725ba98 Fixed typo from adress to address (#52143)
Signed-off-by: Amol Kahat <akahat@redhat.com>
6 years ago
Matt Clay 1c352dfea2
Update test constraints for Python 2.6. (#52055) 6 years ago
Abhijeet Kasurde 928c4f08ca
Fix test case in vmware_guest (#52142)
Due to changes in https://github.com/ansible/ansible/pull/45412
vmware_guest testcase delete_vm failed. This patch will fix that testcase.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
6 years ago
Will Thames 46fbcf08bc
aws_kms enhancements (#31960)
* Allow creation and deletion of keys (deletion just schedules for
  deletion, recreating an old key is just cancelling its deletion)
* Allow grants to be set, thus enabling encryption contexts to be
  used with keys
* Allow tags to be added and modified
* Add testing for KMS module
* Tidy up aws_kms module to latest standards
6 years ago
Matt Clay 1f3a74c0c8
Improve import sanity test output handling. (#52136)
Handling of unexpected output for the following is improved:

- stdout
- stderr
- warnings
6 years ago
Wojciech Sciesinski a431e802ed Add posibilities to run the integration tests for PowerShell < 5.0 (#50808)
* Add posibilities to run the integration tests for PowerShell < 5.0

* Update of tests - based at a review comments for #50612

* The correction of YAML structure
6 years ago
Wojciech Sciesinski a7528cdd25 Update the NuGet package provider when needed (#50759)
* Update the NuGet package provider when needed

* Update NuGet provider conditionally
6 years ago
Andrew Gaffney 9c35f18dd6 Custom jinja Undefined class for handling nested undefined attributes (#51768)
This commit creates a custom Jinja2 Undefined class that returns
Undefined for any further accesses, rather than raising an exception
6 years ago
rajaspachipulusu17 0825cbad40 Pluribus Networks prefix list network module with Unit test cases (#52064) 6 years ago
Chris Archibald ce092ed939 New Modules: na_ontap_unix_group (#51390)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* add new module ontap_unix_groups
6 years ago
Bojan Vitnik 64a6dcdd1d New module: xenserver_guest_facts - returns facts of XenServer VMs (#49426)
* Initial commit for xenserver_guest_facts module
* New module: xenserver_guest_facts. Returns facts of XenServer VMs. Module is fully documented.
* Added unit tests for the module
* Moved FakeXenAPI import to a dedicated fixture, other fixes
* Removed unused imports, minor fixes to unit test code
6 years ago
Abhijeet Kasurde fab815fc3b
VMware: Handle duplicate VM names in vmware_vm_facts (#45412)
This fix changes facts returned from vmware_vm_facts to list of dict from
dict of dict.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
6 years ago
Abhijeet Kasurde 5c992fcc3f
ansible-vault: handle utf-8 filename in vault (#50341)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
6 years ago
rajaspachipulusu17 48edffac60 Pluribus Networks vrouter ospf6 module with UT (#51793)
* Pluribus networks vrouter ospf6 module with UT

* Changes in check cli method
6 years ago
Hannes Ljungberg 70d8f02db7 docker_swarm_service: Extend env and add env_files support (#51762)
* Extend env and add env_files support

* Python 2.6 compat

* Handle lists passed as string

* Add changelog fragment

* Use correct link formatting

Co-Authored-By: hannseman <hannes@5monkeys.se>

* Fix typo

Co-Authored-By: hannseman <hannes@5monkeys.se>

* Handle empty env and env_files values
6 years ago
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.
6 years ago
rajaspachipulusu17 2e3964b474 Pluribus Networks vrouter interface ip module with UT (#51792)
* Pluribus networks vrouter interface ip module with UT

* Indetentation fix

* Changes in check cli method
6 years ago
rajaspachipulusu17 76534b45b0 Pluribus networks vflow table profile module with UT (#51722) 6 years ago
Jordan Borean 179cbb9891
win_dsc - return warning from DSC invocation (#51927) 6 years ago
rajaspachipulusu17 338ad565a7 Pluribus Networks vrouter bgp network module with UT (#51791) 6 years ago
Ari Stark 2f85d62989 Add state option to git_config module (#50578)
* Add state option to git_config module

State present/absent option works like --set/--unset option for 'git config'.

* Change git_config to avoid useless parameter passed to git command

When unsetting value, command was : git config --unset foo ''.
Now command is : git config --unset foo.

* Add some integration tests to git_config module

* Add missing aliases file

* Change set up method

Using git command seems to cause troubles on some OS : changing config
by changing '.gitconfig' file.

* Remove some distros from tests pool

Git is not installed or is out of date on these distros.

* Fix aliases to skip tests on centos6

* Refactor tests of the git_config module

* Add use case when state=absent and value is defined
6 years ago
onigra 063cd5ea44 Add force parameter to gem module (#51366) 6 years ago
Dag Wieers 031a1a5cc2 vsphere_file: New module to manage files on datastores (#48180) 6 years ago
Matt Martz c55317a2bd
Update connection plugins to use correct, non-deprecated, methods (#52038)
* Update connection plugins to use correct, non-deprecated, methods

* Update tests to reflect calling become plugins
6 years ago
Matt Clay 6cba471958 Remove unnecessary validate-modules ignore entry. 6 years ago
Matt Martz 445ff39f94
Become plugins (#50991)
* [WIP] become plugins

Move from hardcoded method to plugins for ease of use, expansion and overrides
  - load into connection as it is going to be the main consumer
  - play_context will also use to keep backwards compat API
  - ensure shell is used to construct commands when needed
  - migrate settings remove from base config in favor of plugin specific configs
  - cleanup ansible-doc
  - add become plugin docs
  - remove deprecated sudo/su code and keywords
  - adjust become options for cli
  - set plugin options from context
  - ensure config defs are avaialbe before instance
  - refactored getting the shell plugin, fixed tests
     - changed into regex as they were string matching, which does not work with random string generation
     - explicitly set flags for play context tests
 - moved plugin loading up front
 - now loads for basedir also
 - allow pyc/o for non m modules
 - fixes to tests and some plugins
 - migrate to play objects fro play_context
 - simiplify gathering
 -  added utf8 headers
 - moved option setting
 - add fail msg to dzdo
 - use tuple for multiple options on fail/missing
 - fix relative plugin paths
 - shift from play context to play
 - all tasks already inherit this from play directly
 - remove obsolete 'set play'
 - correct environment handling
 - add wrap_exe option to pfexec
 - fix runas to noop
 - fixed setting play context
 - added password configs
 - removed required false
 - remove from doc building till they are ready

future development:
  - deal with 'enable' and 'runas' which are not 'command wrappers' but 'state flags' and currently hardcoded in diff subsystems

* cleanup

  remove callers to removed func
  removed --sudo cli doc refs
  remove runas become_exe
  ensure keyerorr on plugin
  also fix backwards compat, missing method is attributeerror, not ansible error
  get remote_user consistently
  ignore missing system_tmpdirs on plugin load
  correct config precedence
  add deprecation
  fix networking imports
  backwards compat for plugins using BECOME_METHODS

* Port become_plugins to context.CLIARGS

This is a work in progress:
* Stop passing options around everywhere as we can use context.CLIARGS
  instead

* Refactor make_become_commands as asked for by alikins

* Typo in comment fix

* Stop loading values from the cli in more than one place

Both play and play_context were saving default values from the cli
arguments directly.  This changes things so that the default values are
loaded into the play and then play_context takes them from there.

* Rename BECOME_PLUGIN_PATH to DEFAULT_BECOME_PLUGIN_PATH

As alikins said, all other plugin paths are named
DEFAULT_plugintype_PLUGIN_PATH.  If we're going to rename these, that
should be done all at one time rather than piecemeal.

* One to throw away

This is a set of hacks to get setting FieldAttribute defaults to command
line args to work.  It's not fully done yet.

After talking it over with sivel and jimi-c this should be done by
fixing FieldAttributeBase and _get_parent_attribute() calls to do the
right thing when there is a non-None default.

What we want to be able to do ideally is something like this:

class Base(FieldAttributeBase):
    _check_mode = FieldAttribute([..] default=lambda: context.CLIARGS['check'])

class Play(Base):
    # lambda so that we have a chance to parse the command line args
    # before we get here.  In the future we might be able to restructure
    # this so that the cli parsing code runs before these classes are
    # defined.

class Task(Base):
    pass

And still have a playbook like this function:

---
- hosts:
  tasks:
  - command: whoami
    check_mode: True

(The check_mode test that is added as a separate commit in this PR will
let you test variations on this case).

There's a few separate reasons that the code doesn't let us do this or
a non-ugly workaround for this as written right now.  The fix that
jimi-c, sivel, and I talked about may let us do this or it may still
require a workaround (but less ugly) (having one class that has the
FieldAttributes with default values and one class that inherits from
that but just overrides the FieldAttributes which now have defaults)

* Revert "One to throw away"

This reverts commit 23aa883cbed11429ef1be2a2d0ed18f83a3b8064.

* Set FieldAttr defaults directly from CLIARGS

* Remove dead code

* Move timeout directly to PlayContext, it's never needed on Play

* just for backwards compat, add a static version of BECOME_METHODS to constants

* Make the become attr on the connection public, since it's used outside of the connection

* Logic fix

* Nuke connection testing if it supports specific become methods

* Remove unused vars

* Address rebase issues

* Fix path encoding issue

* Remove unused import

* Various cleanups

* Restore network_cli check in _low_level_execute_command

* type improvements for cliargs_deferred_get and swap shallowcopy to default to False

* minor cleanups

* Allow the su plugin to work, since it doesn't define a prompt the same way

* Fix up ksu become plugin

* Only set prompt if build_become_command was called

* Add helper to assist connection plugins in knowing they need to wait for a prompt

* Fix tests and code expectations

* Doc updates

* Various additional minor cleanups

* Make doas functional

* Don't change connection signature, load become plugin from TaskExecutor

* Remove unused imports

* Add comment about setting the become plugin on the playcontext

* Fix up tests for recent changes

* Support 'Password:' natively for the doas plugin

* Make default prompts raw

* wording cleanups. ci_complete

* Remove unrelated changes

* Address spelling mistake

* Restore removed test, and udpate to use new functionality

* Add changelog fragment

* Don't hard fail in set_attributes_from_cli on missing CLI keys

* Remove unrelated change to loader

* Remove internal deprecated FieldAttributes now

* Emit deprecation warnings now
6 years ago
Rémy Léone accbcdeccb Add a Scaleway load-balancer module (#51741) 6 years ago
Mariusz Mazur 34671a64b3 k8s_auth: new k8s module for handling auth (#50807)
* k8s*: add a reference to k8s_auth in all the modules' descriptions

* k8s_auth: new k8s module for handling auth

* k8s_auth: ignore E203

Can't use module_utils.urls, since that lacks user CA support, which is
a critical feature of what this module does.
6 years ago
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
6 years ago
Felix Fontein 9b1cbcf3a4 openssl_csr: ignore empty strings in altnames (#51473)
* Ignore empty strings in altnames.

* Add changelog.

* Add idempotence check without SAN.

* Fix bug in cryptography backend.
6 years ago
Guillaume Martinez 7b84c0ee80 gitlab_hook: renaming module name (#51979)
* gitlab_hook: renaming module name

* gitlab_hook: rename module in documentation

* gitlab_hook: remove plural in docs and code

* gitlab_hook: fix unit test functions
6 years ago
Hannes Ljungberg 153e996760 docker_swarm_service: Remove defaults (#51216)
* Drop descriptions of docker-py constraints <=3.0.0

* Properly indent documentation

* Clearer examples

* Spelling

* Fix example

* Revert "Drop descriptions of docker-py constraints <=3.0.0"

This reverts commit 8106215af62ae5880c3b748cec562a85f2247bdc.

# Conflicts:
#	lib/ansible/modules/cloud/docker/docker_swarm_service.py

* Add min versions for placement preferences

* Add endpoint_mode and publish to option_minimal_versions

* Restrict update max_failure_ratio and monitor versions

* Remove defaults and only pass required arguments

* Fix indentation

* Fix args documentation

* Fix replicas documentation

Co-Authored-By: hannseman <hannes@5monkeys.se>

* Add type to all documented options

* Add suboptions for mounts, secrets and configs

* Add suboptions to argument spec

* Remove redundant validation and casting

* Don’t default Spec.EndpointSpec.Mode to vip

* Use single quotes as string literal

* Catch ImportError explicitly

* Move init to top of class

* Align closing brackets

* Spelling

* Import LooseVersion

* Documentation fixes

* Documentation fix

* Documentation fixes

* Remove required: false and default=None

* Defaults for update_delay and update_parallelism

* Set correct key for default

* Handle empty idempotency

* Clearer image documentation

Co-Authored-By: hannseman <hannes@5monkeys.se>

* Clearer constraint documentation

Co-Authored-By: hannseman <hannes@5monkeys.se>

* Better documentation of corresponding service opts
6 years ago
Adam Miller 2721ed260e Properly handle unauthenticated yum proxy config (#51915)
Fixes #51548

Signed-off-by: Adam Miller <admiller@redhat.com>
6 years ago
Felix Fontein 0c2bb3da04 docker modules: various adjustments (#51700)
* Move docker_ module_utils into subpackage.

* Remove docker_ prefix from module_utils.docker modules.

* Adding jurisdiction for module_utils/docker to $team_docker.

* Making docker* unit tests community supported.

* Linting.

* Python < 2.6 is not supported.

* Refactoring docker-py version comments. Moving them to doc fragments. Cleaning up some indentations.
6 years ago
gyorgypeter 7fa5694975 VMware: Module for managing mirroring sessions. (#50338)
This module manages the mirroring sessions, and the necessary port settings.

* Correct Documentation and CS
* PEP8, YAML, Documentation Error Fix
* Added empty return statement

Co-Authored-By: gyorgypeter <32464524+gyorgypeter@users.noreply.github.com>
6 years ago
Jordan Borean 0334c20630
Add Windows Server 2019 to Shippable matrix (#51685)
* Test out Server 2019 - ci_complete

* run tests and continue on error - ci_complete

* Add the full matrix back in
6 years ago
Jordan Borean a39c4ad464
Final round of moving modules to new import error msg (#51852)
* Final round of moving modules to new import error msg

* readd URL to jenkins install guide

* fix unit tests
6 years ago
Matt Davis 46bf38711c fix azure_rm_deployment test
* recent changes to args for hosted template file broke the test; changed test to use a specific known-working commit instead of `master`.
* long-term may want to consider hosting the template in httptester or just embedding a local copy
6 years ago
Jordan Borean c92fcf0b57 Get docker tests working on OpenSUSE (#51896) 6 years ago
Guillaume Martinez 959939b866 Refactor gitlab modules (#51141)
* gitlab_group: refactor module

* gitlab_user: refactor module

* gitlab_group, gitlab_user; pylint

* gitlab_project: refactor module

* gitlab_group, gitlab_project, gitlab_user: Enchance modules

- Add generic loop to update object
- Enchance return messages
- PyLint

* gitlab_runner: refactor module

* gitlab_hooks: refactor module

* gitlab_deploy_key: refactor module

* gitlab_group: enchance module and documentation

- Enchange function arguments
- Add check_mode break
- Rewrite module documentation

* gitlab_hook: enchance module and documentation

- Rewrite documentation
- Enchance function parameters
- Rename functions

* gitlab_project: enchance module and documentation

- Rewrite documentation
- Enchance function parameters
- Add try/except on project creation

* gitlab_runner: enchance module and documentation

- Rewrite documentation
- Fix Copyright
- Enchance function arguments
- Add check_mode break
- Add missing function: deletion

* gitlab_user: enchance module and documentation

- Rewrite documentation
- Enchance function parameters
- Add check_mode break
- Add try/except on user creation

* gitlab_deploy_key, gitlab_group, gitlab_hooks, gitlab_project,
gitlab_runner, gitlab_user: Fix residual bugs

- Fix Copyright
- Fix result messages
- Add missing check_mode break

* gitlab_deploy_key, gitlab_group, gitlab_hooks, gitlab_project, gitlab_runner, gitlab_user: pylint

* gitlab_runner: Add substitution function for 'cmp' in python3

* unit-test: remove deprecated gitlab module tests

- gitlab_deploy_key
- gitlab_hooks
- gitlab_project

Actually, they can't be reused because of the modification of the way that the module communicate with the Gitlab instance. It doesn't make direct call to the API, now it use a python library that do the job. So using a pytest mocker to test the module won't work.

* gitlab_deploy_key, gitlab_group, gitlab_hooks, gitlab_project, gitlab_runner, gitlab_user: add copyright

* gitlab_deploy_key, gitlab_group, gitlab_hooks, gitlab_project, gitlab_runner, gitlab_user: Support old parameters format

* module_utils Gitlab: Edit copyright

* gitlab_deploy_key, gitlab_group, gitlab_hooks, gitlab_project,
gitlab_runner, gitlab_user: Unifying module inputs

- Rename verify_ssl into validate_certs to match standards
- Remove unused alias parameters
- Unify parameters type and requirement
- Reorder list order

* gitlab_deploy_key, gitlab_group, gitlab_hooks, gitlab_project, gitlab_runner, gitlab_user: Unifying module outputs

- Use standard output parameter "msg" instead of "return"
- Use snail_case for return values instead of camelCase

* validate-module: remove sanity ignore

* BOTMETA: remove gitlab_* test

- This tests need to be completely rewriten because of the refactoring
of these modules
- TodoList Community Wiki was updated

* gitlab_user: Fix group identifier

* gitlab_project: Fix when group was empty

* gitlab_deploy_key: edit return msg

* module_utils gitlab: fall back to user namespace is project not found

* gitlab modules: Add units tests

* unit test: gitlab module fake current user

* gitlab_user: fix access_level verification

* gitlab unit tests: use decoration instead of with statement

* unit tests: gitlab module skip python 2.6

* unit tests: gitlab module skip library import if python 2.6

* gitlab unit tests: use builtin unittest class

* gitlab unit tests: use custom test class

* unit test: gitlab module lint

* unit tests: move gitlab utils

* unit test: gitlab fix imports

* gitlab_module: edit requirement

python-gitlab library require python >= 2.7

* gitlab_module: add myself as author

* gitlab_modules: add python encoding tag

* gitlab_modules: keep consistency between variable name "validate_certs"

* gitlab_modules: enchance documentation

* gitlab_runner: fix syntax error in documentation

* gitlab_module: use basic_auth module_utils and add deprecation warning

* gitlab_module: documentation corrections

* gitlab_module: python lint

* gitlab_module: deprecate options and aliases for ansible 2.10

* gitlab_group: don't use 'local_action' is documentation example

* gitlab_module: correct return messages

* gitlab_module: use module_util 'missing_required_lib' when python library is missing

* gitlab_module: fix typo in function name.

* gitlab_modules: unify return msg on check_mode

* gitlab_modules: don't use deprecated options in examples
6 years ago
Matt Martz dfee94dfc7
Validate modules prevent version change (#51549)
* Add logic to catch version changes in docs

* Add in doc fragments before doing doc comparisons

* Handle new module scenario

* historical is only allowed in alreay present modules

* Don't repr StrictVersion
6 years ago
Abhijeet Kasurde c20722474a
ec2_vol_facts: set filters to default value (#51589)
Fixes: #51554

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
6 years ago
rajaspachipulusu17 0745d6a10a Pluribus Networks point feature module for vrouter pim config with UT (#51013) 6 years ago
Jordan Borean 6fcbfcf6b6
win_rds: wait for reboot to be complete (#51849) 6 years ago
Zim Kalinowski d252cc7a2b adding cosmos db account module (#47181)
* adding cosmos db account module

* fixes

* fixed issues

* cosmos db account test fixes

* updating cosmosdb

* fixed required

* version from autogereneator

* several upgrades

* idempotency changes

* idempotency improvements

* updated cosmos db module with new idempotency check

* and idempotency check shall fail now....

* try to fail it again

* now should really fail

* one more

* introducing comparison template

* fixes + sorting of arrays

* updated comparisons

* don't compare if parameter is none

* one more test

* fixed compare

* fixed idempotency?

* more logging

* fix comparison rules

* make smaller change

* actually compare multiple write locations

* just change failover

* remove debugging stuff

* one more fix

* fixed remaining sanity test

* updating comparison stuff

* fix pep8

* fix pep8

* will pep8 finally work?

* one more fix

* cosmos db updates

* updating cosmos db account

* fixed pep8

* fix type

* fixed indent

* fixed problem with python 3

* another fix for python 3

* bool type here

* cosmos db fixes

* fix

* fix

* fix

* fixed syntax
6 years ago
Toshio Kuratomi 0ec4e0a842 Disable the update-bundled test during normal operation
This is enabled once per release cycle in a PR so that the release
manager can open bugs for the Ansible team to update the bundled code.
6 years ago
Toshio Kuratomi dfd8b659c0 Have update-bundled check for updates to all bundled code
Add a test for whether we have bundled code inside of ansible that needs to be updated
6 years ago
Jordan Borean 0f0d33a954 start getting modules to use shared import error code (#51787) 6 years ago
David Passante cbde04606a Cloudstack: New module cs_vlan_ip_range (#51597) 6 years ago
Matt Davis 6654c7aeea
fix string_format sanity check (#51780)
* newer version of Pylint moved the impl; use conditional import to find for new/old
6 years ago
Matt Clay 06d83bae05 Support `ignore_changes` in code-smell tests. 6 years ago
Wojciech Sciesinski b8a7e35b22 Correct integration tests for the win_disk_facts module (#51044)
* Correct integration tests for the win_disk_facts module

* Exclude W2K8, W2K8-R2 from tests run under CI
6 years ago
Jordan Borean e284d21139
win_rds: move the tests into 1 target to make it quicker (#51728) 6 years ago
Bojan Vitnik 64084d593e Initial commit for xenserver module_util unit tests (#50850) 6 years ago
Martin Krizek 33b07f322c
yum: disableexcludes is supported on centos6 (#51698)
* yum: disableexcludes is supported on centos6

* Add changelog
6 years ago
Hannes Ljungberg 4a5d38b55a docker_swarm_service: Enable tests (#51170)
* Enable tests

* Comment fixes

* Try lowering timeouts

* Comment fix

* Comment fix

* Comment fix

* Add a pause to let service update

* Fix comment

* Disable dns_search tests

* Disable dns_servers test

* Fix comment

* Fix comment

* Fix comment

* Fix comment

* Fix comment

* Fix comment

* Fix comment

* Revert "Disable dns_servers test"

This reverts commit 763e9da716b78f4986f313b3ba1ab98faacb742e.

* Revert "Disable dns_search tests"

This reverts commit 2859e4e3a5ebdca078de84d821bb53bbdf967dfd.

* Revert "Add a pause to let service update"

This reverts commit e990dfae1a62e9a42b07960819818bc75fd04427.

* Revert "Try lowering timeouts"

This reverts commit 1617772de81ecef0e560b38c7564646ec3874c3c.

* Ensure that services are running while testing

* Retry tasks on update out of sequence error

* Remove unnecessary check for APIError.explanation

Co-Authored-By: hannseman <hannes@5monkeys.se>

* Ignore errors when tearing down test suite

* Retry with a loop instead of tail recursion

* Initialize self.diff_trace in run

* Add change log fragment

* Actually raise error

* Add unit test for retrying

* Lint

* Change to bugfix

* Remove whitespace

* Mock docker dependency

* Use download.fedoraproject.org

* Revert "Use download.fedoraproject.org"

This reverts commit 5931791f7c.
6 years ago
Jordan Borean c572d17c2e
ansible-test: fix incompatibilty with the RDS tests and httptester (#51716)
* test out win_uri on Shippable

* run all tests for group 3 - ci_complete

* use shared setup and cleanup role for RDS

* Set shippable matrix back to normal

* cleanup changes to support Server 2008 R2
6 years ago
rajaspachipulusu17 d5797aa02f Pluribus Networks role module with Unit tests (#51261)
* Pluribus Networks role module with Unit tests

* pep8 sanity fixes

* Doc fix
6 years ago
Jordan Borean 6ad5002712
win_updates - mark as unstable again (#51713) 6 years ago
Jordan Borean f78cdcd2c5
test win_setup - make py3 compatible (#51693) 6 years ago
Dennis Lerch e3006e8443 add diff_mode_enabled to documentation
option 'diff_mode_enabled' is not mentioned in documentation

+label: docsite_pr
6 years ago
Pilou 7a3582d651 uri: check unexpected failure doesn't occur when file cannot be saved (#45824)
* uri: fix TypeError when file can't be saved

Fix the following exception (and others):

    Traceback (most recent call last):
      File "/home/lilou/debug_dir/__main__.py", line 604, in <module>
        main()
      File "/home/lilou/debug_dir/__main__.py", line 554, in main
        write_file(module, url, dest, content, resp)
      File "/home/lilou/debug_dir/__main__.py", line 320, in write_file
        module.fail_json(msg="Destination dir '%s' not writable" % os.path.dirname(dest), **resp)
    TypeError: fail_json() got multiple values for keyword argument 'msg'

I would rather remove **resp from returned values but this module is
flagged as stableinterface.

* Static imports are more straight forward and preferred unless dynamic inclusion is required.
6 years ago
vaneuk 2a0c356da9 added response_timestamps to ios_xr_command module (#50095) 6 years ago
Jordan Borean 2e99dea867
win_service - use custom binary for tests (#51689) 6 years ago
rajaspachipulusu17 449b7e9f10 Pluribus Networks snmp community module with unit tests (#51165) 6 years ago
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
6 years ago
Jordan Borean ebc9e4caf7
add pause to make test more stable (#51680) 6 years ago
Felix Fontein 89a1c68f98 docker_volume: improve force option (deprecate, add new option) (#51145)
* docker_volume: Deprecating force option, adding recreate option.

* Add changelog.

* Remove mis-placed force: yes for docker_volume.
6 years ago
Feike Steenbergen 38e70ea317 Add session_role to postgresql modules (#43650)
* Allow session_role to be set for PostgreSQL

By implementing session_role it becomes possible to run the specific
PostgreSQL commands as a different role.
The usecase that is immediately served by this, is the one that one
ansible playbook can be shared by multiple users, which all have
their
own PostgreSQL login_user. They do not need to share login
credentials,
as they can share the role within the PostgreSQL database.

The following example may give some insight:

$ psql -U jdoe -X -d postgres

postgres=> CREATE DATABASE abc;
ERROR:  permission denied to create database
postgres=> set role postgres;
SET
postgres=# CREATE DATABASE abc;
CREATE DATABASE

fixes #43592

* Tests for session_role in PostgreSQL

* Bump version_added for session_role feature

* Remove explicit encrypted parameter from tests
6 years ago
Kevin Breit a55838b013 Digital Ocean integration test for digital_ocean_tag (#49169)
* Add Digital Ocean integration test template

- Actual integration tests will come shortly

* Add digital_ocean-tag test

* Add integration test for creating and deleting tags

* Remove cloud confiugration file

* Enhancements for integration test for idempotency
- Added new lines per review
- Added proper tests for idempotency checks
- Actual module is broken so deletion test doesn't work

* Add check for do_api_key and instruct if it doesn't work.

* Fix indentation

* Remove idempotency test for nonidempotency action

* Add notes for delete idempotency
6 years ago
Wojciech Wypior cccb681c0a Adds aggregate functionality to the module (#51638) 6 years ago
Wojciech Wypior 803bf79dce Adds aggregate functionality to the module (#51639) 6 years ago
Wojciech Wypior a5c630a81f Adds aggregate functionality to the module (#51640) 6 years ago
Wojciech Wypior fd2e0ddcac Adds clone_pools parameter (#51635)
Adds rate_limit parameter
Minor bug fixes
6 years ago
rajaspachipulusu17 a48af10b2c Pluribus Networks stp port module with UT (#51476) 6 years ago
Dag Wieers cfa028677d
ACI: Fix integration tests using urldecode (#51610)
This is in result of changes to use urlencode to encode query strings.
6 years ago
Federico87 f94378fc2f ios_ntp module (#50705)
* ios_ntp module

* add execute_module for config func

* fix units test

* test empty list

* update example

* change want logic to follow have - removed try/except

* update commands list for config test

* add idempotent test case

* add more test
6 years ago
Anil Kumar Muraleedharan 004d8b03d4 Lenovo cnos l3interface (#51322)
* Adding cnos_l3_interface module in alignment with others vendors.
6 years ago
Alex Stephen 27c5e38e10 Bug fixes for GCP modules (#51573) 6 years ago
Alex Stephen 2b0f16443c Bug fixes for GCP modules (#51574) 6 years ago
Alex Stephen 6a79468acf Bug fixes for GCP modules (#51576) 6 years ago
Alex Stephen 802827536c New Module: gcp_redis_instance (#51578) 6 years ago
Brian Coca e010034151
unquote ev (#51560)
* unquote ev

* properly test for defined var
6 years ago
Jordan Borean f27078df52
win_power_plan: fix for Windows 10 and Server 2008 compatibility (#51471) 6 years ago
Jordan Borean 2a701d22f4
win_rds move to test group 3 (#51559) 6 years ago
Chris Archibald c6a9534d61 Rewrite of na_ontap_cluster and unit tests. (#49780)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* ontap cluster changes
6 years ago
Chris Archibald 7b5897d266 New Module: na_ontap_vscan_scanner_pool (#49786)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* na ontap vscan scanner pool

* Update author
6 years ago
vaneuk 2a432a093b added timestamps to ios_command module (#50323)
ios_command module now returns timestamps field, which shows command execution time
6 years ago
Andrea Tartaglia 042aeba46c Base integration test for gitlab modules (#51490)
* Added basic integration test targets for gitlab modules

* Removed cloud/gitlab config from aliases, it doesn't exist yet

* Fixed CI issues
6 years ago
Jordan Borean 6a2aac487d
win_stat - add follow option and fix broken tests (#51522)
* win_stat - add follow option and fix broken tests

* fix docs issues
6 years ago
rajaspachipulusu17 a9b459e406 Pluribus Networks stp module with unit test (#51475) 6 years ago
rajaspachipulusu17 5e88cd9972 Pluribus Networks pn user module with UT (#51428)
* Pluribus Networks user module with UT

* Added choice to State in doc

* pep8 standards correction
6 years ago
rajaspachipulusu17 5fa2d29c9a Pluribus Networks point feature cpu mgmt class module with UT's (#51427) 6 years ago
rajaspachipulusu17 52cab33e4e Pluribus Networks point features for snmp vacm with UT's (#51423)
* Pluribus Networks point features for snmp vacm with UT's

* Duplicates removal

* Added choice for state
6 years ago
rajaspachipulusu17 271e14638e pn snmp trap sink (#51420)
* Pluribus Network snmp trap sink module with Unit tests

* pep8 standard fix

* Added proper author name
6 years ago