web-dev-qa-db-ja.com

yumロックファイルは別のユーザーが保持しています

Amazon Linux 2インスタンスは、複数のyumタスクを次々に実行するAnsible Playbookによって操作されます。

プロセスの競合により停止せずに連続するyumタスクを実行するには、以下の構文にどのような変更を加える必要がありますか?

現在、下の2番目のyumタスクは失敗しています。これは、前のyumタスクがyumlockfile

以下は、以下の2番目の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"}

連続する2つの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

最初のタスクのyumロックが解放されるまで待機するようにAnsibleに指示する何かを追加することが解決策だと思います。しかし、これにはどの構文を使用する必要がありますか?

3
CodeMed

Ansible 2.8を使用してこの問題が発生していると確信しています。YUMパッケージのインストールを実行すると、すぐに問題が発生します。これを簡単に回避するには、lock_timeout var to 100 +デフォルトは0に設定されているため。

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

残念ながら、これに関する問題は、YUMパッケージをインストールする多くのAnsibleタスクがある場合、すべてのタスクにこの変数を追加する必要があることです。私はこれをグローバルに設定する方法を探しています。お役に立てば幸いです。

リンク: https://github.com/ansible/ansible/issues/57189https://docs.ansible.com/ansible/latest/modules/yum_module.html

5
D-Rod