Commit Graph

1235 Commits

Author SHA1 Message Date
David Wilson b7eb96d116 issue #275: tests: don't explicitly specify interpreter path. 2018-06-25 01:36:46 +01:00
David Wilson 1cb084061c issue #275: Pin paramiko to a v2.6-compatible version. 2018-06-25 01:36:44 +01:00
David Wilson cec564654e issue #275: tests: fix module_finder_test for 2.6. 2018-06-25 01:36:41 +01:00
David Wilson 4be8afa3d3 issue #275: tests: fix test_simple for 2.6. 2018-06-25 01:36:39 +01:00
David Wilson 7b84a2c2e4 issue #275: tests: use same EC0_MARKER as parent.py 2018-06-25 01:36:36 +01:00
David Wilson 6e0883f369 issue #275: tests: fix bug in 2.6 compat check_output(), ignore it for >2.6. 2018-06-25 01:36:33 +01:00
David Wilson d6126a9516 issue #275: parent/ssh: centralize EC0_MARKER and change it for ssh.py.
Must maintain a minimum buffer length prior to deciding whether we have
an interesting token, and 'EC0' is too short for that.
2018-06-25 01:36:31 +01:00
David Wilson 84fa3ff024 issue #275: ssh: state machine-ish filter_debug() 2018-06-25 01:36:28 +01:00
David Wilson fbd5837cf2 issue #275: parent: use TIOCSCTTY on Linux too.
This appears to be harmless, except for Python 2.6 on Linux/Travis,
where for some reason (some stdlib change?) simply opening the TTY is
insufficient.
2018-06-25 01:36:24 +01:00
David Wilson 83617ad192 issue #275: tests: cache virtualenvs too 2018-06-25 01:36:19 +01:00
David Wilson e5d02b948b issue #275: travis: run_tests with -vvv 2018-06-25 01:36:11 +01:00
David Wilson 60ad75f436 issue #275: Tidier SSH debug logging. 2018-06-25 01:36:08 +01:00
David Wilson 3b1cc3676c issue #275: ssh_debug_level=3 for tests 2018-06-25 01:36:04 +01:00
David Wilson 6d618593f3 issue #275: Python 2.6 reports linux as 'linux3'. 2018-06-25 01:35:49 +01:00
David Wilson e0c116a29f issue #275: logging package uses classic classes in 2.6. 2018-06-25 01:35:46 +01:00
David Wilson 1d04a99adb issue #275: missing check_output() call 2018-06-25 01:35:36 +01:00
David Wilson 4649e11da3 issue #275: Travis build matrix from hell.
dev_requirements.txt:
- drop debops, it's not available for Python2.6
2018-06-25 01:35:14 +01:00
David Wilson cfd2887292 issue #275: default to 'python' for default remote interpreter.
So we get 2.4/2.5/2.6/2.7/3.x.
2018-06-24 21:12:34 +01:00
David Wilson 38d69a6ecd issue #275: tests: drop docker client dep, doesn't run on 2.6. 2018-06-24 21:12:34 +01:00
David Wilson b38318dfec issue #275: build for centos 6 too (python2.6) 2018-06-24 21:12:34 +01:00
dw 58335ab48e
Merge pull request #285 from dw/issue272
issue #272: add a blacklist for noisy target loggers
2018-06-23 20:53:01 +01:00
David Wilson 6025412050 issue #272: add a blacklist for noisy target loggers 2018-06-23 20:11:22 +01:00
dw 0cb9335cde
Merge pull request #284 from dw/issue277
issue #277: core: move Darwin versioner check into first stage
2018-06-23 20:06:04 +01:00
David Wilson 884a72ee86 issue #277: core: move Darwin versioner check into first stage
The 'versioner.c' dodging check added in 0ef23d86 was wrong, since the
check occurred on the host machine, when the fix actually needs to apply
to the Darwin target.

Fixes ability to target OS X from a Red Hat controller, manifesting as
an error like:

    D mitogen: mitogen.parent.TtyLogStream('local.2472'):  'python(mitogen:dmw@localhost.localdomain:2449): realpath couldn\'t resolve "/usr/bin/python(mitogen:dmw@localhost.localdomain:2449)"'

The "realpath couldn't resolve" error comes from versioner.c:

    https://opensource.apple.com/source/perl/perl-104/versioner/versioner.c
2018-06-23 19:54:44 +01:00
dw c1d70b6ea9
Merge pull request #283 from dw/recv-race
core: race during Receiver construction.
2018-06-23 19:30:42 +01:00
David Wilson 75b195ba4b core: race during Receiver construction.
It's possible for a message to arrive after .add_handler() but before
Latch construction.

This is papering over a bigger problem with service pool instantiation.

https://travis-ci.org/dw/mitogen/jobs/390409832#L2901

    TASK [Spin up a few interpreters] **********************************************
    changed: [target] => (item=1)
    ERROR! [pid 5355] 14:47:50.224945 E mitogen.ctx.ssh.localhost:2201.sudo.mitogen__user2: mitogen: Router(Broker(0x7f1e93911450))._invoke(Message(19100, 19095, 19095, 110, 1005, '\x80\x02U\x1fmitogen.service.PushFileServiceq\x01U\x11store_and_f'..8955)): <bound method Receiver._on_receive of Receiver(Router(Broker(0x7f1e93911450)), 110)> crashed
    Traceback (most recent call last):
      File "<stdin>", line 1471, in _invoke
      File "<stdin>", line 491, in _on_receive
    AttributeError: 'Receiver' object has no attribute '_latch'
2018-06-23 18:39:47 +01:00
dw 27ab051289
Merge pull request #282 from dw/issue278
Issue278
2018-06-23 17:20:35 +01:00
David Wilson 6d14652077 issue #278: tests: fix fakessh.
See source comment. This behaviour always existed, but it now seems to
be triggered since we started draining the master side input buffer,
which someone was prolonging the life of the PTY.
2018-06-23 16:17:24 +00:00
David Wilson 0e958ea177 issue #278: tty logger Side constructed with incorrect Stream
Harmless, but produced the wrong log message prefix.
2018-06-23 16:12:52 +00:00
David Wilson 04b65020ac issue #278: ansible: support mitogen_ssh_debug_level variable. 2018-06-22 16:32:24 +01:00
David Wilson b58603c7a4 issue #278: ssh: support ssh_debug_level option and log TTY output.
Now debug logs may be captured all the way through the connection.
2018-06-22 16:30:51 +01:00
dw 29262a6000
Merge pull request #281 from dw/issue280
Issue280
2018-06-22 04:45:33 +01:00
David Wilson 888829544a issue #280: move find_module() log output to IOLOG
It just generates far too much spam, and its final decision is obvious
since a followup load_module() will exist for positive matches.
2018-06-22 04:43:46 +01:00
David Wilson 7853b74e7f issue #280: put 'dnf' on the always fork list 2018-06-22 04:43:28 +01:00
dw c846c3be2d
Merge pull request #269 from moreati/retox-the-freak-in-me
Fix Docker image construction and Tox test invocation
2018-06-21 19:57:01 +01:00
dw bf478b451b
Merge pull request #276 from dw/issue271
ssh: Only match "permission denied" at start of line; closes #271.
2018-06-19 21:21:12 +01:00
David Wilson e3482bdd8f ssh: Only match "permission denied" at start of line; closes #271. 2018-06-19 21:08:25 +01:00
dw 58ff550b37
Merge pull request #274 from dw/issue270
Get integration tests running under 2.6.
2018-06-19 20:20:16 +01:00
David Wilson 2fbe1f1b54 Get integration tests running under 2.6.
Closes #270
Closes #273
2018-06-19 18:46:30 +01:00
Alex Willmer 21199f290e Fix bash loop when add users to docker images 2018-06-18 19:44:37 +01:00
Alex Willmer c4899a0ce4 Fix invocation of test runner by tox
I think tox calls it in a way that #! is ignored
2018-06-18 19:43:50 +01:00
dw 876a82f00d
Merge pull request #263 from dw/dmw
Stray mux process on CTRL+C, EINTR on async task timeout, temp dir cleanup race
2018-06-10 15:41:50 +01:00
David Wilson 9617f4d7bf Revert "try to catch EINTR on travis"
This reverts commit 42797d5cff.
2018-06-10 15:28:33 +01:00
David Wilson 08538d327b ansible: don't write failed job result after async timeout.
The failed job result is likely to be "interrupted system call", and we
don't want that to overwrite the SIGALRM handler's "the task timed out",
so just discard it.
2018-06-10 15:27:06 +01:00
David Wilson 205052ed90 service: fix SerializedInvoker CallError handling.
This cutpaste needs refactored. Ensure the caller receives a copy of the
exception.
2018-06-10 15:26:14 +01:00
David Wilson 45b748833d ansible: don't randomly fail due to temp directory cleanup.
Happens about 1 time in 3 when async task times out.
2018-06-10 15:25:11 +01:00
David Wilson fbb67e837e tests: import nice_stdout plugin 2018-06-10 15:03:34 +01:00
David Wilson 42797d5cff try to catch EINTR on travis 2018-06-10 13:40:58 +01:00
David Wilson ffc7306cf8 tests: better runner_two_simultaneous_jobs.yml. 2018-06-10 05:00:42 +00:00
David Wilson 1d96d80e8d tests: osx_setup.yml missing line 2018-06-10 04:50:58 +00:00