2017-11-17 7 views
0

新しいバケットを作成するときに、CIパイプラインでconflicting conditional operationが断続的に発生しています。ランダムな名前のバケットを作成するので、競合する操作は不要です。このバケットを作成するには、aws-sdk-goを使用するterraform-aws-providerを使用しています。彼らはCreateBucketの後にTagResourceと呼ぶように見えます。 容疑者このエラーは、プロバイダがWaitUntilBucketExistsを呼び出していないために、TagResourceを呼び出すことが原因であると考えられます。これは妥当と思われますか?もしそうなら、私たちはterraform awsプロバイダーで問題やPRを開くことができます。 WaitUntilBucketExistsを使用していないあなたは正しいテラフォームのコードによると、彼らは思えないバケツを作成するときに断続的な「このリソースに対して競合する条件付き操作が現在進行中」

答えて

0

、あなたはここで、彼らは5分間の再試行そこで、基本的https://github.com/terraform-providers/terraform-provider-aws/blob/27e2f31ac052cf5dce63036756337be08f2ffa30/aws/resource_aws_s3_bucket.go#L442

err := resource.Retry(5*time.Minute, func() *resource.RetryError { 
    log.Printf("[DEBUG] Trying to create new S3 bucket: %q", bucket) 
    _, err := s3conn.CreateBucket(req) 
    if awsErr, ok := err.(awserr.Error); ok { 
     if awsErr.Code() == "OperationAborted" { 
      log.Printf("[WARN] Got an error while trying to create S3 bucket %s: %s", bucket, err) 
      return resource.RetryableError(
       fmt.Errorf("[WARN] Error creating S3 bucket %s, retrying: %s", 
        bucket, err)) 

を、それをチェックすることができます...私はあなたが開くことができますねGithubの問題やそれ以上に、PRを作成してください:)

ところで、あなたはバケツを作成するのに5分の限界に達しました...あなたのCIがAWS APIレート制限でしきい値を超えているのではないかと思います。これが事実だろうか?一度に複数のバケットを作成しますか?

+0

Terraformの出力に基づいて、バケツが正常に作成されたと思いますが、後続のタグ付け操作は失敗しました。タグの再試行ブロックは、OperationAbortedで再試行されないようです:https://github.com/terraform-providers/terraform-provider-aws/blob/27e2f31ac052cf5dce63036756337be08f2ffa30/aws/tags.go#L168-L171私は来週に問題やPRを開きます。 – ljfranklin

関連する問題