Commit Graph

509 Commits (0bd0c7b9e712e5fd48638332f59f444280b3b40b)

Author SHA1 Message Date
David Wilson 2c0244eea7 docs: more tweaks 6 years ago
David Wilson c8081e7ca1 docs: typo 6 years ago
David Wilson e241081cae ansible: stop sharing target temp_dir in runner.
This cannot work with delegate_to, since delegate_to permits multiple
concurrent tasks to be executing on the same target.
6 years ago
David Wilson 020482e554 dosc: update changelog 6 years ago
David Wilson 4d3873c784 core: call chains v3: abstract it into a new CallChain class. 6 years ago
David Wilson 1bf9b2c1a3 docs: update changelog. 6 years ago
David Wilson aa9400a3b9 docs: fix changelog 6 years ago
David Wilson a3957d6aaf parent: add Context.forget_chain(). 6 years ago
David Wilson 1247d1fce6 docs: update changelog. 6 years ago
David Wilson 42b1b3d286 core: support mitogen_chain dispatcher option. 6 years ago
David Wilson 07845d2f59 docs: update changelog. 6 years ago
David Wilson 57fb00cf6b docs: update changelog. 6 years ago
David Wilson 1b6dea24ba docs: update changelog. 6 years ago
David Wilson 6c8a667691 docs: update Changelog. 6 years ago
David Wilson 7d62a53264 issue #337: ssh: disabling PTYs round 2: make it automatic. 6 years ago
David Wilson 5004207705 issue #337: ssh: support disabling PTY allocation
`.ssh(batch_mode=True)`
6 years ago
David Wilson 8ab11f415f ansible: better support for diagnosing hangs
* Always enable the faulthandler module in the top-level process if it
  is available.
* Make MITOGEN_DUMP_THREAD_STACKS interval configurable, to better
  handle larger runs.
* Add docs subsection on diagnosing hangs.

Conflicts:
	ansible_mitogen/process.py
6 years ago
David Wilson 897bc07ea0 docs: update changelog. 6 years ago
David Wilson 42f07466d2 setns: always assume a user identity, default to root.
Without this, an invocation like:

    sudo ansible-playbook foo.yml

Where foo.yml uses setns, could inherit the HOME environment variable
from the external non-root user, which broke /usr/bin/mysql_upgrade and
plenty more.
6 years ago
David Wilson c32b8d9728 docs: fix up doas documentation. 6 years ago
David Wilson 4134218ef4 docs: update changelog. 6 years ago
David Wilson d36a320e7f docs: update contributors. 6 years ago
David Wilson fcc7429111 docs: changelog: split out enhancements 6 years ago
David Wilson 52cd7fddc1 docs: update changelog. 6 years ago
David Wilson 7458dfae85 ansible: avoid roundtrip for small file transfers.
Calls to connect.put_file() where the file is sufficiently small enough
to fit in a single RPC proceed without waiting for an RPC response. If
the write fails the target context will log an exception, and any
subsequent step depending on the written file will fail.

I verified every built-in action plugin for file transfer calls, and
they all depend on the transferred file in the following step, so this
should be safe.

Reduces template/copy actions to 2-RTT, loop-20-templates.yml runtime
reduced from 30 seconds to 10 seconds over a 250ms link compared to
v0.2.2, and from 123 seconds compared to vanilla with pipelining
enabled.
6 years ago
David Wilson 84521b714f docs: update changelog. 6 years ago
David Wilson 76c4cf57bd docs: update changelog 6 years ago
David Wilson bce4f59138 issue #345: disable IdentitiesOnly by default. 6 years ago
David Wilson e84de489eb issue #336: update changelog.
Closes #336.
6 years ago
David Wilson 06cae11e52 Add freze alabaster version to try fix layout issue. 6 years ago
David Wilson 2e3d04bbb8 issue #342: forward _create_control_path() to SSH plugin.
network_cli connection type loads the "ssh" (mitogen_ssh) plugin and
expects a private method to exist.
6 years ago
David Wilson bc682ce5a0 docs: update supported versions. 6 years ago
David Wilson 77b68f9b9d issue #321: docs fixes 6 years ago
David Wilson ac9b84d237 issue #321: 2.4+ compatibility fixes, disable test on Vanilla. 6 years ago
David Wilson f24f02ba06 issue #321: take remote_tmp and system_tmpdirs into account.
Can't simply ignore these settings as some users may have weird noexec
filesystems.
6 years ago
David Wilson a2686b1a2c issue #321: simplify temp directory handling. 6 years ago
David Wilson 27b64a484b docs: document mitogen.core.CHUNK_SIZE. 6 years ago
David Wilson ec8d759d46 docs: document one more. 6 years ago
David Wilson 442d88e3d7 docs: many more fixes/merges. 6 years ago
David Wilson a561fb79e5 docs: merge more docs back into mitogen/core.py. 6 years ago
David Wilson 06e2e846c5 parent: don't generate illegal default remote names.
getpass.getuser() output may contain slashes, which must be avoided as
they break virtualenv when present in argv[0].

Closes #344.
6 years ago
David Wilson 30ca569716 docs: Update Changelog. 6 years ago
David Wilson a6995a5288 issue #338: refactor env handling into class and fix tests. 6 years ago
David Wilson ad365dad56 issue #340: one more test, update Changelog. 6 years ago
David Wilson 8e35103185 docs: Update Changelog. 6 years ago
David Wilson 9365f254d2 Update ChangeLog. 6 years ago
David Wilson 053c594d65 ansible: prevent logs spamming user console on exit.
Closes #331.
6 years ago
David Wilson 81c8156965 Support LXD; closes #339. 6 years ago
David Wilson 898c06f1b9 docs: host demo on Vimeo. 6 years ago
David Wilson 232aaf5c95 Merge branch 'dmw' 6 years ago
David Wilson f4a66194e4 ansible: Py3.x fixes for Ansible PR #41749 workaround. 6 years ago
David Wilson 3b10920157 docs: delete compared.rst because somehow it's in search results. 6 years ago
David Wilson 196f76ff22 Remove staticmethod from docs.
Can re-add this later for 3.x, but it's pretty impossible in general for
2.x.

Closes #313.
6 years ago
David Wilson 9b2417e62d docs: add funny testimonial 6 years ago
David Wilson 45c2b04456 docs: add missing changelog entry. 6 years ago
David Wilson d64729e041 Bump version for release. 6 years ago
David Wilson 6813443d09 docs: minor tweaks. 6 years ago
David Wilson ebf721411c docs: add known issue 6 years ago
David Wilson 21eda90a67 docs: reorder changelog 6 years ago
David Wilson 998762ab4f docs: update changelog. 6 years ago
David Wilson 5d67ce7746 service: service pool threads should respect _profile_hook. 6 years ago
David Wilson 3c55571fe2 docs: update changelog 6 years ago
David Wilson 22bab87821 issue #319: avoid TCSAFLUSH flag on WSL.
Closes #319.
6 years ago
David Wilson 17c5bd26e1 Update changelog. 6 years ago
David Wilson 3138982ef4 docs: link mitogen-announce mailing list. 6 years ago
David Wilson a29a883dfc issue #311: docs: comment out Ansible 2.6 for now. 6 years ago
David Wilson 662b2d0668 docs: whups, add missing contributors entry 6 years ago
David Wilson 50670430ec docs: add thanks to release notes 6 years ago
David Wilson c5ea7c45a1 comments/docs: correct mitogen.master.Context -> mitogen.parent.Context. 6 years ago
David Wilson 2c74eac19a issue #291: more Ansible-compatible script invocation
When running any kind of script, rewrite the hashbang like Ansible does,
but subsequently ignore it and explicitly use a fragment of shell from
the ansible_*_interpreter variable to call the interpreter, just like
Ansible does.

This fixes hashbangs containing '/usr/bin/env A=1 bash' on Linux, where
putting that into a hashbang line results in an infinite loop.
6 years ago
David Wilson 11c73baa9c docs: update Changelog. 6 years ago
David Wilson 6b79db2ecd docs: document local connection process model difference. 6 years ago
David Wilson b5e7e97c62 issue #291: update changelog. 6 years ago
David Wilson f977be2868 issue #291: permit supplying a full Python argv. 6 years ago
Daniel Quackenbush 3297552f65 Updated readme with build status, updated docs 6 years ago
David Wilson 15d68b3c32 issue #309: fix environment cleanup regression.
Closes #309.
6 years ago
David Wilson 09d077ebd7 docs: update release notes 6 years ago
David Wilson a5fae0d084 docs: add jgadling to Contributors 6 years ago
David Wilson 70d732d35b docs: add "no route" to known issues. 6 years ago
David Wilson 8609fa5f44 docs: link to PyPI release, not GitHub archive URL.
Now download counts are visible via PSF BigQuery.
6 years ago
David Wilson 184104ce92 issue #303: add doas to the docs 6 years ago
David Wilson f20274ea18 docs: fix lock icon. 6 years ago
David Wilson e609d1b1fb docs: glaring ancient typo. 6 years ago
David Wilson f2ee5ade7e Update Changelog. 6 years ago
David Wilson 9a453d4753 Bump version for release. 6 years ago
David Wilson a61212ffb7 docs: one more known issue. 6 years ago
David Wilson 63c7a3013d docs: ansible: add workaround for 'raw' support. 6 years ago
David Wilson 68cf84762f docs: mention synchronize/delegation issue. 6 years ago
David Wilson ab0107440a docs: typo 6 years ago
David Wilson 7cd89f0290 docs: add 'will it work' intuition. 6 years ago
David Wilson 2b507c7b15 docs: fix text. 6 years ago
David Wilson f5b9f5ff59 docs: add 'raw' to 0.2 in-scope 6 years ago
David Wilson 8c2231cefb docs: link changelog into Ansible install procedure 6 years ago
David Wilson 3ea1b74dad docs: promote contributors & changelog links at least for 2018 6 years ago
David Wilson 9e3d9752cb docs: add warning label to services.rst. 6 years ago
David Wilson 43b55bd8fd docs: remove another warning label. 6 years ago
David Wilson b7001f6e0b docs: remove prerelease caution. 6 years ago
David Wilson 894926cf61 docs: add initial release notes. 6 years ago
David Wilson d493a3d7ca Merge branch 'python3'
Hooray \o/

Remaining issues:

- Two unit test races that appear related to our broken zombie process
  reaping, doesn't impact Ansible.

Closes #16.
6 years ago
David Wilson 0461738ca6 docs: small reference fixes. 6 years ago
David Wilson a74903d59a docs: update compatibility notice on main page. 6 years ago
David Wilson 18c9cd2365 docs: update supported Python version list. 6 years ago
David Wilson e24eddb1ce core: move Latch docs back inline. 6 years ago
David Wilson 0422a8c263 parent: python_path setting depends on local or remote
For local, we want to default to the same Python version as the current
process. For remote, we want whatever is on offer.
6 years ago
David Wilson 0eb77b5f7c utils: always enable microsecond logging.
It's too useful, and the logs are fairly out of control already, may as
well just capture everything in the first pass.
6 years ago
David Wilson 410016ff47 Initial Python 3.x port work.
* ansible: use unicode_literals everywhere since it only needs to be
  compatible back to 2.6.
* compat/collections.py: delete this entirely and rip out the parts of
  functools that require it.
* Introduce serializable Kwargs dict subclass that translates keys to
  Unicode on instantiation.
* enable_debug_logging() must set _v/_vv globals.
* cStringIO does not exist in 3.x.
* Treat IOLogger and LogForwarder input as latin-1.
* Avoid ResourceWarnings in first stage by explicitly closing fps.
* Fix preamble_size.py syntax errors.
6 years ago
David Wilson 0aba88dd8b docs: promote contributors.rst 6 years ago
David Wilson e26f3d7907 docs: update & link in contributors page. 6 years ago
David Wilson 6632f682da docs: change install docs to point at stable branch. 6 years ago
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.
7 years ago
David Wilson 04b65020ac issue #278: ansible: support mitogen_ssh_debug_level variable. 7 years ago
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.
7 years ago
David Wilson 3994f1b30a ansible: implment async job time limit. 7 years ago
David Wilson d2accbce53 docs: remove more Ansible limitations 7 years ago
David Wilson 9e78c20eba core/parent: add Context.call_no_reply(). 7 years ago
David Wilson a3b747af1b issue #186: add PushFileService
This is like FileService but blocks until the file is pushed by a parent
context, with deduplicating behaviour at each level in the hierarchy. It
does not stream large files, so it is only suitable for small files like
Python modules.

Additionally add SerializedInvoker for use with PushFileService, which
ensures all method calls to a single service occur in sequence.
7 years ago
David Wilson daa9cfd0a8 ansible: MITOGEN_DUMP_THREAD_STACKS for mux process too 7 years ago
David Wilson 7162c13e05 docs: add more notes for getting_started.rst 7 years ago
David Wilson aba6cb302a docs: add example sudoers rule
hat tip @seuf :)
7 years ago
David Wilson 3b0addcfb0 service: v2. Closes #213 7 years ago
David Wilson d2714752ee docs: tidy ups 7 years ago
David Wilson 61365236ad docs/select: fix up more references, fix headings. 7 years ago
David Wilson 4bf3d01104 select: add missing get(block=..) parameter. 7 years ago
David Wilson b0ce6eecd7 fork: support on_start= argument. 7 years ago
David Wilson 863a95e860 docs: update contributors 7 years ago
David Wilson 70376d861a issue #217: docs: remove limitation 7 years ago
David Wilson 4cd9e09130 issue #249: docs: remove limitation 7 years ago
David Wilson bc7be1879d issue #249: initial poller implementation (BSD only) 7 years ago
David Wilson b7ab473343 issue #186: split handle list up so it makes sense 7 years ago
David Wilson d1a22cb5d4 issue #186: parent: implement FORWARD_MODULE.
To support detach, we must be able to preload the target with every
module it will need prior to detachment. This implements the
intermediary part of the process (i.e. the Ansible fork parent) --
receiving LOAD_MODULE/FORWARD_MODULE pairs and ensuring they reach the
child.
7 years ago
David Wilson 8a089e975d docs: Document Router.unidirectional. 7 years ago
David Wilson 48535cc661 docs: more accurate bullet. 7 years ago
David Wilson d148e3db4e docs: move installation section above demo 7 years ago
David Wilson 9b761a2baf docs: initial contributors page 7 years ago
David Wilson cecef992b0 issue #218: core: add Secret and Blob types. 7 years ago
David Wilson 43e9e51ed6 docs: link signals into internals.rst. 7 years ago
David Wilson 3058efc80f docs: more updates.
- accurate description of Ansible timeouts
- rough detach() sketch
7 years ago
David Wilson 7f1060f54a issue #186: initial version of subtree detachment. 7 years ago
David Wilson 8fc1eac6ae utils: combine MITOGEN_LOG_LEVEL and MITOGEN_LOG_IO.
Saves lots of readline fiddling.
7 years ago
David Wilson f5238fe791 docs: update copyright 7 years ago
David Wilson d3fe24a4f6 docs: update connection delegation example 7 years ago
David Wilson 2ee727f5c0 docs: typos and clarifications 7 years ago
David Wilson 4d1c6d2101 issue #127: ssh: reasonable solution to host key checking.
Ideally it would be possible to specify a callback function, but this is
not possible for proxied connections. So simply provide the 3 most
useful modes, defaulting to the most secure.

Closes #127. Closes #134.
7 years ago
David Wilson 78c401ba4d ansible: support su become method. 7 years ago
David Wilson 3322eaef45 Basic "su" method. 7 years ago
David Wilson 187e3a3fc1 ansible: support 2.3 too. 7 years ago
David Wilson f5d22a3ca1 core: support deleting handlers, make Receiver.close() unregister 7 years ago
David Wilson 58eb9828b0 docs: remove limitation. 7 years ago
David Wilson ff7fb00569 parent: return latch to wait() caller to allow graceful timeout 7 years ago
David Wilson b0309b539c ansible: disable interpreter recycling for connections.
Must explicitly specify enable_lru=True in ContextService.get() to
trigger recycling.
7 years ago