2016-09-19 9 views
0

現在のシナリオでは、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 

答えて

0

私はあなたが(私がチェックし、放浪のプラグインでテストが、それはあなたのために働くことができないようにもトリガーは、各インスタンスのコマンドの後に実行されている)

浮浪者から直接行うことができ思ういけません

あなたができることの1つは、他のマシンでプロビジョニングを実行する3台目のマシンを追加することです。 3台目のマシンのみでプロビジョニングを実行し、スクリプトは実際に2台のマシンに接続してインストール手順を実行することになります。 3台目のマシンを必要としない場合は、2台目のマシンですべてのプロビジョニングを行い、1台目のマシンでは1台目のマシンに接続して、人形コマンドを実行します。

関連する問題