現在のシナリオでは、app1 と app2 の 2 つのマシンを作成する Vagrantfile があります。次に、多数のモジュール (すべてのアプリケーション コンポーネント) をインストールするパペット プロビジョニングをセットアップします。私たちのアプリケーションが動作する方法では、プロビジョニングが発生する前に両方のマシンが稼働している必要があります。
現在の構成の動作を見ると、app1 が起動されてからプロビジョニングされ、次に app2 が起動されてからプロビジョニングされます。これにより、まだ起動されていない他のサーバー上の適切なサービスに接続できないため、アプリケーションは接続できなくなります。
app1 と app2 を起動してからプロビジョニングする目的の構成を取得する方法はありますか? 以下は、参照用の現在の Vagrantfile です。
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.ssh.insert_key = false
config.vm.define "app1" do |app1|
app1.vm.box = "centos_base"
app1.vm.hostname = "app1.vagrant.test"
app1.vm.network "private_network", ip: "192.168.10.10"
app1.vm.network "forwarded_port", guest: 8080, host: 8000
end
config.vm.define "app2" do |app2|
app2.vm.box = "centos_base"
app2.vm.hostname = "app2.vagrant.test"
app2.vm.network "private_network", ip: "192.168.10.11"
app2.vm.network "forwarded_port", guest:8080, host: 8001
end
config.vm.provision "puppet" do |puppet|
puppet.module_path = "modules"
puppet.manifests_path = "manifests"
puppet.manifest_file = "default.pp"
end
end