我一直在和这个问题搏斗一段时间,我想我会把它打开到stackoverflow社区:
我有一个设置,多个开发人员可以克隆并启动一个Vagrant VM,它将配置Chef。根据主机的主机名,VM具有用户唯一的主机名。
如果用户想要销毁并重新创建它,则会指示他们使用vagrant destroy
,在vagrant-butcher
插件的帮助下,将从Chef取消注册VM。
然而,用户不可避免地rm -rf
他们的VM并尝试重新创建它,从Chef获取可怕的HTTP 403 Forbidden,因为VM已经注册了不同的密钥。
然后我必须从Chef手动删除节点和客户端,然后让他们再次尝试。
有没有人通过一种创造性的方式为用户提供一种取消注册过时VM的方法,以便能够重复使用该名称(假设.pem密钥和vagrant文件夹都已消失)?
答案 0 :(得分:1)
运行以下脚本: - )
knife client delete $(hostname) -y
knife node delete $(hostname) -y
避免使用共享开发环境。使用测试厨房创建独立的测试驱动开发环境。在引擎盖下它仍然可以使用chef zero(在内存厨师服务器中)
的流浪汉更好的消息是,测试厨房预装了chef development kit。