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.