On 06/10/11 - 10:09:28AM, David Lutterkort wrote: > On Thu, 2011-06-09 at 15:41 -0400, Chris Lalancette wrote: > > Unfortunately, there is a big problem with this; the instance > > ID does not always exist immediately after the ec2.launch_instances > > call returns. This seems to be a generic problem with EC2, > > as I've run into it several times. > > The loadbalancer thing isn't much of an issue, but the instance tagging > is a huge problem, since that is used to implement the user_name feature > for EC2.
Oh, I see what you mean. We always have the string that is "instance.id" for the lb_register_instance call, so that would actually probably always succeed. The tag_instance is the really bad part, as that is not guaranteed to exist. > > Since tagging isn't atomic (even if EC2 behaved well, there's still a > chance that our request to tag the instance fails), we should not > pretend that EC2 allows assigning user-defined names to instances. > > ACK to this patch; it also needs to remove line 45 > 'feature :instances, :register_to_load_balancer' - incidentally, the EC2 > drive never advertised the :user_name feature, so nothing to remove > there. Oops, yeah, definitely. I'll fix that. I also realized that the tag_instance, untag_instance, delete_unused_tags, and tagging? methods can be removed, since they are all part of the same infrastructure. I'll post a new patch with these fixes. -- Chris Lalancette
