如何为Chef用户提供取消注册一次性Vagrant VM的方法?

时间:2015-03-06 21:03:36

标签: vagrant chef

我一直在和这个问题搏斗一段时间,我想我会把它打开到stackoverflow社区:

我有一个设置,多个开发人员可以克隆并启动一个Vagrant VM,它将配置Chef。根据主机的主机名,VM具有用户唯一的主机名。

如果用户想要销毁并重新创建它,则会指示他们使用vagrant destroy,在vagrant-butcher插件的帮助下,将从Chef取消注册VM。

然而,用户不可避免地rm -rf他们的VM并尝试重新创建它,从Chef获取可怕的HTTP 403 Forbidden,因为VM已经注册了不同的密钥。

然后我必须从Chef手动删除节点和客户端,然后让他们再次尝试。

有没有人通过一种创造性的方式为用户提供一种取消注册过时VM的方法,以便能够重复使用该名称(假设.pem密钥和vagrant文​​件夹都已消失)?

1 个答案:

答案 0 :(得分:1)

运行以下脚本: - )

knife client delete $(hostname) -y
knife node delete $(hostname) -y

更新

避免使用共享开发环境。使用测试厨房创建独立的测试驱动开发环境。在引擎盖下它仍然可以使用chef zero(在内存厨师服务器中)

的流浪汉

http://kitchen.ci/

更好的消息是,测试厨房预装了chef development kit