広告 Ansible

OSごとにパッケージマネージャを変える

複数のOSが混在している環境で Ansible を使う際、apt モジュールや yum モジュールを使い分けるのに when を使っていました。

- name: install unbound
  yum: name=unbound stat=present
  when: ansible_os_family == "RedHat"

- name: install unbound
  apt: name=unbound stat=present
  when: ansible_os_family == "Debian"

action を使うと、モジュール名に変数を使うことができることがわかりました。

ansible_pkg_mgr変数を使うことで OS ごとにパッケージマネージャを変えてパッケージのインストールを行うことができます。

下記のようにしてやればOK。

- name: install unbound
  action: >
    {{ ansible_pkg_mgr }} name=unbound stat=present

すごくすっきり!

Sponsor Link

-Ansible