You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mitogen/ansible_mitogen
David Wilson 3fab8a3af5 ansible: connection delegation v1
This implements the first edition of Connection Delegation, where
delegating connection establishment is initially single-threaded.

ansible_mitogen/strategy.py:
ansible_mitogen/plugins/connection/*:

  Begin splitting connection.Connection into subclasses, exposing them
  directly as "mitogen_ssh", "mitogen_local", etc. connection types.

  This is far from removing strategy.py, but it's a tiny start.

ansible_mitogen/connection.py:

  * config_from_play_context() and config_from_host_vars() build up a
    huge dictionary containing either more or less PlayContext contents,
    or our best attempt at reconstructing a host's connection config
    from its hostvars, where that config is not the current
    WorkerProcess target.

    They both produce the same format with the same keys, allowing
    remaining code to have a single input format.

    These dicts contain fields named after how Ansible refers to them,
    e.g. "sudo_exe".

  * _config_from_via() parses a basic connection specification like
    "username@inventory_name" into one of the aforementioned dicts.

  * _stack_from_config() produces a list of dicts describing the order
    in which (Mitogen) connections should be established, such that each
    element is proxied via= the previous element. The dicts produced by
    this function use Mitogen keyword arguments, the former di.

    These dicts contain fields named after how Mitogen refers to them,
    e.g. "sudo_path".

  * Pass the stack to ContextService, which is responsible for actual
    setup of the full chain.

ansible_mitogen/services.py:

  Teach get() to walk the supplied stack, establishing each connection
  in turn, creating refounts for it before continuing.

  TODO: refcounting is broken in a variety of cases.
7 years ago
..
plugins ansible: connection delegation v1 7 years ago
__init__.py ansible: restructure to avoid intermediate imports 7 years ago
connection.py ansible: connection delegation v1 7 years ago
logging.py ansible: always display Mitogen errors and warnings. 7 years ago
mixins.py ansible: rename helpers.py to target.py, to reflect its purpose 7 years ago
planner.py ansible: disable script interpreter processing for new-style 7 years ago
process.py ansible: remove JobResultService, more compatible async jobs; closes #191. 7 years ago
runner.py Ensure mod.__file__ is set; closes #210. 7 years ago
services.py ansible: connection delegation v1 7 years ago
strategy.py ansible: connection delegation v1 7 years ago
target.py ansible: implement streaming in Connection.put_file(). 7 years ago