Commit Graph

3095 Commits (95da0df705d7fb6f9d3df4d4a24b575ecbefd578)
 

Author SHA1 Message Date
David Wilson c7ebb39ad4 core: introduce Protocol, DelimitedProtocol and BufferedWriter.
They aren't wired in yet as of this commit, and continue duplicating
other code.
5 years ago
David Wilson d368971749 core: introduce mitogen.core.pipe()
It's used in later commit. This is an os.pipe() wrapper that traps the
file descriptors in a file object, to ensure leaked objects will
eventually be collected, and a central place exists to track open/closed
status.
5 years ago
David Wilson 12569ad70a tests/bench: import ssh-roundtrip.py. 5 years ago
David Wilson bb0c98f451 tests: note location of related tests. 5 years ago
David Wilson eff8179591 tests: add real test for doas. 5 years ago
David Wilson d8dc5420ce tests: install OpenBSD doas port in Debian image.
To allow fancy new improved doas_test.
5 years ago
David Wilson de9a8b2a80 tests: add setns_test that works if password localhost sudo works. 5 years ago
David Wilson bbf0b22493 Import minimal jail_test. 5 years ago
David Wilson d1f5e0663d core: move message encoding to Message.pack(), add+refactor tests.
The old inline pack is still present in the old location but will be
removed in a followup commit.
5 years ago
David Wilson 3f1ef6e243 master: expect forwarded logs to be in UTF-8.
latin1 was causing corruption of internationalized messages.
5 years ago
David Wilson 3ab7998861 tests: add some UTF-8 to ssh_login_banner to encourage breakage. 5 years ago
David Wilson aba396d4c5 core: bootstrap FD management improvements
- open fd 0/1/2 with correct file mode
- trap reserve_tty_fd in a file object, since all other FD manual FD
  management is going away.
5 years ago
David Wilson 4f0a946f30 core: pending timers should keep broker alive. 5 years ago
David Wilson 237a3babaf core: more succinct iter_split(). 5 years ago
David Wilson dfefc4c05c core: replace UTF8_CODEC with encodings.utf_8.encode() function. 5 years ago
David Wilson 1305420aa5 docs: remove bytearray from supported types list. 5 years ago
David Wilson 3f90030c1e core: docstring style cleanups, dead code. 5 years ago
David Wilson f6d26c5acb testlib: disable lsof warnings due to Docker crap 5 years ago
David Wilson 70ff4b674c parent: discard cancelled events in TimerList.get_timeout().
Otherwise get_timeout() keeps broker alive via keep_alive() for a
cancelled timer during shutdown.
5 years ago
David Wilson 5aca9d6c3f core: split out iter_split() for use in parent.py. 5 years ago
David Wilson f43f886c37 parent: various style cleanups, remove unused function. 5 years ago
David Wilson 3aded0ca95 issue #170: add TimerList docstrings. 5 years ago
David Wilson a5536c3514 core: eliminate some quadratric behaviour from IoLogger
This is the same problem as used to afflict Stream: large input buffers
containing many small messages cause intense string copying. This
eliminates the worst of it.
5 years ago
David Wilson 77564fdfe2 issue #170: update Changelog; closes #170. 5 years ago
David Wilson 870e0b6e2d issue #170: add timers to internals.rst. 5 years ago
David Wilson 2fbc77a155 issue #170: implement timers. 5 years ago
dw 4fedf88d38
Merge pull request #595 from jordemort/buildah
Add buildah transport
6 years ago
Jordan Webb d71bdd1694
Add buildah test and stub 6 years ago
Jordan Webb 1a02a86331
Add buildah transport 6 years ago
David Wilson de12097bc4 Merge remote-tracking branch 'origin/ci280'
* origin/ci280:
  ci: Another round of fixes for random Ansible UI breakage in 2.7/2.8
  ci: work around various broken aspects of Travis VM image
  Use virtualenv Python for stub connections to workaround problem
  ci: Ansible 2.8 requires Python 2.7.
  tests: add 2.8 format async error timeout message
  ansible: prevent tempfile.mkstemp() leaks.
  update gitignore again
  ci: try bumping more Travis jobs to Ansible 2.8.
  add .*.pid to gitignore
  tests: allow running without hdrhistograms library.
  issue #578: update Changelog.
  travis: exclude docs-master from CI
  issue #589: ensure real FileService/PushFileService are in the docs
  issue #589: ensure real FileService/PushFileService are in the docs
  docs: add new contributor entry
  issue #589: remove outdated/incomplete examples
  issue #589: split services example out and make it run.
6 years ago
David Wilson ee7dae7514 ci: Another round of fixes for random Ansible UI breakage in 2.7/2.8 6 years ago
David Wilson d981a382c9 ci: work around various broken aspects of Travis VM image
- Symlink broken Ubuntu Python package pieces back together. See many
  Google hits about this issue.
- Remove apt sources that can no longer be updated.
6 years ago
David Wilson ad5a80f200 Use virtualenv Python for stub connections to workaround problem
../data/stubs/stub-kubectl.py exec -it localhost -- /usr/bin/python -c "...":

    Traceback (most recent call last):
      File "<string>", line 1, in <module>
    LookupError: unknown encoding: base64

It's not clear why this is happening. "stub-kubectl.py" is executed with
the 2.7 virtualenv, while the exec() that happens inside stub-kubectl
was for "/usr/bin/python".

That second Python can't find chunks of its stdlib:

    stat("/usr/lib/python2.7/encodings/base64", 0x7ffde8744c60) = -1 ENOENT (No such file or directory)
    open("/usr/lib/python2.7/encodings/base64.so", O_RDONLY) = -1 ENOENT (No such file or directory)
    open("/usr/lib/python2.7/encodings/base64module.so", O_RDONLY) = -1 ENOENT (No such file or directory)
    open("/usr/lib/python2.7/encodings/base64.py", O_RDONLY) = -1 ENOENT (No such file or directory)
    open("/usr/lib/python2.7/encodings/base64.pyc", O_RDONLY) = -1 ENOENT (No such file or directory)
    write(2, "Traceback (most recent call last):\n", 35) = 35
    write(2, "  File \"<string>\", line 1, in <module>\n", 39) = 39
6 years ago
David Wilson ab9a80cfd4 ci: Ansible 2.8 requires Python 2.7. 6 years ago
David Wilson 08e7fe4f80 tests: add 2.8 format async error timeout message 6 years ago
David Wilson 7ae926b325 ansible: prevent tempfile.mkstemp() leaks.
This avoids a leak present in Ansible 2.7.0..current HEAD, and all
similar leaks.

See ansible/ansible#57327.
6 years ago
David Wilson 2f05b93a08 update gitignore again 6 years ago
David Wilson 73a87d425d ci: try bumping more Travis jobs to Ansible 2.8. 6 years ago
David Wilson a766fd3be5 add .*.pid to gitignore 6 years ago
David Wilson 418fc15e80 tests: allow running without hdrhistograms library. 6 years ago
David Wilson 1a32a79fa6 issue #578: update Changelog. 6 years ago
David Wilson 95fd9b815c travis: exclude docs-master from CI 6 years ago
David Wilson 8fc491ac43 issue #589: ensure real FileService/PushFileService are in the docs 6 years ago
David Wilson 874e75276f issue #589: ensure real FileService/PushFileService are in the docs 6 years ago
David Wilson 687d4033d5 docs: add new contributor entry 6 years ago
David Wilson 2d083d19df issue #589: remove outdated/incomplete examples 6 years ago
David Wilson 06690901e4 issue #589: split services example out and make it run. 6 years ago
David Wilson 3616385af4 Merge remote-tracking branch 'origin/issue593'
* origin/issue593:
  issue #593: expose configurables for SSH keepalive and increase the default
6 years ago
David Wilson 3620fce071 issue #593: expose configurables for SSH keepalive and increase the default 6 years ago
David Wilson 823c18ec09 Merge remote-tracking branch 'origin/issue591'
* origin/issue591:
  issue #591: fix test for Ansible 2.3.
  issue #591: ansible: restore CWD prior to AnsibleModule initialization.
6 years ago