Commit Graph

794 Commits (52ec80fbe96564058fb24d4f368516e58ee1dc25)

Author SHA1 Message Date
Tim Rupp 9a396cc45d
Fixes unit tests broken in ansible 2.8 and minor module cleanup (#48484) 6 years ago
Tim Rupp 1378e9fca2
Removes the f5-sdk from bigip_firewall_address_list module (#48483) 6 years ago
Tim Rupp b5ee96a576
Adds bigip_dns_nameserver module (#48480)
This module can be used to manage DNS nameservers (usually used for
DNS express) functionality on a BIG-IP.
6 years ago
Tim Rupp 0c14b75eec
Remove f5-sdk from bigip_device_trust (#48479) 6 years ago
Tim Rupp 1c7e6d354c
Remove f5-sdk from bigip_device_sshd (#48478) 6 years ago
Tim Rupp 90857004c9
Remove f5-sdk from bigip_device_ntp (#48477) 6 years ago
Tim Rupp ccb6349e70
Removes f5-sdk from bigip_device_license (#48476) 6 years ago
Tim Rupp 0873043e5a
Fixes ssl cipher ordering in bigip_device_httpd. Also fix unit tests (#48475) 6 years ago
Tim Rupp fccbbf3405
Removes f5-sdk from bigip_device_group_member (#48464) 6 years ago
Tim Rupp 70cdf477e4
Remove f5-sdk from bigip_device_group (#48463) 6 years ago
Tim Rupp 03ccf50466
Remove f5-sdk from bigip_device_dns (#48461) 6 years ago
Tim Rupp a1a899353c
Remove f5-sdk from bigip_device_facts and add more facts (#48462) 6 years ago
Tim Rupp de066ceef8
Removes f5-sdk from bigip_device_connectivity (#48460) 6 years ago
Tim Rupp c161ffef81
Fixes unit tests for bigip_device_auth that were broken in 2.8 (#48459) 6 years ago
Tim Rupp 68084d989c
Removes f5-sdk from bigip_data_group (#48458) 6 years ago
Tim Rupp effa22245e
Remove the f5-sdk from bigip_configsync_action (#48457) 6 years ago
Tim Rupp e6fad87e20
Removes the f5-sdk from bigip_config (#48456) 6 years ago
Tim Rupp ec2933e20b
Removes the f5-sdk from bigip_command (#48455) 6 years ago
Tim Rupp d97abff0ad
Fixes unit tests that were broken in ansible 2.8 (#48454) 6 years ago
Tim Rupp 5196188b97
Minor fixes to bigip_cli_alias (#48452) 6 years ago
Tim Rupp 70cf5acf13
Remove f5-sdk from bigip_asm_policy (#48451) 6 years ago
Tim Rupp 77d14b36b0
Remove the f5-sdk from as3 module (#48449) 6 years ago
Tim Rupp f4c2587d47
Adds new parameters to bigip_pool_member (#48448) 6 years ago
Tim Rupp 55f5a707fe
Removes f5-sdk from bigip_pool (#48431)
Additionally fixes forwarding, small bugs, and adds small enhancements
6 years ago
Tim Rupp 7290bc23b8
Removes the f5-sdk from bigip_provision (#48397) 6 years ago
Tim Rupp 38806e8507
Fixes for bigip_qkview (#48396)
Fixes unit tests for ansible 2.8 and adds more error handling
for qkview generation
6 years ago
Tim Rupp 16032d37c4
Removes f5-sdk from bigip_service_policy (#48033) 6 years ago
Tim Rupp 11ff831998
Remove f5-sdk from bigip_snat_pool (#48030) 6 years ago
Tim Rupp 1373a25ed3
Remove the f5-sdk from bigip_smtp (#48032) 6 years ago
Tim Rupp 438827ca4d
Remove f5-sdk from bigip_snmp (#48029) 6 years ago
Tim Rupp 45e990c5f8
Remove the f5-sdk from snmp community module (#48028) 6 years ago
Tim Rupp 6b14bab750
Fixes ansible unit tests for bigip_software_install (#48025) 6 years ago
Tim Rupp 5afe77933b
Removes the f5-sdk from bigip_snmp_trap (#48027) 6 years ago
Tim Rupp b45b2b3cc4
Fixes unit tests for bigip_software_image (#48026) 6 years ago
Tim Rupp a90bf9fb32
Removes f5-sdk from bigip_software_update (#48024) 6 years ago
Tim Rupp 787b12e016
Adds the bigip_ssl_ocsp module (#48018)
This module can be used to manage OCSP profiles on a BIG-IP
6 years ago
Tim Rupp 32e77c12e0
Fixes to bigip_static_route (#48017)
Corrects documentation. Fixes unit tests, Fixes ip address checks
for gateway_address
6 years ago
Tim Rupp f25d9a1b30
Remove sdk and deprecated features (#48016)
This removes deprecated params and the f5-sdk from the sys_global module
6 years ago
Tim Rupp 96c9d9fdaa
Removes the f5-sdk from bigip_sys_db (#48015) 6 years ago
Tim Rupp f9402e5a91
Removes the f5-sdk from timer policy module (#48014) 6 years ago
Tim Rupp d8a8c21efe
Removes the f5-sdk from the traffic group module (#48008) 6 years ago
Tim Rupp 24be9c030c
Remove f5-sdk and add qinq ethertype (#48006)
This patch removes the f5-sdk from bigip trunk and adds the qinq
ethertype parameter
6 years ago
Tim Rupp b4af058c55
Fixes unit tests and token cleanup (#48005)
The unit tests in 2.8 were broken. this fixes them and adds a token
cleanup to the bigip_tunnel module
6 years ago
Tim Rupp 2a69dfb22f
Removes f5-sdk from bigip_ucs module (#48003)
This patch removes the usage of the f5-sdk from the bigip_ucs module
6 years ago
Tim Rupp f6309d19a3
Removes f5-sdk from bigip_uce_fetch module (#48002)
This is part of the ongoing effort to fully remove the f5-sdk from
the f5 ansible modules
6 years ago
Tim Rupp 5b5d41e958
Removes the f5-sdk from bigip_user (#47794)
This is more work in the ongoing effort to remove the f5-sdk from
all f5 ansible modules
6 years ago
f-bor 35b97a2fa7 edgeswitch_facts (#47618) 6 years ago
saichint b92556549e Add new configurations for nxos_vxlan_vtep (#47834)
* add new commands for vxlan

* review comments

* fix unit test

* fix sanity yaml spaces
6 years ago
anasbadaha dc8b3e94ad Adding IGMP vlan module for onyx switches (#47811)
Signed-off-by: Anas Badaha <anasb@mellanox.com>
6 years ago
anasbadaha 760e57f877 Adinng new module for supporting PTP interface in Onyx switches (#47489)
Signed-off-by: Anas Badaha <anasb@mellanox.com>
6 years ago
anasbadaha dea9e9b4c8 Adding new module for supporting PTP Global Protocol (#47501)
Signed-off-by: Anas Badaha <anasb@mellanox.com>
6 years ago
Lindsay Hill a1b0d20368 New voss_config module (#47533)
* New voss_config module

* Updated test import paths as per #46996
6 years ago
Tim Rupp 1ddfac5ad5
Fixes unit tests for vcmp guest module (#47792)
Tests were not working for ansible 2.8
6 years ago
Tim Rupp 1aae9ad282
Remove f5-sdk from bigip_virtual_address module (#47791)
Removes the f5-sdk and fixes unit tests for ansible 2.8
6 years ago
Tim Rupp 3ad1cb5619
Adds bigip_device_syslog module (#47790)
This module can be used to alter the device syslog settings and
priorities for syslog settings
6 years ago
Tim Rupp e0d2419683
Adds firewall global rules module (#47789)
This module allows the user to change global rules in AFM firewalls
6 years ago
Tim Rupp 10f3e0c187
Adds module to manage cookie persistence profiles in BIG-IP (#47786) 6 years ago
Tim Rupp 7336dd595b
Adds ipsec policy module for BIG-IP (#47785)
Allows users to manage IPSec policies on a BIG-IP
6 years ago
Tim Rupp 9d2f68e00a
Adds bigip_traffic_selector module (#47784)
This module enables the user to manage traffic selector policies on a BIG-IP
6 years ago
Tim Rupp d69b8e4bfd
Import mdule for managing sys daemon logs in BIG-IP (#47783)
This module allows one to manage the daemon log settings in tmm on BIG-IP
6 years ago
Tim Rupp 9d351f2ee7
Adds bigip profile for http2 (#47782)
This allows one to manage HTTP2 profiles on a BIG-IP
6 years ago
Tim Rupp f80288c0c4
Adds bigip_monitor_ldap module (#47781)
Adds new module to manage LDAP monitors on a BIG-IP
6 years ago
Tim Rupp 114d591f31
Adds bigip_ike_peet module (#47780)
Adds new module to managing IKE peers
6 years ago
Tim Rupp 8edbfb488c
Adds new parameters to bigip_vlan (#47777)
Also fixes unit tests to work in ansible 2.8
6 years ago
Tim Rupp 7c84ba8051
Fixes tests in bigip_wait for ansible 2.8 (#47773) 6 years ago
Tim Rupp 38844194ae
Fixes bigiq unit tests for ansible 2.8 (#47771)
fixes the unit tests for bigiq in ansible 2.8 because changes broke them
6 years ago
Tim Rupp 8ede4c5e60
Adds more facts to bigiq_device_facts (#47765)
Adds more facts to the bigiq_device_facts module
6 years ago
Tim Rupp cbc8571809
Adds fixes to the bigiq unit tests (#47763)
The tests were not working on ansible 2.8. This fixes that.
6 years ago
Tim Rupp 6e28b7d572
Remove the f5-sdk from more bigiq modules (#47721) 6 years ago
Tim Rupp d5d18a995a
Removes f5 sdk from bigiq modules and fixes unit tests (#47720) 6 years ago
Tim Rupp b7a937cb0d
Updates bigiq_utility_license_assignment for ansible 2.8 (#47719) 6 years ago
Ingate Systems 9fe20123cf modules: network: Add initial support for Ingate modules (#47494)
* modules: network: Add initial support for Ingate modules

* modules: network: Add ingate module ig_unit_information

* module_utils: network: ingate: Use default 'v1' for version

* modules: network: ingate: Remove unused code
6 years ago
Matt Clay 37b013aca3
Enable additional pylint rules and resolve issues found. (#47221)
* Resolve unneeded-not.
* Resolve global-at-module-level.
* Resolve useless-import-alias.
* Resolve bad-whitespace.
* Resolve global-variable-not-assigned.
* Resolve logging-not-lazy.
* Resolve comparison-with-itself.
6 years ago
Matt Clay 3033fd96b0
Move unit test compat code out of `lib/ansible/`. (#46996)
* Move ansible.compat.tests to test/units/compat/.
* Fix unit test references to ansible.compat.tests.
* Move builtins compat to separate file.
* Fix classification of test/units/compat/ dir.
6 years ago
anasbadaha 2c24cfb401 Add support for IGMP interfaces on onyx switches (#46218)
Signed-off-by: Anas Badaha <anasb@ufm-host08-004.mtr.labs.mlnx>
6 years ago
Egor Zaitsev 6df1f6b203 New module: routeros_facts – collect facts from RouterOS devices (#46114)
* feat(routeros): implement routeros_facts module

* fix(routeros): review by felixfontein

* fix(routeros): review by ganeshrn

* fix(routeros): review by felixfontein
6 years ago
Dan a6c20488d3 Add ospf net type (#45904)
* Added ospf network type option to nxos_interface_ospf module

* Added documentation and example for the 'network' parameter

* adding version
6 years ago
Tim Rupp ccfbed3dbc
Adds bigiq_device_facts module (#45822)
This module can be used to query a variety of facts from a BIG-IQ
6 years ago
Matt Clay 0686450cae
Fix unit tests which modify the source tree. (#45763)
* Fix CNOS unit test log usage.
* Use temp dir for Galaxy unit tests.
* Write to temp files in interfaces_file unit test.
* Fix log placement in netapp_e_ldap unit test.
6 years ago
Maugli 235b11f681 Return correct version on installed VyOS (#39115)
* Return correct version on installed VyOS

Previously existing regexp will shows only "VyOS" without numeric output of router version.
For example: from  "Version:      VyOS 1.1.6" only VyOS will be written in ansible_net_version variable
For more informative output numeric value should be returned as well

* Fixed unittests
6 years ago
Nathaniel Case 285b927889
network command modules cleanup (#45242)
* Standardize _command modules

* Centralize command transformation process

* Fix check mode error test
6 years ago
Nathaniel Case 0b433b3ea9
Clean up after cnos tests (#45564) 6 years ago
Anil Kumar Muraleedharan ac58c36ad0 Lenovo cli bugfixes (#45278)
* To change all CLIs present in the code to latest CNOS CLI. One bug of executing with Lenovo Jakku switch is also getting fixed.

* To change the file names as the commands have changed from display to show

* To change to new CLI in test_cnos_comand.py as well
6 years ago
Nilashish Chakraborty 0f268e70a1
Fix ios_user issues (#44904)
* Fix ios_user issues

* Modify regex and fix unittests
6 years ago
Senthil Kumar Ganesan a64b97da42 Support for Openswitch (OPX) Control Plane Services (CPS) Module (#44745)
* Generic module to support Openswitch (OPX) Contorl Plane Services (CPS)

* Address ansible-test sanity issues
6 years ago
Ganesh Nalawade 1a684df109
Fix iosxr cli_config module diff issue (#44898)
* Fix iosxr cli_config module diff issue

* Modify iosxr plugin to support configuration
  diff capability (get_diff()) within Ansible
  to be in sync with iosxr_config module.

* Fix unit test case failure
6 years ago
Ghilli3 7bc2660017 fortimanager/fmgr_provisioning.py (#35743)
* Initial commit for new provisioning module
6 years ago
Anton Nikulin 40a97d43d1 New modules and updated HTTP API plugin for FTD devices (#44578)
* Add common and Swagger client utils for FTD modules

* Update FTD HTTP API plugin and add unit tests for it

* Add configuration layer handling object idempotency

* Add ftd_configuration module with unit tests

* Add ftd_file_download and ftd_file_upload modules with unit tests

* Validate operation data and parameters

* Fix ansible-doc, boilerplate and import errors

* Fix pip8 sanity errors

* Update object comparison to work recursively

* Add copyright
6 years ago
Tim Rupp 0dacc606b4
Various fixes for f5 modules (#44734)
A number of bugfixes for the remaining 2.7 work on the F5 modules.
6 years ago
Tim Rupp c7eeb37f64
Adds bigip_software_install module (#44733)
This module can be used to install existing images on a bigip.
6 years ago
Tim Rupp 24a379f0b7
adds the bigip_cli_script module (#44674)
This module can be used to manage tmsh cli scripts on a BIG-IP
6 years ago
Tim Rupp ee1b899b18
Adds AS3 module (#44655)
This adds the as3 module for bigip to ansible.
6 years ago
Tim Rupp 639cfe3b6f
Refactors device group (#44599)
Make module use patterns that other modules use
6 years ago
Samer Deeb a07af2a1f7 issue:43021 add support for onyx version 3.6.6000 and above (#44527)
* issue:43021 add support for onyx version 3.6.6000

Signed-off-by: Samer Deeb <samerd@mellanox.com>

* issue:43021 add support for onyx version 3.6.6000

Signed-off-by: Samer Deeb <samerd@mellanox.com>
6 years ago
Tim Rupp 49f34fec13
Correct unit tests and module fixes (#44488)
Cleanup of unit tests. Modules fixes in iapp_template nad profile_dns
to support unit tests.
6 years ago
Tim Rupp 07a011cd6f
Various bigiq fixes (#44487)
Fixes usage of the RestClient class. Documentation fixes. Removal
of dependency code.
6 years ago
Tim Rupp d39a711aa1
Adds the bigip firewall DoS profile module (#44486)
This module can be used to manage AFM DoS profiles on a BIG-IP
6 years ago
Tim Rupp d05da83495
Removes dependencies and cleans up code (#44484)
Portions of the f5-sdk were removed as well as the netaddr library
and were replaced with libraries that are part of ansible. Additionally,
deprecated code has been removed.
6 years ago
Tim Rupp b5e99949e2
Adds the bigip_profile_http module (#44473)
This module can be used to manage HTTP profiles on a BIG-IP.
6 years ago
Lindsay Hill bec0a1ceb3 nos_facts module and tests (#44094) 6 years ago
Lindsay Hill b0a25d321d new nos_config module (#44140)
* new nos_config module

* Update cliconf/nos.py to add missing 'end'
6 years ago
Tim Rupp 359d97f01b
Adds bigip_device_auth module (#44373)
This module can be used to configure auth settings to the mgmt
interface on a BIG-IP.
6 years ago
Tim Rupp b54f6cd132
Adds bigip_firewall_rule module (#44370)
This module can be used to manage rules in either a firewall policy
or a firewall rule list in AFM, on BIGIP.
6 years ago
Tim Rupp d8ea154fb8
Adds the firewall-rule-list module for BIGIPs (#44368)
This module allows one to manage rule lists in AFM on a BIGIP.
6 years ago
Tim Rupp 8dd39a031f
Adds module to manage srcaddr persistence profiles (#44364)
This module can manage source address persistence profiles on a BIG-IP
6 years ago
Tim Rupp 3a15b6512c
Adds bigip http compression profile module (#44362)
This module can be used to manage http compression profiles on
a BIG-IP.
6 years ago
Tim Rupp 1148d57012
Adds bigip_firewall_policy module (#44361)
This module is used to manage firewall policy objects on a bigip.
6 years ago
Tim Rupp e95dbf5f47
Adds oneconnect profile module (#44360)
This module can be used to manage oneconnect profiles on a BIG-IP
6 years ago
Tim Rupp fae42c83f1
Adds bigip_monitor_dns module (#44359)
This module can be used to manage DNS monitors on a BIG-IP.
6 years ago
Tim Rupp 783b565583
Adds bigip_remote_role module (#44358)
This module can be used to manage remote roles on a BIG-IP used
for remote authentication to management interfaces.
6 years ago
Tim Rupp 0eb284b040
Adds cli alias module for BIG-IP (#44357)
This module allows one to manage CLI aliases in a BIG-IP.
6 years ago
Tim Rupp 41df1e15fe
Adds module for utility license assignment on BIG-IQ (#44356)
This module can be used to distribute utility licenses to BIG-IPs
from a BIG-IQ
6 years ago
Tim Rupp 48e99982ff
Adds bigip_software_image module (#44355)
This module can be used to manage software images on a BIG-IP.
6 years ago
Tim Rupp c1b2ef2c1a
Adds bigip_tunnel module (#44354)
This module can be used to manage tunnels on a BIG-IP.
6 years ago
Tim Rupp e204098646
Adds more unit test fixtures (#44353)
Fixtures for new modules
6 years ago
Tim Rupp ee5b761c21
Adds bigip_device_facts module (#44351)
This is a new module to manage the different facts that can be gathered
from a bigip.
6 years ago
Tim Rupp 47b527224a
Renames the security_port_list module (#44350)
Renames the module by adding a symlink, introducing the new module,
and naming the symlink so that it identifies as deprecated.
6 years ago
Tim Rupp b65f05f9c0
Renames the security_address_list module (#44348)
Renames module and includes a symlink with the old name so that it
will still work, though will be deprecated too.
6 years ago
Lindsay Hill 3960ebb8e8 new voss_facts module (#44234)
@LindsayHill Thank you!
6 years ago
Lance Richardson dc08b9a738 new module exos_config (#43902)
- support config operations for EXOS-based platforms
- add regex to detect command failure responses
- add exos action plugin for "backup" operation
- add unit tests for exos_command (currently 94% coverage of
  exos_config.py)
6 years ago
Lindsay Hill 5981a7489b new nos_command module (#43056) 6 years ago
Trishna Guha 96346938ee
nxos_vlan refactor to support non structured output (#43805)
* nxos_vlan refactor to support non structured output

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* unittest fix

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* minor fixes

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* use check_rc

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* address review comment

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* remove additional return statement

* address Nate's review

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
6 years ago
Ganesh Nalawade d1de1e0449
Update iosxr cliconf plugin (#43837)
* Update iosxr cliconf plugin

Fixes #39056

*  Update iosxr cliconf plugin
*  Modify iosxr module_utils code to support
   refactored cliconf plugin api's
*  Other minor changes

* Fix unit test failure

* Update ios, eos, nxos plugin for diff

* Fix review comment
6 years ago
Deepak Agrawal 8eaebf86b6
openvswitch_db : Handle column value conversion and idempotency in no_key case (#43869)
* change column value to string. handle idempotency in no key case

* fix unit test failures in baseline
6 years ago
Lance Richardson bd4d68c785 network/exos: add exos_facts module (#43210)
Add exos_facts module. Known limitations at this time include:
   - Interface MTU is not reported.
   - Only primary interface IP is reported.

Add basic unit tests for the exos_facts module.

An EXOS CLI prompt can be prefixed with '! ' (shutting down), '* '
(running configuration does not match saved configuration), and
can include various status tokens within parentheses after these
prefixes. Update prompt regex to accept valid CLI prompts.
6 years ago
Lindsay Hill 8429f777da New networking module: voss_command (#43741)
* new voss_command module

* Removed incorrect version_added line
6 years ago
Anil Kumar Muraleedharan 119376a685 Refactoring to persistence connection BGP, factory, reload, save, showrun modules (#43534)
* Refactoring to persistence connection BGP, factory, reload, save, showrun modules

* Refactoring methods from Util to module file

* Removing BGP Utility methods

* Adding to errors that need to be ignored
6 years ago
Trishna Guha 09ae1ec308
cliconf refactor eos, nxos fix (#43596)
* cliconf refactor eos and nxos fix

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* move nxos replace check to plugins

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>

* address review comment

* fix shippable
6 years ago
Joren Vrancken b954917761 Surround top-level function and class definitions with two blank lines. 6 years ago
Egor Zaitsev 249a6aae22 New module: routeros — manage MikroTik RouterOS (#41155)
* Implement initial RouterOS support

* Correct matchers for license prompts

* Documentation updates & mild refactor

* Remove one last Cisco function

* Sanity test fixes

* Move imports to the beginning

* Remove authorize property

* Handle ANSI codes

* Revert to_lines function

* CR fixes

* test(routeros): add unit tests

* Added another test (with ANSI colors and banner in fixture).

* Ignore CRLF line endings in system_package_print file

* fix: review by ganeshrn
6 years ago
tstoner 2c3d418e53 Nxapi ssl (#42905)
* NXAPI ssl ciphers & protocols default values

* TLSv1, TLSv1.1, TLSv1.2 and weak cipher support

* NXOS NXAPI weak/strong cipher & TLSv 1.2, 1.1 & 1.0 support

* Version checking for strong/weak ciphers & TLS 1.2, 1.1 & 1.0 support

* Cleaned up erroneously committed changes.

* Specific NXOS platform checking for nxapi ssl ciphers & protocols

* Fixed ansibot reported errors.

* Resolved ansibot reported error.

* Added network_os_version to mocked up N7K unit test device_info

* Calling get_capabilities() once in main and passing results into methods.

* Removed raising exceptions when platform capabilities return None
per reviewers request. Skipping nxapi ssl options when capabilities
are None and generating a warning when these options are skipped

* Cleaned up explicit checks for None/not None
6 years ago
Anil Kumar Muraleedharan f2c9a6b126 Lenovo port to persistence 1 (#43194)
* CNOS Vlag module is refactored to use persistence connection instead of paramiko.

* Changing interface and port channel modules to persistent connection and adding UT for them.

* Fixing pep8 issues

* Removing trailing new line

* Removing trailing new line

* Removing trailing new line

* Correcting indentation mistake

* Update cnos_vlag.py

* Removing commented examples

They are commented because those configurations are not meant for L2 ports
6 years ago
Ganesh Nalawade af3f510316
nxos cliconf plugin refactor (#43203)
* nxos cliconf plugin refactor

Fixes #39056

*  Refactor nxos cliconf plugin as per new api definition
*  Minor changes in ios, eos, vyos cliconf plugin
*  Change nxos httpapi plugin edit_config method to be in sync with
   nxos cliconf edit_config

* Fix CI failure

* Fix unit test failure and review comment
6 years ago
Toshio Kuratomi 52449cc01a AnsiballZ improvements
Now that we don't need to worry about python-2.4 and 2.5, we can make
some improvements to the way AnsiballZ handles modules.

* Change AnsiballZ wrapper to use import to invoke the module
  We need the module to think of itself as a script because it could be
  coded as:

      main()

  or as:

      if __name__ == '__main__':
          main()

  Or even as:

      if __name__ == '__main__':
          random_function_name()

  A script will invoke all of those.  Prior to this change, we invoked
  a second Python interpreter on the module so that it really was
  a script.  However, this means that we have to run python twice (once
  for the AnsiballZ wrapper and once for the module).  This change makes
  the module think that it is a script (because __name__ in the module ==
  '__main__') but it's actually being invoked by us importing the module
  code.

  There's three ways we've come up to do this.
  * The most elegant is to use zipimporter and tell the import mechanism
    that the module being loaded is __main__:
    * 5959f11c9d/lib/ansible/executor/module_common.py (L175)
    * zipimporter is nice because we do not have to extract the module from
      the zip file and save it to the disk when we do that.  The import
      machinery does it all for us.
    * The drawback is that modules do not have a __file__ which points
      to a real file when they do this.  Modules could be using __file__
      to for a variety of reasons, most of those probably have
      replacements (the most common one is to find a writable directory
      for temporary files.  AnsibleModule.tmpdir should be used instead)
      We can monkeypatch __file__ in fom AnsibleModule initialization
      but that's kind of gross.  There's no way I can see to do this
      from the wrapper.

  * Next, there's imp.load_module():
    * https://github.com/abadger/ansible/blob/340edf7489/lib/ansible/executor/module_common.py#L151
    * imp has the nice property of allowing us to set __name__ to
      __main__ without changing the name of the file itself
    * We also don't have to do anything special to set __file__ for
      backwards compatibility (although the reason for that is the
      drawback):
    * Its drawback is that it requires the file to exist on disk so we
      have to explicitly extract it from the zipfile and save it to
      a temporary file

  * The last choice is to use exec to execute the module:
    * https://github.com/abadger/ansible/blob/f47a4ccc76/lib/ansible/executor/module_common.py#L175
    * The code we would have to maintain for this looks pretty clean.
      In the wrapper we create a ModuleType, set __file__ on it, read
      the module's contents in from the zip file and then exec it.
    * Drawbacks: We still have to explicitly extract the file's contents
      from the zip archive instead of letting python's import mechanism
      handle it.
    * Exec also has hidden performance issues and breaks certain
      assumptions that modules could be making about their own code:
      http://lucumr.pocoo.org/2011/2/1/exec-in-python/

  Our plan is to use imp.load_module() for now, deprecate the use of
  __file__ in modules, and switch to zipimport once the deprecation
  period for __file__ is over (without monkeypatching a fake __file__ in
  via AnsibleModule).

* Rename the name of the AnsiBallZ wrapped module
  This makes it obvious that the wrapped module isn't the module file that
  we distribute.  It's part of trying to mitigate the fact that the module
  is now named __main)).py in tracebacks.

* Shield all wrapper symbols inside of a function
  With the new import code, all symbols in the wrapper become visible in
  the module.  To mitigate the chance of collisions, move most symbols
  into a toplevel function.  The only symbols left in the global namespace
  are now _ANSIBALLZ_WRAPPER and _ansiballz_main.

revised porting guide entry

Integrate code coverage collection into AnsiballZ.

ci_coverage
ci_complete
6 years ago
Matej Vadnjal 7c318d4e30 ios_user module - implement sshkey option (#38782)
* ios_user module - add sshkey support

* ios_user - Add version_added to sshkey option

* ios_user - pep8 indentation fixes in unit tests

* ios_user - use b64decode method that works on python 2 and 3
6 years ago
Samer Deeb 3ca4a35334 Add support for global IGMP configuration on onyx switches (#42164)
* Add support for global IGMP configuration on onyx switches

Signed-off-by: Samer Deeb <samerd@mellanox.com>

* Add support for global IGMP configuration on onyx switches

Signed-off-by: Samer Deeb <samerd@mellanox.com>
6 years ago
Anil Kumar Muraleedharan 0897e79bd1 Persistence connection for cnos_vlan (#42500)
* Changing Lenovo Inc to Lenovo and update License file to be consistent.

* Changing cnos_vlan from paramiko to persistence connection of Ansible. Also talking care of CLI changes in CNOS commands with backward compatibility.

* Fixing Validation issues

* Trailing lines removal

* Review comments of Gundalow are getting addressed. He mentioned only at one place for cnos.py. But I have covered the entire file.

* Changes to incorporate Review comments from Qalthos

* Removing configure terminal command from module code

* Aligning with change in run_cnos_commands method changes

* Editing cliconf for latest CNOS CLIs
6 years ago
Clement Trebuchet 7c97bb5077 Devel ios vrf submode (#41659)
* add submode features ipv4/ipv6

* add tests for submode

* the parameters both_ * were not idempotent, in what is read in the configuration we have a list with 2 entries (import, export) while the input parameter has only one parameter which will be applied twice

* add docstring to the ios_vrf module + provide a fix for: https://github.com/ansible/ansible/issues/41581

* complete tests

* add missing description

* fix KeyError for address-family ipv*

* fix both_* tests

* fix E231, W292, W293

* fix W293

* remove set has it doesn't preserve order of routes

* fix E106

* remove ImportError: cannot import name OrderedDict

* We should be able to mix the parameters for the routes targets , while remaining imdepotent. During the first implementation we did not take this into account, which did not correspond to the reality of the needs in production (to be able to use each parameter indifemently together)

* remove epdb reference

* FIX E111, E106

* FIX E302

* using loop produce a result who  was not imdepotent

* FIX E241

* fix: used pass intead of list
6 years ago
hitsumabushi cf7a42b4f4 allow empty line in src template file (#42493) 6 years ago
Zhikang Zhang 70e33ef92c
Make ios_vlan identify vlans starting with 9 (#42247)
* Make ios_vlan identify vlans starting with 9

* Add unit test for vlan id start with 9
6 years ago
Jakub Libosvar 26b0908270 openvswitch_db: Make 'key' parameter optional (#42110)
The OVSDB schema consists of typed columns. The 'key' parameter is
required only for columns with type of a 'map'. This patch makes 'key'
an optional parameter to allow setting values for other column types
like int.

Fixes #42108
6 years ago
Paul Neumann dfb2b3fdd5 ios_facts: Report space of file systems (#41850)
* ios_facts: Report file system space

Parse total and free space from dir output. For this, add a hash
filesystems_info containing the keys spacetotal_kb and spacefree_kb.

* ios_facts: Add unit test for file system space reporting

* ios_facts: Add integration test for file system space reporting
6 years ago
Ganesh Nalawade c068b88b38
Update eos, ios, vyos cliconf plugin (#42300)
* Update eos cliconf plugin methods

*  Refactor eos cliconf plugin
*  Changes in eos module_utils as per cliconf plugin refactor

* Fix unit test and sanity failures

* Fix review comment
6 years ago
hlrichardson 2aa81bf05d add tests for exos_command module (#42268) 6 years ago
Ganesh Nalawade e41d427d1b
Add run_commands api for ios and vyos cliconf plugin (#42093)
* Add run_commands api for ios and vyos cliconf plugin

*  Add run_commands api to ios and vyos cliconf plugin
*  Refactor ios and vyos module_utils to check return code
   in run_commands

* Fix Ci failures
6 years ago
Troy Murray 15ce7c5bab change OS X to macOS (#41294)
* change OS X to macOS

<!--- Your description here -->

+label: docsite_pr

* Update all Mac OS X references to be macOS

* Drop extra Mac
6 years ago
Matthew Stone c5c3900c52 Adding slxos_lldp module (#39259)
* Adding slxos_lldp module
6 years ago
Ganesh Nalawade 773c031d33
vyos and ios cliconf plugin refactor (#41846)
* vyos and ios cliconf plugin refactor

*  Refactor vyos cliconf plugin
*  Change vyos module_utils and vyos_config as per refactor
*  Minor changes in ios cliconf plugin

* Fix unit test failure

* Fix sanity issues

* Add get_diff to rpc list
6 years ago
Nathaniel Case 9aa8c652ba
Netconf bytes fixes (#41607)
* Solve some bytes issues on iosxr

* Solve some bytes issues in junos

* Do the correct thing with tostring based on lxml or not
6 years ago
Tim Rupp 6c654b6947
Fixes the default assignment of values (#41672)
Fixes: #41640

The defaults should be inherited from the parent during initial
creation. This patch fixes that.
6 years ago
Tim Rupp 16466f3171
Fixes usage of popen in bigip iapplx package (#41612)
This functionality is superceeded by the run_command method in the
ansible module class.
6 years ago
Ganesh Nalawade ba4b12358c
Refactor ios cliconf plugin and ios_config module (#39695)
* Refactor ios cliconf plugin and ios_config module

*  Refactor ios cliconf plugin to support generic network_config module
*  Refactor ios_config module to work with cliconf api's
*  Enable command and response logging in cliconf pulgin
*  cliconf api documentation

* Fix unit test and other minor changes

* Doc update

* Fix CI failure

* Add default flag related changes

* Minor changes

* redact input command logging by default
7 years ago
Nathaniel Case e7afd3d378
Search for macaddresses more stringently (#40901)
* Search for macaddresses more stringently

Fixes #40829
7 years ago
James Mighion 083ddb9bc2 Adding changed option to save_when for aireos (#40681)
* Adding changed option to save_when for aireos

* Deprecating save option for aireos_config.

* Updating version_added to 2.7 since the PR missed the window for 2.6
7 years ago
Nathaniel Case 82dfa542c2
Replace bogus (but routeable) ip addresses with RFC 5737 example addresses (#40554)
* Remove 1.1.1.1 from *_config tests

* remove from *_smoke and *_system

* Miscellaneous other tests

* Remove from module documentation as well

* Remove from unit tests as well

* Remove accidental duplication from rebase
7 years ago
James Mighion d9533c3cbf Adding changed option to save_when (#40640)
* Adding changed option to save_when

* Fixing version when changed was added.
7 years ago
pierremahot 3903ca5c8e Fix ios_vlan to correctly identify unmodified config when having long interface names (#40145)
Change the command to get the interface in a vlan "show vlan" => "show vlan brief"
Change the parsing of the return command of the switch.
The return of the ios command is fixed so i cut with fix number of carracter.
Adding looking for the next line to add the forgeted interfaces.
7 years ago
Matt Clay 8deced3e04
Fix shebangs and file modes and update tests. (#40563)
* Add execute bit sanity test and apply fixes.
* Add shebang test for `lib` dirs and apply fixes.
* Shebang and execute bit cleanup.
7 years ago
Tim Rupp 29559d8f25
Adds the bigip_gtm_monitor_external module (#40560)
This module can be used to manage GTM external monitors
7 years ago
Tim Rupp 1d2d4a9015
Adds bigip_monitor_external module (#40558)
This module can be used to manage external LTM monitors on a bigip
7 years ago
Matthew Stone c0b264d7b7 Adding slxos_vlan module (#39197)
* Adding slxos_vlan module
7 years ago
Matthew Stone 683ab9bb9f Adding slxos_l3_interface module (#39320)
* Adding slxos_l3_interface module

* Corrected return values

The returned IPv4 address has a prefix length, not a subnet mask
7 years ago
Tim Rupp 9b22438a9b
Adds bigiq utility license module (#40518)
This module can be used to manage utility licenses on a BIG-IQ
7 years ago
Tim Rupp 1190591e3c
Adds the bigip_gtm_global module (#40430)
This module can be used to manage the global GTM settings on a BIGIP
7 years ago
Tim Rupp 510995bd83
Adds remaining fqdn params to bigip_node (#40427)
This patch adds params for auto_populate, address type, up interval
and down interval params to bigip node
7 years ago
Tim Rupp f87cda8a54
small fixes and additions to bigip_virtual_address (#40362)
* Updated parameter names to match updated features in BIGIP
* Added support for route domains
7 years ago
Anil Kumar Muraleedharan 1cb4619c9a Modifying cnos-facts, cnos_command and cnos-config in line with the design followed in Ansible. Adding unit test cases for these modules. Added plugins to support them. (#39955)
* Modifying cnos-facts, cnos_command and cnos-config in line with the design followed in Ansible. Adding unit test cases for these modules. Added plugins to support them.

* Removing doc fragment conflicts with other modules

* Replacing show with display
7 years ago
Tim Rupp b325e9900c
Adds BIGIQ application HTTPS WAF module (#40270)
This module can be used to manage HTTPS WAF applications on a BIGIQ
7 years ago
Tim Rupp 1f2cfb0a91
Adds the BIGIQ application HTTPS offload module (#40269)
This module allows you to manage HTTPS offload applications on a BIGIQ
7 years ago
Tim Rupp 4f19e6f436
Adds the BIGIQ FastL4 UDP application module (#40257)
This module allows you to manage FastL4 applications on a BIGIQ
7 years ago
Tim Rupp 398c57e70d
Adds the BIGIQ application fastl4 tcp module (#40216)
This module allows you to manage FastL4 TCP Applications on a BIGIQ
7 years ago
Ganesh Nalawade 865f2c5990
Fix junos_config confirm timeout issue (#40238)
* Fix junos_config confirm timeout issue

* Fix unit test
7 years ago
Tim Rupp 5ae499466b
Adds BIGIQ Fast HTTP module (#40213)
This module can be used to manage Fast HTTP applications on a BIGIQ
7 years ago
Tim Rupp 576ad58b0f
Adds the BIGIQ application HTTP module (#40211)
This module can be used to manage http applications on a BIGIQ
7 years ago
Tim Rupp 383a4f026e
Various f5 modules fixes (#40037)
* Add members to bigip_gtm_pool
* Add monitors to bigip_gtm_pool
* Add availability_requirements to bigip_gtm_pool
* Refactor bigip_gtm_pool
* Normalize the product value returned by gtm facts
* Corrected various documentation
* Updated various F5 coding conventions
* Add partition to bigip_static_route
* Added more unit tests
7 years ago
Tim Rupp 61e7c77dec
Various bigip gtm server and vs enhancements (#40033)
* Refactor bigip_gtm_virtual_server
* Add translation_address to bigip_gtm_virtual_server
* Add translation_port to bigip_gtm_virtual_server
* Add availability_requirements to bigip_gtm_virtual_server
* Add monitors to bigip_gtm_virtual_server
* Add virtual_server_dependencies to bigip_gtm_virtual_server
* Add link to bigip_gtm_virtual_server
* Add limits to bigip_gtm_virtual_server
* Add partition to bigip_gtm_virtual_server
* Fix bigip_gtm_server to correctly create other server types
7 years ago
Tim Rupp 1aa248f4e2
Adds various features to bigip virtual server (#40031)
* Add type to virtual_server
* Add address_translation to virtual_server
* Add port_translation to virtual_server
* Add ip_protocol to virtual_server
* Add firewall_enforced_policy to virtual_server
* Add firewall_staged_policy to virtual_server
* Add security_log_profiles to virtual_server
7 years ago
Tim Rupp d312c2aed7
Various bigiq fixes (#40024)
Udpdating coding conventions
7 years ago
Tim Rupp ea77c0d4f5
Adds the bigiq regkey license assignment module (#40025)
This module can be used to assign licenses to a bigip from a bigiq
regkey pool
7 years ago
Tim Rupp 48e5791860
Minor fixes and additions to f5 modules (#39987)
* Fixes to docs
* Fix escaping quotes in bigip_command
* F5 coding conventions cleanup
* “warn” and “chdir” parameters added to bigip_command
7 years ago
Tim Rupp c5fa718174
Adds bigip_device_license module (#39985)
This module can be used to license and unlicense BIGIP devices. This
does not include licensing them via BIGIQ. To do that, use BIGIQ modules
7 years ago
Tim Rupp 4d691e9d7b
Various fixes and features for bigip modules (#39972)
* Removed forwarders parameter that did not work
* Updated coding conventions
* Added ssl_cipher_suite and ssl_protocols to bigip_device_httpd
* Added more unit tests
7 years ago
Tim Rupp 742fd3a91a
Adds misc fixes for gtm facts module (#39966)
Codifies some parameters and fixes f5 coding conventions
7 years ago
Tim Rupp 84136c0248
Adds the bigip gtm monitor bigip module (#39965)
This module can be used to manage bigip monitors on a bigip's GTM
7 years ago
Tim Rupp 08516df29d
Adds bigip gtm monitor firepass module (#39964)
This module can be used to manage firepass monitors on a bigip's GTM
7 years ago
Tim Rupp 115ba79f10
Adds the bigip gtm monitor https module (#39943)
This module is used to manage the HTTPS monitors on a GTM
7 years ago
Tim Rupp 4f703cf299
Adds module for F5 gtm tcp half open monitors (#39939)
This module can assist in managing TCP half open monitors in GTM
7 years ago
Tim Rupp 632a39232c
Adds the bigip gtm monitor tcp module (#39942)
This module can be used to manage tcp monitors on GTM
7 years ago
Tim Rupp 868c2630dd
Adds bigip gtm monitor http module (#39944)
This module can be used to manage http monitors on a GTM
7 years ago
Matthew Stone e80ea39903 Adding slxos_l2_interface module (#39309) 7 years ago
Matthew Stone fb457b4200 Adding slxos_linkagg module (#39190) 7 years ago
Matthew Stone a8156c52d4 Adding slxos_interface module (#39123)
* Adding slxos_interface module

* Fixing sanity checks

* Fixing slxos_config tests for fixture change in slxos_interface
7 years ago
Tim Rupp 64ee8da3f1
Adds the bigip_gtm_pool_member module (#39937)
This module can be used to manage individual pool members on a bigip's
GTM installation
7 years ago
Tim Rupp ad5fdf5eb7
Fixes for bigip_gtm_wide_ip (#39931)
Added the irules parameter. Misc corrections of invalid parameter
names and internal behaviors.
7 years ago
Tim Rupp 5f9b7046ed
Adds bigip management route module (#39520)
This module can be used for managing the management routes on a bigip
7 years ago
Tim Rupp 609b1827e1
Adds log publisher module for f5 (#39518)
This module can be used to manage log publishers on a bigip
7 years ago
Tim Rupp c0cea32f61
Adds log destination module for f5 (#39513)
This module can be used to manage log destinations on a bigip
7 years ago
Tim Rupp 0cb11c61ac
Various f5 module fixes (#39510)
Mainly fixing coding conventions. Also, added ipv6 suppor to pool members
7 years ago
Matthew Stone d2a1c1ffe5 Adding slxos-facts module and tests. (#39121) 7 years ago
Tim Rupp fb264281de
Adds various features and fixes (#39271)
* a refactor of pool member and node modules to be inline with current f5 conventions
* Added priority_group_activation to pools
* various other small convention fixes and bug fixes
7 years ago