El archivo de bloqueo yum está en manos de otro usuario.

El archivo de bloqueo yum está en manos de otro usuario.

Amazon Linux 2Las instancias son operadas por un Ansible Playbook que realiza múltiples yumtareas una tras otra.

¿Qué cambios específicos se deben realizar en la sintaxis siguiente para que las yumtareas sucesivas se ejecuten sin detenerse debido a conflictos de proceso?

Actualmente, la segunda yumtarea a continuación falla porque Ansible no sabe cómo manejar el hecho de escuchar que la yumtarea anterior aún no ha abandonado el archivo yum lockfile.

Aquí está el mensaje de error actual que se presenta cuando yumse llama a la segunda tarea a continuación:

TASK [remove any previous versions of specific stuff] ************************************************************************************************************************************
fatal: [10.1.0.232]: FAILED! => {"changed": false, "msg": "yum lockfile is held by another process"}

Las dos yumtareas sucesivas están actualmente escritas de la siguiente manera:

 - 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

Me imagino que la solución es simplemente agregar algo que le indique a Ansible que espere hasta que yumse libere el bloqueo de la primera tarea. Pero, ¿qué sintaxis debería usarse para esto?

Respuesta1

Estoy bastante seguro de que te encuentras con este problema al usar Ansible 2.8, quiere explotar ahora cuando ejecutas las instalaciones del paquete YUM. Una solución fácil para esto es establecer la lock_timeoutvar en 100+ ya que el valor predeterminado está establecido en 0.

- name: Install yum utils
  yum:
    name:
    - yum-utils
    - "@Development tools"
    lock_timeout: 180

Desafortunadamente, el problema con esto es que cuando tienes muchas tareas de Ansible que instalan paquetes YUM, debes agregar esta var a cada tarea. He estado buscando una manera de configurar esto globalmente de alguna manera, pero no me alegro. ¡Espero que ayude!

Enlaces: https://github.com/ansible/ansible/issues/57189 https://docs.ansible.com/ansible/latest/modules/yum_module.html

información relacionada