10
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ansible で Vagrant ホストを再起動する

Last updated at Posted at 2014-08-12

たとえば SELinux の設定をいじりたいとき。

wait_for で待つ方法だと ansible-playbook が再起動以降でコケたり共有フォルダーがマウントされなくなったりとダメ。

vagrant reload を使う。

reboot-vagrant.yml
---
- name: reboot vagrant host
  command: 'vagrant reload'
  delegate_to: 127.0.0.1
  changed_when: false

こんな感じでファイルとして切り出しておいて、再起動が必要なところで include 。

disable-selinux.yml
---
- name: disable SELinux
  sudo: yes
  selinux: state=disabled

- include: util/reboot.yml

ローカルのコマンドが終わるのを待つわけで、非同期ではないので wait_for は不要。

注意点として、 Vagrant ホストで Vagrant のプロセスが走っている際中は vagrant reload が使えないみたいなので Vagrant provisioner からはこの方法を使えない。素直に ansible-playbook から起動しよう。

10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?