ansibleのバージョンが原因でvagrant provision が失敗
あるプロジェクトで開発環境ではsqlite、ステージングと本番環境ではpostgresqlを使っていたんだけど、開発環境では動作したのが動作しなかったり、挙動が異なったりというのが発生したので仮想環境の構成を変更して開発環境でもpostgresqlを使うようにした。
プロジェクトのメンバーに変更した内容を取り込んで
> vagrant provision
してもらったが上手くいかないということでログを見せてもらうと
ERROR! no action detected in task. This often indicates a misspelled module name
, or incorrect module path.
The error appears to have been in '/vagrant/provision/playbook.yml': line 16, column 7,
but maybe elsewhere in the file depending on the exact syntax problem.
のようなエラーが。手元の環境では動いているのでファイルが壊れているのかな?と思い見せてもらったけど特に問題なさそう。
調べた結果、今回追加した設定が当該メンバーの仮想環境にインストールされているansibleのバージョンが古くて対応していなかったので、Vagrantfileに
config.vm.provision "ansible_local" do |ansible|
・・・省略
ansible.version = "latest"
end
を追加して新しいバージョンのansibleがあればアップデートするようにして解決した。