Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

sudo fails intermittently #726

Open
yhal003 opened this issue Jun 24, 2020 · 15 comments
Open

sudo fails intermittently #726

yhal003 opened this issue Jun 24, 2020 · 15 comments

Comments

@yhal003
Copy link

yhal003 commented Jun 24, 2020

  • Which version of Ansible are you running? ansible 2.9.9

  • Is your version of Ansible patched in any way? no

  • Are you running with any custom modules, or module_utils loaded? no

  • Have you tried the latest master version from Git? yes

ansible playbook, when run with mitogen, fails with incorrect sudo password about half the time. There is no apparent pattern in failures, but if I use --become-ask-pass instead of passing the password in ansible_become_pass it always works. ansible without mitogen always works.

fatal: hostname]: FAILED! => {"msg": "error occurred on host hostname: sudo password is incorrect"}

When it fails, I see the following in the logs:
[mux 14109] 04:42:19.919785 D mitogen.parent.[ssh.hostname]: command line for Connection(None): sudo -u root -H -- /usr/bin/python -c "import codecs,os,sys;_=codecs.decode;exec(_(_(\"eNqFkc1OwzAQhO95itxsqyZ1UhA0kiVQD4gDQooQOUCF8uO0htS2nKSmfXq2KaJJOXDztzv2jDwJTbluAiONwMSz1A1IVj5Ape0nJrF3OJediTCjIWPkxAkdkoVteOS i1o3AyRDsENIhOAAwbHZgX2ctuG58zn1UZtZJhfxMlf1SfImia7O8Fv162jV2mks1Nbt2rRWCnOeyCe8nW2EbqdVrPFv2tkJtpQVGd8n9C0NLPr521ADWeLygY5wgvJGtXgkVf3QQQth1l19oI+zt2hTuNGOzAAZVoEQjA21 XgdrH0fwyuiGIeODlrGwFDil6fHh+Yoy9KQQZC11CFcRb8Hd8KKOElxVUgGyOSGBFVuLwml3NCUV7aeClyvCTLqXI5ejQT2V+DBb9+fjnZ2r3n/pvynCc8rfNiHwDNPLAOw==\".encode(),\"base64\"),\"zip\"))" [mux 14109] 04:42:19.924882 D mitogen.parent.[ssh.hostname]: child for Connection(None) started: pid:29457 stdin:18 stdout:18 stderr:16 [mux 14109] 04:42:20.280717 D mitogen.parent.[ssh.hostname]: sudo.root: (partial): [sudo] password for username: [mux 14109] 04:42:20.280924 D mitogen.sudo.[ssh.hostname]: sudo.root: (password prompt): [sudo] password for username: [mux 14109] 04:42:20.281058 D mitogen.parent.[ssh.hostname]: sudo.root: (partial): [sudo] password for username: * [mux 14109] 04:42:20.281206 D mitogen.sudo.[ssh.hostname]: sudo.root: (password prompt): [sudo] password for username: * [mux 14109] 04:42:20.281328 D mitogen.parent.[ssh.hostname]: failing connection sudo.root due to PasswordError(u'sudo password is incorrect',) [mux 14109] 04:42:20.281445 D mitogen.[ssh.hostname]: BootstrapProtocol(sudo.root): disconnecting [mux 14109] 04:42:20.281581 D mitogen.parent.[ssh.hostname]: failing connection sudo.root due to EofError(u'EOF on stream; last 100 lines rece ived:\n',) [mux 14109] 04:42:20.281728 D mitogen.parent.[ssh.hostname]: PopenProcess sudo.root pid 29457 still running after IO disconnect, recheck in 0. 050s [mux 14109] 04:42:20.281839 D mitogen.[ssh.hostname]: SetupProtocol(sudo.root): disconnecting [mux 14109] 04:42:20.281968 D mitogen.[ssh.hostname]: SetupProtocol(sudo.root): disconnecting [mux 14109] 04:42:20.282231 D mitogen.[ssh.hostname]: Dispatcher: Message(1004, 0, 0, 101, 1003, '\x80\x02(NX\x0e\x00\x00\x00mitogen.parentq\x 00NX\x0e\x00\x00\x00_proxy_connectq\x01)cm'..465) -> {u'msg': 'error occurred on host hostname: sudo password is incorrect', u'id': None, u'nam e': None}

When it succeeds I see:
[mux 15321] 04:48:10.238979 D mitogen.parent.[ssh.hostname]: command line for Connection(None): sudo -u root -H -- /usr/bin/python -c "import codecs,os,sys;_=codecs.decode;exec(_(_(\"eNqFkc1OwzAQhO95itzWVk3qtKKISJZAPSAOCClC9FAqlB+nNaS25SQN7dOzTRFNyoGbv92xZ+SJ2UKYKrDKSkI9x9oeqcJHKIz7JDTyjue8sRPCWcg5PXPM+uRwG544K00lSdwH14dFH1oENKz2aF8mNbpufSF8yBPXKg1+ovNuKb9k1tRJWspuPW4qN06VHtt9vTEaMOelbCS6yU66Shm9jKarzlbqnXLIcB8/vHJYieG1kwaxJMMFG+IIyFbVZi119NFgCOk2TXplrHR3G5u15xmfBjgoAi0rFRi3DvQhmvLZZEaBeujVOlVLEjJ4enx55py/acCMmcmxCurNxTs5lpHjyxorAJcCDZxMchLe8OtbyuCgLL5UWHHWLRi0KRz7KeyPwbw7n/78Qt3+p/6bMhym/G1zQr8BLifAMw==\".encode(),\"base64\"),\"zip\"))" [mux 15321] 04:48:10.243668 D mitogen.parent.[ssh.hostname]: child for Connection(None) started: pid:30655 stdin:18 stdout:18 stderr:16 [mux 15321] 04:48:10.506317 D mitogen.parent.[ssh.hostname]: sudo.root: (partial): [sudo] password for username: [mux 15321] 04:48:10.506610 D mitogen.sudo.[ssh.hostname]: sudo.root: (password prompt): [sudo] password for username: [mux 15321] 04:48:10.506774 D mitogen.parent.[ssh.hostname]: sudo.root: (unrecognized): [sudo] password for username: *****************

@s1113950
Copy link
Collaborator

Do you have a minimal playbook that I can use to reproduce the error? Also, which Python and OS are you running for both host and target node?

@yhal003
Copy link
Author

yhal003 commented Jun 25, 2020

I can reproduce it even by running setup module via ansible command:
ansible --become -i test-inventory.yml -u user -e "ansible_ssh_pass=*** ansible_become_pass=***" -m setup group
host: python 3.6.8, OS CentOS 7.4
target: python 2.7.5 but I tried setting interpreter to 3.6.8, didn't help. OS CentOS 7.4

@s1113950
Copy link
Collaborator

s1113950 commented Jul 2, 2020

Does it work with Ansible 2.9.6? Also, does it work with vanilla Ansible 2.9.6?

@Aethylred
Copy link

Aethylred commented Jul 17, 2020

I work in the same environment as @yhal003 but with different playbooks and I see the same with Ansible 2.9.9

ansible-playbook 2.9.9
  config file = /home/hicksaw/hpcf-ansible/ansible-k8s/ansible.cfg
  configured module search path = ['/home/hicksaw/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.6/site-packages/ansible
  executable location = /usr/local/bin/ansible-playbook
  python version = 3.6.8 (default, Aug  7 2019, 17:28:10) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]

I enable the mitogen strategies in my ansible.cfg, but specify a non-mitogen default (which works, but is slow):

[defaults]
vault_identity_list = [email protected]
host_key_checking = False
force_valid_group_names = ignore
# Enable mitogen strategies
strategy_plugins = /usr/local/lib/python3.6/site-packages/ansible_mitogen/plugins/strategy
strategy = linear
[connection]
pipelining = True

And specify strategy and python interpreter in my plays:

- name: Common tasks
  strategy: mitogen_linear
  hosts: k8s-hosts
  vars:
    ansible_user: "{{ vault_ansible_user }}"
    ansible_ssh_pass: "{{ vault_ansible_password }}"
    ansible_become_pass: "{{ vault_become_password }}"
    ansible_become_method: sudo
    # ansible_python_interpreter: "/bin/python3"
  tasks:
    <snip>

So when it tries to run on the client we see (this task is just comparing /etc/resolv.conf to a template):

Friday 17 July 2020  03:26:16 +0000 (0:00:00.169)       0:00:35.102 ***********
[task 21787] 03:26:17.003386 D ansible_mitogen.affinity: CPU mask for WorkerProcess: 0x000002
[task 21788] 03:26:17.062595 D ansible_mitogen.affinity: CPU mask for WorkerProcess: 0x000002
[task 21787] 03:26:17.192114 D ansible_mitogen.mixins: _make_tmp_path(remote_user=None)
[task 21787] 03:26:17.214627 D ansible_mitogen.process: will use multiplexer 0 (/tmp/mitogen_unix_xc2fg42w.sock) to connect to "host2.example.org"
[task 21787] 03:26:17.214766 D mitogen.unix: client: connecting to /tmp/mitogen_unix_xc2fg42w.sock
[mux  21649] 03:26:17.215444 D mitogen.unix: listener: accepted connection from PID 21787: unix_client.21787
[task 21787] 03:26:17.225438 D mitogen.unix: client: local ID is 1, remote is 0
[mux  21649] 03:26:17.229505 D mitogen.parent: creating connection to context 2 using mitogen.ssh
[task 21788] 03:26:17.233632 D ansible_mitogen.mixins: _make_tmp_path(remote_user=None)
[task 21788] 03:26:17.234922 D ansible_mitogen.process: will use multiplexer 0 (/tmp/mitogen_unix_xc2fg42w.sock) to connect to "host1.example.org"
[task 21788] 03:26:17.235062 D mitogen.unix: client: connecting to /tmp/mitogen_unix_xc2fg42w.sock
[mux  21649] 03:26:17.393239 D mitogen.parent: command line for Connection(None): ssh -o "LogLevel ERROR" -l ansible -o "Compression yes" -o "ServerAliveInterval 30" -o "ServerAliveCountMax 10" -o "StrictHostKeyChecking no" -o "UserKnownHostsFile /dev/null" -o "GlobalKnownHostsFile /dev/null" -C -o ControlMaster=auto -o ControlPersist=60s host2.example.org /usr/bin/python -c "'import codecs,os,sys;_=codecs.decode;exec(_(_(\"eNqFkc1qwzAQhM/xU/gmiQhHdkt/DIKWHEoPpWBKc0hDsS05EXEkITtRk6fvximNnR5624+d3Rl2MzrjpomsshKTwFHfI1WFAJVxa0zSYAS12NoEMxozRs6c0T456MYnLmvTSJz1wfVh1gcPAIbNHuzrvAXXTch5iETuvNIozLXomvJLlts2L2rZtSfbxk0KpSd2366MRpBzdCEb825wJ12jjJ6nV4vOVuqdcsDoMXt6Z2jBh2MnDWCNhw06xDHCG9WapdTpSpXrJvcPK1v6XGyUZkkEdRVp2ajIuGWkD2kS31zfE0QCWO+daiWOKXp5fntljH1oBLFKI+D6JJjyT3y8vzBWarg6cgUikZO5wPEtS+4IRQdlYVNl+Vk3o8gX6PiSyv4YTLv6dOYLtf9P/TdlPEz5+8CEfAMXY7mL\".encode(),\"base64\"),\"zip\"))'"
[mux  21649] 03:26:17.404649 D mitogen.parent: child for Connection(None) started: pid:21793 stdin:79 stdout:79 stderr:77
[mux  21649] 03:26:17.405537 D mitogen.unix: listener: accepted connection from PID 21788: unix_client.21788
[task 21788] 03:26:17.410475 D mitogen.unix: client: local ID is 3, remote is 0
[mux  21649] 03:26:17.412216 D mitogen.parent: creating connection to context 4 using mitogen.ssh
[mux  21649] 03:26:17.414232 D mitogen.parent: command line for Connection(None): ssh -o "LogLevel ERROR" -l ansible -o "Compression yes" -o "ServerAliveInterval 30" -o "ServerAliveCountMax 10" -o "StrictHostKeyChecking no" -o "UserKnownHostsFile /dev/null" -o "GlobalKnownHostsFile /dev/null" -C -o ControlMaster=auto -o ControlPersist=60s host1.example.org /usr/bin/python -c "'import codecs,os,sys;_=codecs.decode;exec(_(_(\"eNqFkc1qwzAQhM/xU/gmiQhHdkt/DIKWHEoPpWBKc0hDsS05EXEkITtRk6fvximNnR5624+d3Rl2MzrjpomsshKTwFHfI1WFAJVxa0zSYAS12NoEMxozRs6c0T456MYnLmvTSJz1wfVh1gcPAIbNHuzrvAXXTch5iETuvNIozLXomvJLlts2L2rZtSfbxk0KpSd2366MRpBzdCEb825wJ12jjJ6nV4vOVuqdcsDoMXt6Z2jBh2MnDWCNhw06xDHCG9WapdTpSpXrJvcPK1v6XGyUZkkEdRVp2ajIuGWkD2kS31zfE0QCWO+daiWOKXp5fntljH1oBLFKI+D6JJjyT3y8vzBWarg6cgUikZO5wPEtS+4IRQdlYVNl+Vk3o8gX6PiSyv4YTLv6dOYLtf9P/TdlPEz5+8CEfAMXY7mL\".encode(),\"base64\"),\"zip\"))'"
[mux  21649] 03:26:17.421641 D mitogen.parent: child for Connection(None) started: pid:21795 stdin:82 stdout:82 stderr:80
[mux  21649] 03:26:17.981171 D mitogen.parent: ssh.host2.example.org: (partial): Login Password:
[mux  21649] 03:26:17.981612 D mitogen.ssh: ssh.host2.example.org: (password prompt): b'Login Password:'
[mux  21649] 03:26:17.982074 D mitogen.parent: ssh.host2.example.org: (unrecognized): Login Password:
[mux  21649] 03:26:18.128679 D mitogen.parent: ssh.host1.example.org: (partial): Login Password:
[mux  21649] 03:26:18.128840 D mitogen.ssh: ssh.host1.example.org: (password prompt): b'Login Password:'
[mux  21649] 03:26:18.129266 D mitogen.parent: ssh.host1.example.org: (unrecognized): Login Password:
[mux  21649] 03:26:19.473549 D mitogen.parent: BootstrapProtocol(ssh.host1.example.org): first stage started succcessfully
[mux  21649] 03:26:19.478005 D mitogen.parent: BootstrapProtocol(ssh.host1.example.org): first stage received mitogen.core source
[mux  21649] 03:26:19.522594 D mitogen.parent: BootstrapProtocol(ssh.host1.example.org): new child booted successfully
[mux  21649] 03:26:19.523130 D mitogen.[ssh.host1.example.org]: Python version is 2.7.5 (default, Aug  4 2017, 00:39:18)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)]
[mux  21649] 03:26:19.523325 D mitogen.[ssh.host1.example.org]: Parent is context 0 (master); my ID is 4
[mux  21649] 03:26:19.523508 D mitogen.[ssh.host1.example.org]: pid:28586 ppid:28585 uid:66400050/66400050, gid:66400050/66400050 host:'host1.example.org'
[mux  21649] 03:26:19.523668 D mitogen.[ssh.host1.example.org]: Recovered sys.executable: '/usr/bin/python'
[mux  21649] 03:26:19.524910 D mitogen.parent: starting function call to ssh.host1.example.org: ansible_mitogen.target.init_child(log_level=10, candidate_temp_dirs=['~/.ansible/tmp', '/var/tmp', '/tmp'])
[mux  21649] 03:26:19.526833 D mitogen.responder: ansible is a package at /usr/local/lib/python3.6/site-packages/ansible/__init__.py with submodules ['cli', 'compat', 'config', 'constants', 'context', 'errors', 'executor', 'galaxy', 'inventory', 'module_utils', 'modules', 'parsing', 'playbook', 'plugins', 'release', 'template', 'utils', 'vars']
[mux  21649] 03:26:19.527359 D mitogen.responder: sending ansible (0.49 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.529838 D mitogen.responder: ansible.module_utils is a package at /usr/local/lib/python3.6/site-packages/ansible/module_utils/__init__.py with submodules ['_text', 'acme', 'alicloud_ecs', 'ansible_release', 'ansible_tower', 'api', 'aws', 'azure_rm_common', 'azure_rm_common_ext', 'azure_rm_common_rest', 'basic', 'cloud', 'cloudscale', 'cloudstack', 'common', 'compat', 'connection', 'crypto', 'csharp', 'database', 'digital_ocean', 'dimensiondata', 'distro', 'docker', 'ec2', 'ecs', 'exoscale', 'f5_utils', 'facts', 'firewalld', 'gcdns', 'gce', 'gcp', 'gcp_utils', 'gitlab', 'hcloud', 'heroku', 'hetzner', 'hwc_utils', 'ibm_sa_utils', 'identity', 'infinibox', 'influxdb', 'ipa', 'ismount', 'json_utils', 'k8s', 'known_hosts', 'kubevirt', 'ldap', 'linode', 'lxd', 'manageiq', 'memset', 'mysql', 'net_tools', 'netapp', 'netapp_elementsw_module', 'netapp_module', 'network', 'oneandone', 'oneview', 'online', 'opennebula', 'openstack', 'oracle', 'ovirt', 'parsing', 'podman', 'postgres', 'powershell', 'pure', 'pycompat24', 'rabbitmq', 'rax', 'redfish_utils', 'redhat', 'remote_management', 'scaleway', 'service', 'service_now', 'six', 'source_control', 'splitter', 'storage', 'univention_umc', 'urls', 'utm_utils', 'vca', 'vexata', 'vmware', 'vmware_rest_client', 'vmware_spbm', 'vultr', 'xenserver', 'yumdnf']
[mux  21649] 03:26:19.530233 D mitogen.responder: sending ansible.module_utils (1.62 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.584953 D mitogen: PkgutilMethod(): loading 'ansible.module_utils.distro' using <_frozen_importlib_external.SourceFileLoader object at 0x7f520f8d6e80> failed: loader for ansible.module_utils.distro._distro cannot handle ansible.module_utils.distro
[mux  21649] 03:26:19.585107 D mitogen: _get_module_via_sys_modules('ansible.module_utils.distro') -> <module 'ansible.module_utils.distro._distro' from '/usr/local/lib/python3.6/site-packages/ansible/module_utils/distro/_distro.py'>
[mux  21649] 03:26:19.585243 D mitogen: sys.modules['ansible.module_utils.distro'].__name__ is incorrect, assuming this is a hacky module alias and ignoring it. Got 'ansible.module_utils.distro._distro', module object: <module 'ansible.module_utils.distro._distro' from '/usr/local/lib/python3.6/site-packages/ansible/module_utils/distro/_distro.py'>
[mux  21649] 03:26:19.585577 D mitogen: ParentEnumerationMethod(): 'ansible.module_utils.distro' is PKG_DIRECTORY: '/usr/local/lib/python3.6/site-packages/ansible/module_utils/distro/__init__.py'
[mux  21649] 03:26:19.683223 D mitogen: _get_module_via_sys_modules('markupsafe._speedups') -> <module 'markupsafe._speedups' from '/usr/local/lib64/python3.6/site-packages/markupsafe/_speedups.cpython-36m-x86_64-linux-gnu.so'>
[mux  21649] 03:26:19.683691 D mitogen: get_module_source('markupsafe._speedups'): cannot find source
[mux  21649] 03:26:19.684564 D mitogen.responder: ansible.config is a package at /usr/local/lib/python3.6/site-packages/ansible/config/__init__.py with submodules ['data', 'manager']
[mux  21649] 03:26:19.684766 D mitogen.responder: sending ansible.config (0.22 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.685086 D mitogen.responder: sending ansible.config.data (0.90 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.688326 D mitogen.responder: sending ansible.config.manager (10.43 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.689299 D mitogen.responder: sending ansible.constants (5.00 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.689722 D mitogen.responder: sending ansible.context (2.00 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.690560 D mitogen.responder: ansible.errors is a package at /usr/local/lib/python3.6/site-packages/ansible/errors/__init__.py with submodules ['yaml_strings']
[mux  21649] 03:26:19.691381 D mitogen.responder: sending ansible.errors (5.77 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.691871 D mitogen.responder: sending ansible.errors.yaml_strings (2.83 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.692976 D mitogen.responder: sending ansible.module_utils._text (5.50 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.693473 D mitogen.responder: ansible.module_utils.common is a package at /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/__init__.py with submodules ['_collections_compat', '_json_compat', '_utils', 'collections', 'dict_transformations', 'file', 'json', 'network', 'parameters', 'process', 'removed', 'sys_info', 'text', 'validation']
[mux  21649] 03:26:19.693676 D mitogen.responder: sending ansible.module_utils.common (0.47 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.693957 D mitogen.responder: sending ansible.module_utils.common._collections_compat (1.03 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.694206 D mitogen.responder: sending ansible.module_utils.common._json_compat (0.81 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.694525 D mitogen.responder: sending ansible.module_utils.common._utils (1.32 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.694949 D mitogen.responder: sending ansible.module_utils.common.collections (2.27 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.695567 D mitogen.responder: sending ansible.module_utils.common.file (3.73 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.696409 D mitogen.responder: sending ansible.module_utils.common.parameters (4.39 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.696752 D mitogen.responder: sending ansible.module_utils.common.process (1.41 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.697336 D mitogen.responder: sending ansible.module_utils.common.sys_info (3.10 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.697608 D mitogen.responder: ansible.module_utils.common.text is a package at /usr/local/lib/python3.6/site-packages/ansible/module_utils/common/text/__init__.py with submodules ['converters', 'formatters']
[mux  21649] 03:26:19.697788 D mitogen.responder: sending ansible.module_utils.common.text (0.33 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.698161 D mitogen.responder: sending ansible.module_utils.common.text.converters (1.77 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.698617 D mitogen.responder: sending ansible.module_utils.common.text.formatters (2.61 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.700648 D mitogen.responder: sending ansible.module_utils.common.validation (6.63 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.700983 D mitogen.responder: ansible.module_utils.distro is a package at /usr/local/lib/python3.6/site-packages/ansible/module_utils/distro/__init__.py with submodules ['_distro']
[mux  21649] 03:26:19.701251 D mitogen.responder: sending ansible.module_utils.distro (1.58 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.707437 D mitogen.responder: sending ansible.module_utils.distro._distro (15.87 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.707711 D mitogen.responder: ansible.module_utils.parsing is a package at /usr/local/lib/python3.6/site-packages/ansible/module_utils/parsing/__init__.py with submodules ['convert_bool']
[mux  21649] 03:26:19.707887 D mitogen.responder: sending ansible.module_utils.parsing (0.27 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.708166 D mitogen.responder: sending ansible.module_utils.parsing.convert_bool (1.09 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.708662 D mitogen.responder: sending ansible.module_utils.pycompat24 (2.93 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.709720 D mitogen.responder: ansible.module_utils.six is a package at /usr/local/lib/python3.6/site-packages/ansible/module_utils/six/__init__.py with submodules []
[mux  21649] 03:26:19.712460 D mitogen.responder: sending ansible.module_utils.six (12.14 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.712933 D mitogen.responder: ansible.parsing is a package at /usr/local/lib/python3.6/site-packages/ansible/parsing/__init__.py with submodules ['ajson', 'dataloader', 'metadata', 'mod_args', 'plugin_docs', 'quoting', 'splitter', 'utils', 'vault', 'yaml']
[mux  21649] 03:26:19.713153 D mitogen.responder: sending ansible.parsing (1.07 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.713460 D mitogen.responder: sending ansible.parsing.quoting (1.17 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.713756 D mitogen.responder: ansible.parsing.yaml is a package at /usr/local/lib/python3.6/site-packages/ansible/parsing/yaml/__init__.py with submodules ['constructor', 'dumper', 'loader', 'objects']
[mux  21649] 03:26:19.713973 D mitogen.responder: sending ansible.parsing.yaml (1.02 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.714556 D mitogen.responder: sending ansible.parsing.yaml.objects (2.76 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.715188 D mitogen.responder: ansible.utils is a package at /usr/local/lib/python3.6/site-packages/ansible/utils/__init__.py with submodules ['cmd_functions', 'collection_loader', 'color', 'context_objects', 'display', 'encrypt', 'hashing', 'helpers', 'jsonrpc', 'listify', 'multiprocessing', 'path', 'plugin_docs', 'py3compat', 'sentinel', 'shlex', 'singleton', 'ssh_functions', 'unicode', 'unsafe_proxy', 'vars']
[mux  21649] 03:26:19.715470 D mitogen.responder: sending ansible.utils (1.25 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.716387 D mitogen.responder: sending ansible.utils.color (3.26 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.716866 D mitogen.responder: sending ansible.utils.context_objects (2.21 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.718710 D mitogen.responder: sending ansible.utils.display (7.65 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.719350 D mitogen.responder: sending ansible.utils.path (3.72 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.719770 D mitogen.responder: sending ansible.utils.py3compat (1.78 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.720059 D mitogen.responder: sending ansible.utils.singleton (0.91 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.720599 D mitogen.responder: sending ansible.utils.unsafe_proxy (3.48 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.720917 D mitogen.responder: sending ansible.module_utils.basic (40.70 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.722030 D mitogen.responder: sending ansible.module_utils.json_utils (2.50 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.722550 D mitogen.responder: sending ansible.release (0.99 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.723089 D mitogen.responder: ansible_mitogen is a package at /usr/local/lib/python3.6/site-packages/ansible_mitogen/__init__.py with submodules ['affinity', 'compat', 'connection', 'loaders', 'logging', 'mixins', 'module_finder', 'parsing', 'planner', 'plugins', 'process', 'runner', 'services', 'strategy', 'target', 'transport_config']
[mux  21649] 03:26:19.723283 D mitogen.responder: sending ansible_mitogen (0.42 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.835940 D mitogen.responder: sending ansible_mitogen.target (7.88 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.845896 D mitogen.responder: sending mitogen.fork (2.62 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.956700 D mitogen.responder: sending mitogen.parent (18.79 KiB) to ssh.host1.example.org
[mux  21649] 03:26:19.965827 D mitogen.responder: sending mitogen.select (1.62 KiB) to ssh.host1.example.org
[mux  21649] 03:26:20.016973 D mitogen.responder: sending mitogen.service (8.64 KiB) to ssh.host1.example.org
[mux  21649] 03:26:20.017191 D mitogen.responder: sending ansible_mitogen.runner (8.69 KiB) to ssh.host1.example.org
[mux  21649] 03:26:20.017592 D mitogen.importer.[ssh.host1.example.org]: received ansible
[mux  21649] 03:26:20.017723 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils
[mux  21649] 03:26:20.017830 D mitogen.importer.[ssh.host1.example.org]: received ansible.config
[mux  21649] 03:26:20.017928 D mitogen.importer.[ssh.host1.example.org]: received ansible.config.data
[mux  21649] 03:26:20.018023 D mitogen.importer.[ssh.host1.example.org]: received ansible.config.manager
[mux  21649] 03:26:20.018115 D mitogen.importer.[ssh.host1.example.org]: received ansible.constants
[mux  21649] 03:26:20.018205 D mitogen.importer.[ssh.host1.example.org]: received ansible.context
[mux  21649] 03:26:20.018295 D mitogen.importer.[ssh.host1.example.org]: received ansible.errors
[mux  21649] 03:26:20.018383 D mitogen.importer.[ssh.host1.example.org]: received ansible.errors.yaml_strings
[mux  21649] 03:26:20.018489 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils._text
[mux  21649] 03:26:20.018579 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils.common
[mux  21649] 03:26:20.018667 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils.common._collections_compat
[mux  21649] 03:26:20.018755 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils.common._json_compat
[mux  21649] 03:26:20.018855 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils.common._utils
[mux  21649] 03:26:20.018945 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils.common.collections
[mux  21649] 03:26:20.019033 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils.common.file
[mux  21649] 03:26:20.019121 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils.common.parameters
[mux  21649] 03:26:20.019210 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils.common.process
[mux  21649] 03:26:20.019297 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils.common.sys_info
[mux  21649] 03:26:20.019385 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils.common.text
[mux  21649] 03:26:20.019489 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils.common.text.converters
[mux  21649] 03:26:20.019578 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils.common.text.formatters
[mux  21649] 03:26:20.019666 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils.common.validation
[mux  21649] 03:26:20.019755 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils.distro
[mux  21649] 03:26:20.019842 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils.distro._distro
[mux  21649] 03:26:20.019929 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils.parsing
[mux  21649] 03:26:20.020025 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils.parsing.convert_bool
[mux  21649] 03:26:20.020115 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils.pycompat24
[mux  21649] 03:26:20.020203 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils.six
[mux  21649] 03:26:20.020291 D mitogen.importer.[ssh.host1.example.org]: received ansible.parsing
[mux  21649] 03:26:20.020378 D mitogen.importer.[ssh.host1.example.org]: received ansible.parsing.quoting
[mux  21649] 03:26:20.020482 D mitogen.importer.[ssh.host1.example.org]: received ansible.parsing.yaml
[mux  21649] 03:26:20.020570 D mitogen.importer.[ssh.host1.example.org]: received ansible.parsing.yaml.objects
[mux  21649] 03:26:20.020657 D mitogen.importer.[ssh.host1.example.org]: received ansible.utils
[mux  21649] 03:26:20.020744 D mitogen.importer.[ssh.host1.example.org]: received ansible.utils.color
[mux  21649] 03:26:20.020832 D mitogen.importer.[ssh.host1.example.org]: received ansible.utils.context_objects
[mux  21649] 03:26:20.020919 D mitogen.importer.[ssh.host1.example.org]: received ansible.utils.display
[mux  21649] 03:26:20.021006 D mitogen.importer.[ssh.host1.example.org]: received ansible.utils.path
[mux  21649] 03:26:20.021092 D mitogen.importer.[ssh.host1.example.org]: received ansible.utils.py3compat
[mux  21649] 03:26:20.021192 D mitogen.importer.[ssh.host1.example.org]: received ansible.utils.singleton
[mux  21649] 03:26:20.021302 D mitogen.importer.[ssh.host1.example.org]: received ansible.utils.unsafe_proxy
[mux  21649] 03:26:20.021675 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils.basic
[mux  21649] 03:26:20.021790 D mitogen.importer.[ssh.host1.example.org]: received ansible.module_utils.json_utils
[mux  21649] 03:26:20.021887 D mitogen.importer.[ssh.host1.example.org]: received ansible.release
[mux  21649] 03:26:20.021979 D mitogen.importer.[ssh.host1.example.org]: received ansible_mitogen
[mux  21649] 03:26:20.022069 D mitogen.importer.[ssh.host1.example.org]: received ansible_mitogen.target
[mux  21649] 03:26:20.022198 D mitogen.importer.[ssh.host1.example.org]: received mitogen.fork
[mux  21649] 03:26:20.022304 D mitogen.importer.[ssh.host1.example.org]: received mitogen.parent
[mux  21649] 03:26:20.022455 D mitogen.importer.[ssh.host1.example.org]: received mitogen.select
[mux  21649] 03:26:20.022599 D mitogen.importer.[ssh.host1.example.org]: received mitogen.service
[mux  21649] 03:26:20.022695 D mitogen.importer.[ssh.host1.example.org]: received ansible_mitogen.runner
[mux  21649] 03:26:20.029111 D mitogen.[ssh.host1.example.org]: Dispatcher: dispatching (None, u'ansible_mitogen.target', None, u'init_child', (), Kwargs({u'candidate_temp_dirs': [u'~/.ansible/tmp', u'/var/tmp', u'/tmp'], u'log_level': 10}))
[mux  21649] 03:26:20.029264 D mitogen.importer.[ssh.host1.example.org]: requesting ansible_mitogen
[mux  21649] 03:26:20.029363 D mitogen.importer.[ssh.host1.example.org]: requesting ansible_mitogen.target
[mux  21649] 03:26:20.029484 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule errno
[mux  21649] 03:26:20.029576 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule grp
[mux  21649] 03:26:20.029666 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule operator
[mux  21649] 03:26:20.029754 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule os
[mux  21649] 03:26:20.029842 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule pwd
[mux  21649] 03:26:20.029929 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule re
[mux  21649] 03:26:20.030046 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule signal
[mux  21649] 03:26:20.030141 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule stat
[mux  21649] 03:26:20.030230 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule subprocess
[mux  21649] 03:26:20.030637 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule sys
[mux  21649] 03:26:20.030775 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule tempfile
[mux  21649] 03:26:20.033783 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule traceback
[mux  21649] 03:26:20.033934 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule types
[mux  21649] 03:26:20.034060 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule mitogen
[mux  21649] 03:26:20.034157 D mitogen.importer.[ssh.host1.example.org]: requesting mitogen.fork
[mux  21649] 03:26:20.036254 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule errno
[mux  21649] 03:26:20.036367 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule logging
[mux  21649] 03:26:20.036489 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule os
[mux  21649] 03:26:20.036582 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule random
[mux  21649] 03:26:20.036672 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule sys
[mux  21649] 03:26:20.036760 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule threading
[mux  21649] 03:26:20.036849 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule traceback
[mux  21649] 03:26:20.036936 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule mitogen
[mux  21649] 03:26:20.037023 D mitogen.importer.[ssh.host1.example.org]: requesting mitogen.parent
[mux  21649] 03:26:20.049756 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule codecs
[mux  21649] 03:26:20.050075 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule fcntl
[mux  21649] 03:26:20.050227 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule getpass
[mux  21649] 03:26:20.050322 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule heapq
[mux  21649] 03:26:20.050465 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule inspect
[mux  21649] 03:26:20.063852 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule re
[mux  21649] 03:26:20.063998 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule signal
[mux  21649] 03:26:20.064217 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule socket
[mux  21649] 03:26:20.064334 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule struct
[mux  21649] 03:26:20.065829 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule subprocess
[mux  21649] 03:26:20.065951 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule termios
[mux  21649] 03:26:20.066050 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule textwrap
[mux  21649] 03:26:20.066145 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule zlib
[mux  21649] 03:26:20.066247 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule thread
[mux  21649] 03:26:20.066943 D mitogen.importer.[ssh.host1.example.org]: requesting mitogen.service
[mux  21649] 03:26:20.072493 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule grp
[mux  21649] 03:26:20.072636 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule pprint
[mux  21649] 03:26:20.073020 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule pwd
[mux  21649] 03:26:20.073210 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule stat
[mux  21649] 03:26:20.073315 D mitogen.importer.[ssh.host1.example.org]: requesting mitogen.select
[mux  21649] 03:26:20.075876 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule json
[mux  21649] 03:26:20.076166 D mitogen.importer.[ssh.host1.example.org]: json.decoder is submodule of a locally loaded package
[mux  21649] 03:26:20.076528 D mitogen.importer.[ssh.host1.example.org]: json.re is submodule of a locally loaded package
[mux  21649] 03:26:20.076704 D mitogen.importer.[ssh.host1.example.org]: json.sys is submodule of a locally loaded package
[mux  21649] 03:26:20.076880 D mitogen.importer.[ssh.host1.example.org]: json.struct is submodule of a locally loaded package
[mux  21649] 03:26:20.077029 D mitogen.importer.[ssh.host1.example.org]: json.json is submodule of a locally loaded package
[mux  21649] 03:26:20.077155 D mitogen.importer.[ssh.host1.example.org]: json.scanner is submodule of a locally loaded package
[mux  21649] 03:26:20.077252 D mitogen.importer.[ssh.host1.example.org]: json._json is submodule of a locally loaded package
[mux  21649] 03:26:20.078120 D mitogen.importer.[ssh.host1.example.org]: encodings.hex_codec is submodule of a locally loaded package
[mux  21649] 03:26:20.078330 D mitogen.importer.[ssh.host1.example.org]: encodings.binascii is submodule of a locally loaded package
[mux  21649] 03:26:20.078795 D mitogen.importer.[ssh.host1.example.org]: json.encoder is submodule of a locally loaded package
[mux  21649] 03:26:20.079679 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule ansible
[mux  21649] 03:26:20.079820 D mitogen.importer.[ssh.host1.example.org]: requesting ansible
[mux  21649] 03:26:20.080123 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils
[mux  21649] 03:26:20.080379 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils.json_utils
[mux  21649] 03:26:20.080833 D mitogen.importer.[ssh.host1.example.org]: ansible.module_utils has no submodule json
[mux  21649] 03:26:20.081012 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule ansible_mitogen
[mux  21649] 03:26:20.081138 D mitogen.importer.[ssh.host1.example.org]: requesting ansible_mitogen.runner
[mux  21649] 03:26:20.085296 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule atexit
[mux  21649] 03:26:20.085477 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule imp
[mux  21649] 03:26:20.085578 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule shlex
[mux  21649] 03:26:20.085850 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule shutil
[mux  21649] 03:26:20.086600 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule ctypes
[mux  21649] 03:26:20.087000 D mitogen.importer.[ssh.host1.example.org]: ctypes.os is submodule of a locally loaded package
[mux  21649] 03:26:20.087178 D mitogen.importer.[ssh.host1.example.org]: ctypes.sys is submodule of a locally loaded package
[mux  21649] 03:26:20.087303 D mitogen.importer.[ssh.host1.example.org]: ctypes._ctypes is submodule of a locally loaded package
[mux  21649] 03:26:20.087951 D mitogen.importer.[ssh.host1.example.org]: ctypes.struct is submodule of a locally loaded package
[mux  21649] 03:26:20.088790 D mitogen.importer.[ssh.host1.example.org]: ctypes.ctypes is submodule of a locally loaded package
[mux  21649] 03:26:20.089029 D mitogen.importer.[ssh.host1.example.org]: ctypes._endian is submodule of a locally loaded package
[mux  21649] 03:26:20.089308 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule StringIO
[mux  21649] 03:26:20.089626 D mitogen.importer.[ssh.host1.example.org]: ansible_mitogen has no submodule pipes
[mux  21649] 03:26:20.090107 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils.basic
[mux  21649] 03:26:20.111408 D mitogen.importer.[ssh.host1.example.org]: requesting systemd
[mux  21649] 03:26:20.112023 D mitogen.importer.[ssh.host1.example.org]: selinux.sys is submodule of a locally loaded package
[mux  21649] 03:26:20.112221 D mitogen.importer.[ssh.host1.example.org]: selinux.os is submodule of a locally loaded package
[mux  21649] 03:26:20.112330 D mitogen.importer.[ssh.host1.example.org]: selinux.imp is submodule of a locally loaded package
[mux  21649] 03:26:20.112906 D mitogen.importer.[ssh.host1.example.org]: requesting swig_runtime_data4
[mux  21649] 03:26:20.113220 D mitogen.importer.[ssh.host1.example.org]: selinux.shutil is submodule of a locally loaded package
[mux  21649] 03:26:20.113371 D mitogen.importer.[ssh.host1.example.org]: selinux.errno is submodule of a locally loaded package
[mux  21649] 03:26:20.113490 D mitogen.importer.[ssh.host1.example.org]: selinux.stat is submodule of a locally loaded package
[mux  21649] 03:26:20.113975 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils._text
[mux  21649] 03:26:20.114871 D mitogen.importer.[ssh.host1.example.org]: ansible.module_utils has no submodule codecs
[mux  21649] 03:26:20.115124 D mitogen.importer.[ssh.host1.example.org]: ansible.module_utils has no submodule ansible
[mux  21649] 03:26:20.115234 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils.six
[mux  21649] 03:26:20.121292 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils.common
[mux  21649] 03:26:20.121484 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils.common.text
[mux  21649] 03:26:20.121612 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils.common.text.converters
[mux  21649] 03:26:20.122449 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils.common._collections_compat
[mux  21649] 03:26:20.122865 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils.common.text.formatters
[mux  21649] 03:26:20.124310 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils.common._json_compat
[mux  21649] 03:26:20.124435 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils.common.process
[mux  21649] 03:26:20.124736 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils.common.file
[mux  21649] 03:26:20.126799 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils.common.sys_info
[mux  21649] 03:26:20.127568 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils.distro
[mux  21649] 03:26:20.128096 D mitogen.importer.[ssh.host1.example.org]: requesting distro
[mux  21649] 03:26:20.128250 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils.distro._distro
[mux  21649] 03:26:20.131572 D mitogen.importer.[ssh.host1.example.org]: ansible.module_utils.distro has no submodule os
[mux  21649] 03:26:20.131743 D mitogen.importer.[ssh.host1.example.org]: ansible.module_utils.distro has no submodule re
[mux  21649] 03:26:20.131920 D mitogen.importer.[ssh.host1.example.org]: ansible.module_utils.distro has no submodule sys
[mux  21649] 03:26:20.132073 D mitogen.importer.[ssh.host1.example.org]: ansible.module_utils.distro has no submodule json
[mux  21649] 03:26:20.132190 D mitogen.importer.[ssh.host1.example.org]: ansible.module_utils.distro has no submodule shlex
[mux  21649] 03:26:20.132329 D mitogen.importer.[ssh.host1.example.org]: ansible.module_utils.distro has no submodule logging
[mux  21649] 03:26:20.132453 D mitogen.importer.[ssh.host1.example.org]: ansible.module_utils.distro has no submodule optparse
[mux  21649] 03:26:20.133618 D mitogen.importer.[ssh.host1.example.org]: requesting org
[mux  21649] 03:26:20.134414 D mitogen.importer.[ssh.host1.example.org]: ansible.module_utils.distro has no submodule subprocess
[mux  21649] 03:26:20.135123 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils.common._utils
[mux  21649] 03:26:20.135543 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils.pycompat24
[mux  21649] 03:26:20.136239 D mitogen.importer.[ssh.host1.example.org]: ansible.module_utils has no submodule sys
[mux  21649] 03:26:20.136383 D mitogen.importer.[ssh.host1.example.org]: ansible.module_utils has no submodule ast
[mux  21649] 03:26:20.136880 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils.common.parameters
[mux  21649] 03:26:20.138309 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils.common.collections
[mux  21649] 03:26:20.139078 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils.common.validation
[mux  21649] 03:26:20.141693 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils.parsing
[mux  21649] 03:26:20.141800 D mitogen.importer.[ssh.host1.example.org]: requesting ansible.module_utils.parsing.convert_bool
[mux  21649] 03:26:20.142172 D mitogen.importer.[ssh.host1.example.org]: ansible.module_utils.parsing has no submodule ansible
[mux  21649] 03:26:20.142337 D mitogen.importer.[ssh.host1.example.org]: ansible.module_utils.six has no submodule moves
[mux  21649] 03:26:20.145615 D ansible_mitogen.runner.[ssh.host1.example.org]: EnvironmentFileWatcher('/localhome/ansible/.pam_environment') installed; existing keys: []
[mux  21649] 03:26:20.145733 D ansible_mitogen.runner.[ssh.host1.example.org]: EnvironmentFileWatcher('/etc/environment') installed; existing keys: []
[mux  21649] 03:26:20.145845 D mitogen.parent.[ssh.host1.example.org]: upgraded Poller with EpollPoller (new: 4 readers, 0 writers; old: 4 readers, 0 writers)
[mux  21649] 03:26:20.145939 D mitogen.parent.[ssh.host1.example.org]: upgrading Router(Broker(9690)) with capabilities to start new children
[mux  21649] 03:26:20.146029 D mitogen.[ssh.host1.example.org]: sending message to Context(0, u'master'): Message(0, 4, 4, 105, 1000, ''..0)
[mux  21649] 03:26:20.146130 D mitogen: IdAllocator(Router(Broker(1898))): allocating [5..1005)
[mux  21649] 03:26:20.146244 D mitogen: IdAllocator(Router(Broker(1898))): allocating [5..1005) to Context(4, 'ssh.host1.example.org')
[mux  21649] 03:26:20.147311 D mitogen.parent.[ssh.host1.example.org]: creating connection to context 5 using mitogen.fork
[mux  21649] 03:26:20.149026 D mitogen.parent.[ssh.host1.example.org]: child for Connection(None) started: pid:28613 stdin:14 stdout:14 stderr:None
[mux  21649] 03:26:20.149700 D mitogen.parent.[ssh.host1.example.org]: BootstrapProtocol(fork.28613): new child booted successfully
[mux  21649] 03:26:20.149878 D mitogen.[ssh.host1.example.org]: Router(Broker(9690)): registering Context(5, u'fork.28613') to stream <Stream fork.28613 #30d0>
[mux  21649] 03:26:20.150038 D mitogen.route_monitor: Adding route to 5 via <Stream ssh.host1.example.org #f550>
[mux  21649] 03:26:20.150138 D mitogen.parent: Router(Broker(1898)): adding route to context 5 via <Stream ssh.host1.example.org #f550>
[mux  21649] 03:26:20.151327 D ansible_mitogen.target.[ssh.host1.example.org]: Selected temp directory: u'/localhome/ansible/.ansible/tmp' (from [u'/localhome/ansible/.ansible/tmp', u'/var/tmp', u'/tmp', '/tmp', '/var/tmp', '/usr/tmp', '/localhome/ansible'])
[mux  21649] 03:26:20.152622 D mitogen.[ssh.host1.example.org]: Dispatcher: Message(4, 0, 0, 101, 1000, '\x80\x02(NX\x16\x00\x00\x00ansible_mitogen.targetq\x00NX\n\x00\x00\x00init_childq'..186) -> {u'fork_context': Context(5, u'fork.28613'), u'home_dir': u'/localhome/ansible', u'good_temp_dir': u'/localhome/ansible/.ansible/tmp'}
[mux  21649] 03:26:20.152786 D mitogen.[fork.28613]: Router(Broker(31d0)): registering Context(4, u'parent') to stream <Stream parent #3510>
[mux  21649] 03:26:20.152887 D mitogen.[fork.28613]: Python version is 2.7.5 (default, Aug  4 2017, 00:39:18)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)]
[mux  21649] 03:26:20.152980 D mitogen.[fork.28613]: Parent is context 4 (parent); my ID is 5
[mux  21649] 03:26:20.153096 D mitogen.[fork.28613]: pid:28613 ppid:28586 uid:66400050/66400050, gid:66400050/66400050 host:'host1.example.org'
[mux  21649] 03:26:20.153201 D mitogen.[fork.28613]: Recovered sys.executable: '/usr/bin/python'
[mux  21649] 03:26:20.158649 D mitogen.parent: starting function call to ssh.host1.example.org: mitogen.parent._proxy_connect(name=None, method_name='sudo', kwargs=Kwargs({'unidirectional': True, 'username': 'root', 'password': [secret], 'python_path': ['/usr/bin/python'], 'sudo_path': 'sudo', 'connect_timeout': 20, 'sudo_args': ['-H', '-S', '-n'], 'remote_name': None, 'debug': False, 'profiling': False}))
[mux  21649] 03:26:20.160738 D mitogen.[ssh.host1.example.org]: Dispatcher: dispatching (None, u'mitogen.parent', None, u'_proxy_connect', (), Kwargs({u'method_name': u'sudo', u'name': None, u'kwargs': Kwargs({u'username': u'root', u'password': [secret], u'profiling': False, u'sudo_path': u'sudo', u'python_path': [u'/usr/bin/python'], u'unidirectional': True, u'debug': False, u'remote_name': None, u'sudo_args': [u'-H', u'-S', u'-n'], u'connect_timeout': 20})}))
[mux  21649] 03:26:20.160929 D mitogen.importer.[ssh.host1.example.org]: requesting mitogen.sudo
[mux  21649] 03:26:20.161040 D mitogen.importer.[ssh.host1.example.org]: sending new mitogen.sudo request to parent
[mux  21649] 03:26:20.161168 D mitogen.responder: ssh.host1.example.org requested module mitogen.sudo
[mux  21649] 03:26:20.172942 D mitogen.responder: sending mitogen.sudo (3.36 KiB) to ssh.host1.example.org
[mux  21649] 03:26:20.174825 D mitogen.importer.[ssh.host1.example.org]: received mitogen.sudo
[mux  21649] 03:26:20.178296 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule base64
[mux  21649] 03:26:20.178435 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule optparse
[mux  21649] 03:26:20.184774 D mitogen.parent.[ssh.host1.example.org]: creating connection to context 6 using mitogen.sudo
[mux  21649] 03:26:20.196237 D mitogen.importer.[ssh.host1.example.org]: encodings.ascii is submodule of a locally loaded package
[mux  21649] 03:26:20.196736 D mitogen.importer.[ssh.host1.example.org]: encodings.base64_codec is submodule of a locally loaded package
[mux  21649] 03:26:20.196877 D mitogen.importer.[ssh.host1.example.org]: encodings.base64 is submodule of a locally loaded package
[mux  21649] 03:26:20.197698 D mitogen.parent.[ssh.host1.example.org]: command line for Connection(None): sudo -u root -H -- /usr/bin/python -c "import codecs,os,sys;_=codecs.decode;exec(_(_(\"eNqFkc1OwzAQhO95itxsq1bqFAWqSJZAPSAOCClC9AAVyo/TWqS2sdOa9unZJogm5cBtv52xZ7Wb0SXXLjLSCEwCS/2AZB0C1Np+YJIGp7ramRlmNGaMnDmjQ7Kgxj2XjXYCZ0OwQ1gOwQNAoDtAfJO3kLoNOQ9RlVsvFQpzVXWi+BLlrs2LRnTydOfstJBqag7tRisEc17aJrzr7IV1UqvX9GrVxQq1lxYY3WX3Lwyt+PhZ7wFs8FigY5wgvJWtXguV5spJ6NxuTOnN2n02LImgriMlnIy0XUfqmM7myfyaIBLA997KVuCYoseH5yfG2JtCMFapK9g+CRb8HZ/2X2kjFGwd2QKRyIq8wvENSxJC0VEa+Kk2/OxbUuQLdDpJbX4CFl3dr/nC7f9z/50yHk/5e8AZ+QYTHLq7\".encode(),\"base64\"),\"zip\"))"
[mux  21649] 03:26:20.201133 D mitogen.parent.[ssh.host1.example.org]: child for Connection(None) started: pid:28615 stdin:18 stdout:18 stderr:16
[mux  21649] 03:26:20.361665 D mitogen.parent.[ssh.host1.example.org]: sudo.root: (partial): Sudo Password:
[mux  21649] 03:26:20.361861 D mitogen.sudo.[ssh.host1.example.org]: sudo.root: (password prompt): Sudo Password:
[mux  21649] 03:26:20.362083 D mitogen.parent.[ssh.host1.example.org]: sudo.root: (partial): Sudo Password:******
[mux  21649] 03:26:20.362365 D mitogen.sudo.[ssh.host1.example.org]: sudo.root: (password prompt): Sudo Password:******
[mux  21649] 03:26:20.362575 D mitogen.parent.[ssh.host1.example.org]: failing connection sudo.root due to PasswordError(u'sudo password is incorrect',)
[mux  21649] 03:26:20.362707 D mitogen.[ssh.host1.example.org]: BootstrapProtocol(sudo.root): disconnecting
[mux  21649] 03:26:20.362827 D mitogen.parent.[ssh.host1.example.org]: failing connection sudo.root due to EofError(u'EOF on stream; last 100 lines received:\n',)
[mux  21649] 03:26:20.363025 D mitogen.parent.[ssh.host1.example.org]: PopenProcess sudo.root pid 28615 still running after IO disconnect, recheck in 0.050s
[mux  21649] 03:26:20.363170 D mitogen.[ssh.host1.example.org]: SetupProtocol(sudo.root): disconnecting
[mux  21649] 03:26:20.363291 D mitogen.[ssh.host1.example.org]: SetupProtocol(sudo.root): disconnecting
[mux  21649] 03:26:20.363474 D mitogen.[ssh.host1.example.org]: Dispatcher: Message(4, 0, 0, 101, 1001, '\x80\x02(NX\x0e\x00\x00\x00mitogen.parentq\x00NX\x0e\x00\x00\x00_proxy_connectq\x01)cm'..456) -> {u'msg': 'error occurred on host host1.example.org: sudo password is incorrect', u'id': None, u'name': None}
[task 21788] 03:26:20.364900 D ansible_mitogen.mixins: _remove_tmp_path(None)
[task 21788] 03:26:20.365828 D mitogen: MitogenProtocol(unix_listener.21649): disconnecting
[mux  21649] 03:26:20.366901 D mitogen: <Side of unix_client.21788 fd 78>: empty read, disconnecting
[task 21788] 03:26:20.366957 D mitogen: Waker(fd=12/13): disconnecting
[mux  21649] 03:26:20.367414 D mitogen: MitogenProtocol(unix_client.21788): disconnecting
[task 21788] 03:26:20.368004 D mitogen: Router(Broker(44a8)): stats: 0 module requests in 0 ms, 0 sent (0 ms minify time), 0 negative responses. Sent 0.0 kb total, 0.0 kb avg.
TASK [nameservers : Manage /etc/resolv.conf] *******************************************
task path: /home/aethylred/ansible/ansible-playbook/ignore/roles/nameservers/tasks/main.yml:4
fatal: [host1.example.org]: FAILED! =>
  msg: 'error occurred on host host1.example.org: sudo password is incorrect'

@Aethylred
Copy link

Aethylred commented Jul 17, 2020

The main thing I notice is that mitogen is still using /usr/bin/python and not /bin/python3 as set by the ansible_python_interpreter... which is wrong, and actually setting that successfully breaks yum 😭

 msg: The Python 2 bindings for rpm are needed for this module. If you require Python 3 support use the `dnf` Ansible module instead.. The Python 2 yum module is needed for this module. If you require Python 3 support use the `dnf` Ansible module instead.

I fixed the previous example to represent this 😸

@s1113950
Copy link
Collaborator

@Aethylred which version of Mitogen are you using? If you're using latest master of Mitogen then it should be determining what python version to use 🤔

@Aethylred
Copy link

I'm using mitogen==0.2.9, I'm no longer specifying the ansible_python_interpreter

@Aethylred
Copy link

Aethylred commented Jul 20, 2020

I think /usr/local/lib/python3.6/site-packages/ansible_mitogen/plugins/strategy refers to mitogen as installed via pip:

Confirmed from my bash history:

727  pip3 install mitogen
728  pip3 install --upgrade mitogen

@s1113950
Copy link
Collaborator

Can you try master of Mitogen? master auto detects the correct Python interpreter now :)
pip install git+https://github.com/dw/mitogen.git@a18be5afefd1c8b7a860a994773737f788405a93
a18be5afefd1c8b7a860a994773737f788405a93 is the current master hash.

@Aethylred
Copy link

Aethylred commented Jul 22, 2020

I've updated to master as requested, and it seems more reliable, however I've also extended timeout to 60s and set retries to 3.
We occasionally still see sudo timing out:

Wednesday 22 July 2020  02:01:49 +0000 (0:00:00.738)       0:00:06.857 ********
[task 13944] 02:01:49.733476 D ansible_mitogen.affinity: CPU mask for WorkerProcess: 0x000002
[task 13945] 02:01:49.795463 D ansible_mitogen.affinity: CPU mask for WorkerProcess: 0x000002
[task 13946] 02:01:49.927437 D ansible_mitogen.affinity: CPU mask for WorkerProcess: 0x000002
[task 13944] 02:01:50.108587 D ansible_mitogen.process: will use multiplexer 0 (/tmp/mitogen_unix_tidm2_jj.sock) to connect to "host1.example.org"
[task 13944] 02:01:50.108804 D mitogen.unix: client: connecting to /tmp/mitogen_unix_tidm2_jj.sock
[mux  13840] 02:01:50.109296 D mitogen.unix: listener: accepted connection from PID 13944: unix_client.13944
[task 13944] 02:01:50.119446 D mitogen.unix: client: local ID is 5016, remote is 0
[task 13949] 02:01:50.122440 D ansible_mitogen.affinity: CPU mask for WorkerProcess: 0x000002
[mux  13840] 02:01:50.127085 D mitogen.parent: starting function call to ssh.host1.example.org: mitogen.parent._proxy_connect(name=None, method_name='sudo', kwargs=Kwargs({'unidirectional': True, 'username': 'root', 'password': [secret], 'python_path': ['/usr/bin/python'], 'sudo_path': 'sudo', 'connect_timeout': 60, 'sudo_args': ['-H', '-S', '-n'], 'remote_name': None, 'debug': False, 'profiling': False}))
[mux  13840] 02:01:50.141538 D mitogen.[ssh.host1.example.org]: Dispatcher: dispatching (None, u'mitogen.parent', None, u'_proxy_connect', (), Kwargs({u'method_name': u'sudo', u'name': None, u'kwargs': Kwargs({u'username': u'root', u'password': [secret], u'profiling': False, u'sudo_path': u'sudo', u'python_path': [u'/usr/bin/python'], u'unidirectional': True, u'debug': False, u'remote_name': None, u'sudo_args': [u'-H', u'-S', u'-n'], u'connect_timeout': 60})}))
[mux  13840] 02:01:50.141699 D mitogen.importer.[ssh.host1.example.org]: requesting mitogen.sudo
[mux  13840] 02:01:50.141822 D mitogen.importer.[ssh.host1.example.org]: sending new mitogen.sudo request to parent
[mux  13840] 02:01:50.141945 D mitogen.responder: ssh.host1.example.org requested module mitogen.sudo
[mux  13840] 02:01:50.157196 D mitogen.responder: sending mitogen.sudo (3.57 KiB) to ssh.host1.example.org
[mux  13840] 02:01:50.176537 D mitogen.importer.[ssh.host1.example.org]: received mitogen.sudo
[mux  13840] 02:01:50.176661 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule base64
[mux  13840] 02:01:50.176761 D mitogen.importer.[ssh.host1.example.org]: mitogen has no submodule optparse
[mux  13840] 02:01:50.187499 D mitogen.parent.[ssh.host1.example.org]: creating connection to context 4012 using mitogen.sudo
[mux  13840] 02:01:50.209549 D mitogen.importer.[ssh.host1.example.org]: encodings.base64_codec is submodule of a locally loaded package
[mux  13840] 02:01:50.209667 D mitogen.importer.[ssh.host1.example.org]: encodings.base64 is submodule of a locally loaded package
[task 13945] 02:01:50.209636 D ansible_mitogen.process: will use multiplexer 0 (/tmp/mitogen_unix_tidm2_jj.sock) to connect to "host2.example.org"
[mux  13840] 02:01:50.209768 D mitogen.parent.[ssh.host1.example.org]: command line for Connection(None): sudo -u root -H -- /usr/bin/python -c "import codecs,os,sys;_=codecs.decode;exec(_(_(\"XXXXXX".encode(),\"base64\"),\"zip\"))"
[task 13945] 02:01:50.209817 D mitogen.unix: client: connecting to /tmp/mitogen_unix_tidm2_jj.sock
[mux  13840] 02:01:50.210171 D mitogen.unix: listener: accepted connection from PID 13945: unix_client.13945
[task 13945] 02:01:50.220437 D mitogen.unix: client: local ID is 5017, remote is 0
[mux  13840] 02:01:50.221362 D mitogen.parent.[ssh.host1.example.org]: child for Connection(None) started: pid:29692 stdin:23 stdout:23 stderr:21
[mux  13840] 02:01:50.221862 D mitogen.parent: starting function call to ssh.host2.example.org: mitogen.parent._proxy_connect(name=None, method_name='sudo', kwargs=Kwargs({'unidirectional': True, 'username': 'root', 'password': [secret], 'python_path': ['/usr/bin/python'], 'sudo_path': 'sudo', 'connect_timeout': 60, 'sudo_args': ['-H', '-S', '-n'], 'remote_name': None, 'debug': False, 'profiling': False}))
[mux  13840] 02:01:50.242540 D mitogen.[ssh.host2.example.org]: Dispatcher: dispatching (None, u'mitogen.parent', None, u'_proxy_connect', (), Kwargs({u'method_name': u'sudo', u'name': None, u'kwargs': Kwargs({u'username': u'root', u'password': [secret], u'profiling': False, u'sudo_path': u'sudo', u'python_path': [u'/usr/bin/python'], u'unidirectional': True, u'debug': False, u'remote_name': None, u'sudo_args': [u'-H', u'-S', u'-n'], u'connect_timeout': 60})}))
[mux  13840] 02:01:50.242674 D mitogen.importer.[ssh.host2.example.org]: requesting mitogen.sudo
[mux  13840] 02:01:50.242777 D mitogen.importer.[ssh.host2.example.org]: sending new mitogen.sudo request to parent
[mux  13840] 02:01:50.242879 D mitogen.responder: ssh.host2.example.org requested module mitogen.sudo
[mux  13840] 02:01:50.243040 D mitogen.responder: sending mitogen.sudo (3.57 KiB) to ssh.host2.example.org
[task 13952] 02:01:50.245226 D ansible_mitogen.affinity: CPU mask for WorkerProcess: 0x000002
[mux  13840] 02:01:50.254598 D mitogen.importer.[ssh.host2.example.org]: received mitogen.sudo
[mux  13840] 02:01:50.265524 D mitogen.importer.[ssh.host2.example.org]: mitogen has no submodule base64
[mux  13840] 02:01:50.265641 D mitogen.importer.[ssh.host2.example.org]: mitogen has no submodule optparse
[mux  13840] 02:01:50.265738 D mitogen.parent.[ssh.host2.example.org]: creating connection to context 12 using mitogen.sudo
[mux  13840] 02:01:50.283638 D mitogen.importer.[ssh.host2.example.org]: encodings.base64_codec is submodule of a locally loaded package
[mux  13840] 02:01:50.283759 D mitogen.importer.[ssh.host2.example.org]: encodings.base64 is submodule of a locally loaded package
[mux  13840] 02:01:50.283859 D mitogen.parent.[ssh.host2.example.org]: command line for Connection(None): sudo -u root -H -- /usr/bin/python -c "import codecs,os,sys;_=codecs.decode;exec(_(_(\"XXXX".encode(),\"base64\"),\"zip\"))"
[mux  13840] 02:01:50.283960 D mitogen.parent.[ssh.host2.example.org]: child for Connection(None) started: pid:4598 stdin:23 stdout:23 stderr:21
[task 13946] 02:01:50.316627 D ansible_mitogen.process: will use multiplexer 0 (/tmp/mitogen_unix_tidm2_jj.sock) to connect to "host5.example.org"
[task 13946] 02:01:50.316804 D mitogen.unix: client: connecting to /tmp/mitogen_unix_tidm2_jj.sock
[mux  13840] 02:01:50.317182 D mitogen.unix: listener: accepted connection from PID 13946: unix_client.13946
[task 13946] 02:01:50.327442 D mitogen.unix: client: local ID is 5018, remote is 0
[mux  13840] 02:01:50.328804 D mitogen.parent: starting function call to ssh.host5.example.org: mitogen.parent._proxy_connect(name=None, method_name='sudo', kwargs=Kwargs({'unidirectional': True, 'username': 'root', 'password': [secret], 'python_path': ['/usr/bin/python'], 'sudo_path': 'sudo', 'connect_timeout': 60, 'sudo_args': ['-H', '-S', '-n'], 'remote_name': None, 'debug': False, 'profiling': False}))
[mux  13840] 02:01:50.350653 D mitogen.[ssh.host5.example.org]: Dispatcher: dispatching (None, u'mitogen.parent', None, u'_proxy_connect', (), Kwargs({u'method_name': u'sudo', u'name': None, u'kwargs': Kwargs({u'username': u'root', u'password': [secret], u'profiling': False, u'sudo_path': u'sudo', u'python_path': [u'/usr/bin/python'], u'unidirectional': True, u'debug': False, u'remote_name': None, u'sudo_args': [u'-H', u'-S', u'-n'], u'connect_timeout': 60})}))
[mux  13840] 02:01:50.350791 D mitogen.importer.[ssh.host5.example.org]: requesting mitogen.sudo
[mux  13840] 02:01:50.350897 D mitogen.importer.[ssh.host5.example.org]: sending new mitogen.sudo request to parent
[mux  13840] 02:01:50.351026 D mitogen.responder: ssh.host5.example.org requested module mitogen.sudo
[mux  13840] 02:01:50.351177 D mitogen.responder: sending mitogen.sudo (3.57 KiB) to ssh.host5.example.org
[mux  13840] 02:01:50.372631 D mitogen.importer.[ssh.host5.example.org]: received mitogen.sudo
[mux  13840] 02:01:50.372751 D mitogen.importer.[ssh.host5.example.org]: mitogen has no submodule base64
[mux  13840] 02:01:50.372849 D mitogen.importer.[ssh.host5.example.org]: mitogen has no submodule optparse
[mux  13840] 02:01:50.383032 D mitogen.parent.[ssh.host5.example.org]: creating connection to context 1012 using mitogen.sudo
[mux  13840] 02:01:50.404629 D mitogen.importer.[ssh.host5.example.org]: encodings.base64_codec is submodule of a locally loaded package
[mux  13840] 02:01:50.404743 D mitogen.importer.[ssh.host5.example.org]: encodings.base64 is submodule of a locally loaded package
[task 13949] 02:01:50.404712 D ansible_mitogen.process: will use multiplexer 0 (/tmp/mitogen_unix_tidm2_jj.sock) to connect to "host4.example.org"
[mux  13840] 02:01:50.404840 D mitogen.parent.[ssh.host5.example.org]: command line for Connection(None): sudo -u root -H -- /usr/bin/python -c "import codecs,os,sys;_=codecs.decode;exec(_(_(\"XXXX".encode(),\"base64\"),\"zip\"))"
[task 13949] 02:01:50.404885 D mitogen.unix: client: connecting to /tmp/mitogen_unix_tidm2_jj.sock
[mux  13840] 02:01:50.405227 D mitogen.unix: listener: accepted connection from PID 13949: unix_client.13949
[task 13949] 02:01:50.415436 D mitogen.unix: client: local ID is 5019, remote is 0
[mux  13840] 02:01:50.416446 D mitogen.parent.[ssh.host5.example.org]: child for Connection(None) started: pid:31080 stdin:23 stdout:23 stderr:21
[mux  13840] 02:01:50.416900 D mitogen.parent: starting function call to ssh.host4.example.org: mitogen.parent._proxy_connect(name=None, method_name='sudo', kwargs=Kwargs({'unidirectional': True, 'username': 'root', 'password': [secret], 'python_path': ['/usr/bin/python'], 'sudo_path': 'sudo', 'connect_timeout': 60, 'sudo_args': ['-H', '-S', '-n'], 'remote_name': None, 'debug': False, 'profiling': False}))
[mux  13840] 02:01:50.431288 D mitogen.[ssh.host4.example.org]: Dispatcher: dispatching (None, u'mitogen.parent', None, u'_proxy_connect', (), Kwargs({u'method_name': u'sudo', u'name': None, u'kwargs': Kwargs({u'username': u'root', u'password': [secret], u'profiling': False, u'sudo_path': u'sudo', u'python_path': [u'/usr/bin/python'], u'unidirectional': True, u'debug': False, u'remote_name': None, u'sudo_args': [u'-H', u'-S', u'-n'], u'connect_timeout': 60})}))
[mux  13840] 02:01:50.431446 D mitogen.importer.[ssh.host4.example.org]: requesting mitogen.sudo
[mux  13840] 02:01:50.431552 D mitogen.importer.[ssh.host4.example.org]: sending new mitogen.sudo request to parent
[mux  13840] 02:01:50.431670 D mitogen.responder: ssh.host4.example.org requested module mitogen.sudo
[mux  13840] 02:01:50.431813 D mitogen.responder: sending mitogen.sudo (3.57 KiB) to ssh.host4.example.org
[task 13952] 02:01:50.432000 D ansible_mitogen.process: will use multiplexer 0 (/tmp/mitogen_unix_tidm2_jj.sock) to connect to "host3.example.org"
[task 13952] 02:01:50.432208 D mitogen.unix: client: connecting to /tmp/mitogen_unix_tidm2_jj.sock
[mux  13840] 02:01:50.432596 D mitogen.unix: listener: accepted connection from PID 13952: unix_client.13952
[task 13952] 02:01:50.433036 D mitogen.unix: client: local ID is 5020, remote is 0
[mux  13840] 02:01:50.434632 D mitogen.parent: starting function call to ssh.host3.example.org: mitogen.parent._proxy_connect(name=None, method_name='sudo', kwargs=Kwargs({'unidirectional': True, 'username': 'root', 'password': [secret], 'python_path': ['/usr/bin/python'], 'sudo_path': 'sudo', 'connect_timeout': 60, 'sudo_args': ['-H', '-S', '-n'], 'remote_name': None, 'debug': False, 'profiling': False}))
[mux  13840] 02:01:50.435001 D mitogen.importer.[ssh.host4.example.org]: received mitogen.sudo
[mux  13840] 02:01:50.437465 D mitogen.[ssh.host3.example.org]: Dispatcher: dispatching (None, u'mitogen.parent', None, u'_proxy_connect', (), Kwargs({u'method_name': u'sudo', u'name': None, u'kwargs': Kwargs({u'username': u'root', u'password': [secret], u'profiling': False, u'sudo_path': u'sudo', u'python_path': [u'/usr/bin/python'], u'unidirectional': True, u'debug': False, u'remote_name': None, u'sudo_args': [u'-H', u'-S', u'-n'], u'connect_timeout': 60})}))
[mux  13840] 02:01:50.437852 D mitogen.importer.[ssh.host3.example.org]: requesting mitogen.sudo
[mux  13840] 02:01:50.438504 D mitogen.importer.[ssh.host3.example.org]: sending new mitogen.sudo request to parent
[mux  13840] 02:01:50.438655 D mitogen.responder: ssh.host3.example.org requested module mitogen.sudo
[mux  13840] 02:01:50.438798 D mitogen.responder: sending mitogen.sudo (3.57 KiB) to ssh.host3.example.org
[mux  13840] 02:01:50.438970 D mitogen.importer.[ssh.host4.example.org]: mitogen has no submodule base64
[mux  13840] 02:01:50.440656 D mitogen.importer.[ssh.host4.example.org]: mitogen has no submodule optparse
[mux  13840] 02:01:50.440792 D mitogen.importer.[ssh.host3.example.org]: received mitogen.sudo
[mux  13840] 02:01:50.444950 D mitogen.importer.[ssh.host3.example.org]: mitogen has no submodule base64
[mux  13840] 02:01:50.447255 D mitogen.importer.[ssh.host3.example.org]: mitogen has no submodule optparse
[mux  13840] 02:01:50.449455 D mitogen.parent.[ssh.host4.example.org]: creating connection to context 3012 using mitogen.sudo
[mux  13840] 02:01:50.455407 D mitogen.parent.[ssh.host3.example.org]: creating connection to context 2012 using mitogen.sudo
[mux  13840] 02:01:50.471817 D mitogen.importer.[ssh.host4.example.org]: encodings.base64_codec is submodule of a locally loaded package
[mux  13840] 02:01:50.472418 D mitogen.importer.[ssh.host4.example.org]: encodings.base64 is submodule of a locally loaded package
[mux  13840] 02:01:50.487046 D mitogen.parent.[ssh.host4.example.org]: child for Connection(None) started: pid:20195 stdin:23 stdout:23 stderr:21
[mux  13840] 02:01:50.487957 D mitogen.parent.[ssh.host3.example.org]: child for Connection(None) started: pid:24676 stdin:23 stdout:23 stderr:21
[mux  13840] 02:01:50.777015 D mitogen.parent.[ssh.host1.example.org]: sudo.root: (partial): Sudo Password:
[mux  13840] 02:01:50.777241 D mitogen.sudo.[ssh.host1.example.org]: sudo.root: (password prompt): Sudo Password:
[mux  13840] 02:01:50.777667 D mitogen.parent.[ssh.host1.example.org]: sudo.root: (unrecognized): Sudo Password:
[mux  13840] 02:01:51.461457 D mitogen.parent.[ssh.host2.example.org]: sudo.root: (partial): Sudo Password:
[mux  13840] 02:01:51.461871 D mitogen.sudo.[ssh.host2.example.org]: sudo.root: (password prompt): Sudo Password:
[mux  13840] 02:01:51.462300 D mitogen.parent.[ssh.host2.example.org]: sudo.root: (partial): Sudo Password:********
[mux  13840] 02:01:51.462722 D mitogen.sudo.[ssh.host2.example.org]: sudo.root: (password prompt): Sudo Password:********
[mux  13840] 02:01:51.462985 D mitogen.parent.[ssh.host2.example.org]: failing connection sudo.root due to PasswordError(u'sudo password is incorrect',)
[mux  13840] 02:01:51.463227 D mitogen.[ssh.host2.example.org]: BootstrapProtocol(sudo.root): disconnecting
[mux  13840] 02:01:51.463515 D mitogen.parent.[ssh.host2.example.org]: failing connection sudo.root due to EofError(u'EOF on stream; last 100 lines received:\n',)
[mux  13840] 02:01:51.463763 D mitogen.parent.[ssh.host2.example.org]: PopenProcess sudo.root pid 4598 still running after IO disconnect, recheck in 0.050s
[mux  13840] 02:01:51.463994 D mitogen.[ssh.host2.example.org]: SetupProtocol(sudo.root): disconnecting
[mux  13840] 02:01:51.464216 D mitogen.[ssh.host2.example.org]: SetupProtocol(sudo.root): disconnecting
[mux  13840] 02:01:51.464559 D mitogen.[ssh.host2.example.org]: Dispatcher: Message(4, 0, 0, 101, 1011, '\x80\x02(NX\x0e\x00\x00\x00mitogen.parentq\x00NX\x0e\x00\x00\x00_proxy_connectq\x01)cm'..456) -> {u'msg': 'error occurred on host host2.example.org: sudo password is incorrect', u'id': None, u'name': None}
[task 13945] 02:01:51.466601 D ansible_mitogen.mixins: _remove_tmp_path(None)
[task 13945] 02:01:51.467537 D mitogen: MitogenProtocol(unix_listener.13840): disconnecting
[mux  13840] 02:01:51.468723 D mitogen: <Side of unix_client.13945 fd 78>: empty read, disconnecting
[mux  13840] 02:01:51.469102 D mitogen: MitogenProtocol(unix_client.13945): disconnecting
[task 13945] 02:01:51.468722 D mitogen: Waker(fd=15/16): disconnecting
[task 13945] 02:01:51.469796 D mitogen: Router(Broker(eef0)): stats: 0 module requests in 0 ms, 0 sent (0 ms minify time), 0 negative responses. Sent 0.0 kb total, 0.0 kb avg.

TASK [Who am I now?] ************************************************************************
task path: /home/hicksaw/hpcf-ansible/ansible-k8s/conntest.yaml:30
fatal: [host2.example.org]: FAILED! =>
  msg: 'error occurred on host host2.example.org: sudo password is incorrect'

@Aethylred
Copy link

Aethylred commented Oct 16, 2020

Adding this sudo rule makes it intermittent (sudo rules with wildcards are very bad):

ansible ALL = (ALL) NOPASSWD:/usr/bin/python -c*

So does adding the following sudo rule to our IPA server

> ipa sudorule-show allow-ansible-python
  Rule name: allow-ansible-python
  Enabled: TRUE
  User category: all
  RunAs User category: all
  RunAs Group category: all
  Host Groups: ansible-hosts
  Sudo Allow Commands: /usr/bin/python
  Sudo Option: !authenticate

However, we consider this to be a terrible idea and would rather that mitogen properly uses become passwords.

@Aethylred
Copy link

I've done some tests with v0.3.0rc1 and this issue persists.

@Aethylred
Copy link

A less risky sudo rule is:

ansible ALL = (ALL) NOPASSWD:/usr/bin/python

Though you probably want to create a command group with all the Python executables you would like Ansible to use.

@mickaelperrin
Copy link

I can confirm the issue.

I encountered it with:

  • ansible 2.12.10
  • mitogen 0.3.4

Reverting to mitogen 0.3.3 resolved the issue.

@azmeuk
Copy link

azmeuk commented Apr 12, 2024

#1007 solved this issue for me. Thank you @moreati 🙇

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants