你怎么知道厨师是否在VM上运行(即流浪汉)

Cri*_*ile 4 virtual-machine chef-infra vagrant chef-solo

我有一个厨师食谱,可以在虚拟机或真机上运行.我需要能够在厨师内部区分它们,因为我需要区别对待它们.我在互联网上发现了一些我应该使用的东西

if node[:instance_role] == 'vagrant'
Run Code Online (Sandbox Code Playgroud)

但这似乎对我不起作用.node [:instance_role]只是空白.

你知道其他任何做法吗?

我正在使用chef_solo和vagrant配置

cod*_*ger 5

查看node['virtualization']有关VM运行时的信息.Vagrant实际上并不是一个VM系统,所以你不会看到任何关于它的东西.针对Vagrant特定行为的更好选择是在Vagrantfile中设置节点属性并在您的配方代码中引用该属性.