Commit Graph

2010 Commits (a4cdf0d6980adef1d87c18fe758812628d8eb636)

Author SHA1 Message Date
Chris Archibald 7d5418e3d0 New Module: na_ontap_vscan_on_access_policy (#49785)
* changes to clusteR

* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* new module na_ontap_vscan_on_access_policy

* update author

* remove blank trys'

* switch to int
6 years ago
Dag Wieers 365ded2df6 nmcli: Fix known validate-modules issues (#52493)
This PR includes:
- Adding parameter types
- Fix validate-modules issue
- Improve parameter types and resulting changes

This PR needs to be verified and tested by maintainer(s).
6 years ago
Chris Archibald 740d53011e Change na_ontap_igroup to NetAppModule module format (#52280)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* update to igroup

* fix author

* Revert "Revert "changes to clusteR""

This reverts commit 2c51779211.
6 years ago
Chris Archibald fdc3f16bba New Module: Ontap Igroup initiator (#52281)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Add igroup initiator

* fix author

* Revert "Revert "changes to clusteR""

This reverts commit 2c51779211.
6 years ago
Chris Archibald fde2e2d195 New Module: Allow for copy of Luns (#52285)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* add lun copy

* Revert "Revert "changes to clusteR""

This reverts commit 8e56b999e6.
6 years ago
Chris Archibald d63794741f New Module: Manage security keys (#52291)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* add key manager

* Revert "Revert "changes to clusteR""

This reverts commit 8e56b999e6.
6 years ago
Chris Archibald cf491e8b5b Modify na_ontap_service_processor_network to use NetAppModule, add new option to wait for completion, and unit tests. (#52292)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* updates

* fix docs

* Revert "Revert "changes to clusteR""

This reverts commit 8e56b999e6.

* fix docs
6 years ago
Chris Archibald 42fe43a0c7 New options for na_ontap_aggregate (wait_for_online, and time_out) (#52353)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* updates

* fix author

* Revert "Revert "changes to clusteR""

This reverts commit 8e56b999e6.

* update copyright

* fix doc
6 years ago
Chris Archibald a60740a37d New Module: na_ontap_vscan_on_demand_task (#51183)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Add vscan on demand task

* fix author line
6 years ago
Chris Archibald bd8e75a67b Make na_ontap_user idempotent (#51509)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Fix Idempotent issue

* Fix author

* Fix author
6 years ago
Chris Archibald a722133640 Modify job schedule to allow list of date and times instead of a single datetime (#51510)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* allow for more than 1 time to be set

* move file to correct directory

* Ansibot fixes
6 years ago
Hannes Ljungberg da8574c567 docker_swarm_service: Allow passing period strings on relevant options (#52530)
* Allow duration to be passed as duration strings

* Remove whitespace

* Add changelog fragment

* Fix broken test

* Better error handling
6 years ago
Anil Kumar Muraleedharan c9fea2b74b Lenovo cnos lldp (#52568)
* To add new module cnos_lldp.
6 years ago
Alan Rominger 62feba3d15 support deterministic host ordering from group ancestors (#44067)
Fixes #44065
6 years ago
Matt Martz d1116ef2d8
Remove unused internal -a argument and functionality (#52602) 6 years ago
Martin Krizek 84ba41e0e1 ansible-doc: fix traceback when passing `-a` arg (#52036)
Fixes #52034
6 years ago
Chris Archibald f9139be5e6 Added support for nvme, and bug fixes for na_ontap_interface (#52283)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* add interface

* updates

* fix author

* Revert "add interface"

This reverts commit 26ef11602e.

* Revert "Revert "add interface""

This reverts commit 4518d537a2.

* Revert "updates"

This reverts commit 47b58dde02.

* Revert "Revert "changes to clusteR""

This reverts commit 2c51779211.
6 years ago
Chris Archibald 1da29c8ebe Update user roles to NetAppModule format (#50992)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* Rewrite of user roles

* Rewrite of user roles

* Fix author tag

* update

* fix author
6 years ago
Chris Archibald c9eb186a94 New Module: Na_ontap_unix_user (#50888)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* new module na_ontap_unix_user

* update modules

* Update author

* Fix author line

* add na_ontap_unix_user to no-get-exception exception list

* Remove no-get-exception line

* updates

* Revert "updates"

This reverts commit 6771b7fdd7.

* Revert "Revert "changes to clusteR""

This reverts commit b4b9f9dcc3.
6 years ago
Chris Archibald 0c76d8db08 New Module: Na_ontap_flexcache (#50885)
* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* New module Flexcache

* update documentation string, and copyright date

* fix issues

* Revert "Revert "changes to clusteR""

This reverts commit 4dab6f7607.
6 years ago
Chris Archibald b56428c223 Allow to to upgrade more than 1 node at a time. (#50780)
* Updates to software update

* remove ip address

* Fix version

* Update author line

* Review comment
6 years ago
Chris Archibald c62a6988b1 New parameters and bugfixes for na_ontap_volume (#49511)
* add changes

* Fixed documentation

* Review comment
6 years ago
Naval Patel 90e1c58a00 new module lxca_cmms for Lenovo XClarity Administrator (#49594)
* new module for lxca_cmms

* modified exception and error message

* Removed unused import in test

* Corrected Return block
6 years ago
Bojan Vitnik 922af44d7d Fix a bug that caused exception on XenServer 7.1 with Cummulative Update (#52303)
- xenserver module_util: fixed a bug in gather_vm_params function where
   an exception was generated if XenServer product_version_text_short
   parameter contained non numeric characters, e.g. "7.1 CU1" on
   XenServer version 7.1 with Cummulative Update 1. Code was changed
   to use product_version parameter instead which is all numeric.
 - xenserver module_util: get_xenserver_version function is changed
   to return a list of integers for major, minor and update version
   instead of list of strings.
 - xenserver module_util: unit tests are updated according to changes.
 - xenserver module_util: removed unused imports.
6 years ago
Ganesh Nalawade 41e2bd1df5
Add support for elements validation in argspec (#50335)
* Add support for elements validation in argspec

Fixes #48473

*  Add support to validate the elements value in argspec
   when type is `list`

* Fix unit test failures

* Add unit test for elements validation

* Fix CI failures

* Fix review comments

* Fix unit test and CI failures after rebase
6 years ago
Abhijeet Kasurde 57d85031d7
Parse multiple values for single key in cmdline facts (#49591)
* Facts parsing for cmdline can now handle multiple values for a single key.
* Unit tests for cmdline fact parsing
* Review comments

Fixes: #22766

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
6 years ago
Matt Martz 77bfcad33a
Support unix socket with urls/uri (#43560)
* First pass at allowing unix socket with urls/uri. See #42341

* Only insert handler as needed

* Fix and add tests

* Add HTTPS functionality for unix sockets

* Additional test fixes

* Create context manager for monkey patching HTTPConnection.connect, de-dupe code, raise better errors

* doc

* Add a few more tests

* Fix __call__

* Remove unused import

* Patch HTTPConnection.connect with the functionality we want, instead of duplicating code and disabling

* Fix var name

* Remove unused var

* Add changelog fragment

* Update uri docs

* Fix rebase indentation issue
6 years ago
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>
6 years ago
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
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
Matt Clay f5c92f6bc1
Allow setting resource.RLIMIT_NOFILE in modules (#51989) 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
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
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 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
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
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
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
Matt Clay 467d2ebecd Fix unit tests on Python 3.8. 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
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
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
rajaspachipulusu17 338ad565a7 Pluribus Networks vrouter bgp network module with UT (#51791) 6 years ago
onigra 063cd5ea44 Add force parameter to gem module (#51366) 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 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
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
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
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
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
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
rajaspachipulusu17 0745d6a10a Pluribus Networks point feature module for vrouter pim config with UT (#51013) 6 years ago
Bojan Vitnik 64084d593e Initial commit for xenserver module_util unit tests (#50850) 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
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
vaneuk 2a0c356da9 added response_timestamps to ios_xr_command module (#50095) 6 years ago
rajaspachipulusu17 449b7e9f10 Pluribus Networks snmp community module with unit tests (#51165) 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
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
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
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
Brian Coca abb964a5a0
move extravars and option vars loading into VM (#51070)
* move extravars and option vars loading into VM

  also safedir setting, all these are intrinsic to VM
  avoid uneeded and inefectual shallow copy
  remove setters/getters as VM now does most of the work in init
  updated and added tests

* feedback + fixes

* keep extra_vars property for vars_prompt

* pass values not objects
6 years ago
mrmagooey 8eff4cae10 VMware: vmware_guest - allow existing vmdk files to be attached to guest (#45953) 6 years ago
Nilashish Chakraborty 2f0c666b5b
Add option to enter admin configuration mode in iosxr_user (#51430)
* Add admin mode to iosxr_user

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

* Update docs for admin option

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

* Fix review comment

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
6 years ago
Brian Coca 50b40c47df aws_ec2 Implement the missing 'region discovery' (#51333)
* aws_ec2 Implement the missing 'region discovery'

  fixes #45288

  tries to use api as documented (which seems to fail in latest boto3 versions)
  and fallback to boto3 'hardcoded' list of regions

* fixes and cleanup, add error for worst case scenario

* fix tests, remove more unused code

* add load_name

* acually load the plugin

* set plugin as required

* reverted test changes, removed options tests

* fixes as per feedback and cleanup
6 years ago
Chris Archibald d897ff7bf2 Updates to ontap_user 6 years ago
Nilashish Chakraborty 77303d72ab
Add new module - junos_ping (#50711)
* WIP junos_ping

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

* Added junos_ping module

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

* Minor changes

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

* Minor changes - 2

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

* Fix CI

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

* Initial tests

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

* WIP tests

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

* Fix spaces

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

* Fixed unit tests

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

* Removed unused print statements

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

* Removed unused print statements

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

* Update license template

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

* Fixed Review Comments

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
6 years ago
Chris Archibald cc618b00a5 changes to cifs_server 6 years ago
Chris Archibald 0ab5b765ec Rewrite of Na_ontap_job_schedule and new options (#49507)
* New options, and rewrite

* add module
6 years ago
Chris Archibald 5cc34af927 ucadapter rewrite and unit test (#49497)
* ucadapter rewrite

* update skip line
6 years ago
Nilashish Chakraborty 69dd03d472
ios_user: Add support for multiple sshkeys (#51173)
* Add support for multiple sshkeys

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

* Fix CI

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

* Add the keys at on go

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

* Update tests

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
6 years ago
Chris Archibald 7e4336a3f4 Switch na_ontap_ifgrp to use NetAppModule and new option (#50774)
* rewrite

* fixes to ifgrp

* Fixed Author
6 years ago
Chris Archibald 1c54ca52b2 New Module: na_ontap_nvme_namespace (#50886)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* new module nvme namespace

* updates

* Revert "updates"

This reverts commit 92056e5ba4.

* update author

* Fix author line
6 years ago
Chris Archibald d5add305ab New Module: na_ontap_portset (#49784)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* new module na_ontap_portset

* Fix author

* fix issue from comment
6 years ago
Chris Archibald c940c6df41 Rewite of na_ontap_cifs to use NetAppModule, new options, and unit tests. (#49782)
* changes to clusteR

* Revert "changes to clusteR"

This reverts commit 33ee1b71e4bc8435fb315762a871f8c4cb6c5f80.

* changes to na_ontap_cifs

* fix dup
6 years ago
Anatoly Pugachev fe8412128b facts: solaris: introduce distribution_major version detection for Solaris (#43978)
* facts: solaris: introduce distribution_major version detection for Solaris

Currently, there's no distribution_major in facts module on Solaris OS.
Use "uname -r" output to report major version.

Before the patch we get this on Solaris 11.3 :

$ ansible -o solaris11 -m setup -a filter=ansible_distribution_major_version
solaris11 | SUCCESS => {"ansible_facts": {}, "changed": false}

and after this patch, output is the following:

$ ansible -o solaris11 -m setup -a filter=ansible_distribution_major_version
solaris11 | SUCCESS => {"ansible_facts": {"ansible_distribution_major_version": "11"}, "changed": false}

Tested with Solaris 11.3 and Solaris 10 (both are x86_64 VMs)

Includes patch for test/units.

Fixes #18197

* Try to fix test unit

* should work now...

* fixes for W291 (trailing whitespace) and E265 (block comment)

* mock uname_release for solaris 10 and solaris 11

* facts: solaris: introduce distribution_major version detection for Solaris

Currently, there's no distribution_major in facts module on Solaris OS.
Use "uname -r" output to report major version.

Before the patch we get this on Solaris 11.3 :

$ ansible -o solaris11 -m setup -a filter=ansible_distribution_major_version
solaris11 | SUCCESS => {"ansible_facts": {}, "changed": false}

and after this patch, output is the following:

$ ansible -o solaris11 -m setup -a filter=ansible_distribution_major_version
solaris11 | SUCCESS => {"ansible_facts": {"ansible_distribution_major_version": "11"}, "changed": false}

Tested with Solaris 11.3 and Solaris 10 (both are x86_64 VMs)

Includes patch for test/units.

Fixes #18197

* Try to fix test unit

* should work now...

* fixes for W291 (trailing whitespace) and E265 (block comment)

* mock uname_release for solaris 10 and solaris 11

* typo uname_v -> uname_r

* rebase

* fix pep8 E302: 2 blank lines

* remove int() cast to match test case

* use single function for uname_r and uname_v

* add solaris 11.4 OS to distribution test unit

* fix pep8 sanity - E231 missing whitespace

* distribution_major_version variable strip newline

* mocker test function for mock_get_uname with parameters instead of two different functions

* failed to make one fuction with test unit, revert to use 2 different functions

* try to use single get_uname function

* fix pep8: E703
6 years ago
Chris Archibald 890f4eb5c4 New Options for Autosupport (#50773)
* new option

* spelling

* fix minor issue

* Fix Doc line

* Add update netapp_module

* fix issue with autosupport

* Fix docuemntation
6 years ago
Matt Martz 8c08d03989
Fieldattribute inheritance with defaults (#50891)
* Add tests for check_mode at play and task level

These test inheritance of check_mode from the various levels (command
line, as a play attribute and as a task attribute) so they will be
useful for checking that the change to fieldattribute inheritance with
defaults works

* Add a sentinel object

The Sentinel object can be used in place of None when we need to mark an
entry as being special (usually used to mark something as not having
been set)

* Start of using a Sentinel object instead of None.

* Handle edge cases around use of Sentinel

* _get_parent_attribute needs to deal in Sentinel not None

* No need to special case any_errors_fatal in task.py any longer

* Handle more edge cases around Sentinel

* Use Sentinel instead of None in TaskInclude

* Update code to clarify the vars we are copying are class attrs

* Add changelog fragment

* Use a default of Sentinel for delegate_to, this also allows 'delegate_to: ~' now to unset inherited delegate_to

* Explain Sentinel stripping in _extend_value

* Fix ModuleArgsParser tests to compare with Sentinel

* Fixes for tasks inside of roles inheriting from play

* Remove incorrect note. ci_complete

* Remove commented code
6 years ago
Brian Coca 42c35a2e01
parallelize getting mount info (#49398)
* parallelize getting mount info

* fixed timeout and made 8 max thread count

  - minor cleanup
  - avoid empty mount entries
  - set timeout on get
  - enforce timeout per mount/thread
  - make note on failure per mount
  - make note on timeout per mount
  - ensure proper pool control
  - minor fixes
  - less vars, simpler code
  - move filter 'pre threading'
  - remove timeout for all mounts, now per mount
  -  also use cpu count from multiprocessing lib
  -  moved 'bind' options out of thread as per comments
  - warn on error, more info on failure to get info
6 years ago
Sam Doran 9d4c0dc111 Catch sshpass authentication errors and don't retry multiple times to prevent account lockout (#50776)
* Catch SSH authentication errors and don't retry multiple times to prevent account lock out

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

* Subclass AnsibleAuthenticationFailure from AnsibleConnectionFailure

Use comparison rather than range() because it's much more efficient.

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

* Add tests

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

* Make paramiko_ssh connection plugin behave the same way

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

* Add changelog

Signed-off-by: Sam Doran <sdoran@redhat.com>
6 years ago
Sumit Jaiswal 4049e33817
PR to implement support feature for creating NIOS network container (#51168)
* resolves 51161

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* resolves 51161

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* resolves 51161

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* resolves 51161

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* resolves 51161

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
6 years ago
Olivier BLIN 87a01df6ad Fix 'defaults' option in the nxos_config module (#51076)
* Fix 'defaults' option in the nxos_config module

Nxos get_config is allways called with the 'all' option.
* Fix flag's calculation
* Add tests

* nxos_config: the 'backup' option take into account the value of 'defaults' option

If 'defaults' option is true, the running-config backup is done with the all
keyword.
6 years ago
rajaspachipulusu17 61a342f0bb Pluribus Networks admin syslog modules with unit tests (#50596) 6 years ago
Abhijeet Kasurde 2a2e9c4ea2 dataloader: unit tests (#50942)
* dataloader: unit tests

Based on work from Alikins (https://github.com/ansible/ansible/pull/16500)

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

* review comments

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
6 years ago
Nathaniel Case 9702893729
Remove deprecated options from modules (#50246)
* Remove deprecated options from modules

* Update tests

* Add porting guide notes
6 years ago
rajaspachipulusu17 a38039bbbe Pluribus Networks port cos rate setting module with UT (#50856) 6 years ago
rajaspachipulusu17 213b2e633c Pluribus Networks switch setup module with unit test cases (#50797)
* Pluribus Networks switch setup module with unit test cases

* Module error fix and pep8 standards error fix
6 years ago
Abhijeet Kasurde 8aa2372073
VMware: Unit test for vmware_guest (#50140)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
6 years ago
Ingate Systems 5671ff983d modules: network: ingate: Add module ig_store_edit (#47675)
* modules: network: ingate: Add module ig_store_edit

* modules: network: ingate: Add module ig_config

Manage the configuration database on an Ingate SBC.
6 years ago
Johannes Brunswicker c6d404cbe9 Add optional headers to utm modules (#49856)
* removed info declaration from documentation fragment as this is not implemented
* added optional headers for POST and PUT requests
* updated documentation
* added missing headers field decalaration
* removed info choice from state field
* added tests for the new utm_utils function
* fixed class invocation
* added missing required params
* fixed the pytests
6 years ago
vaneuk e150943314 added timestamps to nxos_command module (#50261)
* added timestamps to nxos_command module

nxos_command module now returns timestamps field, which shows command execution time

* –fixed unit test failure for /lib/ansible/module_utils/basic

* cosmetic changes to align with PEP 8
6 years ago
Ricardo Carrillo Cruz ac61c99821
Add checkpoint_session module (#50930)
* Add checkpoint_session module

* Add unit test

* Fix pep8

* Rename Checkpoint for Check Point
6 years ago
Matt Clay 465df0ef8d
Fix encoding issues with file paths. (#50830)
* Fix encoding issues with file paths.

Discovered while testing with ANSIBLE_CONFIG env var set to a path
that contained unicode characters while LC_ALL=C.

* Fix unit tests.

* Fix another path encoding issue.
6 years ago
Ricardo Carrillo Cruz 18370419a3
Add forgotten checkpoint unit tests (#50858)
I forgot to do a git add on a couple unit tests it seems
6 years ago
Roberto Polli caa0c9d4cc Fixes #25725: strip quotes from lsb_release and distribution description. (#31143) 6 years ago
rajaspachipulusu17 ca74c443ba Pluribus Networks port config module (#50314)
* Pluribus Networks port config module

* Documentation fix for version added

* Doc fixes
6 years ago
rajaspachipulusu17 44febe4e56 Pluribus Networks port cos bw module (#50287)
* Pluribus Networks port cos bw module

* Indentation fix

* Documentation fix

* Corrected indetentation for required_one_of

* Added maintainer name in BOTMETA.yml

* Removed maintainer name in BOTMETA.yml as my team is already there
6 years ago
rajaspachipulusu17 abdcf2a776 Pluribus Networks pn_dscp_map_pri_map module with Unit tests (#50142)
* Pluribus Networks pn_dscp_map_pri_map module with Unit tests
* Corrected method name in unit test script
6 years ago
Anil Kumar Muraleedharan cb89b1758d Lenovo cnos l2interface (#50641)
* Adding cnos_l2 interface module and its associated Integration test as well as Unit test code
6 years ago
Anil Kumar Muraleedharan f5ebd9736c Lenovo cnos banner new module (#50145)
* Adding cnos_banner module to the list.
6 years ago
Martin Krizek 4c72ef124b tqm._initialize_notified_handlers() is noop now (#50713) 6 years ago
Ricardo Carrillo Cruz 3e91ec28b8
Checkpoint access rule (#49937)
* WIP checkpoint_access_rule module

* Add fixes and docstrings

* Add dunder init

* Fix sanity tests issues

* Fix sanity test

* Add RETURN and EXAMPLES

* Fix example

* Fix pep8

* Add tests

* Fix pep8

* Fix pep8
6 years ago
Nilashish Chakraborty 7845373f96
New Module: vyos_ping (#50193)
* New module for vyos ping functionality

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

* Add some new parameters

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

* Need spaces

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

* Fix pylint errors

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

* Fix pylint errors

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

* Fix docs

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

* Fix docs

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

* Fix docs

Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
6 years ago
vpiserchia 774a667591 Add Devuan Support for ascii release - resolve 49615 (#49616)
* Add Devuan Support for ascii release - resolve 49615

* Devuan Ascii does not have the VERSION_ID in the /etc/os-release file, we need to set NA
6 years ago
Ricardo Carrillo Cruz f9079274e7
Checkpoint httpapi plugin (#49929)
* Add checkpoint httpapi plugin and access rule facts module

* WIP checkpoint_access_rule module

* Add publish and install policy, plus fix empty json object request for publish

* Refactor publish and install_policy onto module_utils

* Add update resource logic

* Add checkpoint_host_facts module

* Return code and response on get_acess_rule function

* Add checkpoint_host module

* Add checkpoint_run_script module

* Add checkpoint_task_facts module

* Show all tasks if no task id is passed

Note, this is only available on v1.3 of Checkpoint WS API

* Add update logic to checkpoint host

* Add full details on get task call

* Add checkpoint httpapi plugin

* Fix pep8

* Use auth instead of sid property and return False on handle_httperror method

* Fix version in docstring

* Remove constructor

* Remove Accept from base headers

* Do not override http error handler and assign Checkpoint sid to connection _auth

There is scaffolding in the base class to autoappend the token, given
it is assigned to connection _send

* Use new connection queue message method instead of display

* Remove unused display

* Catch ValueError, since it's a parent of JSONDecodeError

* Make static methods that are not used outside the class regular methods

* Add missing self to previously static methods

* Fix logout

Was carrying copy pasta from ftd plugin

* Remove send_auth_request

* Use BASE_HEADERS constant

* Simplify copyright header on httpapi plugin

* Remove access rule module

* Remove unused imports

* Add unit test

* Fix pep8

* Add test

* Add test

* Fix pep8
6 years ago
rajaspachipulusu17 a1e1a42341 Pluribus Networks module for connection stat settings with UT's (#50186)
* Pluribus Networks module for connection stat settings
6 years ago
Wojciech Wypior 4648a441d2 adds bigip apm policy import (#50559) 6 years ago
Wojciech Wypior 8b1214596a adds apm policy fetch module (#50534) 6 years ago
Sumit Jaiswal 189fcb37f9
Added new module to support NIOS Fixedaddress DHCP property (#49119)
Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* nios fixedaddr new module

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* updating name

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* added unit tests

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
6 years ago
Abhijeet Kasurde bc6cd13874
Handle exception raised in recursive_finder API (#49590)
User module can contain Indentation errors or syntax errors.
Handle AST exceptions rather than showing traceback while importing such module.

Fixes: #21707

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
6 years ago
Toshio Kuratomi 27c7d5bb01 Move the arguments module into cli/ and context_objects into utils
* Note: Python2 is not as intelligent at detecting false import loops as
  Python3.  context_objects.py cannot be added to cli/arguments because it
  would set up an import loop between cli/__init__.py,
  cli/arguments/context_objects.py, and context.py on Python2.

ci_complete
6 years ago
Toshio Kuratomi 7e92ff823e Split up the base_parser function
The goal of breaking apart the base_parser() function is to get rid of
a bunch of conditionals and parameters in the code and, instead, make
code look like simple composition.

When splitting, a choice had to be made as to whether this would operate
by side effect (modifying a passed in parser) or side effect-free
(returning a new parser everytime).

Making a version that's side-effect-free appears to be fighting with the
optparse API (it wants to work by creating a parser object, configuring
the object, and then parsing the arguments with it) so instead, make it
clear that our helper functions are modifying the passed in parser by
(1) not returning the parser and (2) changing the function names to be
more clear that it is operating by side-effect.

Also move all of the generic optparse code, along with the argument
context classes, into a new subdirectory.
6 years ago
Toshio Kuratomi afdbb0d9d5 Save the command line arguments into a global context
* Once cli args are parsed, they're constant.  So, save the parsed args
  into the global context for everyone else to use them from now on.
* Port cli scripts to use the CLIARGS in the context
* Refactor call to parse cli args into the run() method
* Fix unittests for changes to the internals of CLI arg parsing
* Port callback plugins to use context.CLIARGS
  * Got rid of the private self._options attribute
  * Use context.CLIARGS in the individual callback plugins instead.
  * Also output positional arguments in default and unixy plugins
  * Code has been simplified since we're now dealing with a dict rather
    than Optparse.Value
6 years ago
Toshio Kuratomi c18da65089 Add a CLIArgs Singleton class that will hold the parse cli arguments 6 years ago
Toshio Kuratomi 5844c8c7f0 Cleanups to the common.sys_info API
* Move get_all_subclasses out of sys_info as it is unrelated to system
  information.
* get_all_subclasses now returns a set() instead of a list.
* Don't port get_platform to sys_info as it is deprecated.  Code using
  the common API should just use platform.system() directly.
* Rename load_platform_subclass() to get_platform_subclass and do not
  instantiate the rturned class.
* Test the compat shims in module_utils/basic.py separately from the new
  API in module_utils/common/sys_info.py and module_utils/common/_utils.py
6 years ago
Matt Martz 3b49bbcfde Give IncludedFile more context via ansible_search_path (#50045)
* Give IncludedFile more context via ansible_search_path to template lookups. Fixes #49969

* Update units
6 years ago
Joseph Benden d810acf7a5 Add support for Kali Linux detection. (#50331)
Signed-off-by: Joseph Benden <joe@benden.us>
6 years ago
Wojciech Wypior 3ef71e529a added new module to manipulate signatre sets on ASM policy (#50209) 6 years ago
rajaspachipulusu17 3517373cfd Pluribus Networks igmp snooping module with Unit tests (#50146) 6 years ago
Nathaniel Case 0b3aa75b7f
Add backup parameter to cli_config (#50206)
* Add backup parameter to cli_config

* Add a unit test for cli_config backup
6 years ago
anasbadaha d2446cbf0f Fix Issue #39598 (#49982)
* Fix Issue #39598

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix unit test for onyx_config

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Add comments for save running config

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Enhance onyx_config bug fix

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix result['changed'] = True comment

Signed-off-by: Anas Badaha <anasb@mellanox.com>
6 years ago
anasbadaha 6178a55afd Fix Issue #49612 (#50073)
* Fix Issue #49612

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Pep8 failures

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Add validation for send empty group name

Signed-off-by: Anas Badaha <anasb@mellanox.com>

* Fix Error message

Signed-off-by: Anas Badaha <anasb@mellanox.com>
6 years ago
Chris Archibald 39b1f1c363 Rewrite (#49570) 6 years ago
Sumit Jaiswal f76d7bdbef
New Module for creating, managing Infoblox NIOS nameserver groups (#49124)
* adding new nios_nsgroup module

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* adding new nios_nsgroup module

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* adding new nios_nsgroup module

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* fix shippable errors

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>

* added unit tests

Signed-off-by: Sumit Jaiswal <sjaiswal@redhat.com>
6 years ago
Anil Kumar Muraleedharan eab3b02cb3 Refactoring of cnos_interface module like what followed by other vendors (#49927)
* Refactoring of cnos_interface module like what followed by other vendors

* To remove cnos-interface from E326 validation ignore list

* Effect of default parameters impacted UT
6 years ago
rajaspachipulusu17 afdd4e2343 Pluribus Networks dhcp filter module with unit tests (#49848)
* Pluribus Networks dhcp filter module with unit tests
* Added type which was missing in doc
* Removed unwanted global variable
* Fix return type
6 years ago
rajaspachipulusu17 8ca02d8359 Pluribus Networks admin service module with unit tests (#49854)
* Pluribus Networks admin service module with unit tests
* Documentation fix
* import module changes
* Removed unused imports
* Fix return type
6 years ago
Wojciech Wypior 59f4871615 added bigip_asm_policy_manage (#50115)
* added bigip_asm_policy_manage

* Update bigip_asm_policy_manage.py
6 years ago
Wojciech Wypior f761cc4077 added ASM policy server technology module (#50116)
* added ASM policy server technology module

* Update bigip_asm_policy_server_technology.py
6 years ago
Toshio Kuratomi bd072fe83a
Make the timeout decorator raise an exception out of the function's scope (#49921)
* Revert "allow caller to deal with timeout (#49449)"

This reverts commit 63279823a7.

Flawed on many levels

* Adds poor API to a public function
* Papers over the fact that the public function is doing something bad
  by catching exceptions it cannot handle in the first place
* Papers over the real cause of the issue which is a bug in the timeout
  decorator
* Doesn't reraise properly
* Catches the wrong exception

Fixes #49824
Fixes #49817

* Make the timeout decorator properly raise an exception outside of the function's scope

signal handlers which raise exceptions will never work well because the
exception can be raised anywhere in the called code.  This leads to
exception race conditions where the exceptions could end up being
hanlded by unintended pieces of the called code.

The timeout decorator was using just that idiom.  It was especially bad
because the decorator syntactically occurs outside of the called code
but because of the signal handler, the exception was being raised inside
of the called code.

This change uses a thread instead of a signal to manage the timeout in
parallel to the execution of the decorated function.  Since raising of
the exception happens inside of the decorator, now, instead of inside of
a signal handler, the timeout exception is raised from outside of the
called code as expected which makes reasoning about where exceptions are
to be expected intuitive again.

Fixes #43884

* Add a common case test.

Adding an integration test driven from our unittests.  Most of the time
we'll timeout in run_command which is running things in a subprocess.
Create a test for that specific case in case anything funky comes up
between threading and execve.

* Don't use OSError-based TimeoutError as a base class

Unlike most standard exceptions, OSError has a specific parameter list
with specific meanings.  Instead follow the example of other stdlib
functions, concurrent.futures and multiprocessing and define a separate
TimeoutException.

* Add comment and docstring to point out that this is not hte Python3 TimeoutError
6 years ago