我怎样才能让厨师重新启动节点,并从停止的位置拿起食谱?

时间:2013-03-13 05:41:38

标签: chef vagrant cookbook berkshelf

我正在尝试使用Berkshelf和Vagrant设置一个带有厨师的星号服务器,我首先要通过运行来升级内核

  

apt-get upgrade

,然后重启我的机器。

如何在配方中触发重启,并在机器重新启动后将其取出?我使用Fabric没有问题,但是

  

执行“rebo​​ot”

Vagrant的厨师配置器在机器重启时死亡

1 个答案:

答案 0 :(得分:1)

Idempotence是Chef的原则之一。

这意味着你的食谱可以反复运行,它只会改变不符合预期的东西。

所以在你的情况下,它看起来像这样:

  • First Chef运行时注意到安装了意外的内核。因此,它安装内核并触发重启。
  • Chef再次运行,确定内核已按预期安装,因此只是继续。现在你可以继续其他事情了。

一个注意事项:我从来没有尝试过这个,但是在Chef运行过程中发出reboot信号可能会造成一些损害。我建议在reboot信号之后中止主厨(例如,通过提出例外,请参阅How do you abort/end a Chef run?)。