Commit Graph

5506 Commits (0429b10ddc86cffdb2d276a1d094a35df48869ff)

Author SHA1 Message Date
Jordan Borean 0429b10ddc Merge pull request #53845 from jborean93/win-paths-2.6
Windows - Fix issues with glob like path chars - 2.6
7 years ago
Toshio Kuratomi 00a02574c2 Make the timeout decorator raise an exception out of the function's scope (#49921)
* Revert "allow caller to deal with timeout (#49449)"

This reverts commit 63279823a7.

Flawed on many levels

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

Fixes #49824
Fixes #49817

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

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

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

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

Fixes #43884

* Add a common case test.

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

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

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

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

(cherry picked from commit bd072fe83a)
7 years ago
Jordan Borean 19dfb2f396 Handle binary files when scanning metadata in python 3 (#53773)
(cherry picked from commit c2466c545b)
7 years ago
Jordan Borean a36b86c0c0 win_psexec: make the tests more stable (#53716)
(cherry picked from commit 33939f7fe8)
7 years ago
S 4c3a5629b3 Fixed win_file crash with hidden files (#52584)
* Fixed crash with hidden files

added "-force" parameter on "Get-Item" cmdlet. this is needed to get file info if the file is "hidden" 
without this option modules like win_file, win_template, win_copy crashes on hidden files. this is because with "test-path" it sees that the file exists, but "get-item" can't get the file info. 
for more information on "-force option": https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-item

* Add changelog and integration tests

* fix tests for older Windows versions

(cherry picked from commit 3bc474bf99)
7 years ago
Sloane Hertel b7b780650d Mark ec2_vpc_vgw as disabled to avoid hitting the resource limit (#53082)
* Mark ec2_vpc_vgw as disabled to avoid hitting the resource limit

(cherry picked from commit c4d0c58c5a)
7 years ago
Jordan Borean 8b483b1640 OpenSUSE - Add OpenSUSE 15 test containers (#52793)
* OpenSUSE - Add OpenSUSE 15 test containers ci_complete

* Reset matrix back to normal

* Set container version instead of latest

* Remove old Docker completion file

(cherry picked from commit 3635c59b23)
7 years ago
Wojciech Sciesinski 8ac0f26b28 Don't run integration tests for OS'es older than Windows 2016 (#53057) 7 years ago
s-hertel 19590192f4 fix no_log indentation so AWS temporary credentials aren't displayed in tests
(cherry picked from commit 6cacbcba66)
7 years ago
Jordan Borean 91dee57e5f Suse add py3 package vars (#52794)
(cherry picked from commit 80652ad054)
7 years ago
Jordan Borean c078da9e09 test - add setup target that creates the nobody user (#52750)
* test - add setup target that creates the nobody user

* do not set explicit gid/uid for nobody user

* Do no create group and only touch basic attributes

(cherry picked from commit 17bfc60423)
7 years ago
Jordan Borean b94a34d9fa test - add Python 3 package for OpenSUSE in setup_openssl (#52775)
(cherry picked from commit 63c22f6eb0)
7 years ago
Jordan Borean 68507a55b8 fix filesystem tests on OpenSUSE 15+ (#52716)
(cherry picked from commit 5e3e0eb946)
7 years ago
Jordan Borean 8964ef5cfc test suse: get tests working on newer OpenSUSE distributions (#52539)
(cherry picked from commit c312287731)
7 years ago
Jordan Borean f66c006d8c git: kill gpg-agent in tests on newer OpenSUSE hosts (#52476)
(cherry picked from commit bb0a69e084)
7 years ago
Jordan Borean 77e2512744 alternatives - fix OpenSUSE dir on newer distros (#52458)
(cherry picked from commit 3ecd6e19f7)
7 years ago
Jordan Borean 7c33ce5542 zypper_repository: fix return check on newer OpenSUSE versions (#52457)
(cherry picked from commit d6453a79f5)
7 years ago
Jordan Borean 81b022b4ed zypper: fix tests to use new URL for OpenSUSE 15.0 (#52453)
(cherry picked from commit 4b296da6a2)
7 years ago
Zim Kalinowski c9449694b8 Backport/2.6/45378 (#52448)
* backporting fix for sql tags

* removed unnecessary tests
7 years ago
Jordan Borean 07e0de6cf1 opensuse - install password-store from specific repo (#52439)
(cherry picked from commit 4a94bd8d9d)
7 years ago
Wojciech Sciesinski bec375d691 Install the NuGet package provider if needed (#52130)
* Install the NuGet package provider if needed

* Add the changelog fragment file
7 years ago
Matt Martz 4be3215d2f [stable-2.6] Disallow use of remote home directories containing .. in their path (CVE-2019-3828) (#52133)
* Disallow use of remote home directories containing .. in their path

* Add CVE to changelog
(cherry picked from commit b34d141)

Co-authored-by: Matt Martz <matt@sivel.net>
7 years ago
Jordan Borean b5122be9e1 Add Windows Server 2019 to Shippable matrix (#51685)
* Test out Server 2019 - ci_complete

* run tests and continue on error - ci_complete

* Add the full matrix back in

(cherry picked from commit 0334c20630)
7 years ago
Matt Davis adbe9d5d9e fix string_format sanity check (#51780)
* newer version of Pylint moved the impl; use conditional import to find for new/old

(cherry picked from commit 6654c7aeea)
7 years ago
Wojciech Sciesinski abe3437119 Correct integration tests for the win_disk_facts module (#51044)
* Correct integration tests for the win_disk_facts module

* Exclude W2K8, W2K8-R2 from tests run under CI
7 years ago
Matt Davis de1c9ff56c [stable-2.6] fix azure_rm_deployment test
* recent changes to args for hosted template file broke the test; changed test to use a specific known-working commit instead of `master`.
* long-term may want to consider hosting the template in httptester or just embedding a local copy
(cherry picked from commit 46bf387)

Co-authored-by: Matt Davis <mrd@redhat.com>
7 years ago
Jordan Borean 4829854791 Get docker tests working on OpenSUSE (#51896)
(cherry picked from commit c92fcf0b57)
7 years ago
Jordan Borean c96b9cda21 test win_setup - make py3 compatible (#51693)
(cherry picked from commit f78cdcd2c5)
7 years ago
Jordan Borean 2255325287 win_service - use custom binary for tests (#51689)
(cherry picked from commit 2e99dea867)
7 years ago
Jordan Borean 72703bd3b7 win_power_plan: fix for Windows 10 and Server 2008 compatibility (#51471)
(cherry picked from commit f27078df52)
7 years ago
Brian Coca e9e3999ddc Handle complex quoting in extra args in pull cli (#50212)
* added tests

fixes #40729

(cherry picked from commit b6824669df)
(cherry picked from commit e010034151)
7 years ago
Jordan Borean 114d5c0368 ansible-test: make the httptester for Windows more resiliant around the shell chosen (#51416)
(cherry picked from commit ce8db479f0)
7 years ago
Jordan Borean 251961897a ansible-test: add Ubuntu 18.04 container (#50790)
* ansible-test: Add Ubuntu 18.04 to Shippable CI nodes

* re-add ubuntu1604/3 to matrix

* forgot to add environment for git kill gpg-agent

(cherry picked from commit 828df4b336)
7 years ago
Sam Doran 197daf095b Catch sshpass authentication errors and don't retry multiple times to prevent account lockout (#50776)
* Catch SSH authentication errors and don't retry multiple times to prevent account lock out

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

* Subclass AnsibleAuthenticationFailure from AnsibleConnectionFailure

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

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

* Add tests

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

* Make paramiko_ssh connection plugin behave the same way

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

* Add changelog

Signed-off-by: Sam Doran <sdoran@redhat.com>
(cherry picked from commit 9d4c0dc111)
7 years ago
Matt Clay ae96e6e261 [stable-2.6] Disable failing azure_rm_postgresqlserver test..
(cherry picked from commit 37767849ee)

Co-authored-by: Matt Clay <matt@mystile.com>
7 years ago
Matt Clay 182b5c621c [stable-2.6] Fix subversion integration test on Fedora 29. (#51089)
* Fix subversion integration test on Fedora 29.

This upgrades the sqlite-libs and subversion packages to make sure
that the version of sqlite expected by subversion is installed.

* Fix compatibility with RHEL and CentOS.
(cherry picked from commit d4dbc7f2e0)

Co-authored-by: Matt Clay <matt@mystile.com>
7 years ago
Jordan Borean 6b485fb8f5 ansible-test git: kill gpg-agent to remove locks (#50917)
* ansible-test git: kill gpg-agent to remove locks

* skip gpg-agent kill for OpenSUSE

(cherry picked from commit 3db6b9b416)
7 years ago
Jordan Borean 9f95850fa7 ansible-test: fix cloud_init_data_facts for Ubuntu 18.04 (#50916)
(cherry picked from commit 03669cdcdd)
7 years ago
Jordan Borean 7b716a11c4 ansible-test: fix dpkg_selections on Ubuntu 18.04 (#50915)
(cherry picked from commit a54eb58156)
7 years ago
Jordan Borean 208dd467a8 ansible-test: add postgresql var file for Ubuntu 18.04 (#50914)
(cherry picked from commit 8c5b2048de)
7 years ago
Jordan Borean 4f7cf928fb ansible-test: rename setup_mysql_db Ubuntu name to work with 18.04 (#50907)
(cherry picked from commit 518699988f)
7 years ago
Jordan Borean 428f8da941 ansible-test: apt cleanup and futher 18.04 fixes (#50906)
(cherry picked from commit bbad033a5e)
7 years ago
Jordan Borean 8ca2abf292 ansible-test setup_dep_repo trust package repo (#50795)
(cherry picked from commit 2fcc3593cc)
7 years ago
Jordan Borean 798b240cd6 test subversion - support Ubuntu 18.04 (#50791)
(cherry picked from commit 91522bd9c4)
7 years ago
Jordan Borean c18cf08a91 setup_rabbitmq - fix erlang pinned dependencies (#51048)
(cherry picked from commit 18c35b69fb)
7 years ago
Brian Coca 421a378022 added missing docs for option in acl module (#50775) (#50806)
* added missing docs for option in acl module (#50775)

* added missing docs for option in acl module
* remove acl from ignore

(cherry picked from commit 91d8383898)
7 years ago
Jérémy Lecour f9dcf40de5 [backport 2.6] Lineinfile must not insert lines multiples times with insertbefore/insertafter (#50086)
* Change test suite to fit expected behaviour

This reverts some changes from ansible/ansible@723daf3
If a line is found in the file, exactly or via regexp matching, it must
not be added again.
insertafter/insertbefore options are used only when a line is to be
inserted, to specify where it must be added.

(cherry picked from commit 31c11de2af)
(cherry picked from commit eb92ce3d6f)

* Implement the change in behaviour mentioned in the previous commit

(cherry picked from commit a4141cfa2e)
(cherry picked from commit 6afe25d93e)

* Fix comment to reflect what the code does

(cherry picked from commit 150f5cb232)
(cherry picked from commit 1a13bf06a3)

* Set the correct return message.

In these cases, the lines are added, not replaced.

(cherry picked from commit 3216c31401)
(cherry picked from commit 5bd04bd5d5)

* Add a changelog

(cherry picked from commit c39cf6b332)
(cherry picked from commit fc071636b4)
7 years ago
Matt Clay 26b8fbddad [stable-2.6] Cleanup integration test inventory. (#50753)
* Move var_blending test inventory into test.
* Remove Amazon specific inventory entry for tests.
* Remove Azure specific inventory entry for tests.
* Move var_precedence test inventory into test.
* Move unicode test inventory into test.
* Remove unused inventory entry.
* Move gathering_facts test inventory into test.
* Move delegate_to test inventory into test.
* Clean up inventory for binary_modules test.
* Clean up integration test inventory..
(cherry picked from commit e5094e8071)

Co-authored-by: Matt Clay <matt@mystile.com>
7 years ago
Sloane Hertel 5b8e465fc3 [stable-2.6] Add unstable alias to s3_bucket integration tests (#50508)
(cherry picked from commit d21ed42f4b)

Co-authored-by: Sloane Hertel <shertel@redhat.com>
7 years ago
Matt Clay 644a155da1 [stable-2.6] Move unrelated connection test to separate target.
(cherry picked from commit d59bc9ae48)

Co-authored-by: Matt Clay <matt@mystile.com>
7 years ago