发射
cap rubber:create_staging
开始检查账户的 EC2 现有安全组。第一个检查是在默认组上,该组不能从 AWS Web 控制台中删除。所以下面提示的响应自然是'N'
* Security Group already in cloud, syncing rules: default
Rule '{"protocol"=>"tcp", "from_port"=>"1", "to_port"=>"65535", "source_group_name"=>"", "source_group_account"=>"460491791257"}' exists in cloud, but not locally, remove from cloud? [y/N]: N
然而,四次检查之后,
* Missing rule, creating: {"source_group_name"=>"default", "source_group_account"=>"460491791257", "protocol"=>"tcp", "from_port"=>"1", "to_port"=>"65535"}
/Users/you/.rvm/gems/ruby-1.9.3-p551/gems/excon-0.45.4/lib/excon/middlewares/expects.rb:10:in `response_call': Duplicate => the specified rule \"peer: sg-0910926c, TCP, from port: 1, to port: 65535, ALLOW\" already exists (Fog::Compute::AWS::Error)
显然,有人试图创建一个相同的规则。唯一的区别是,从检查中提取的 source_group_name 的字符串为空字符串,而橡胶例程尝试使用标识的 source_group_name 创建相同的规则。
在 EC2 Web 控制台中使用“source_group_name”和默认值创建标签不会改变任何行为。这是否需要通过 EC2 或橡胶修复?