厨师没有在第一个bootstrap上执行“mount”

时间:2016-12-29 21:34:29

标签: debian chef cloud-init s3fs

我正在尝试使用chef安装s3fs。我无法获得s3fs的mounts资源和s3fs的供应商cookbook想要为我们想要命名的挂载命名(我们的s3桶在名称中有“。”)。

所以我手动创建了fstab记录并运行“mount”命令来挂载它。但是挂载没有运行。没有错误,主厨日志文件说它执行了阻止。

bash 'mount_s3fs' do
  code <<-EOF 
  mount -a
  EOF
  user 'root'
  not_if "df -kh | grep s3fs -q"
end

以下是打印到日志文件的内容

[2016-12-29T21:29:02+00:00] INFO: Processing bash[mount_s3fs] action run (cookbook::recipe line 66)
[2016-12-29T21:29:03+00:00] INFO: bash[mount_s3fs] ran successfully

如果我第二次运行配方,它就可以正常安装。如果我在bootstrap之后添加配方它运行正常。我非常困惑。因为这种行为只能在bootstrap中看到。

我在AWS的Debian Jessie 8.4上主厨12.12.15。

2 个答案:

答案 0 :(得分:1)

虽然这似乎与Chef无关,但您应该修改配方代码以改为使用mount资源。

答案 1 :(得分:0)

好吧,经过几个小时的故障排除后,我认为问题出在Debian本身。如果我使用Debian 8.0 AMI运行相同的脚本它可以正常工作,如果我达到8.4或更高的图像它不起作用。我没有用8.1,8.2或8.3进行测试,因为我已经厌倦了这个问题。