Amazon Linux 2
实例由 Ansible Playbook 操作,该手册一个接一个地执行多个yum
任务。
需要对以下语法进行哪些特定更改才能使连续
yum
任务运行而不会因进程冲突而停止?
目前,yum
下面的第二个任务失败了,因为 Ansible 不知道如何处理听到前面的yum
任务还没有放开yum
lockfile
.
yum
这是调用以下第二个任务 时归档的当前错误消息:
TASK [remove any previous versions of specific stuff] ************************************************************************************************************************************
fatal: [10.1.0.232]: FAILED! => {"changed": false, "msg": "yum lockfile is held by another process"}
两个连续的yum
任务目前写成如下:
- name: Perform yum update of all packages
yum:
name: '*'
state: latest
- name: remove any previous versions of specific stuff
yum:
name: thing1, thing2, thing3, thing4, thing5, thing6
state: absent
我想解决方案只是添加一些东西告诉 Ansible 等到第一个任务的yum
锁被释放。但是应该使用什么语法呢?
我很确定你在使用 Ansible 2.8 时遇到了这个问题,它现在想在运行 YUM 包安装时崩溃。解决此问题的简单方法是将
lock_timeout
var 设置为 100 +,因为默认设置为 0。不幸的是,这样做的麻烦在于,当您有很多安装 YUM 包的 Ansible 任务时,您需要将此 var 添加到每个任务中。我一直在寻找一种方法来在全球范围内设置它,但并不快乐。希望有帮助!
链接: https ://github.com/ansible/ansible/issues/57189 https://docs.ansible.com/ansible/latest/modules/yum_module.html