Amazon ec2 使用刀创建多个EC2实例时发生ArgumentError

Amazon ec2 使用刀创建多个EC2实例时发生ArgumentError,amazon-ec2,chef-infra,knife,Amazon Ec2,Chef Infra,Knife,我调用“刀子ec2服务器创建”来创建许多ec2实例,延迟10秒。它适用于少数情况(约10)。但是,如果创建更多实例(按30的顺序),则会出现以下参数错误: .INFO: SIGHUP received, reconfiguring ERROR: ArgumentError: You must pass :on, :tail, or :head to :on 错误似乎发生在随机阶段。有时在等待ec2实例时,有时在执行我的配方时 我应该同时运行的knife进程或chef api调用是否

我调用“刀子ec2服务器创建”来创建许多ec2实例,延迟10秒。它适用于少数情况(约10)。但是,如果创建更多实例(按30的顺序),则会出现以下参数错误:

   .INFO: SIGHUP received, reconfiguring
   ERROR: ArgumentError: You must pass :on, :tail, or :head to :on
错误似乎发生在随机阶段。有时在等待ec2实例时,有时在执行我的配方时


我应该同时运行的knife进程或chef api调用是否有限制?

我怀疑这与chef无关(尽管您遇到的错误被chef吞没了)。我认为EC2API限制了你的速度。您可能需要在调用之间添加一个splay或delay,或者以较小的批量执行它们


如果您继续遇到此错误,我建议您在

打开一张票据,因为我已经在脚本中设置了延迟。在引发错误时,似乎不再发生与EC2API的交互。当Chef启动机器或执行某些食谱时,会出现此错误。如果您继续遇到此错误,我建议您在tickets.opscode.com上打开一个票证。为什么要在两个实例之间延迟启动实例?另外,我假设您知道可以在同一个API调用中启动多个实例(同一个AMI)。