ansible/lib/ansible
Abhijit Menon-Sen ac98fe9e89 Implement ssh connection handling as a state machine
The event loop (even after it was brought into one place in _run in the
previous commit) was hard to follow. The states and transitions weren't
clear or documented, and the privilege escalation code was non-blocking
while the rest was blocking.

Now we have a state machine with four states: awaiting_prompt,
awaiting_escalation, ready_to_send (initial data), and awaiting_exit.
The actions in each state and the transitions between then are clearly
documented.

The check_incorrect_password() method no longer checks for empty strings
(since they will always match), and check_become_success() uses equality
rather than a substring match to avoid thinking an echoed command is an
indication of successful escalation. Also adds a check_missing_password
connection method to detect the error from sudo -n/doas -n.
2015-09-23 01:55:00 -04:00
..
cli Fix option descriptions in ansible-doc output 2015-09-22 10:00:33 +03:00
compat Making the switch to v2 2015-05-03 21:47:26 -05:00
config Making the switch to v2 2015-05-03 21:47:26 -05:00
errors Making the switch to v2 2015-05-03 21:47:26 -05:00
executor Close module file once we're done reading from it 2015-09-21 01:46:29 -07:00
galaxy Fix typo in ansible module_utils import from galaxy code 2015-09-17 14:25:48 -04:00
inventory Use dict.get() 2015-09-20 22:54:02 -03:00
module_utils fixed case in which boto3 is present but module is not using it yet 2015-09-21 15:16:07 -04:00
modules Update submodule refs. 2015-09-22 14:01:53 -07:00
new_inventory Making the switch to v2 2015-05-03 21:47:26 -05:00
parsing Python 3: there's no basestring 2015-09-22 08:42:33 +03:00
playbook Implement ssh connection handling as a state machine 2015-09-23 01:55:00 -04:00
plugins Implement ssh connection handling as a state machine 2015-09-23 01:55:00 -04:00
template Fix safe_eval() of set literals 2015-09-11 09:41:05 +03:00
utils Remove custom json encoder cleaner and strip proxy var stuff out before encoding 2015-09-17 16:04:47 -04:00
vars Fix handling of conditional vars_files which contain variables 2015-09-23 01:26:24 -04:00
__init__.py Re-adding submodules after moving things around 2015-05-03 22:30:51 -05:00
constants.py Implement ssh connection handling as a state machine 2015-09-23 01:55:00 -04:00
test-requirements.txt Making the switch to v2 2015-05-03 21:47:26 -05:00