Я наблюдаю периодические сбои Terraform, которые выглядят для меня как состояние гонки, внутреннее для самой Terraform:
21:31:37 aws_s3_bucket.jar: Creation complete after 1s
(ID: automatictester.co.uk-my-bucket)
...
21:31:38 * aws_s3_bucket_object.jar: Error putting object in S3 bucket
(automatictester.co.uk-my-bucket): NoSuchBucket: The specified bucket
does not exist
Как вы можете видеть в журналах выше, TF сначала утверждает, что она создала корзину21:31:37, а затем говорит, что не может поместить объект в это ведро, потому что его не существует в 21: 31: 38.
Код, стоящий за вышеуказанной ошибкой:
resource "aws_s3_bucket" "jar" {
bucket = "${var.s3_bucket_jar}"
acl = "private"
}
...
resource "aws_s3_bucket_object" "jar" {
bucket = "${var.s3_bucket_jar}"
key = "my.jar"
source = "${path.module}/../target/my.jar"
etag = "${md5(file("${path.module}/../target/my.jar"))}"
}
Очевидно, что между этими двумя понятиями определена неявная зависимость, поэтому единственная причина этого сбоя, которая приходит мне в голову, - это в конечном итоге непротиворечивая природа Amazon S3.
Как справиться с такого рода ошибками?Я полагаю, что явно определенная зависимость с depends-on
не даст никакого значения по сравнению с неявной зависимостью, которая уже существует.