Commit graph

1652 commits

Author SHA1 Message Date
Adrian Likins
4025b47629 Fix fact failures cause by ordering of collectors (#30777)
* Fix fact failures cause by ordering of collectors

Some fact collectors need info collected by other facts.
(for ex, service_mgr needs to know 'ansible_system').
This info is passed to the Collector.collect method via
the 'collected_facts' info.

But, the order the fact collectors were running in is
not a set order, so collectors like service_mgr could
run before the PlatformFactCollect ('ansible_system', etc),
so the 'ansible_system' fact would not exist yet.

Depending on the collector and the deps, this can result
in incorrect behavior and wrong or missing facts.

To make the ordering of the collectors more consistent
and predictable, the code that builds that list is now
driven by the order of collectors in default_collectors.py,
and the rest of the code tries to preserve it.

* Flip the loops when building collector names

iterate over the ordered default_collectors list
selecting them for the final list in order instead
of driving it from the unordered collector_names set.

This lets the list returned by select_collector_classes
to stay in the same order as default_collectors.collectors

For collectors that have implicit deps on other fact collectors,
the default collectors can be ordered to include those early.

* default_collectors.py now uses a handful of sub lists of
collectors that can be ordered in default_collectors.collectors.

fixes #30753
fixes #30623

(cherry picked from commit 95abc1d82e)
2017-09-28 10:56:18 -04:00
Jordan Borean
9a22c93606 fix for webapppool when specifying an attribute that holds a collection (#30729)
* fix for webapppool when specifying an attribute that holds a collection

* re-add always block on test

(cherry picked from commit a41077df20)
2017-09-28 16:16:52 +10:00
Adrian Likins
042079aa87 Use vault_id when encrypted via vault-edit (#30772)
* Use vault_id when encrypted via vault-edit

On the encryption stage of
'ansible-vault edit --vault-id=someid@passfile somefile',
the vault id was not being passed to encrypt() so the files were
always saved with the default vault id in the 1.1 version format.

When trying to edit that file a second time, also with a --vault-id,
the file would be decrypted with the secret associated with the
provided vault-id, but since the encrypted file had no vault id
in the envelope there would be no match for 'default' secrets.
(Only the --vault-id was included in the potential matches, so
the vault id actually used to decrypt was not).

If that list was empty, there would be an IndexError when trying
to encrypted the changed file. This would result in the displayed
error:

ERROR! Unexpected Exception, this is probably a bug: list index out of range

Fix is two parts:

1) use the vault id when encrypting from edit

2) when matching the secret to use for encrypting after edit,
include the vault id that was used for decryption and not just
the vault id (or lack of vault id) from the envelope.

add unit tests for #30575 and intg tests for 'ansible-vault edit'

Fixes #30575

(cherry picked from commit a14d0f3586)
2017-09-26 12:31:58 -04:00
Ganesh Nalawade
3680d28e58 Increase pause time in junos integration test (#30740) (#30799)
*  Increase pause time to a value greater
   than persistent connection timeout to clean
   out socket path.
(cherry picked from commit c3d226a739)
2017-09-23 18:42:00 +05:30
Jordan Borean
34ceed635d win_domain_membership: added better error handling and basic tests (#30674)
(cherry picked from commit fb628acb6e)
2017-09-22 06:10:14 +10:00
Ryan Brown
fd42243936 Split ec2_elb_* modules in service of rename/interface changes (#30716)
* Split ec2_elb_* modules in service of rename/interface changes (#30532)

* Undeprecate ec2_elb_*
* Make ec2_elb* full fledged modules rather than aliases
* Split tests for ec2_elb_lb and elb_classicb_lb
* Change names in documentation of old and new elb modules

Add tests for ec2_elb_lb

* Update CHANGELOG with new status of ec2_elb_* vs. elb_classic_*
2017-09-21 14:43:45 -04:00
Ganesh Nalawade
6f461fbfd0 Increase socket connect retry timeout for integration test (#30681) (#30683)
*  Increase persistent connection local socket
   retry timeout to fix intermittent failure in
   network integration test
(cherry picked from commit 869cd6f729)
2017-09-21 11:02:22 +01:00
Jordan Borean
35c867d890 CamelConverter - more fixes picked up in testing (#30601)
(cherry picked from commit a940eb1e80)
2017-09-20 15:24:49 +10:00
Jordan Borean
98425291d1 CamelConversion: fix to not convert string values (#30595)
(cherry picked from commit 1ea0293878)
2017-09-20 15:24:32 +10:00
Toshio Kuratomi
3b86554081 Add a code-smell test for smart quotes and remove smart quotes from all files
(cherry picked from commit c82cf791dd)
2017-09-19 13:00:56 -07:00
Jordan Borean
8a247989c5 windows: fix list type in legacy module utils (#30483)
* windows: fix list type in legacy module utils

* only change the return for the list type instead of affecting it all

* additional null check when using an array

(cherry picked from commit 01563ccd5d)
2017-09-19 13:00:56 -07:00
MarkusTeufelberger
c4ae7e8854 Add simple integration test for openssl_certificate (#29038)
* openssl_certificate: Fix parameter assertion in Python3

Parameter assertion in Python3 is broken. pyOpenSSL get_X() functions
returns b'' type string and tries to compare it with '' string, leading
to failure.

The error mentionned above has been fixed by sanitizing the inputs from
a user to the assert only backend.

Also, this error was hidden by the fact that the improper check method
was called in the generate() functions.

* Add simple integration test for openssl_certificate

* remove subject == issuer assertion

* run integration tests only on supported hosts

* change min supported version to 0.15.x

* Add test for more CSR fields

* also convert dict members to bytes

* fix version_compare

* openssl_{csr, certificate}: Fail if pyOpenSSL <= 0.15

Previous 0.13 pyOpenSSL was a C-binding, and required the parameter
passed to add_extention to be in ASN.1. This has changed with the move
to 0.14 and it is now all pythong and string based.

Previous the 0.15 release, the `get_extensions()` method didn't exist,
since the modules rely heavily on it we ensure pyOpenSSL version is at
last 0.15.0.

* check pyopenssl version in openssl_csr integration test

(cherry picked from commit 2186b04934)
2017-09-19 13:00:56 -07:00
Matt Davis
5dec3d7386 2.4 azure_rm_virtualmachine test move 2017-09-15 23:47:52 -07:00
Matt Davis
df361dc83f azure_rm_dnsrecordset rewrite (#30449)
As-merged, had several issues that prevented idempotent usage. Some args were defined at the wrong UI level. Dual-state args didn't match up with typical Ansible UI.
(cherry picked from commit 6b5b465125)
2017-09-15 18:16:31 -07:00
Kedar K
06a066fe1b Test Role: Adds nxos_pim_rp_address integration test role (#29958)
*   Adds nxos_pim_rp_address integration test role for group_list,
  prefix_list and route_map (cli and nxapi)

*  * Adds explicit removal of static RP configs to match cli behaviour

*  * Removes config deletion using nxos_config module (for 2.4 only)

*  * Attempt short and long delete config command
 * Add a platform check for N3K for bidir

(cherry picked from commit 7e58661335)
2017-09-15 12:06:03 -07:00
Mike Wiebe
c73e1b5e68 Fix nxos_snmp_community idempotence issue (#30388)
* Fix nxos_snmp_community idempotence issue

* Use passed in name to filter

* Test updates and remove unused method

(cherry picked from commit 9af6dc4751)
2017-09-15 07:52:44 -07:00
Ricardo Carrillo Cruz
b14e0cbfe4 Set hostname to 'switch' on nxos_system teardown (#29126)
On setup we set it to 'switch', so teardown should be 'switch'.
Also, using inventory_hostname breaks the test, since in our CI
it's a long UUID string, which exceeds the 32 chars maximum for setting
a hostname on NXOS.
(cherry picked from commit 2304706bd3)
2017-09-14 22:21:06 -07:00
Ricardo Carrillo Cruz
3f6ba180fc Set hostname to 'switch' on nxos_config toplevel setup/teardown tasks (#29127)
Using inventory_hostname breaks in our CI, as the inventory_hostname
translates to a long UUID, exceeding the maximum length for a NXOS
hostname.
(cherry picked from commit 8b6e3272f2)
2017-09-14 22:21:06 -07:00
Trishna Guha
cde49268e2 run banner exec test only for NXOS7K (#29041)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit 064bb66e6d)
2017-09-14 22:21:06 -07:00
Mike Wiebe
cc81d1e1c3 Rel240/fix nxos pim interface (#29885)
* fix nxos_pim_interface

* Add integration test coverage and fix unit test

* Add clarifying comments

* Make ansibot happy

(cherry picked from commit 173c41aefe)
2017-09-14 14:30:43 -07:00
Mike Wiebe
72d2c8ecab Fix nxos_interface error for nxapi and idempotence problem (#29136)
* Fix nxos_interface nxapi error and idempotence

* Make shippable happy

(cherry picked from commit 3faba93a2b)
2017-09-14 14:30:43 -07:00
Martin Krizek
6294f3ebfe Add sudo/su become_methods for become tests (#30266)
* Add sudo/su become_methods for become tests

* Fix test on osx

(cherry picked from commit dc5f83c09b)
2017-09-14 09:18:42 -07:00
Jordan Borean
83a74213b1 updated test not that module util checks the path is valid (#30321) 2017-09-13 19:11:55 -07:00
Ricardo Carrillo Cruz
34e624ad9e Add CLI provider with authorize yes to ios tests (#30312)
We are getting failures to do lack of elevated privileges.
(cherry picked from commit dbe9df1289)
2017-09-13 15:32:41 -07:00
Mike Wiebe
0130da1773 Fix nxos_overlay_global networking modules (#28943)
(cherry picked from commit 7292dd20ed)
2017-09-13 13:45:00 -07:00
Jordan Borean
328689a15b windows command changed to use CreateProcess (#30253)
* windows command changed to use CreateProcess

* change to get become to work

(cherry picked from commit 6d196eaa98)
2017-09-13 10:52:31 -07:00
rahushen
bcfc78b2e4 NXOS Commit Integration tests to Ansible (part 1) (#28935)
* cleanup nxos_bgp_neighbor_af tests

* add timeout and to_json to nxapi testing for nxos_command

* maintain folder naming consistency with other tests

(cherry picked from commit caafc8e591)
2017-09-13 09:01:01 -07:00
Ganesh Nalawade
aca0d1a2f8 Fix ios_system lookup enable issue (#30263)
Fixes #29974

Add `None` check while comparing module parameter values (want) with the actual
configuration present on device (have).
(cherry picked from commit d8371cec91)
2017-09-13 08:55:54 -07:00
Mike Wiebe
9fc409e126 Fix nxos_mtu nxapi failure (#30153)
(cherry picked from commit cef7ed0310)
2017-09-12 22:43:41 -07:00
Ricardo Carrillo Cruz
2f3c1867f7 Use 'hostname switch' on setup/teardown tasks for nxos_config non_idempotent (#29132)
inventory_hostname breaks CI due to too long string.
(cherry picked from commit 497e6cf405)
2017-09-12 11:52:33 -07:00
Nicklaus McClendon
016b323735 Updated pip module to always return changed if venv is created (#24233)
* Updated pip module to always return changed if venv is created

Fixes #23204

* Add integration test to pip (see #23204)

(cherry picked from commit 6dbc3c63f8)
2017-09-12 10:01:57 -07:00
Matt Davis
d2f879a266 support missing drive letters in PS path type (#29884)
* fixes #26623
* Test-Path (and thus `-type path` in Get-AnsibleParam) fail on a nonexistent drive letter, since it can't be mapped to a PSProvider.
* added support and basic smoke tests for
(cherry picked from commit 1e2ce4c8ab)
2017-09-12 09:56:16 -07:00
Ricardo Carrillo Cruz
4067c3616c Fix nxos_user tests (#30048)
On our CI we use SSH port 8022, so parameterized the test passing
-p {{ ansible_ssh_port }}.
Also, force user/pass auth.
(cherry picked from commit b30cd60829)
2017-09-12 08:26:18 -07:00
Ricardo Carrillo Cruz
7b3999560b Remove provider lines from iosxr tests (#29956)
We don't use authorize on iosxr nor we use a special transport,
so no need to use iosxr for CLI at all.
(cherry picked from commit 1da7194534)
2017-09-12 07:24:28 -07:00
Trishna Guha
9107a9904b nxos_system parse name_servers fix (#29944)
* nxos_system parse name_servers fix

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

* fix nxos_system tests

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

(cherry picked from commit 5b1c91bf19)
2017-09-12 07:23:26 -07:00
Trishna Guha
7d982f9225 nxos_command and nxos_config fix (#29940)
* fix nxos_command nxapi test output

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit 9dee5c65ce88912b1bd28e75d85dd7331420f823)

* nxos_config CI fix

Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit 8810a7e58457b35fe269101075986d57030342f4)
2017-09-11 22:24:15 -07:00
Jordan Borean
e842ac4e3f win_unzip: added support for Server core by using .net zip functions (#29272)
* win_unzip: added support for Server core by using .net zip functions

* fixed unzip behaviour with folders

(cherry picked from commit 5623e679b8)
2017-09-11 15:35:11 -07:00
Martin Krizek
baec8cf95a dnf: add environment upgrade test
(cherry picked from commit 0daacdccf8)
2017-09-11 11:45:44 -07:00
Martin Krizek
5db6b61cf0 dnf: fix TypeError when env/group failed
(cherry picked from commit de299ef77c)
2017-09-11 09:39:23 -07:00
Brian Coca
f64c55e58f fix cs_zone_facts tests, namespace feature removed (#29184)
* fix cszonefacts .. namespace feature removed

* also removed the 2nd instance of ansible_facts

(cherry picked from commit 444a5b5389)
2017-09-11 09:38:44 -07:00
Trishna Guha
557cf0d17a rename nxos test basic-no-exec to basic-no-motd (#29144)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit 2ff9888923)
2017-09-11 09:13:27 -07:00
Trishna Guha
91ca89063c nxos_banner CI fix (#29134)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit 588bddbc35)
2017-09-11 09:13:27 -07:00
Trishna Guha
9f4b8d115a Disable nxapi test for nxos_banner (#29088)
Signed-off-by: Trishna Guha <trishnaguha17@gmail.com>
(cherry picked from commit 757983d808)
2017-09-11 09:13:27 -07:00
Andrew Saraceni
db363160a6 Fix SID Lookup Issues on Assorted Windows Modules (#28979)
* fix sid lookup issues and update copyright/license to latest format

* simplify win_owner and win_share by removing unnecessary function

(cherry picked from commit 8f050d3719)
2017-09-10 14:45:23 -07:00
Abhijeet Kasurde
80b41165cb Misc typo corrections
Fix adds correction for typos

* Anisble to Ansible
* Fasle to False

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
(cherry picked from commit 8f6626bd8f)
2017-09-09 10:26:30 -07:00
Jordan Borean
6d5eb06cc5 win_regedit: fixed up diff output to be more representative of type (#28974)
* win_regedit: fixed up diff output to be more representative of type

* added diff fix for creation of key and prop in one go

(cherry picked from commit 91e7c3ec81)
2017-09-07 04:07:40 -07:00
Matt Clay
286348bd0d Temporarily disable leaky test in CI. 2017-09-05 21:56:40 -07:00
Ganesh Nalawade
3b6b004570 Add support for neighbor argument in ios_interface (#29035)
Add missing support for lldp neighbor argument in ios_interface
2017-09-06 10:15:02 +05:30
Matt Clay
08bdb6198e Migrate more Azure integration tests. (#29034) 2017-09-05 19:38:56 -07:00
Matt Clay
8f4c8844c4 Divide Windows integration tests into 2 groups. (#29029)
* Divide Windows integration tests into 2 groups.
* Support `none` for `--changed-all-target`.
* Run 2 separate Windows groups on Shippable.
* Only run smoketest and minimal for the group1 job.
2017-09-05 15:32:26 -07:00