2017-01-24 58 views
0

我一直在運行Vagrant中的puppet開發環境時遇到問題,這會引發多個VirtualBox虛擬機。在使用流浪傀儡的時候,第一個流浪乞討人員是否需要在沒有條件的情況下運行下一個流浪漢?

我使用shell置備對木偶主站和木偶客戶端安裝木偶並且這第一vargrant up期間運行,那麼我允許每個機器看到別人通過vagrant hostsupdater插件使用/ etc /主機。

然後我在Puppet服務器上運行sudo puppet apply site.pp;並在傀儡客戶端運行sudo puppet agent --server puppet-server --verbose --no-daemonize --waitforcert 10 --noop

然後當證書出現在sudo puppet cert list的puppet服務器上時,我簽署了證書sudo puppet cert <client-host-name>,證書獲得緩存在客戶端上;

回到客戶端我運行了sudo puppet agent --server puppet-server --verbose --no-daemonize --waitforcert 10,並注意到所做的更改是針對該機器進行的。

現在我做的下一件事就是關閉所有使用sudo shutdown -h now

然後以前的機器時,我會vagrant up使其返回到聯機兩者之間的連接將停止工作,木偶援引有關證書的一些錯誤不匹配。

但最近,當我再次嘗試這些步驟,我把它做一個不同的方式,而不是運行vagrant up我跑vagrant up --no-provision第二次的機器啓動了,看來這兩個可以再溝通。

我的理論是這樣的,當第二次重新啓動計算機時,排除--no-provision參數,重新生成CA,因此會導致問題,因爲兩臺計算機沒有有更長的彼此證書。

這是正確的嗎?真的很煩人不得不重新創建機器並手動設置木偶。

也有可能是我的流浪漢SHELL供應方,以檢查是否木偶已安裝自動跳過重新安裝傀儡如果已經安裝了它?

此外,有沒有辦法自動運行木偶服務器上sudo puppet apply site.pp安裝後和木偶客戶端上運行sudo puppet agent --server puppet-server --verbose --no-daemonize --waitforcert 10 --noop,並且回服務器添加的證書,在使用外殼供應方以正確的順序?

P.S.是的,我已經知道有是無業遊民一個傀儡供應方,但我學習木偶的客戶端/服務器端。

+0

我只是想驗證這是這種情況。 – leeand00

回答

0

的嗡嗡聲,這是奇怪的。

的唯一原因,一個供應方將在第二個(和即將推出)vagrant up是您專門提出要求,所以如果您有類似

config.vm.provision :shell, :inline => "blablabla", :run => 'always' 

通知:run => always這是告訴流浪漢運行置備運行。vagrant up(沒有任何選項)的輸出將是

==> app: Machine already provisioned. Run `vagrant provision` or use the `--provision` 
==> app: flag to force provisioning. Provisioners marked to run always will still run. 
==> app: Running provisioner: shell... 
+0

那不是嗎?也許':run =>'always''是默認的? – leeand00

+1

nop總是不是默認的 - 你能顯示'vagrant up'的輸出,就像我看到它流浪說_Machine已經provisioned_ –

+0

當我再次打破它時,我會讓你知道...... – leeand00