首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设备在测试烹饪书时没有在“厨师-独奏”中找到错误

设备在测试烹饪书时没有在“厨师-独奏”中找到错误
EN

Stack Overflow用户
提问于 2017-03-19 15:35:28
回答 1查看 65关注 0票数 0

我在一个存储库中创建了一些菜谱,它们在AWS中的实例中执行。我在dev/xvdb位置手动创建AWS中的EBS卷,然后使用以下厨师代码挂载它:

代码语言:javascript
复制
mount "mount encrypted EBS volume at opt directory for app deployment" do
  action [:mount, :enable]
  device "/dev/xvdb"
  fstype "ext3"
  mount_point "/opt"
end

现在,为了在本地测试菜谱,我配置了一个流浪盒,并尝试运行包含上述代码的食谱。我有以下的Vagrant配置:

代码语言:javascript
复制
Vagrant.configure("2") do |config|
  config.vm.box = "precise32"
  config.vm.provision "chef_solo" do |chef|
      chef.cookbooks_path = "cookbooks"
      chef.data_bags_path = "databags"
      chef.environments_path = "environments"
      chef.environment = "dev"
      chef.roles_path = "roles"
      chef.add_role("webapp")
  end
end

但是,由于Vagrant没有/dev/xvdb文件夹路径,因此它在以下方面失败:

==>默认值:厨师::例外::==>默认:==>默认值:

我怎样才能在我的盒上进行本地测试呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-19 19:10:05

添加类似于only_if { node['ec2'] }的内容,这样它只能在实际的EC2机器上收敛该资源。您也可以使用node['cloud']或类似的东西来检查,或者如果您想让它完全通用,可以使用only_if { ::File.exist?('/dev/xvdb') }

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42888480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档