Commit Graph

1403 Commits (42a9fb1337c2c33364bc5b9255c1a7b72f298fa8)

Author SHA1 Message Date
Adrian Likins 1613a739ad fix decrypted vault utf8 values (#37539)
* Fix errors decrypted non-ascii vault vars

AnsibleVaultEncryptedUnicode was just using b"".decode()
instead of to_text() on the bytestrings returned from
vault.decrypt() and could cause errors on python2
if non-ascii since decode() defaults to ascii.
Use to_text() to default to decoding utf-8.

add intg and unit tests for value of vaulted vars
being non-ascii utf8

based on https://github.com/ansible/ansible/issues/37258

Fixes #37258

* yamllint fixups
7 years ago
Sloane Hertel cba64f5869 Fix inventory plugin cache + add tests (#38229)
* Fix setting the cache when refresh_cache or --flush-cache are used

* Use jsonify function that handles datetime objects in jsonfile cache plugin

* Don't access self._options directly

* Add initial integration tests for aws_ec2 inventory plugin

* Add CI alias

* Fix and add a few more unit tests

* Add integration tests for constructed

* Fix typo

* Use inventory config templates

* Collect all instances that are not terminated by default

* Create separate playbook for setting up the VPC, subnet, security group, and finding an image for the host

Create a separate playbook for removing the resources

* Allow easier grouping by region and add an example

* use a unified json encode/decode that can handle unsafe and vault
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
Ryan Brown 858a1b09bb EC2_group module refactor (formerly pr/37255) (#38678)
* Refactor ec2_group

Replace nested for loops with list comprehensions

Purge rules before adding new ones in case sg has maximum permitted rules

* Add check mode tests for ec2_group

* add tests

* Remove dead code

* Fix integration test assertions for old boto versions

* Add waiter for security group that is autocreated

* Add support for in-account group rules

* Add common util to get AWS account ID

Fixes #31383

* Fix protocol number and add separate tests for egress rule handling

* Return egress rule treatment to be backwards compatible

* Remove functions that were obsoleted by `Rule` namedtuple

* IP tests

* Move description updates to a function

* Fix string formatting missing index

* Add tests for auto-creation of the same group in quick succession

* Resolve use of brand-new group in a rule without a description

* Clean up duplicated get-security-group function

* Add reverse cleanup in case of dependency issues

* Add crossaccount ELB group support

* Deal with non-STS calls to account API

* Add filtering of owner IDs that match the current account
7 years ago
Jordan Borean 5e28e282a5 winrm: add better exception handling for krb5 auth with pexpect (#39930)
* winrm: add better exception handling for krb5 auth with pexpect

* Added changelog fragment

* Added exception handler in case kinit path isn't valid, added test cases

* fixed for Python 2 compatibility
7 years ago
Jordan Borean 457bccf540 win_updates: add scheduled tasks back in for older hosts (#38708)
* win_updates: add scheduled tasks back in for older hosts

* Fixed up typo in category name error message

* Fixed up some minor issues after merge

* added changelog fragment

* Default to become but add override to use scheduled tasks

* Added basic unit tests for win_updates

* fix minor typos
7 years ago
flowerysong e2c1589201 Add cidr_merge filter (#36081) 7 years ago
Adam Miller bc7ff83cd9 parted module not idempotent for esp flag and name (#40547)
* parted module not idempotent for esp flag and name

Fixes #40452

Currently the parted module doesn't take into account names with
spaces in them which leads to non-idempotent transactions on the
state of the system because the name comparison will never succeed.

Also, when the esp flag is set, parted infers the boot flag and the
parted module did not previously account for this. This lead to
non-idempotent transactions as well.

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

* fix unit tests, expected command changed in the patch

Signed-off-by: Adam Miller <admiller@redhat.com>
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
Ken Evensen fabce98104 Pamd++ (#35709)
* Cleaner, more pythonic, shorter, easier to maintain

* Added validation
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
Jordan Borean 070a5557d1
always_run: removed deprecated always_run task option (#40470) 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
Ken Celenza dd02a4e943 create cisco type 5 filters (#39901) 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
Jordan Borean 1ac180c74d
winrm: source user from options than remote_user (#40467)
* winrm: source user from options than remote_user

* fixed up mock for kerberos import

* Added changelog fragment

* get hostname from option as well
7 years ago
Antoine Catton 39f9d3e4a6 Add the ability to specify an install_dir to the gem module (#38195)
* Add the ability to specify an install_dir to the gem module

* Add GEM_HOME when installing a non-global gem

* Add tests for custom gem path

* Fix sanity tests

* Add changelog entry

* Rebase and add tests for incorrect options

Co-authored by: Antoine Catton <devel@antoine.catton.fr>
7 years ago
Sumit Jaiswal fc8663edc0
Integration tests for Infoblox 2.5 modules (#40344)
* Update nios.py

* Update nios.py

* Update nios.py

* nios lookup errors out when there are no results #37970  Open	

Indentation failure issue resolved

* Returning empty list instead of None

In case of no results, res will be returned as an empty list instead of None (implementing ganeshrn comment)

* infoblox ipv6 support changes

* infoblox ipv6 support changes

* for fixing pep8 errors

* moving ipaddr check to utils

* adding ipv6addr check

* increasing space to resolve pep8 error

* modified the playbook examples to valid ones

* Update nios_network.py

* integration tests for nios 2.5 modules

* modification done in existing integration nios testcases

* dns_view nios module tc

* host_record nios module tc

* network nios module tc

* network_view nios module tc

* zone nios module tc

* changes to fix shippabe errors for PR 40344

* PR40344 shippable fix

* PR40344 shippable fix

* PR40344 shippable fix

* PR40344 shippable fix

* PR40344 shippable fix

* PR40344 shippable fix

* PR40344 shippable fix

* PR40344 shippable fix

* PR40344 shippable error fix

* 40344 shippable fix

* 40344 shippable fix

* 40344 shippable fix

* 40344 shippable fix

* 40344 shippable fix

* 40344 shippable fix

* PR40344 shippable error fix for block comment should start with '# '
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
Scott Buchanan b12cf754f6 1Password lookup plugin (#37207)
* add pytest_cache to gitignore

* onepassword lookup plugin

* fix linter/style test complaints

* second pass at making pycodestyle happy

* use json module instead of jq

* update copyrights, license & version added

* fix python2 compatibility

* doh. fix spacing issue.

* use standard ansible exception

* remove potentially problematic stdin argument

* actually call assertion method

* add support for top-level fields

* make vault uuids pedantically consistent in fixture

* fix new style issues

* ability specify section & correct case handling

* improve error handling

* add onepassword_raw plugin

* Add maintainer info

* Move common code to module_utils/onepassword.py

* Load raw data JSON data for easier use in Ansible

* Put OnePass class back inside lookup plugin

There is no good place for sharing code across lookups currently.

* Remove debugging code in unit tests

* Patche proper module in raw unit tests

* Add changelog entry

Co-authored-by: Scott Buchanan <sbuchanan@ri.pn>
7 years ago
Sam Doran c9d3bb59a4 Do not join flag parameters in iptables module (#36658)
* Do not join flag parameters

This put a comma between every character of the tcp flag parameters, resulting in a bad iptables command.

Fixes #36490

* Use suboptions to ensure tcp_flags options are lists

* Add unit tests for tcp_flags

* Add example of how to use tcp_flags
7 years ago
Marcus Watkins 279cf596dc New Module: gitlab_hooks module and related tests (#40096)
* Added gitlab_hooks module and related tests

* Fix sanity check issues

* Refactor to use common util method, add check_mode support

* Fix module shebang
7 years ago
Marcus Watkins 7d87995207 New Module: gitlab_deploy_key and related tests (#40097)
* Added module gitlab_deploy_key and related tests

* Fix sanity check issues

* Refactor to use common util method, add check_mode support

* Fix module shebang
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
Jordan Borean 5c39c3b2d1
Module basic.py to create parent dirs of tmpdir if needed (#40201)
* Module basic.py to create parent dirs of tmpdir if needed

* Added warning to dir creation

* Assert if make_dirs was called or not in unit tests
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
Toshio Kuratomi ca4147f2cc Fixes #34893 (#40166)
Fixes several bugs exposed in #34893
* Fixes relative path handling in copy so that it splits directories and
  reconstructs the correct file path
* Return failed in the proper circumstances
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
Ricardo Carrillo Cruz 62e1c14edc
Pull persistent connection parameters via get_option (#39367)
* WIP Pull persistent connection parameters via get_option

* Fix pep8

* Add use_persistent_connection setting to paramiko_ssh plugin

* Add vars section to persistent_command_timeout setting and prevail provider values over config manager

* Use persistent_command_timeout on network_cli instead of timeout

* Fix unit tests

If we don't call loader to get network_cli, then _load_name is never
set and we get KeyError.

* Pull persistent_command_timeout via config  manager for ios connection local

* Pull persistent_command_timeout via config manager on connection local
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
Jordan Borean 44ab948e5d
create module tmpdir based on remote_tmp (#39833)
* create module tmpdir based on remote_tmp

* Source remote_tmp from controller if possible

* Fixed sanity test and not use lambda

* Added expansion of env vars to the remote tmp

* Fixed sanity issues

* Added note around shell remote_tmp option

* Changed fallback tmp dir to ~/.ansible/tmp to make shell defaults
7 years ago
Abhijeet Kasurde e53d9b0017
icinga2_feature: fix module in check_mode (#39853)
* icinga2_feature: fix module in check_mode

* modify check_mode logic

Fixes: #39830

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
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
Jeffrey Forman be3670f528 fix 'doas' become_method support, previously committed patch not submitted to devel branch (#37511)
* fix become_method 'doas' support by properly specifying becomecmd

a repatch of https://github.com/ansible/ansible/pull/13451/ which was never committed to 'devel' branch.

* fix play_context test for become_method doas to match new becomecmd
7 years ago
Matt Martz 1663b64e18
Allow subspec defaults to be processed when the parent argument is not supplied (#38967)
* Allow subspec defaults to be processed when the parent argument is not supplied

* Allow this to be configurable via apply_defaults on the parent

* Document attributes of arguments in argument_spec

* Switch manageiq_connection to use apply_defaults

* add choices to api_version in argument_spec
7 years ago
Rob b5cffe8ced [aws] Create classes for Application Load Balancer (#33769)
* Create classes for Application Load Balancer
* Add unsupported CI alias
* Add AWSRetry
* Add integration tests using the ALB
7 years ago
Sloane Hertel 923f676836
[ec2_vpc_vgw] [ec2_vpc_vpn] stabilize modules for PR 35983 (#38666)
* Stabilize ec2_vpc_vgw and ec2_vpc_vpn so tests for ec2_vpc_vpn_facts in PR 35983 can be run in CI

* Add updated placebo recordings

* ensure find_vgw uses the virtual gateway id if available

Add AWSRetry.jittered_backoff to attach_vpn_gateway to deal with errors when attaching a new VPC directly after detaching

Add integrations tests for ec2_vpc_vgw

* Sort VPN Gateways by ID
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
Olivier Bourdon a3f2e99864 Fix for changing method only on specified interface (#39015)
Test added for interface method change
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
Tim Rupp 9940b5db9c
Adds DNS profile module for BIGIP (#39270)
This module can be used for managing DNS profiles on a BIGIP
7 years ago
Tim Rupp 20d5b04ac4
Adds udp profile module for bigip (#39269)
This module can be used to manage UDP profiles on a bigip
7 years ago
Tim Rupp 434ad97c39
Adds tcp profile module for BIGIP (#39268)
This patch adds a module to support manipulation of TCP profiles
on a BIGIP
7 years ago
Tim Rupp 256b5535ec
Various fixes to F5 modules (#39255)
* Adds gnat provisioning to bigip_provision
* Adds special handling for AFM in bigip_provision
* Add device rebooting for provisioning as necessary
* Refactored route domain module to be inline with current f5 conventions
* Minor refactors across modules
7 years ago
Tim Rupp fc753dd261
Adds the bigip_smtp module (#39243)
This module can be used to manage smtp settings on a bigip.
7 years ago
Tim Rupp e82a8d177f
Adds module for bigip service policies (#39240)
This patch includes a module for managing bigip service policies.
7 years ago
Tim Rupp ed05e46f5c
Adds bigip_snmp_community module (#39212)
This module can be used to manage snmp communities on a bigip
7 years ago
Tim Rupp 3227143dc8
Fixes coding conventions, adds a small feature (#39211)
Fixes some coding conventions and adds allowed_addresses to bigip_snmp_trap.
7 years ago
Tim Rupp 39e4754fc9
Fixes for convention incompatibilities (#39209)
Minor fixes for the f5 modules to use current conventions
7 years ago
Tim Rupp 37e114756d
Adds bigip_trunk (#39208)
This patch adds a new module for managing trunks on a bigip
7 years ago
Tim Rupp 3b11def7d0
Add timer policy module (#39206) 7 years ago
Tim Rupp e254121729
Adds minor fixes and features to f5 modules (#39202)
* Add Mac_address parameter to bigip_traffic_group
* Fix docs
* Fix f5 conventions
7 years ago
Tim Rupp 19d229a8e0
Fixes F5 conventions and adds features (#39189)
This patch fixes a number of convention changes in F5 modules.
Additionally, it adds some features to bigip vlan and other modules
7 years ago
Brian Coca 4aac0f5f18
allow configuring sftp/scp executables (#36648)
* allow configuring sftp/scp executables

fixes #36616


also removed dupe test
7 years ago
Tim Rupp d38ae9b6c9
Adds the bigip_data_group module (#39180)
This module can be used to manipulate bigip data groups.
7 years ago
Matthew Stone d030032b47 Extreme Networks SLXOS Config Module (#38607)
* Adding slxos_config module and supporing util functions.

* Adding slxos module_utils load_config test

* Adding slxos_config module tests

* Removing unneeded required false statements from slxos_config module

* Removing version_aded from slxos_config module

* Removing force and save from slxos config module

* Removing save test
7 years ago
Matt Martz cdb79b0e3a
Consider parent also when comparing IncludedFile (#37083)
* Consider parent also when comparing IncludedFile

* Add new tests for IncludedFile and convert to pytest
7 years ago
Mat Wilson 8eb94ccbd5 Add support for dzdo flags Fixes #38766 7 years ago
Victor Bocharsky a30befa609 Remove duplicated "instead" word (#38800)
* Remove duplicated "instead" word

* Actually fix the message
7 years ago
Alex Stephen 9de9633cac [GCP] New module GCP DNS Resource Record Set (#35920) 7 years ago
Matthew Stone 5b1a8ee1e8 Adding slx_command module and supporting module_utils. (#38235)
* Adding slx_command module and supporting module_utils.

This commit adds the slx_command module and tests as well as the
required slxos module_utils.

* Update copyright in header

* Adding missing module init

* Cleaning up shebangs/licensing.

* Incorporating feedback

Removing reference to `waitfor` alias in `slxos_command` module.
Adding `Extreme Networks` to `short_description` of `slxos_command` module.

* Adding cliconf tests

* Fixing 3.X tests

* Adding docstrings to test methods for slxos cliconf tests

* Adding slxos terminal tests

* Adding slxos module_utils tests

* Adding Extreme Networks team members to BOTMETA.yml
7 years ago
Brian Coca 886c4edfb9
avoid caching invetnory sources in loader (#38242)
* fix inventory plugin source caching

 - avoid caching invetnory sources in loader in base
 - same fix for yaml plugin
 - idem for 'auto' plugin

fixes #37162

* fix mock dataloader func sig
7 years ago
Andrew Gaffney 95ce00ff00 Allow loading dirs from role defaults/vars (#36357)
This commit moves code to look for vars files/dirs to a common place and
uses it for loading role defaults/vars. This allows things such as
'defaults/main' or 'vars/main' being a directory in a role, allowing
splitting of defaults/vars into multiple files. This commit also fixes
the role loading unit tests for py3 when bytestrings are used for paths
instead of utf8 strings.

This fixes #14248 and #11639.
7 years ago
Matt Martz 450cfa8776
Handle duplicate headers in the uri module (#33792)
* Handle duplicate headers, and make it easier for users to use cookies, by providing a pre-built string

* Ensure proper cookie ordering, make key plural

* Add note about cookie sort order

* Add tests for duplicate headers and cookies_string

* Extend tests, normalize headers between py2 and py3

* Add some notes in test code

* Don't use AttributeError, use six.PY3. Use better names.
7 years ago
saichint dabe5e6d07 fix nxos_hsrp issues (#38410)
* fix nxos_hsrp issues

* shippable fix

* add examples for md5 auth
7 years ago
Matt Martz 6332beef65
Add unit tests for ansible.module_utils.urls (#38059)
* Start of tests for ansible.module_utils.urls

* Start adding file for generic functions throughout urls

* Add tests for maybe_add_ssl_handler

* Remove commented out line

* Improve coverage of maybe_add_ssl_handler, test basic_auth_header

* Start tests for open_url

* pep8 and ignore urlopen in test_url_open.py tests

* Extend auth tests, add test for validate_certs=False

* Finish tests for open_url

* Add tests for fetch_url

* Add fetch_url tests to replace-urlopen ignore

* dummy instead of _

* Add BadStatusLine test

* Reorganize/rename tests

* Add tests for RedirectHandlerFactory

* Add POST test to confirm behavior is to convert to GET

* Update tests to handle recent changes to RedirectHandlerFactory

* Special test, just to confirm that aliasing http_error_308 to http_error_307 does not cause issues with urllib2 type redirects
7 years ago
AlanCoding 153c9bd539 Reduce recursion within group methods
This offers an optimization that allows loading larger
inventories of various structure by improving the
scaling laws involved for adding hosts and groups.

The primary speed benefit is the elimination of duplicate
recusion from traversing converging paths.
7 years ago
Evgeny Fedoruk 5e990301bb Fixing lack of failure when uploaded source is invalid (#37461)
Checking the response status for 400 and throwing exception.
Unit tests updated.

Fixes #37406
7 years ago