Commit Graph

1223 Commits (3b1cc3676cf68038abc60b5d3875c6d4bd2974db)
 

Author SHA1 Message Date
David Wilson dc4433ace6 issue #202: ansible: forget all dependent contexts on Stream disconnect
This is a partial fix, there are still at least 2 cases needing covered:

- In-progress connections must have CallError or similar sent to any
  waiters
- Once connection delegation exists, it is possible for other worker
  processes to be active (and in any step in the process), trying to
  communicate with a context that we know can no longer be communicated
  with. The solution to that isn't clear yet.

Additionally ensure root has /bin/bash shell in both Docker images.
7 years ago
David Wilson c5fe817db2 ansible: tidy up log repr slightly 7 years ago
David Wilson cbe6be449e issue #201: parent: log a warning and work around race for now. 7 years ago
David Wilson 9fe14e841c parent: reap the child process if connection fails
For example if no response is received in :attr:`connect_timeout`
seconds, the child would be left running.
7 years ago
dw 8f54fcfca4
Merge pull request #198 from dw/dmw
issue #195: handle non-ASCII scripts in runner.py.
7 years ago
David Wilson e7831a801f issue #195: handle non-ASCII scripts in runner.py. 7 years ago
dw c8b0f3585a
Merge pull request #197 from dw/dmw
MITOGEN_DUMP_THREAD_STACKS, better log integration, remove JobResultsService
7 years ago
David Wilson 85e1f5f515 ansible: remove JobResultService, more compatible async jobs; closes #191.
And by "compatible" I mean "terrible". This does not implement async job
timeouts, but I'm not going to bother, upstream async implementation is
so buggy and inconsistent it resists even having its behaviour captured
in tests.
7 years ago
David Wilson 6ad18b6719 issue #191: move async tests to their own category 7 years ago
David Wilson 296683b130 ansible: always display Mitogen errors and warnings.
They're no longer buried in -vvv output.
7 years ago
David Wilson 65fb6ff9fe issue #195: comment out stack pruning code 7 years ago
David Wilson 810f557514 issue #195: MITOGEN_DUMP_THREAD_STACKS=1 7 years ago
David Wilson f06ae05734 issue #195: add extra logging around FileService and get_file(). 7 years ago
dw 79fb65c5d6
Merge pull request #194 from dw/dmw
Implement hybrid TTY/socket mode
7 years ago
David Wilson 46a311165e issue #148: parent: prevent race in iter_read()
There is no guarantee on the ordering select() returns file descriptors.
So if, e.g. in the case of sudo_nonexistent.yml, sudo prints an error
to a single FD before exitting, there was previously no gurantee
iter_read() would read off the error before failing due to detecting
disconnect on any FD.

Now instead we keep reading while any non-disconnected FD exists.
7 years ago
David Wilson e43c6c531b Mostly implement hybrid TTY/socket mode for sudo and SSH.
Presently there is still no mechanism to add :attr:`tty_stream` to the
multiplexer after connection is successful, but for now it's not
expected that anything will be logged to it anyway.

Closes #148.
7 years ago
David Wilson fca22efe90 tests: enable profile_tasks callback plugin 7 years ago
dw 2e9fc93f8a
Merge pull request #193 from dw/dmw
Use subprocess to start child processes; closes #185.
7 years ago
David Wilson c6284e00e9 Use subprocess to start child processes; closes #185. 7 years ago
dw 22698715a8
Merge pull request #192 from dw/dmw
Enable initial regression tests in Travis
7 years ago
David Wilson bdc76c8231 parent: do not attempt to reap child twice. 7 years ago
David Wilson 1e882a72c0 tests: install virtualenv in the Docker images. 7 years ago
David Wilson b91785c9a1 tests: workaround for issue_109 7 years ago
David Wilson ce260933d9 tests: consistent play naming everywhere 7 years ago
David Wilson d827bdb848 tests: fixes to get regression/ running under vanilla Ansible 7 years ago
David Wilson b882b78d35 tests: clean up remaining reg tests
Delete some that are impossible to detect, fix up the remainder to
detect the condition they describe.
7 years ago
David Wilson aeeba54d96 tests: better regression test for issue #109 7 years ago
David Wilson 261f4397bb tests: rename debops mode, add extra centos/version targets 7 years ago
David Wilson 3f7dfd6344 tests: tidy up dross after fixing issue. 7 years ago
David Wilson f4d791662e ansible: better planner logging, try again 7 years ago
David Wilson b4bb1c5a2a tests: fix suspected readdir() ordering issue (!) 7 years ago
David Wilson a9a2793a49 tests: yep more debug for Travis 7 years ago
David Wilson 235cf5e734 tests: more debug for travis 7 years ago
David Wilson c7e798e800 tests: stop burning CPU until this one job is fixed. 7 years ago
David Wilson 1fa377152d ansible: extra planner log messages. 7 years ago
David Wilson 0046a3de0b tests: insert debug print for travis :( 7 years ago
David Wilson ef47347cdf tests: raft of fixes for vanilla Ansible 7 years ago
David Wilson b8908919b1 Arrange for sshpass to be installed. 7 years ago
David Wilson 117607d742 ansible: fix new-style module argv[0]
Previously it was the absolute path to the module on the master. This is
wrong, it should be the temporary file name on the target.
7 years ago
David Wilson f360a1b653 ansibe: fix type check for previous commit 7 years ago
David Wilson 54452c4015 service: fix UnboundLocalError. 7 years ago
David Wilson 89e11ed25c tests: make osx_setup a little more generic again 7 years ago
David Wilson 2c3d2db4ec tests: fix output checks for Linux 7 years ago
David Wilson 7e49e73683 tests: add perl-JSON to the test images too.
Needed for the runner tests.
7 years ago
David Wilson ac80bf12f0 tests: start making osx_setup.yml more generic 7 years ago
David Wilson 16b5aa2d10 tests: disable host key checking for Paramiko. 7 years ago
David Wilson 3a0618684f tests: build the test binary custom modules 7 years ago
David Wilson 202ce0f641 Prevent construction of unicode Message.data
And fix one case of it in parent.py.
7 years ago
David Wilson 41d2661ecb tests: fix sudo rule order. 7 years ago
David Wilson 9eacf8faa9 ansible: forward exceptions as job results too.
Ref #191.
7 years ago