Ansible 版本:ansible 2.9.6 远程服务器:“Debian GNU/Linux 10 (buster)” Ansible 模块:apt
我在 2 个 Debian 10 节点上运行一个简单的剧本。我在两个节点上都安装了 Debian 10 和一个 ansible 剧本。
之后,我在剧本中运行下一个角色:
- name: First, check if any package needs to be reconfigured
command: >-
dpkg --configure -a
ignore_errors: true
- import_tasks: remove_apt_repository.yml
tags:
- system
- apt
- remove-repo
when: remove_apt_repository_opt == 'yes'
- import_tasks: update_apt_cache.yml
tags:
- system
- update-cache
- apt
- import_tasks: add_apt_repository.yml
tags:
- system
- apt
- add-repo
when: add_apt_repository_opt == 'yes'
- import_tasks: upgrade_all_packages.yml
tags:
- system
- upgrade-packages
- apt
when: upgrade_packages_repository_opt == 'yes'
- import_tasks: install_apt_packages.yml
tags:
- system
- install-packages
- apt
when: install_apt_packages_opt == 'yes'
- import_tasks: install_pip_packages.yml
tags:
- system
- install-packages
- pip
when: install_pip_packages_opt == 'yes'
但是,有时它会卡在“升级所有软件包”任务上。这是“升级所有软件包”任务:
- name: Upgrade all packages to the latest version
apt:
name: "*"
state: latest
我检查了节点,发现有一个任务处于 S 状态,可能挂起 20 分钟或只是超时。这张图片显示了两个节点,其中一个节点上的任务已完成,而另一个节点上的任务只是挂起。
这里我展示了剧本执行挂起的位置:
感谢您的帮助。
答案1
- 添加一些
-vvv
到你的剧本运行中 - 找到 ansible 为此任务启动的命令
- 手动启动它,有些冗长