web-dev-qa-db-ja.com

Ansible Yumモジュール保留トランザクションエラー

Ansibleは初めてです。私は、Ansibleのロールの概念に関するチュートリアルを実行しようとしています。次のマスターハンドブックがあります。

--- # Master Playbook for Webservers
- hosts: apacheweb
  user: test
  Sudo: yes
  connection: ssh
  roles:
    - webservers

これは、次のtask/main.ymlを持つwebserversロールを参照します。

- name: Install Apache Web Server
  yum: pkg=httpd state=latest
  notify: Restart HTTPD

そしてhandler/main.yml

- name: Restart HTTPD
  service: name=httpd state=started

上記のマスタープレイブックを実行すると、次のエラーが発生します。

TASK [webservers : Install Apache Web Server] **********************************
fatal: [test.server.com]: FAILED! => {"changed": false, "failed": true, "msg": "The following packages have pending transactions: httpd-x86_64", "rc": 128, "results": ["The following packages have pending transactions: httpd-x86_64"]}

このエラーが何に対応するのか理解できません。私の調査に基づいて、Yumモジュールを使用している方法に問題があることを示唆している可能性があります。

注:Ansibleバージョン:

ansible 2.2.1.0
  config file = /etc/ansible/ansible.cfg
14
SSF

ターゲットホストに未完了/保留中のトランザクションがあるようです。インストールしてみてくださいyum-utils実行するパッケージyum-complete-transactionエラーを出しているターゲットホストに。

# yum-complete-transaction --cleanup-only

詳しくは Fixing There unfinished transaction を見てください。

yum-complete-transactionは、システム上で不完全または中止されたyumトランザクションを見つけて、それらの完了を試みるプログラムです。 yumトランザクションが実行の途中で中止された場合、通常/ var/lib/yumにあるtransaction-all *ファイルとtransaction-done *ファイルを調べます。

未完了のトランザクションが複数見つかった場合は、最新のトランザクションを最初に完了しようとします。これを複数回実行して、すべての未完了のトランザクションをクリーンアップできます。

27
gile

未完了のトランザクションが残っています

Sudo yumインストールyum-utils

yum-complete-transaction --cleanup-only

1
ZeroDeth

私はプレイブックにこのタイプの設定をansibleに使用しています:

- name: Install Apache Web Server
  yum: name=httpd state=latest
  notify: Restart HTTPD

私が知る限り、yumモジュールのansbileにはyum: pkg=httpdなどのオプションはありません(私が間違っていなければ、それはpkg = httpdはdebianベースのディストリビューションでのapt-get用です)

複数のパッケージをインストールする必要がある場合は、次のようなものを使用できます。

- name: "Install httpd packages"
  yum: name={{ item }} state=present
  with_items:
    - httpd
    - httpd-devel
    - httpd-tools

もちろん、state = presentstate = latestまたはあなたに最も合うかもしれないどんなオプションでも

http://docs.ansible.com/ansible/yum_module.html -yumモジュールのansibleドキュメント

0
Bogdan Stoica