Thanks for stepping in to help.

I did run sudo yum update -y directly in one of my hosts, and everything 
went well.

Also, I created the following playbook and surprisingly it works:

- hosts: all
gather_facts: no
tasks:
- name: YUM | Get available package updates
yum:
list: updates
register: yum_available_package_updates
- name: YUM | Update packages
yum:
name: "{{ yum_available_package_updates.results | map(attribute='name') | 
list }}"
state: 'latest'
register: yum_upgrade
- name: YUM | Reboot after packages updates
when:
- yum_upgrade.changed
reboot:

However, if I use it as an ansible role, like so:

---
- name: YUM | Get available package updates
yum:
list: updates
register: yum_available_package_updates
- name: YUM | Update packages
yum:
name: "{{ yum_available_package_updates.results | map(attribute='name') | 
list }}"
state: 'latest'
register: yum_upgrade
- name: YUM | Reboot after packages updates
when:
- yum_upgrade.changed or system_upgrade_reboot == 'always'
- system_upgrade_reboot != 'never'
reboot: 

It doesn’t work (well, the system does get updated but the yum module hangs 
and the role ends up in error).

For sake of completeness, this started as an issue with a new role added to 
Kubespray <https://github.com/kubernetes-sigs/kubespray/pull/10184>. There 
are other details in the latest pull request comments that could help to 
get the full picture. But in the end, even with a “raw” ansible command, 
the issue persist, so I don’t think this is specifically related to 
Kubespray.

Le mercredi 9 août 2023 à 22:23:36 UTC+2, Evan Hisey a écrit :

Check the host and see what happens on a full manual update. I have had 
issues with ansible when the yum command was hanging on a host do to a 
local issue with updating. Single packages were fine, but a full host 
update failed. I had to resolve the full update issue on the host. 

On Wed, Aug 9, 2023 at 3:14 PM Nicolas Goudry <nic...@kubolabs.io> wrote:

I’m trying to perform a full system update with the `yum` module but 
ansible just hangs for a little bit more than an hour before failing.

Here is the command I’m using:

ansible all -u node-user -b --become-user=root -i exec/inventory -m yum -a 
'name=* state=latest' -vvvv --limit=worker1

Here is the output (redacted):

ansible [core 2.12.5]
  config file = /home/nicolas/test-upgrade-os/ansible.cfg
  configured module search path = 
['/home/nicolas/.ansible/plugins/modules', 
'/usr/share/ansible/plugins/modules']
  ansible python module location = 
/home/nicolas/test-upgrade-os/config/venv/lib64/python3.8/site-packages/ansible
  ansible collection location = 
/home/nicolas/.ansible/collections:/usr/share/ansible/collections
  executable location = ./config/venv/bin/ansible
  python version = 3.8.16 (default, Jun 25 2023, 05:53:51) [GCC 8.5.0 
20210514 (Red Hat 8.5.0-18)]
  jinja version = 3.1.2
  libyaml = True
Using /home/nicolas/test-upgrade-os/ansible.cfg as config file
setting up inventory plugins
host_list declined parsing /home/nicolas/test-upgrade-os/exec/inventory as 
it did not pass its verify_file() method
script declined parsing /home/nicolas/test-upgrade-os/exec/inventory as it 
did not pass its verify_file() method
auto declined parsing /home/nicolas/test-upgrade-os/exec/inventory as it 
did not pass its verify_file() method
Parsed /home/nicolas/test-upgrade-os/exec/inventory inventory source with 
ini plugin
Loading callback plugin minimal of type stdout, v2.0 from 
/home/nicolas/test-upgrade-os/config/venv/lib64/python3.8/site-packages/ansible/plugins/callback/minimal.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.
META: ran handlers
<10.10.0.101> ESTABLISH SSH CONNECTION FOR USER: node-user
<10.10.0.101> SSH: EXEC ssh -vvv -C -o ControlMaster=auto -o 
ControlPersist=60s -o KbdInteractiveAuthentication=no -o 
PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey 
-o PasswordAuthentication=no -o 'User="node-user"' -o ConnectTimeout=10 -q 
-o UserKnownHostsFile=ssh/known_hosts -i ssh/node-user -o 'ProxyCommand=ssh 
-q -o UserKnownHostsFile=ssh/known_hosts -i ssh/bastion-user -W %h:%p -p22 
bastio...@W.X.Y.Z' -o 
'ControlPath="/home/nicolas/test-upgrade-os/config/ansible/cp/09896940d7"' 
10.10.0.101 '/bin/sh -c '"'"'echo ~node-user && sleep 0'"'"''
<10.10.0.101> (0, b'/home/node-user\n', b'')
<10.10.0.101> ESTABLISH SSH CONNECTION FOR USER: node-user
<10.10.0.101> SSH: EXEC ssh -vvv -C -o ControlMaster=auto -o 
ControlPersist=60s -o KbdInteractiveAuthentication=no -o 
PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey 
-o PasswordAuthentication=no -o 'User="node-user"' -o ConnectTimeout=10 -q 
-o UserKnownHostsFile=ssh/known_hosts -i ssh/node-user -o 'ProxyCommand=ssh 
-q -o UserKnownHostsFile=ssh/known_hosts -i ssh/bastion-user -W %h:%p -p22 
bastio...@W.X.Y.Z' -o 
'ControlPath="/home/nicolas/test-upgrade-os/config/ansible/cp/09896940d7"' 
10.10.0.101 '/bin/sh -c '"'"'( umask 77 && mkdir -p "` echo 
/home/node-user/.ansible/tmp `"&& mkdir "` echo 
/home/node-user/.ansible/tmp/ansible-tmp-1691583637.8116903-3768362-148267575047576
 
`" && echo ansible-tmp-1691583637.8116903-3768362-148267575047576="` echo 
/home/node-user/.ansible/tmp/ansible-tmp-1691583637.8116903-3768362-148267575047576
 
`" ) && sleep 0'"'"''
<10.10.0.101> (0, 
b'ansible-tmp-1691583637.8116903-3768362-148267575047576=/home/node-user/.ansible/tmp/ansible-tmp-1691583637.8116903-3768362-148267575047576\n',
 
b'')
<worker1> Attempting python interpreter discovery
<10.10.0.101> ESTABLISH SSH CONNECTION FOR USER: node-user
<10.10.0.101> SSH: EXEC ssh -vvv -C -o ControlMaster=auto -o 
ControlPersist=60s -o KbdInteractiveAuthentication=no -o 
PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey 
-o PasswordAuthentication=no -o 'User="node-user"' -o ConnectTimeout=10 -q 
-o UserKnownHostsFile=ssh/known_hosts -i ssh/node-user -o 'ProxyCommand=ssh 
-q -o UserKnownHostsFile=ssh/known_hosts -i ssh/bastion-user -W %h:%p -p22 
bastio...@W.X.Y.Z' -o 
'ControlPath="/home/nicolas/test-upgrade-os/config/ansible/cp/09896940d7"' 
10.10.0.101 '/bin/sh -c '"'"'echo PLATFORM; uname; echo FOUND; 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 
'"'"'"'"'"'"'"'"'python2.6'"'"'"'"'"'"'"'"'; command -v 
'"'"'"'"'"'"'"'"'/usr/bin/python'"'"'"'"'"'"'"'"'; command -v 
'"'"'"'"'"'"'"'"'python'"'"'"'"'"'"'"'"'; echo ENDFOUND && sleep 0'"'"''
<10.10.0.101> (0, 
b'PLATFORM\nLinux\nFOUND\n/usr/libexec/platform-python\nENDFOUND\n', b'')
<10.10.0.101> ESTABLISH SSH CONNECTION FOR USER: node-user
<10.10.0.101> SSH: EXEC ssh -vvv -C -o ControlMaster=auto -o 
ControlPersist=60s -o KbdInteractiveAuthentication=no -o 
PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey 
-o PasswordAuthentication=no -o 'User="node-user"' -o ConnectTimeout=10 -q 
-o UserKnownHostsFile=ssh/known_hosts -i ssh/node-user -o 'ProxyCommand=ssh 
-q -o UserKnownHostsFile=ssh/known_hosts -i ssh/bastion-user -W %h:%p -p22 
bastio...@W.X.Y.Z' -o 
'ControlPath="/home/nicolas/test-upgrade-os/config/ansible/cp/09896940d7"' 
10.10.0.101 '/bin/sh -c '"'"'/usr/libexec/platform-python && sleep 0'"'"''
<10.10.0.101> (0, b'{"platform_dist_result": ["centos", "8.5", "Green 
Obsidian"], "osrelease_content": "NAME=\\"Rocky Linux\\"\\nVERSION=\\"8.5 
(Green Obsidian)\\"\\nID=\\"rocky\\"\\nID_LIKE=\\"rhel centos 
fedora\\"\\nVERSION_ID=\\"8.5\\"\\nPLATFORM_ID=\\"platform:el8\\"\\nPRETTY_NAME=\\"Rocky
 
Linux 8.5 (Green 
Obsidian)\\"\\nANSI_COLOR=\\"0;32\\"\\nCPE_NAME=\\"cpe:/o:rocky:rocky:8:GA\\"\\nHOME_URL=\\"
https://rockylinux.org/\\"\\nBUG_REPORT_URL=\\";
https://bugs.rockylinux.org/\\"\\nROCKY_SUPPORT_PRODUCT=\\"Rocky 
Linux\\"\\nROCKY_SUPPORT_PRODUCT_VERSION=\\"8\\"\\n"}\n', b'')
Using module file 
/home/nicolas/test-upgrade-os/config/venv/lib64/python3.8/site-packages/ansible/modules/setup.py
<10.10.0.101> PUT 
/home/nicolas/test-upgrade-os/config/ansible/tmp/ansible-local-3768356wtqis0tq/tmpy4qpsqz0
 
TO 
/home/node-user/.ansible/tmp/ansible-tmp-1691583637.8116903-3768362-148267575047576/AnsiballZ_setup.py
<10.10.0.101> SSH: EXEC sftp -b - -vvv -C -o ControlMaster=auto -o 
ControlPersist=60s -o KbdInteractiveAuthentication=no -o 
PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey 
-o PasswordAuthentication=no -o 'User="k
ubonode"' -o ConnectTimeout=10 -q -o UserKnownHostsFile=ssh/known_hosts -i 
ssh/node-user -o 'ProxyCommand=ssh -q -o UserKnownHostsFile=ssh/known_hosts 
-i ssh/bastion-user -W %h:%p -p22 bastio...@W.X.Y.Z' -o 
'ControlPath="/home/nicolas/test-upgrade-os/config/ansible/cp/09896940d7"' 
'[10.10.0.101]'
<10.10.0.101> (0, b'sftp> put 
/home/nicolas/test-upgrade-os/config/ansible/tmp/ansible-local-3768356wtqis0tq/tmpy4qpsqz0
 
/home/node-user/.ansible/tmp/ansible-tmp-1691583637.8116903-3768362-148267575047576/AnsiballZ_setup.py\n',
 
b'')
<10.10.0.101> ESTABLISH SSH CONNECTION FOR USER: node-user
<10.10.0.101> SSH: EXEC ssh -vvv -C -o ControlMaster=auto -o 
ControlPersist=60s -o KbdInteractiveAuthentication=no -o 
PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey 
-o PasswordAuthentication=no -o 'User="node-user"' -o ConnectTimeout=10 -q 
-o UserKnownHostsFile=ssh/known_hosts -i ssh/node-user -o 'ProxyCommand=ssh 
-q -o UserKnownHostsFile=ssh/known_hosts -i ssh/bastion-user -W %h:%p -p22 
bastio...@W.X.Y.Z' -o 
'ControlPath="/home/nicolas/test-upgrade-os/config/ansible/cp/09896940d7"' 
10.10.0.101 '/bin/sh -c '"'"'chmod u+x 
/home/node-user/.ansible/tmp/ansible-tmp-1691583637.8116903-3768362-148267575047576/
 
/home/node-user/.ansible/tmp/ansible-tmp-1691583637.8116903-3768362-148267575047576/AnsiballZ_setup.py
 
&& sleep 0'"'"''
<10.10.0.101> (0, b'', b'')
<10.10.0.101> ESTABLISH SSH CONNECTION FOR USER: node-user
<10.10.0.101> SSH: EXEC ssh -vvv -C -o ControlMaster=auto -o 
ControlPersist=60s -o KbdInteractiveAuthentication=no -o 
PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey 
-o PasswordAuthentication=no -o 'User="node-user"' -o ConnectTimeout=10 -q 
-o UserKnownHostsFile=ssh/known_hosts -i ssh/node-user -o 'ProxyCommand=ssh 
-q -o UserKnownHostsFile=ssh/known_hosts -i ssh/bastion-user -W %h:%p -p22 
bastio...@W.X.Y.Z' -o 
'ControlPath="/home/nicolas/test-upgrade-os/config/ansible/cp/09896940d7"' 
-tt 10.10.0.101 '/bin/sh -c '"'"'sudo -H -S -n  -u root /bin/sh -c 
'"'"'"'"'"'"'"'"'echo BECOME-SUCCESS-ztvxikfxzuzwogfymzcnlpfaroxhooqg ; 
/usr/libexec/platform-python 
/home/node-user/.ansible/tmp/ansible-tmp-1691583637.8116903-3768362-148267575047576/AnsiballZ_setup.py'"'"'"'"'"'"'"'"'
 
&& sleep 0'"'"''
Escalation succeeded
<10.10.0.101> (0, b'\r\n{"ansible_facts": {"ansible_pkg_mgr": "dnf"}, 
"invocation": {"module_args": {"filter": ["ansible_pkg_mgr"], 
"gather_subset": ["!all"], "gather_timeout": 10, "fact_path": 
"/etc/ansible/facts.d"}}}\r\n', b'')
Running ansible.legacy.dnf as the backend for the yum action plugin
Using module file 
/home/nicolas/test-upgrade-os/config/venv/lib64/python3.8/site-packages/ansible/modules/dnf.py
<10.10.0.101> PUT 
/home/nicolas/test-upgrade-os/config/ansible/tmp/ansible-local-3768356wtqis0tq/tmpomw666d5
 
TO 
/home/node-user/.ansible/tmp/ansible-tmp-1691583637.8116903-3768362-148267575047576/AnsiballZ_dnf.py
<10.10.0.101> SSH: EXEC sftp -b - -vvv -C -o ControlMaster=auto -o 
ControlPersist=60s -o KbdInteractiveAuthentication=no -o 
PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey 
-o PasswordAuthentication=no -o 'User="node-user"' -o ConnectTimeout=10 -q 
-o UserKnownHostsFile=ssh/known_hosts -i ssh/node-user -o 'ProxyCommand=ssh 
-q -o UserKnownHostsFile=ssh/known_hosts -i ssh/bastion-user -W %h:%p -p22 
bastio...@W.X.Y.Z' -o 
'ControlPath="/home/nicolas/test-upgrade-os/config/ansible/cp/09896940d7"' 
'[10.10.0.101]'
<10.10.0.101> (0, b'sftp> put 
/home/nicolas/test-upgrade-os/config/ansible/tmp/ansible-local-3768356wtqis0tq/tmpomw666d5
 
/home/node-user/.ansible/tmp/ansible-tmp-1691583637.8116903-3768362-148267575047576/AnsiballZ_dnf.py\n',
 
b
'')
<10.10.0.101> ESTABLISH SSH CONNECTION FOR USER: node-user
<10.10.0.101> SSH: EXEC ssh -vvv -C -o ControlMaster=auto -o 
ControlPersist=60s -o KbdInteractiveAuthentication=no -o 
PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey 
-o PasswordAuthentication=no -o 'User="node-user"' -o ConnectTimeout=10 -q 
-o UserKnownHostsFile=ssh/known_hosts -i ssh/node-user -o 'ProxyCommand=ssh 
-q -o UserKnownHostsFile=ssh/known_hosts -i ssh/bastion-user -W %h:%p -p22 
bastio...@W.X.Y.Z' -o 
'ControlPath="/home/nicolas/test-upgrade-os/config/ansible/cp/09896940d7"' 
10.10.0.101 '/bin/sh -c '"'"'chmod u+x 
/home/node-user/.ansible/tmp/ansible-tmp-1691583637.8116903-3768362-148267575047576/
 
/home/node-user/.ansible/tmp/ansible-tmp-1691583637.8116903-3768362-148267575047576/AnsiballZ_dnf.py
 
&& sleep 0'"'"''
<10.10.0.101> (0, b'', b'')
<10.10.0.101> ESTABLISH SSH CONNECTION FOR USER: node-user
<10.10.0.101> SSH: EXEC ssh -vvv -C -o ControlMaster=auto -o 
ControlPersist=60s -o KbdInteractiveAuthentication=no -o 
PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey 
-o PasswordAuthentication=no -o 'User="node-user"' -o ConnectTimeout=10 -q 
-o UserKnownHostsFile=ssh/known_hosts -i ssh/node-user -o 'ProxyCommand=ssh 
-q -o UserKnownHostsFile=ssh/known_hosts -i ssh/bastion-user -W %h:%p -p22 
bastio...@W.X.Y.Z' -o 
'ControlPath="/home/nicolas/test-upgrade-os/config/ansible/cp/09896940d7"' 
-tt 10.10.0.101 '/bin/sh -c '"'"'sudo -H -S -n  -u root /bin/sh -c 
'"'"'"'"'"'"'"'"'echo BECOME-SUCCESS-gjdfwphkqonajiudmalgairdspobkjad ; 
/usr/libexec/platform-python 
/home/node-user/.ansible/tmp/ansible-tmp-1691583637.8116903-3768362-148267575047576/AnsiballZ_dnf.py'"'"'"'"'"'"'"'"'
 
&& sleep 0'"'"''
Escalation succeeded

Before running ansible, I ssh'ed in the node and ran:

watch "ps -aux | grep ansible"

While ansible was performing the yum update, I saw the process 
/usr/libexec/platform-python 
/home/node-user/.ansible/tmp/ansible-tmp-1691583637.8116903-3768362-148267575047576/AnsiballZ_dnf.py
 was 
running for about 10-15 minutes and when it had disappear, ansible kept 
running for more than an hour before failing with the following error:

worker1 | UNREACHABLE! => {
    "changed": false,
    "msg": "Failed to connect to the host via ssh: ",
    "unreachable": true
}

I tried using the dnf and package modules, which gave the exact same 
results.

 I tried updating a single package (tar) and it worked with yum, dnf and 
package modules.

I’m running ansible on a Rocky Linux 8 machine with python 3.8.16. The 
worker1 machine is also using Rocky Linux 8 and the output of 
/usr/libexec/platform-python 
--version is Python 3.6.8.

Should I file an issue in the ansible github repo for this matter ? Or am I 
doing something wrong ?

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an 
email to ansible-proje...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/fa63bd90-69d7-494f-a494-0743de6c314an%40googlegroups.com
 
<https://groups.google.com/d/msgid/ansible-project/fa63bd90-69d7-494f-a494-0743de6c314an%40googlegroups.com?utm_medium=email&utm_source=footer>
.

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ansible-project+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/33abb936-151f-4bf4-940c-f1bb48b8b5b0n%40googlegroups.com.

Reply via email to