まとめ
- debug モジュールを使って状況を出力
- Vagrantfile で Ansible の実行状況を詳しく出力
- Vagrant の snapshot 機能を利用
- Vagrant の provision 機能を利用
具体例。debug モジュールを使って状況を出力
次のようにして、プレイブックが実行されていることを確認しています。ファイルを追加したのはよいけれども、タイポしているのかどうしても実行できずにしょんぼりしたことがしばしばございましたの><。
--- - name: running test debug: msg: "running"
具体例。Vagrantfile で Ansible の実行状況を詳しく出力
ansible.verbose = "v"
を追加することにより、Ansible の実行状況を詳しく知ることができますの。値の v を増やして vv や vvv などとすることでより詳細になるそうですけれども、v のみでも各タスクの実行結果を知ることができ、充分と感じておりますわ♪
# -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| config.vm.box = "oki2a24/centos-7-x86_64" config.vm.network "private_network", ip: "192.168.56.11" config.vm.provision "ansible_local" do |ansible| ansible.playbook = "ansible/site.yml" ansible.verbose = "v" end end
Vagrant の snapshot 機能を利用
Vagrant 1.8.2 だったと思うのですけれども、スナップショット機能が追加されました。
これを積極的に使用しております。
そのために、まずは common などの試行錯誤するまでもないタスクを実行し終わってから、スナップショットを作り、失敗したらリストアして戻るようにしております。
時間を節約できますの♪
なお、vagrant restore
を実行しますと、プロビジョニングも実行され、プレイブックへの編集を即座に確認できますので、便利ですわ♪
# ac という名前でスナップショットを作成 vagrant snapshot save ac # スナップショットからリストア(VM シャットダウンし、VM を破棄し、スナップショットから起動し、プロビジョニングを実行) vagrant snapshot restore ac
Vagrant の provision 機能を利用
タスクを編集後、確認するために、仮想マシン内部から Ansible を実行するのではなく、外から vagrant provision
を実行することで行っております。
# Vagrant のプロビジョニングのみを実行 vagrant provision
おわりに
Ansible が大変便利ですの!
活用していきたいのですけれども、効率よく作っていくために気がついたことなどがありますので、忘れぬうちにメモいたしました♪
以上です。