From 63f63aa9de4185c914eca20444fa78c36c9a26f5 Mon Sep 17 00:00:00 2001 From: Justin Santa Barbara Date: Mon, 30 Mar 2015 08:05:24 -0700 Subject: [PATCH] Don't list AWS instances until they are actually ready --- pkg/cloudprovider/aws/aws.go | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/pkg/cloudprovider/aws/aws.go b/pkg/cloudprovider/aws/aws.go index c740a15afd6..d5fccebb652 100644 --- a/pkg/cloudprovider/aws/aws.go +++ b/pkg/cloudprovider/aws/aws.go @@ -288,7 +288,20 @@ func (aws *AWSCloud) getInstancesByRegex(regex string) ([]string, error) { for _, instance := range reservation.Instances { // TODO: Push filtering down into EC2 API filter? if !isAlive(&instance) { - glog.V(2).Infof("skipping EC2 instance (not alive): %s", instance.InstanceId) + glog.V(2).Infof("skipping EC2 instance (%s): %s", + instance.State.Name, instance.InstanceId) + continue + } + + // Only return fully-ready instances when listing instances + // (vs a query by name, where we will return it if we find it) + if instance.State.Name == "pending" { + glog.V(2).Infof("skipping EC2 instance (pending): %s", instance.InstanceId) + continue + } + if instance.PrivateDNSName == "" { + glog.V(2).Infof("skipping EC2 instance (no PrivateDNSName): %s", + instance.InstanceId) continue }