def __WaitForCredentialsLive(self, iam_aws_id, iam_aws_secret):
    """ Wait until the new credentials are accepted in all regions and for ec2 and boto services.
       If we don't do this, we may have a race condition where calls fail (and we can't tell if the credentials are bad (stop) or not yet valid (keep trying))
    """
    print 'waiting for credentials to go live...'
    for region in core.tested_region_names:
      core.WaitForEc2Connection(iam_aws_id, iam_aws_secret, region)
    core.WaitForS3Connection(iam_aws_id, iam_aws_secret)
    
    print 'done'
    return