Commit Graph

2951 Commits (2f043448ed53381f4432095f3a745059f32bc71a)

Author SHA1 Message Date
Nilashish Chakraborty bc403dbcda
Added new module - frr_facts (#51804)
* Add new module frr_facts

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix return value

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix review comments

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix review comments

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Handle empty row for mpls ldp neighbors

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix review comments

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix CI

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Remove timestamp from cliconf pluging

* Updated examples

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>

* Fix sanity tests

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2019-02-18 19:35:40 +05:30
Matt Martz 9f82f3fd14 Alias ansible_model to ansible_product_name for Darwin. Fixes #52233 (#52242) 2019-02-18 10:22:44 +00:00
Hannes Ljungberg 18b968d486 docker_swarm_service: Add healthcheck option (#52419)
* Define yaml versions as strings

* Add healthcheck option

* Add changelog fragment

* Don’t set version_added as strings

* Use single quoted string

* Disable healthcheck tests on python 2.6

* Bring back quoting on already quoted version-added

* Python 2.6 compat

* Move functions to docker-common

* Move parse_healthcheck to docker-common

* Cast exception to str before printing failure

* Extend parse_healthcheck tests
2019-02-18 09:46:14 +00:00
Ondra Machacek 435e0c5dba Update kubevirt_vm with new feautures (#52311) 2019-02-18 15:12:23 +05:30
Yuwei Zhou 664e6fb9c8 modified storageaccount fact return curated result with connection string (#49702) 2019-02-18 16:48:56 +08:00
Garfield Lee Freeman 6b8f679ad1 Bug fixes and enhancements for panos connection (#52306) 2019-02-18 09:19:26 +05:30
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>
2019-02-18 08:28:04 +05:30
Zim Kalinowski b7482e6a6d fix version import in common (#52005) 2019-02-18 09:54:59 +08:00
Sayed Anisul Hoque 7d6a94e7dc Fixed typos (#52426) 2019-02-17 22:49:40 +01:00
Felix Fontein be3a47e2fe docker_common: improve image finding methods (#44692)
* Work around problem with Docker daemon that sometimes won't find image if prefixed with docker.io repo name.

* When tring library/xxx, docker-py also doesn't sometimes find the image.

* Add changelog.
2019-02-17 14:28:40 -05:00
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.
2019-02-16 07:14:29 -08:00
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>
2019-02-15 22:30:51 +05:30
Dag Wieers 677c04c01d
Sanity fixes to parameter types (#52325) 2019-02-15 16:58:58 +01:00
Timo Runge 47190088b4 module_utils/mysql: Fixing unexpected keyword argument 'cursorclass' error after migratio… (#47809)
* Fixing unexpected keyword argument 'cursorclass' error after migration from MySQLdb to PyMySQL

* Adoptions for mysql.py as suggested by felixfontein.

* Adding changelog fragment.
2019-02-15 15:38:01 +00:00
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
2019-02-15 16:32:29 +01:00
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
2019-02-15 07:19:04 -08:00
Dag Wieers f9ab9b4d68 Assorted pylint fixes 2019-02-15 06:54:47 -08:00
Jordan Borean de118734e9
Ansible.Basic - add required_by to module spec (#51407)
* Ansible.Basic - add required_by to module spec

* fix typo in docs
2019-02-15 13:00:25 +10: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 3e778d3f8f Fix pycodestyle E117 issues. 2019-02-13 23:35:39 -08:00
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
2019-02-13 21:55:43 -05:00
René Moser 9e71ec71a3
cloudstack: ensure return api_timeout is int (#52191) 2019-02-13 23:11:22 +01:00
Felix Fontein d7fd4d0550 docker_*: always use client.fail() over module.fail_json(), allow to always return data on failure (#51999)
* Always use client.fail() instead of module.fail_json().

* Allow to pass on results on module failure.

* Linting.
2019-02-13 14:10:23 -05:00
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.
2019-02-13 15:38:13 +00:00
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
2019-02-13 10:26:43 +00:00
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>
2019-02-13 10:17:01 +00:00
Amol Kahat 563725ba98 Fixed typo from adress to address (#52143)
Signed-off-by: Amol Kahat <akahat@redhat.com>
2019-02-13 13:57:13 +05:30
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
Abhijeet Kasurde 47e1bf1862
VMware: Tag management to VMware object (#46945)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2019-02-12 16:53:33 +05:30
Piotr Wojciechowski 42f20091dd docker_swarm_facts: New module to retrieve Docker Swarm information (#50622)
* docker_swarm_facts: PR cleanup after rebasing

* docker_swarm_facts: Adding the features similar to docker_host_facts

* docker_swarm_facts: Minor documentation and documentation updates

* docker_swarm_facts: Minor documentation and documentation adjustments to changes in #51700

* docker_swarm_facts: Using AnsibleDockerSwarmClient class method to fail module if not run on swarm manager
module_utils\docker\swarm.py: Adjustment of error message to me bore descriptive if module fails because it is not run on swarm manager node
2019-02-12 00:59:31 -05:00
Will Thames 9babd16942 k8s handle absent resources when waiting (#51682)
* k8s wait - don't try to call to_dict on None

Need to ensure that the resource dict is correctly returned for absent
resources

* Cope with resources without a namespace

Some resources (e.g. ClusterRoleBinding) do not have a Namespace.
Handle the lack of a namespace key.
2019-02-11 21:43:42 +01:00
Rémy Léone accbcdeccb Add a Scaleway load-balancer module (#51741) 2019-02-11 15:28:55 +00:00
Bill Dodd e0538610bf Update GetBiosBootOrder to use standard spec resources (#51764)
* update GetBiosBootOrder to use standard spec resources

* handle case where BootOrder is present but BootOptions is missing
2019-02-11 14:50:10 +00:00
Fabian von Feilitzsch e81b74d6c8 Properly parse boolean env values as boolean (#51836) 2019-02-11 14:49:00 +00:00
Bill Dodd 3b20b186d7 remove non-standard GetManagerAttributes, SetManagerAttributes (#51898) 2019-02-11 14:33:15 +00:00
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.
2019-02-08 08:16:11 +00:00
Guillaume Martinez 8fd3591275 copyright: edit deprecated email (#51912) 2019-02-08 01:48:25 +01:00
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
2019-02-08 10:07:01 +10:00
Jeremiah Mahler ffbc9d99de fix Amazon system-release version parsing (#51521)
Previously it was assumed that the Amazon system-release
number was the final value of the string.  This isn't always
the case.  Some releases have the name at the end.

  Amazon Linux release 2
  Amazon Linux release 2 (Karoo)

Fix by instead looking for a number in the string.

Fixes #48823
2019-02-07 17:58:34 -05: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
Adam Miller 9bb05b72b2 correctly detect pkg_mgr on fedora/rhel/centos rpm-ostree installed (#49256)
Check the path /run/ostree-booted which I'm told by upstream that it
will always be present when a host system is Fedora/RHEL/CentOS
Atomic/CoreOS vs "traditional" distro instance to detect the
non-traditional instance and ensure pkg_mgr selection is correct

Signed-off-by: Adam Miller <admiller@redhat.com>
2019-02-07 15:16:38 -05:00
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
2019-02-07 20:40:14 +01:00
Mike Sgarbossa c459f040da use list instead of tuple and remove md5 on ValueError (#51357)
* use list instead of tuple and remove md5 on ValueError

Signed-off-by: michael.sgarbossa <msgarbossa@cvs.com>

* convert algorithms to list and add comment

Signed-off-by: michael.sgarbossa <msgarbossa@cvs.com>

* only convert to list if algorithms is not None

Signed-off-by: michael.sgarbossa <msgarbossa@cvs.com>

* new fragment for PR 51357

Signed-off-by: michael.sgarbossa <msgarbossa@cvs.com>

* fix lint: remove blank line
2019-02-07 11:23:11 -05:00
ftntcorecse e8209c23da Fortinet FortiManager Connection Plugin RC, plus associated utilities (#50336)
* PR Candidate for FortiManager Connection Plugin, plus associated Utilities.

* Update fortimanager.py

Adding additional comments

* Committing changes for PR as requested by Ansible Staff

* Minor doc change to kick off new shippable test. Unrelated code (not our stuff) caused a failure on the last test.

* Removed generic methods for get/set/etc. Moved a copy of FMGRLockCTX into the plugin for portability, and to left the original in the mod_utils/fortimanager.py as deprecated code for pre-2.7 customers still running on pyFMG and not the plugin.

Tested all playbooks and all modules, and all appears well.
2019-02-07 08:55:30 -05:00
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
2019-02-06 13:59:55 -08:00
Jordan Borean 0f0d33a954 start getting modules to use shared import error code (#51787) 2019-02-06 12:39:17 -05:00
Will Thames 7d181802fb Improve kubernetes validation warnings (#51683)
Warnings get printed at the end of loops, which means that if you're
running validation against a bunch of resources, the warning message
gets printed after a number of potentially unrelated resources.

Adding extra info about the resource failing validation will help
find the validation issues.
2019-02-06 08:09:41 +01:00
Martin Nečas e0de42fe48 Ovirt vm state running wait false (#51024)
* ovirt change wait when state running

* add seting vm wait before creating module

* update wait for running vm

* ovirt vm sanity pylint correction

* ovirt add wait create

* update pep8 snytax

* update pep8 snytax 2
2019-02-04 14:52:37 +00:00
Nathaniel Case d14f16e31b
Restconf HTTPAPI plugin and modules (#49476)
* Initial code for restconf support

*  Add restconf httpapi plugin
*  Add restonf_get module

* Fix some ConnectionError usage
2019-02-04 09:28:26 -05:00
Ariel O. Barria 57349c0611 validate memory parameter for ovirt_vm (#46698) 2019-02-04 13:54:07 +00:00