community.aws
community.aws copied to clipboard
AWS SSM plugin hangs on `sudo` step during Gathering Facts
Summary
When I try to run a playbook while leveraging the aws_ssm
plugin, the play hangs on Gathering Facts during a sudo
step. SSM is configured on the target AWS account to run commands as a user other than ssm-user
, and this user requires a password to execute sudo
. I suspect the plugin as currently written does not account for this use case.
If I revert the changes that were made to the SSM configuration to the default (commands are run as ssm-user
, which does not require a password to execute sudo
), the playbook runs successfully.
Issue Type
Bug Report
Component Name
aws_ssm
ansible_connection
Ansible Version
$ ansible --version
ansible [core 2.15.0]
config file = /Users/jobim/myrepo/ansible.cfg
configured module search path = ['/Users/jobim/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python3.11/site-packages/ansible
ansible collection location = /Users/jobim/myrepo/.galaxy_collections
executable location = /usr/local/bin/ansible
python version = 3.11.5 (main, Aug 24 2023, 15:18:16) [Clang 14.0.3 (clang-1403.0.22.14.1)] (/usr/local/opt/[email protected]/bin/python3.11)
jinja version = 3.1.2
libyaml = True
Collection Versions
$ ansible-galaxy collection list
# /Users/jobim/myrepo/.galaxy_collections/ansible_collections
Collection Version
----------------------------- -------
amazon.aws 5.4.0
community.aws 5.4.0
community.general 5.0.0
# /usr/local/lib/python3.11/site-packages/ansible_collections
Collection Version
----------------------------- -------
amazon.aws 6.0.1
ansible.netcommon 5.1.1
ansible.posix 1.5.4
ansible.utils 2.10.3
ansible.windows 1.14.0
arista.eos 6.0.1
awx.awx 22.2.0
azure.azcollection 1.15.0
check_point.mgmt 5.0.0
chocolatey.chocolatey 1.4.0
cisco.aci 2.6.0
cisco.asa 4.0.0
cisco.dnac 6.7.2
cisco.intersight 1.0.27
cisco.ios 4.5.0
cisco.iosxr 5.0.2
cisco.ise 2.5.12
cisco.meraki 2.15.1
cisco.mso 2.4.0
cisco.nso 1.0.3
cisco.nxos 4.3.0
cisco.ucs 1.8.0
cloud.common 2.1.3
cloudscale_ch.cloud 2.2.4
community.aws 6.0.0
community.azure 2.0.0
community.ciscosmb 1.0.5
community.crypto 2.13.1
community.digitalocean 1.23.0
community.dns 2.5.4
community.docker 3.4.6
community.fortios 1.0.0
community.general 7.0.1
community.google 1.0.0
community.grafana 1.5.4
community.hashi_vault 5.0.0
community.hrobot 1.8.0
community.libvirt 1.2.0
community.mongodb 1.5.2
community.mysql 3.7.1
community.network 5.0.0
community.okd 2.3.0
community.postgresql 2.4.1
community.proxysql 1.5.1
community.rabbitmq 1.2.3
community.routeros 2.8.0
community.sap 1.0.0
community.sap_libs 1.4.1
community.skydive 1.0.0
community.sops 1.6.1
community.vmware 3.6.0
community.windows 1.13.0
community.zabbix 2.0.0
containers.podman 1.10.1
cyberark.conjur 1.2.0
cyberark.pas 1.0.19
dellemc.enterprise_sonic 2.0.0
dellemc.openmanage 7.5.0
dellemc.powerflex 1.6.0
dellemc.unity 1.6.0
f5networks.f5_modules 1.24.0
fortinet.fortimanager 2.1.7
fortinet.fortios 2.2.3
frr.frr 2.0.2
gluster.gluster 1.0.2
google.cloud 1.1.3
grafana.grafana 2.0.0
hetzner.hcloud 1.11.0
hpe.nimble 1.1.4
ibm.qradar 2.1.0
ibm.spectrum_virtualize 1.12.0
infinidat.infinibox 1.3.12
infoblox.nios_modules 1.5.0
inspur.ispim 1.3.0
inspur.sm 2.3.0
junipernetworks.junos 5.1.0
kubernetes.core 2.4.0
lowlydba.sqlserver 2.0.0
microsoft.ad 1.1.0
netapp.aws 21.7.0
netapp.azure 21.10.0
netapp.cloudmanager 21.22.0
netapp.elementsw 21.7.0
netapp.ontap 22.6.0
netapp.storagegrid 21.11.1
netapp.um_info 21.8.0
netapp_eseries.santricity 1.4.0
netbox.netbox 3.13.0
ngine_io.cloudstack 2.3.0
ngine_io.exoscale 1.0.0
ngine_io.vultr 1.1.3
openstack.cloud 2.1.0
openvswitch.openvswitch 2.1.1
ovirt.ovirt 3.1.2
purestorage.flasharray 1.18.0
purestorage.flashblade 1.11.0
purestorage.fusion 1.4.2
sensu.sensu_go 1.13.2
servicenow.servicenow 1.0.6
splunk.es 2.1.0
t_systems_mms.icinga_director 1.32.2
theforeman.foreman 3.10.0
vmware.vmware_rest 2.3.1
vultr.cloud 1.7.1
vyos.vyos 4.0.2
wti.remote 1.0.4
AWS SDK versions
$ pip show boto boto3 botocore
WARNING: Package(s) not found: boto
Name: boto3
Version: 1.24.35
Summary: The AWS SDK for Python
Home-page: https://github.com/boto/boto3
Author: Amazon Web Services
Author-email:
License: Apache License 2.0
Location: /usr/local/lib/python3.11/site-packages
Requires: botocore, jmespath, s3transfer
Required-by:
---
Name: botocore
Version: 1.27.96
Summary: Low-level, data-driven core of boto 3.
Home-page: https://github.com/boto/botocore
Author: Amazon Web Services
Author-email:
License: Apache License 2.0
Location: /usr/local/lib/python3.11/site-packages
Requires: jmespath, python-dateutil, urllib3
Required-by: boto3, s3transfer
Configuration
$ ansible-config dump --only-changed
ANSIBLE_PIPELINING(/Users/jobim/myrepo/ansible.cfg) = True
COLLECTIONS_PATHS(/Users/jobim/myrepo/ansible.cfg) = ['/Users/jobim/myrepo/.galaxy_collections']
CONFIG_FILE() = /Users/jobim/myrepo/ansible.cfg
DEFAULT_ROLES_PATH(/Users/jobim/myrepo/ansible.cfg) = ['/Users/jobim/myrepo/.galaxy_roles']
DEPRECATION_WARNINGS(/Users/jobim/myrepo/ansible.cfg) = False
EDITOR(env: EDITOR) = subl -w
RETRY_FILES_ENABLED(/Users/jobim/myrepo/ansible.cfg) = False
OS / Environment
macOS Ventura 13.5.2
$ session-manager-plugin --version
1.2.463.0
Steps to Reproduce
provision_threatstack.yml
---
- name: "Install threatstack agents on server"
hosts: all
roles:
- role: threatstack.threatstack-ansible
threatstack_pkg: "threatstack-agent=3*"
become: yes
ssm.aws_ec2.yml
---
plugin: amazon.aws.aws_ec2
cache: no
cache_plugin: ansible.builtin.jsonfile
cache_timeout: 3600
cache_connection: /tmp/aws_inventory
cache_prefix: legacy_prod_aws_ec2
compose:
ansible_connection: '"community.aws.aws_ssm"'
ansible_aws_ssm_bucket_name: '"foobar"'
ansible_host: instance_id
regions:
- us-east-1
filters:
instance-state-name: running
remote /etc/sudoers.d/enforce-password
%my-group ALL=ALL
Configure SSM RunAs. In my example below my AWS user ([email protected]) is mapped to a Linux user (jobimrobinsantos) on the target:
$ aws ssm start-session --target i-00000000000000000
Starting session with SessionId: [email protected]
$ whoami
jobimrobinsantos
$ sudo echo hello
[sudo] password for jobimrobinsantos:
hello
Expected Results
I expect the password that I supplied at runtime to be passed successfully to the remote host so that it can complete the Gathering Facts steps. I have confirmed that the password I supplied works on the host in question by running an SSM session outside of ansible and running a test sudo
command.
Actual Results
$ ansible-playbook -i ssm.aws_ec2.yml provision_threatstack.yml --limit fooinstance -vvvv -K
ansible-playbook [core 2.15.0]
config file = /Users/jobim/myrepo/ansible.cfg
configured module search path = ['/Users/jobim/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python3.11/site-packages/ansible
ansible collection location = /Users/jobim/myrepo/.galaxy_collections
executable location = /usr/local/bin/ansible-playbook
python version = 3.11.5 (main, Aug 24 2023, 15:18:16) [Clang 14.0.3 (clang-1403.0.22.14.1)] (/usr/local/opt/[email protected]/bin/python3.11)
jinja version = 3.1.2
libyaml = True
Using /Users/jobim/myrepo/ansible.cfg as config file
BECOME password:
setting up inventory plugins
Loading collection ansible.builtin from
host_list declined parsing /Users/jobim/myrepo/ssm.aws_ec2.yml as it did not pass its verify_file() method
script declined parsing /Users/jobim/myrepo/ssm.aws_ec2.yml as it did not pass its verify_file() method
Loading collection amazon.aws from /Users/jobim/myrepo/.galaxy_collections/ansible_collections/amazon/aws
Using inventory plugin 'ansible_collections.amazon.aws.plugins.inventory.aws_ec2' to process inventory source '/Users/jobim/myrepo/ssm.aws_ec2.yml'
Parsed /Users/jobim/myrepo/ssm.aws_ec2.yml inventory source with auto plugin
statically imported: /Users/jobim/myrepo/.galaxy_roles/threatstack.threatstack-ansible/tasks/pkg_url.yml
statically imported: /Users/jobim/myrepo/.galaxy_roles/threatstack.threatstack-ansible/tasks/disable_auditd.yml
statically imported: /Users/jobim/myrepo/.galaxy_roles/threatstack.threatstack-ansible/tasks/apt_install.yml
statically imported: /Users/jobim/myrepo/.galaxy_roles/threatstack.threatstack-ansible/tasks/yum_install.yml
statically imported: /Users/jobim/myrepo/.galaxy_roles/threatstack.threatstack-ansible/tasks/tsagent_setup.yml
Loading callback plugin default of type stdout, v2.0 from /usr/local/lib/python3.11/site-packages/ansible/plugins/callback/default.py
Skipping callback 'default', as we already have a stdout callback.
Skipping callback 'minimal', as we already have a stdout callback.
Skipping callback 'oneline', as we already have a stdout callback.
PLAYBOOK: provision_threatstack.yml ****************************************************************************************************************************
Positional arguments: provision_threatstack.yml
verbosity: 4
connection: smart
timeout: 10
become_method: sudo
become_ask_pass: True
tags: ('all',)
inventory: ('/Users/jobim/myrepo/ssm.aws_ec2.yml',)
subset: fooinstance
forks: 5
1 plays in provision_threatstack.yml
PLAY [Install threatstack agents on server] ********************************************************************************************************************
TASK [Gathering Facts] *****************************************************************************************************************************************
task path: /Users/jobim/myrepo/provision_threatstack.yml:3
Loading collection community.aws from /Users/jobim/myrepo/.galaxy_collections/ansible_collections/community/aws
<i-00000000000000000> ESTABLISH SSM CONNECTION TO: i-00000000000000000
<i-00000000000000000> INITIALIZE BOTO3 CLIENTS
<i-00000000000000000> SETUP BOTO3 CLIENTS: SSM
<i-00000000000000000> _get_bucket_endpoint: S3 (global)
<i-00000000000000000> _get_bucket_endpoint: S3 (bucket region) - None
<i-00000000000000000> SETUP BOTO3 CLIENTS: S3 https://s3.amazonaws.com
<i-00000000000000000> START SSM SESSION: i-00000000000000000
<i-00000000000000000> SSM COMMAND: [REDACTED]
<i-00000000000000000> PRE stdout line:
b'\r\nStarting session with SessionId: [email protected]\r\n'
<i-00000000000000000> PRE startup output received
<i-00000000000000000> PRE Disabling Echo: b'stty -echo\n'
<i-00000000000000000> PRE remaining: 60
<i-00000000000000000> PRE stdout line:
b'\r\nStarting session with SessionId: [email protected]\r\n$ '
<i-00000000000000000> PRE stdout line:
b'\r\nStarting session with SessionId: [email protected]\r\n$ stty -echo\r\r\n'
<i-00000000000000000> PRE Disabling Prompt:
b"PS1='' ; printf '\\n%s\\n' 'fNsFBrmbbHlizUtpRyGkOvnayy'\n"
<i-00000000000000000> PRE stdout line:
b'\r\nStarting session with SessionId: [email protected]\r\n$ stty -echo\r\r\n$ '
<i-00000000000000000> PRE stdout line:
b'\r\nStarting session with SessionId: [email protected]\r\n$ stty -echo\r\r\n$ \r\r\nfNsFBrmbbHlizUtpRyGkOvnayy\r\r\n'
<i-00000000000000000> PRE Terminal configured
<i-00000000000000000> SSM CONNECTION ID: [email protected]
<i-00000000000000000> EXEC: echo ~
<i-00000000000000000> _wrap_command:
'printf '%s\n' 'zUTjlbpuYyrHzUKtjebhEeAUTn';
echo | echo ~;
printf '\n%s\n%s\n' "$?" 'orpSTvAMbiobsOXrlPcwZDOgfB';
'
<i-00000000000000000> EXEC stdout line:
zUTjlbpuYyrHzUKtjebhEeAUTn
<i-00000000000000000> EXEC stdout line:
/home/jobimrobinsantos
<i-00000000000000000> EXEC stdout line:
<i-00000000000000000> EXEC stdout line:
0
<i-00000000000000000> EXEC stdout line:
orpSTvAMbiobsOXrlPcwZDOgfB
<i-00000000000000000> POST_PROCESS:
/home/jobimrobinsantos
0
<i-00000000000000000> POST_PROCESSED:
/home/jobimrobinsantos
<i-00000000000000000> ssm_retry: (success) (0, '/home/jobimrobinsantos\r\r', '')
<i-00000000000000000> EXEC: ( umask 77 && mkdir -p "` echo /home/jobimrobinsantos/.ansible/tmp `"&& mkdir "` echo /home/jobimrobinsantos/.ansible/tmp/ansible-tmp-1695138386.337145-64857-126928729766955 `" && echo ansible-tmp-1695138386.337145-64857-126928729766955="` echo /home/jobimrobinsantos/.ansible/tmp/ansible-tmp-1695138386.337145-64857-126928729766955 `" )
<i-00000000000000000> _wrap_command:
'printf '%s\n' 'ycuTwCkaWGirYyPgFjJbIWHXgH';
echo | ( umask 77 && mkdir -p "` echo /home/jobimrobinsantos/.ansible/tmp `"&& mkdir "` echo /home/jobimrobinsantos/.ansible/tmp/ansible-tmp-1695138386.337145-64857-126928729766955 `" && echo ansible-tmp-1695138386.337145-64857-126928729766955="` echo /home/jobimrobinsantos/.ansible/tmp/ansible-tmp-1695138386.337145-64857-126928729766955 `" );
printf '\n%s\n%s\n' "$?" 'PdbteuVEsSqKABLXhIESMpUgLD';
'
<i-00000000000000000> EXEC stdout line:
ycuTwCkaWGirYyPgFjJbIWHXgH
<i-00000000000000000> EXEC stdout line:
ansible-tmp-1695138386.337145-64857-126928729766955=/home/jobimrobinsantos/.ansible/tmp/ansible-tmp-1695138386.337145-64857-126928729766955
<i-00000000000000000> EXEC stdout line:
<i-00000000000000000> EXEC stdout line:
0
<i-00000000000000000> EXEC stdout line:
PdbteuVEsSqKABLXhIESMpUgLD
<i-00000000000000000> POST_PROCESS:
ansible-tmp-1695138386.337145-64857-126928729766955=/home/jobimrobinsantos/.ansible/tmp/ansible-tmp-1695138386.337145-64857-126928729766955
0
<i-00000000000000000> POST_PROCESSED:
ansible-tmp-1695138386.337145-64857-126928729766955=/home/jobimrobinsantos/.ansible/tmp/ansible-tmp-1695138386.337145-64857-126928729766955
<i-00000000000000000> ssm_retry: (success) (0, 'ansible-tmp-1695138386.337145-64857-126928729766955=/home/jobimrobinsantos/.ansible/tmp/ansible-tmp-1695138386.337145-64857-126928729766955\r\r', '')
<fooinstance> Attempting python interpreter discovery
<i-00000000000000000> EXEC: echo PLATFORM; uname; echo FOUND; command -v 'python3.11'; command -v 'python3.10'; command -v 'python3.9'; command -v 'python3.8'; command -v 'python3.7'; command -v 'python3.6'; command -v 'python3.5'; command -v '/usr/bin/python3'; command -v '/usr/libexec/platform-python'; command -v 'python2.7'; command -v '/usr/bin/python'; command -v 'python'; echo ENDFOUND
<i-00000000000000000> _wrap_command:
'printf '%s\n' 'cdollSRJMQLbUMNZFrTTbLBDpj';
echo | echo PLATFORM; uname; echo FOUND; command -v 'python3.11'; command -v 'python3.10'; command -v 'python3.9'; command -v 'python3.8'; command -v 'python3.7'; command -v 'python3.6'; command -v 'python3.5'; command -v '/usr/bin/python3'; command -v '/usr/libexec/platform-python'; command -v 'python2.7'; command -v '/usr/bin/python'; command -v 'python'; echo ENDFOUND;
printf '\n%s\n%s\n' "$?" 'CmLAhHQUGzEpOrLySkKZQIgSXc';
'
<i-00000000000000000> EXEC stdout line:
cdollSRJMQLbUMNZFrTTbLBDpj
<i-00000000000000000> EXEC stdout line:
PLATFORM
<i-00000000000000000> EXEC stdout line:
Linux
<i-00000000000000000> EXEC stdout line:
FOUND
<i-00000000000000000> EXEC stdout line:
/usr/bin/python3.8
<i-00000000000000000> EXEC stdout line:
/usr/bin/python3
<i-00000000000000000> EXEC stdout line:
/usr/bin/python2.7
<i-00000000000000000> EXEC stdout line:
ENDFOUND
<i-00000000000000000> EXEC stdout line:
<i-00000000000000000> EXEC stdout line:
0
<i-00000000000000000> EXEC stdout line:
CmLAhHQUGzEpOrLySkKZQIgSXc
<i-00000000000000000> POST_PROCESS:
PLATFORM
Linux
FOUND
/usr/bin/python3.8
/usr/bin/python3
/usr/bin/python2.7
ENDFOUND
0
<i-00000000000000000> POST_PROCESSED:
PLATFORM
Linux
FOUND
/usr/bin/python3.8
/usr/bin/python3
/usr/bin/python2.7
ENDFOUND
<i-00000000000000000> ssm_retry: (success) (0, 'PLATFORM\r\r\nLinux\r\r\nFOUND\r\r\n/usr/bin/python3.8\r\r\n/usr/bin/python3\r\r\n/usr/bin/python2.7\r\r\nENDFOUND\r\r', '')
<fooinstance> Python interpreter discovery fallback (pipelining support required for extended interpreter discovery)
Using module file /usr/local/lib/python3.11/site-packages/ansible/modules/setup.py
<i-00000000000000000> PUT /Users/jobim/.ansible/tmp/ansible-local-648548dk3335j/tmpwdrit9qi TO /home/jobimrobinsantos/.ansible/tmp/ansible-tmp-1695138386.337145-64857-126928729766955/AnsiballZ_setup.py
<i-00000000000000000> EXEC: curl -o '/home/jobimrobinsantos/.ansible/tmp/ansible-tmp-1695138386.337145-64857-126928729766955/AnsiballZ_setup.py' 'REDACTED'
<i-00000000000000000> _wrap_command:
'printf '%s\n' 'cphADnxVjXvTOZAESONKYVlLCv';
echo | curl -o '/home/jobimrobinsantos/.ansible/tmp/ansible-tmp-1695138386.337145-64857-126928729766955/AnsiballZ_setup.py' 'REDACTED';
printf '\n%s\n%s\n' "$?" 'rEPSPdaMyrLnAzpwXRbzorrxdH';
'
<i-00000000000000000> EXEC stdout line:
cphADnxVjXvTOZAESONKYVlLCv
<i-00000000000000000> EXEC stdout line:
% Total % Received % Xferd Average Speed Time Time Time Current
<i-00000000000000000> EXEC stdout line:
Dload Upload Total Spent Left Speed
<i-00000000000000000> EXEC stdout line:
100 289k 100 289k 0 0 4674k 0 --:--:-- --:--:-- --:--:-- 4674k
<i-00000000000000000> EXEC stdout line:
<i-00000000000000000> EXEC stdout line:
0
<i-00000000000000000> EXEC stdout line:
rEPSPdaMyrLnAzpwXRbzorrxdH
<i-00000000000000000> POST_PROCESS:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 289k 100 289k 0 0 4674k 0 --:--:-- --:--:-- --:--:-- 4674k
0
<i-00000000000000000> POST_PROCESSED:
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 289k 100 289k 0 0 4674k 0 --:--:-- --:--:-- --:--:-- 4674k
<i-00000000000000000> ssm_retry: (success) (0, ' % Total % Received % Xferd Average Speed Time Time Time Current\r\r\n Dload Upload Total Spent Left Speed\r\r\n\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\r100 289k 100 289k 0 0 4674k 0 --:--:-- --:--:-- --:--:-- 4674k\r\r', '')
<i-00000000000000000> EXEC: touch '/home/jobimrobinsantos/.ansible/tmp/ansible-tmp-1695138386.337145-64857-126928729766955/AnsiballZ_setup.py'
<i-00000000000000000> _wrap_command:
'printf '%s\n' 'GKCRMkpLsdWFDlouJFxjSHhcdP';
echo | touch '/home/jobimrobinsantos/.ansible/tmp/ansible-tmp-1695138386.337145-64857-126928729766955/AnsiballZ_setup.py';
printf '\n%s\n%s\n' "$?" 'dqYPCDJshMVaWTmcJyMZesBLuy';
'
<i-00000000000000000> EXEC stdout line:
GKCRMkpLsdWFDlouJFxjSHhcdP
<i-00000000000000000> EXEC stdout line:
<i-00000000000000000> EXEC stdout line:
0
<i-00000000000000000> EXEC stdout line:
dqYPCDJshMVaWTmcJyMZesBLuy
<i-00000000000000000> POST_PROCESS:
0
<i-00000000000000000> POST_PROCESSED:
<i-00000000000000000> ssm_retry: (success) (0, '\r', '')
<i-00000000000000000> ssm_retry: (success) (0, ' % Total % Received % Xferd Average Speed Time Time Time Current\r\r\n Dload Upload Total Spent Left Speed\r\r\n\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\r100 289k 100 289k 0 0 4674k 0 --:--:-- --:--:-- --:--:-- 4674k\r\r\r', '')
<i-00000000000000000> EXEC: chmod u+x /home/jobimrobinsantos/.ansible/tmp/ansible-tmp-1695138386.337145-64857-126928729766955/ /home/jobimrobinsantos/.ansible/tmp/ansible-tmp-1695138386.337145-64857-126928729766955/AnsiballZ_setup.py
<i-00000000000000000> _wrap_command:
'printf '%s\n' 'zhImyjHkocjNccwbEzRXEjOUwy';
echo | chmod u+x /home/jobimrobinsantos/.ansible/tmp/ansible-tmp-1695138386.337145-64857-126928729766955/ /home/jobimrobinsantos/.ansible/tmp/ansible-tmp-1695138386.337145-64857-126928729766955/AnsiballZ_setup.py;
printf '\n%s\n%s\n' "$?" 'VzZdHWjXlUwBcGTwERcnGntidc';
'
<i-00000000000000000> EXEC stdout line:
zhImyjHkocjNccwbEzRXEjOUwy
<i-00000000000000000> EXEC stdout line:
<i-00000000000000000> EXEC stdout line:
0
<i-00000000000000000> EXEC stdout line:
VzZdHWjXlUwBcGTwERcnGntidc
<i-00000000000000000> POST_PROCESS:
0
<i-00000000000000000> POST_PROCESSED:
<i-00000000000000000> ssm_retry: (success) (0, '\r', '')
<i-00000000000000000> EXEC: /usr/bin/python3.8 /home/jobimrobinsantos/.ansible/tmp/ansible-tmp-1695138386.337145-64857-126928729766955/AnsiballZ_setup.py
<i-00000000000000000> _wrap_command:
'printf '%s\n' 'evrISaRFAkGHAdgEPzBfYkpTdo';
echo | sudo /usr/bin/python3.8 /home/jobimrobinsantos/.ansible/tmp/ansible-tmp-1695138386.337145-64857-126928729766955/AnsiballZ_setup.py;
printf '\n%s\n%s\n' "$?" 'qGyLRvaZaLfQwxVXKTqDjeUZje';
'
<i-00000000000000000> EXEC stdout line:
evrISaRFAkGHAdgEPzBfYkpTdo
<i-00000000000000000> EXEC stdout line:
[sudo] password for jobimrobinsantos:
<i-00000000000000000> EXEC remaining: 60
<i-00000000000000000> EXEC remaining: 59
<i-00000000000000000> EXEC stdout line:
Sorry, try again.
### At this point I waited for a few minutes before breaking the process ###
^C<i-00000000000000000> EXEC: rm -f -r /home/jobimrobinsantos/.ansible/tmp/ansible-tmp-1695138386.337145-64857-126928729766955/ > /dev/null 2>&1
<i-00000000000000000> _wrap_command:
'printf '%s\n' 'SLotKgQRgRFXJOffvykknpFFrk';
echo | rm -f -r /home/jobimrobinsantos/.ansible/tmp/ansible-tmp-1695138386.337145-64857-126928729766955/ > /dev/null 2>&1;
printf '\n%s\n%s\n' "$?" 'KmfvxKqHPzhMtyJLeBFanBhsjv';
'
[ERROR]: User interrupted execution
Code of Conduct
- [X] I agree to follow the Ansible Code of Conduct