2014-09-19 142 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中设置节点属性,并在您的配方代码中引用该属性。

相关问题