[最初将此帖发布到 opscode 论坛,未得到回复]
我正在测试免费托管的 chef-server 帐户,多个子命令因“意外错误”而失败。也许我的版本和服务器版本不兼容?
操作系统:Ubuntu 12.04LTS
Local Chef:10.12.0(通过 gem 安装)
本地 Ruby:1.8.7
此外,工作站机器已手动配置,但我一直在试验的客户端是使用 Rackspace 插件启动的(使用“knife rackspace server create…”)问题命令似乎在与主机 chef-server 通信时失败,但在它尝试修改客户端之前,所以我认为问题不在这里。通过“knife rackspace server create”启动的虚拟服务器可以正常启动,但使用 knife 删除它们会失败。
如果我在创建服务器时将配方添加到 run_list 中,该配方将正确添加到 run_list。如果我稍后尝试添加配方或删除用于初始化服务器的配方,这些命令将失败。
以下是一些相关命令的输出(带有堆栈跟踪):
答案1
看看你的要点(顺便说一句,非常有帮助!)看起来 run_list 修改的语法可能略有偏差。
在一个示例中,您提供:
knife node run_list remove rs-chefdemo-03 init_noop -VV
这个错误没有什么帮助,同意。
我认为您应该使用的正确语法是:
knife node run_list remove rs-chefdemo-03 'recipe[init_noop]' -VV
这应该按照您期望的方式运行。
至于knife rackspace
命令,我怀疑您使用了错误的键,如自述文件中所述:
根据服务器/实例 ID 删除当前配置的 Rackspace Cloud 帐户中的现有服务器。您可以通过输入“knife rackspace server list”找到实例 ID。
因此正确的语法应该是:
knife rackspace server delete 20950789 -VV
祝你好运!