2014-09-19 135 views
4

我有一個可以在虛擬機或真機上運行的廚師食譜。我需要能夠分辨廚師內部的差異,因爲我需要以不同的方式對待他們。我在互聯網上發現了一些說我應該只用如何判斷廚師是否在虛擬機上運行

if node[:instance_role] == 'vagrant' 

但這似乎並不適用於我。節點[:instance_role]只是空白。

你知道還有其他的方法嗎?

我使用chef_solo與流浪漢配置

+0

我從來沒有檢查過,但創建它們作爲節點和比較節點屬性。但@coderanger答案看起來很有希望。 – Lukino 2014-09-19 19:15:07

回答

5

node['virtualization']下有關VM運行時信息。雖然流浪者實際上並不是虛擬機系統,所以你不會看到任何有關這方面的信息。 Vagrant特定行爲的更好選擇是在您的Vagrantfile中設置節點屬性,並在您的配方代碼中引用該屬性。

相關問題