Commit graph

9734 commits

Author SHA1 Message Date
Felix Fontein
c380b18dcf
openssl_* modules: allow direct input for some files (#66384)
* Allow to not read content from file.

* Allow to feed content directly into _info modules.

* Allow to feed non-primary content into openssl_certificate, openssl_csr and openssl_publickey.

* Rename changelog.
2020-01-12 19:12:33 +01:00
Dusan Matejka
3456700420 adjusted doc and argument spec in zabbix modules to match sanity requirements (#66176) 2020-01-11 15:25:15 +01:00
Andrew Klychkov
515c4a7e2c Bugfix of 65367: postgresql_query doesn't support non-ASCII characters in SQL files with Python3 (#66331)
* Bugfix of 65367: postgresql_query doesn't support non-ASCII characters in SQL files with Python3

* add changelog

* fix

* change changelog fragment, add example
2020-01-11 15:19:55 +01:00
psharkey
f8fb391548 new connection plugin aws_ssm (#49652)
* new connection plugin aws_ssm

Return code may be at the end of the last command output line.

Marking regex.

Ensure command status code is on it's owm line - last 3 lines are not part of command stdout.

* Adding timeout parameter - aws_ssm_timeout

Default 10 second timeout (https://docs.ansible.com/ansible/2.4/intro_configuration.html#timeout) is marginal.
This avoids changing this default and allowing the SSM timeout to be controlled via inventory.
This change wraps commands so commands which may never return do timeout.

* Added integration tests

Added AWS SSM Executor, target and config functions

Fixed more code for integration tests

Improved execution

Added S3 bucket name

Fixed pylint

Reverted lib changes

Reverted few more changes

Improved support for integration test execution

added ansible role for aws_ssm_integration_test setup and teardown and modifiled runme.sh

Reset to 17fa565 commit

inventory file location changed

change inventory file location

deleted meta and handlers folder as it is not required

deleted main.yml inside vars, removed extra space from tasks/main.yml, Added appropriate tags for ec2 and delete test folder as it is not required

deleted main.yml inside vars, removed extra space from tasks/main.yml, Added appropriate tags for ec2 and delete test folder as it is not required

modified task/main.yml

added region variable and fixed pattern for using variable

modified policy for IAM role

moved to first line of scrip set -eux

Updated Session Manager plugin installation

edited custme policy

Included tags for Session Manager plugin installation

Added README.md

Upddated README and added support for ssm-plugin for Amazon-Linux

Added Windows Integration test support

Improved user data for Linux

Added random value generation for the role and policy,delete vars_to_delete.yml

upadte README in vars

fixed typo

update policy

Updated IAM policy file

update playbook

Updated playbook to include ssm-agent userdata

modified jing2 template

modified jing2 template

modified jing2 template and fixed role deletion

fixed role name issue while deleting and task name

Updated playbook to include wait_connection for ec2

Corrected Synatx changes and updated ssm-plugin debian file

Changed region variable to us-east-1

Removed vars file and updated  to /tmp dir

fixed typo

Improved setup

Fixed boto3 dependency

Fixed missing tag

Added boto as dependency as well

Improved execution workflow

Trying other way of defining tags

Fixed undefined var

Changed AMI ID to Amazon Linux

Improved Tags

Ok, created different directory for WIndows test execution

Fixed IAM Role Name for Windows

Fixed inventory not found

Improved integration test execution

Fixed Windows Inventory path

Fixed wrong Windows AMI ID

Fixes issue for windows test execution

* Don't attempt to terminate sessions without a session id.

* Added Unit test cases file for AWS SSM Connection plugin

updated test file with close

updated unit test file with start_session

updated test files

* Eliminate AWS CLI dependency for terminal session.

* Removing unused code, cleanup logic.

Reduce mark length - 52^26 should be plenty
Be explicit about subprocess.Popen options
Simplify if/else for mark end
_stdin_readline is not used now

* updated test file

Added exec command and fixed close session unit tests

updated test files

Improved ansible ssm test command

updated file for lint checks

updated for pylint checks

New Unit_testcases for pre-signed URL file

removing additonal spaces and white spaces

remaning error changes

fixed changes

fixed spaces issues

python 2.7 version and whitespaces

python 2.7 version and whitespaces

python 2.7 skip if

space issue with 16:1

Unit test cases for windows and linux

Unit test cases for windows and linux with issues fixed issues

Unit test cases for windows and linux with issues fixed issues1

* Added support for S3 Pre-signed URLs

* Updated documentation and comments

* Documentation and curl dependency removal for controller machine

Fixing lint errors and removing requirements.

* Adding support for Windows remote EC2 instances.

* Added Encoding fixes

* Updating author section and adding obvious requirement for the SSM agent.

* Refactor stdout post processing
Attempt to get real return code on error (test using ansible -m raw -a 'cmd /c exit 99'.
Fixes problem at terminal width (ansible windows -i ./hosts.yml -m setup).

* Refactor back to a single module.

* Fixed fetch file for windows

* ssm usage examples for linux and windows

* Update aws_ssm.py

Service state corrected.

* Strip line continuation when at terminal width - otherwise replace.
Strip ANSI control sequences only for Windows.

Test playbook:

---
- name: test
  hosts: windows
  gather_facts: False
  vars:
    small: 'abc'
  tasks:
  - name:
    set_fact:
      large: "{{ lookup('password', '/dev/null length=2000 chars=ascii_letters,digits,hexdigits,punctuation') }}"
  - name: small fixed
    raw: echo '{{ small }}'
    register: small_result
    changed_when: False
  - name: check
    assert:
      that:
        - "(item | length) == (small | length)"
        - "item == small"
      msg: "'{{ item | length }} must equal '{{ small | length }}' and '{{ item }}' must match '{{ small }}'"
    with_items:
      - "{{ small_result.stdout_lines[0] }}"
  - name: large random
    raw: echo '{{ large }}'
    register: large_result
    changed_when: False
  - name: check
    assert:
      that:
        - "(item | length) == (large | length)"
        - "item == large"
      msg: "'{{ item | length }} must equal '{{ large | length }}' and '{{ item }}' must match '{{ large }}'"
    with_items:
      - "{{ large_result.stdout_lines[0] }}"
  - name: gather facts
    setup:

* Correct module parameter names.

* Updated Windows Executable variable.

Updated Windows Executable variable to "ansible_shell_type".

Fixing Examples with raw declaration

Updated the plugin timeout variable.

* Fix to work with dynamic inventory plug-in

* IntegrationTest template updates

* Removing unsupported flag for integration tests.
Fixing unit test.

* Adding shippable group.

* SSM Usage examples with dynamic inventory plugin

* Fixing yamllint errors.

* Fixed Integration tests

* Fixed Integration tests

* Updates for python3.

Removing python3 restriction.

* Remove python3 restriction.
Change block from retry to always

* Fixed Integration tests with Python 3

* Fixed shellcheck

* Fix for Windows which could pick up end mark prematurely
Move debug to _wrap_command and use a single return point

Single-quotes not needed around linux marks
Fix typo in comment

End mark to new command.

* Unit test cases now works on Python2 and Python3

* Skip tests on Python 2.6

* Fix for wait_for_connection module for windows.

* Updated changes as per review comments

* Fixing broken pipe error seen with session-manager-plugin version 1.1.17.0.
Eliminating sleep as this looks to be fixed in session-manager-plugin version 1.1.17.0.

* Adding back delays for Windows with session-manager-plugin 1.1.17.0.

* Updating Windows AMI ID for integration Test

* Upgrading windows ssm agent to the latest

* Adding boilerplate code.

* Windows ami and integration test updates

* Revert "Windows ami and integration test updates"

This reverts commit cd6ca3579b7cda584bd9c065f9c0835bddb23627.

* Updating windows ami for Integration tests

* Integration test suite updates and fixes.

* Updates and fixes

* Eliminate duplicate processing for exit code on failed command.

* Add powershell wrap.

* Refactor windows post_process.

* AMI Lookup, aliases, OSC filter, test suite updates

Co-authored-by: Gaurav Ashtikar <gau1991@gmail.com>
Co-authored-by: Deepak Choudhary <40276333+deepsvc@users.noreply.github.com>
Co-authored-by: Hanumanth <46720371+hanumantharaomvl@users.noreply.github.com>
Co-authored-by: KUMAR MAYANK <mayank@flux7.com>
2020-01-11 15:22:01 +10:00
Matt Clay
f695f40133 Temporarily mark unarchive test unstable. 2020-01-10 18:31:14 -08:00
Sam Doran
22be69188b
Fix unarchive integration test on CentOS 6 (#66362)
* Cleanup packages added for Python TLS support
2020-01-10 16:58:37 -05:00
Gonéri Le Bouder
ce66743b10 vmware_category/test: ensure test can run on Zuul
- set the zuul/vmware/vcenter_only alias
- import `prepare_vmware_tests` role
- little refactoring to avoid an extra level of indentation
2020-01-10 14:51:30 -05:00
Gonéri Le Bouder
0703590686 vmware_vm_info/test: drop dep on json_query
Test refactoring to avoid dependency on `json_query`.
2020-01-10 14:50:01 -05:00
Chris Van Heuveln
3ebc96e5c7 nxos_l3_interfaces: fix states, add new minor attributes (#64853)
* (WIP) nxos_l3_interfaces: fix states, add new minor attributes

* sa cleanup

* more regression fixes

* test_8 for add'l code coverage

* Fix regressions to handle mgmt w/o IP

* add 'no system default switchport' to regression setups

* add err msg to terminal_stderr_re so that cli_config will catch L2 failures

* regression test change: /int4/int3/

* Add default rsvd_intf_len for Zuul CI

* Fix replaced-with-no-ipaddr and ip redirect issues
2020-01-10 16:33:22 +05:30
Jordan Borean
7ed00a1560
Fix up deprecated_aliases spot for PS (#66326) 2020-01-10 11:44:15 +10:00
Sam Doran
397ec6f291 Add comment about not installing requests 2020-01-09 15:18:38 -08:00
Sam Doran
db491eca0e Do not install requests[security] for MongoDB tests
This was previously removed in PR ##60083 but was added again in
PR #61257. This will cause a lot of things to fail if it is uninstalled
during cleanup after the test role, which is why it was originally removed
from the test.
2020-01-09 15:18:38 -08:00
Jordan Borean
595ab62ab8
Ansible.Basic - Added deprecated_aliases (#66323) 2020-01-10 09:13:13 +10:00
Sam Doran
92677d43b6 Account for argument spec of None in validate modules sanity test 2020-01-09 15:11:51 -08:00
kaorihinata
3ca4580cb4 Allow no_log=False to silence the no_log warnings for module parameters (#64733)
As AnsibleModule._log_invocation is currently implemented, any parameter
with a name that matches PASSWORD_MATCH triggers the no_log warning as a
precaution against parameters that may contain sensitive data, but have not
been marked as sensitive by the module author.

This patch would allow module authors to explicitly mark the aforementioned
parameters as not sensitive thereby bypassing an erroneous warning message,
while still catching parameters which have not been marked at all by the
author.

Adds tests for various no_log states including True, False, and None (as
extracted by AnsibleModule._log_invocation) when applied to an argument with
a name that matches PASSWORD_MATCH.

Fixes: #49465 #64656
2020-01-09 16:47:57 -05:00
Karthikeyan Singaravelan
891c759832 Fix AttributeError due to cgi.escape removal in Python 3.8. (#66040)
* Fix cgi.escape AttributeError due to cgi.escape removal in Python 3.8.

* Fix linter errors.
2020-01-09 15:28:02 -05:00
Jordan Borean
aba8f12495 ansible-galaxy ignore empty server_list (#65986)
* ansible-galaxy ignore empty server_list
2020-01-09 14:24:36 -05:00
Rhys Campbell
609c3d0e36 mongodb_user module integration tests (#61257)
* Add final commits

* End of night commit

* Add further tests

* What is this doing here?

* Remove file from commit

* Change os check

* Change version check
2020-01-09 09:22:45 -05:00
Rhys Campbell
559de7ee1e mongodb_parameter module integration tests (#61644)
* Add final commits

* End of day check in

* Initial commit

* Remove file

* Remove module from pr

* Run tests
2020-01-09 09:07:27 -05:00
Abhijeet Kasurde
42b0c967d0
FreeIPA: Fix documentation (#66194)
* Add datatype whereever it is missing
* Fix documentation

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-01-09 15:32:26 +05:30
Andrew Klychkov
70bc351f31 mysql_query: new module (#65941)
* tmp

* mysql_query: new module

* remove irrelevant changes from mysql.py

* add autocommit keyarg to mysql_connect

* add basic CI tests

* tmp

* fix CI tests

* add CI tests

* fix comment in CI tests

* remove path_to_script option

* refactoring

* change tests formatting

* add single_transaction param

* fix sanity

* add note

* fix
2020-01-09 07:39:09 +01:00
Matt Clay
a5c36eedd8 Simplify docker_setup on Fedora.
This avoids installing dnf-plugins-core, which breaks the yum and dnf modules
when uninstalling packages using a wildcard after they have already been removed.

This should resolve issues with the yum integration tests failing after docker tests run.
2020-01-08 15:29:39 -08:00
Adrian Likins
d1c39b9068 Don't remove trailing / on galaxy api URLS (#63294)
This causes multiple unneeded http redirects.
Since each http redirect takes a few hundred
milliseconds, handling the redirects starts to
take up a significant amount of wall time.

Fixes: #63281
2020-01-08 15:25:40 -05:00
Gonéri Le Bouder
66550cd3c2 vmware_guest/test: create test vm in correct directory
Ensure we already create the `test_vm3` VM in the `{{ f0 }}` directory.
This to be sure the teardown playbook will be able to clean it up at the
end. This to avoid problem like this one:

```
Multiple virtual machines with same name [test_vm3] found, Folder value is a required parameter to find uniqueness of the virtual machine
```
2020-01-08 13:20:47 -05:00
Sara-Touqan
4676e5d60e New module: onyx_bfd (#64359)
* Supporting BFD in Ansible

* Modifying BFD module
2020-01-08 12:03:32 -05:00
Sara-Touqan
37dd3c3aa4 Supporting SNMP Hosts Configurations in Ansible (#63983)
* Supporting SNMP Hosts Configurations in Ansible

* Modifying SNMP Hosts Configuration.

* Modifying SNMP Hosts Configurations.

* Modifying SNMP Hosts Configurations

* Modifying SNMP Hosts Configurations.

* Modifying SNMP Hosts Configurations Code.
2020-01-08 11:51:58 -05:00
Sara-Touqan
24781c01be Supporting AAA Configs in Ansible. (#64434) 2020-01-08 11:51:37 -05:00
Sara-Touqan
96b1efdce4 Supporting bfd command in Ansible. (#64509) 2020-01-08 11:51:25 -05:00
nkshrishail
01e4c41be4 nxos: Removing local-nxapi plugin and related parameters' usage from the integration tests. (#65068)
* nxos_integration_tests: Removing obsolete provider parameter

* nxos: removing support for local-nxapi plugin

* nxos: removing LocalNxapi plugin implementation

* nxos_nxapi: removing local plugin usage

* REVERT - nxos: removing LocalNxapi plugin implementation

* Addressing yamllint issues

* Removing the condition on the debug messages

* Restoring changes done to nxos_nxapi* tests

* Retaining timeout of 500 on nxos_smoke test

* Some cleanup

* Addressing latest comments

* Restoring the nxos_smoke and removing timeout from nxos_config and nxos_rollback
2020-01-08 13:43:23 +05:30
Matt Clay
452ade007e Clean up Shippable scripts in tools directory. 2020-01-07 14:38:15 -08:00
Nathaniel Case
e19b94f43b
Add test for reboot & wait_for_connection on EOS & IOS (#63014)
* Add test for reboot & wait_for_connection

* Add test for ios

* Collection-proof block test

* Add junos test

* Don't try to evaluate cli context unless using the connection

* Prevent infinite recursion
2020-01-07 14:24:26 -05:00
Mads Jensen
10cc2e2b47 Stop using {{ }} in templates for conditionals in integration test (#65797)
Co-Authored-By: Matt Martz <matt@sivel.net>
2020-01-07 11:12:55 -05:00
Martin Krizek
45240213be
Move bitbucket unit tests to separate dir (#66237) 2020-01-07 17:02:27 +01:00
Matt Martz
f8654de851
Ensure that data within a tuple is marked as unsafe (#65918)
* Use is_sequence, and Mapping throughout, add support for tuples. Fixes #65722

* Address tests

* Remove unused import

* Add changelog

* Add docstring for clarity

* Argh, linting fix

* Not chasing this rabbit

* wrap_var doesn't return a ref to the original item

* no ref tests

* Remove unused import
2020-01-07 08:41:37 -06:00
Nilashish Chakraborty
97aefb8e11
Temporarily disable vpc peer-link tests (#66121)
Signed-off-by: NilashishC <nilashishchakraborty8@gmail.com>
2020-01-07 13:12:45 +05:30
Sam Doran
22855f73fb
Remove unstable from yum tests (#66218)
They seem to be stable again on Fedora 31.
2020-01-06 16:35:09 -05:00
Anthony Bourguignon
d3e9ef3c35 add a path_join filter which joins path components (#62713) 2020-01-06 11:56:40 -05:00
Andrew Klychkov
7f9295568a ali_instance: fix doc formatting (#66086) 2020-01-06 10:20:00 -06:00
Rohit
8ae5e34127
pre cleanup services (#66188)
Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>
2020-01-06 16:20:36 +05:30
Markus Bergholz
193879d462 Assign AWS Cloudwatch Metric Filter via Ansible (#59925)
* #42292 first draft.

* fix some documentation

* use snake dict keynames

* return metric filter variable

* rework documentation

* try to fix documentation. fix condition when defaultValue is 0. update version string

* fix intenion, syntax and undefined

* try solve state documentation

* define type for state in doc

* rework integration test and fix minor typos

* add defaults for integration test

* update documentation, integration tests, and return value

* fix code formatting and documentation

* irgnore errors in ignore block

* Update lib/ansible/modules/cloud/amazon/cloudwatchlogs_log_group_metric_filter.py

Co-Authored-By: Jill R <4121322+jillr@users.noreply.github.com>

* add options to metric_transformation

* fix pep-8

Co-authored-by: Jill R <4121322+jillr@users.noreply.github.com>
2020-01-04 11:39:01 -07:00
Felix Fontein
b0b00b555f
docker_container: configure removal wait timeout (#66144)
* Add support for timeout while waiting for state.

* Allow to limit removal wait time.

* Add changelog.

* Forgot version_added.

* Add some check mode tests.

* Use removal_wait_timeout in tests.
2020-01-04 17:56:59 +01:00
Abhijeet Kasurde
9a13d56b26
Misc typo fixes (#66120)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-01-04 21:13:30 +05:30
Emerson "Duke" Almeida
865e767d39 PostgreSQL : Create unique index (#66157)
* Postgresql : Create unique index

TODO:

* fix syntax error

* add version added

* adding specs and improve doc

* add changelog

* Update lib/ansible/modules/database/postgresql/postgresql_idx.py

* Update lib/ansible/modules/database/postgresql/postgresql_idx.py

* remove check about concurrent

* Apply suggestions from code review
2020-01-04 10:38:17 +00:00
Andrew Klychkov
4ecc9da244 mysql_db: add master_data parameter (#66048)
* mysql_db: add master_data parameter

* add changelog

* fix CI
2020-01-04 10:37:40 +00:00
Rohit
2f996fc6e2
vyos_config bug fix #66110 (#66122)
Signed-off-by: rohitthakur2590 <rohitthakur2590@outlook.com>
2020-01-03 17:35:37 +05:30
Matthew Davis
5493ea590c make concurrent aws_acm integration tests not clash (#64660)
* add uuid for aws_acm test resources, allow concurrent tests

* remove debug task in aws_acm int test
2020-01-02 17:06:56 -07:00
Hannes Ljungberg
f31b8e08b2 docker_swarm_service: Fix parsing of Healthcheck.StartPeriod (#66151)
* Parse Healthcheck.StartPeriod properly

* Add changelog fragment

* Use proper markup in changelog

Co-Authored-By: Felix Fontein <felix@fontein.de>

Co-authored-by: Felix Fontein <felix@fontein.de>
2020-01-02 09:23:36 -05:00
Andrew Klychkov
fc2d7ae63e mysql_db: fix doc formatting (#66087) 2019-12-30 10:36:00 +05:30
Felix Fontein
17ef253ad1
docker_network: fix multiple subnet (of same IP version) idempotence (#65839)
* Fix multiple subnet (of same IP version) idempotence for docker_network.

* Add changelog.

* Unit tests no longer make sense, since the part of the code they test has been removed.

* Re-add CIDR validation. Move it to better position (module setup instead of idempotence check).

* Update changelog.

* Only run new tests on VM test images.

* Actually do what is documented. Especially since an empty object is a valid value for aux_addresses.
2019-12-29 23:16:17 +01:00
Mike Wiebe
c2fed8603c Fix nxos_user roles bug (#65962) 2019-12-27 15:51:17 +05:30