service enabled

Ansibleにおいて表題のモジュールとオプションについて。知らなかったのでメモ。

■ 環境

  • Ansible 2.4.1.0

■ きっかけ

とあるansibleで構築した環境において、再起動された際に起動していないサービスがあった。しばらく気がつかずに放置してしまっていた。

ansibleのroleを使っているのだが、その中の下記のファイルでserviceを再起動するように書いている。

$ cat roles/serviceA/handlers/main.yml
---
- name: restart
  service:
    name: serviceA
    state: restarted
$

しかしこれではplaybookの実行時に、変更があった場合にserviceを再起動するだけの設定であった。いわゆる下記のようなことをやりたかった。

$ sudo chkconfig --add serviceA

調べてみると、”service“モジュールでそのまま設定ができるようであったので下記のように変更した。

$ cat roles/serviceA/handlers/main.yml
---
- name: restart
  service:
    name: serviceA
    enabled: yes
    state: restarted
$

これで自動起動が入った。

以上。

■ 関連

service – Managed Services. — Ansible Documentation
http://docs.ansible.com/ansible/latest/service_module.html