Terraform |依赖于导致增量更新的顺序问题

Terraform |依赖于导致增量更新的顺序问题,terraform,Terraform,总结:取决于Terraform的运行良好,但当我有一个新资源的增量更新时,它会导致新资源并行运行(如果我从头开始运行它,则不会) 示例地形(运行1)运行良好 resource "null_resource" "one" { provisioner "local-exec" { command = "NAME='one'; echo $NAME; sleep 1; echo $NAME; sleep 1; echo

总结:
取决于Terraform的
运行良好,但当我有一个新资源的增量更新时,它会导致新资源并行运行(如果我从头开始运行它,则不会)

示例地形(运行1)运行良好

resource "null_resource" "one" {
  provisioner "local-exec" {
    command = "NAME='one'; echo $NAME; sleep 1; echo $NAME; sleep 1; echo $NAME; sleep 1;"
  }
}

resource "null_resource" "two" {
  depends_on = [null_resource.one]
  provisioner "local-exec" {
    command = "NAME='one'; echo $NAME; sleep 1; echo $NAME; sleep 1; echo $NAME; sleep 1;"
  }
}
地形示例(运行2)

问题
在第一个问题之前
和第二个问题之后正在并行开始:(

预期流量:在第一个之前完成
,然后在第二个之后开始

resource "null_resource" "before_one" {
  provisioner "local-exec" {
    command = "NAME='before_one'; echo $NAME; sleep 1; echo $NAME; sleep 1; echo $NAME; sleep 1;"
  }
}

resource "null_resource" "one" {
  depends_on = [null_resource.before_one]
  provisioner "local-exec" {
    command = "NAME='one'; echo $NAME; sleep 1; echo $NAME; sleep 1; echo $NAME; sleep 1;"
  }
}

resource "null_resource" "two" {
  depends_on = [null_resource.one]
  provisioner "local-exec" {
    command = "NAME='one'; echo $NAME; sleep 1; echo $NAME; sleep 1; echo $NAME; sleep 1;"
  }
}

resource "null_resource" "after_two" {
  depends_on = [null_resource.two]
  provisioner "local-exec" {
    command = "NAME='after_two'; echo $NAME; sleep 1; echo $NAME; sleep 1; echo $NAME; sleep 1;"
  }
}
输出

null_resource.before_one: Creating...
null_resource.before_one: Provisioning with 'local-exec'...
null_resource.after_two: Creating...
null_resource.after_two: Provisioning with 'local-exec'...
null_resource.after_two (local-exec): Executing: ["/bin/sh" "-c" "NAME='after_two'; echo $NAME; sleep 1; echo $NAME; sleep 1; echo $NAME; sleep 1;"]
null_resource.after_two (local-exec): after_two
null_resource.before_one (local-exec): Executing: ["/bin/sh" "-c" "NAME='before_one'; echo $NAME; sleep 1; echo $NAME; sleep 1; echo $NAME; sleep 1;"]
null_resource.before_one (local-exec): before_one
null_resource.after_two (local-exec): after_two
null_resource.before_one (local-exec): before_one
null_resource.after_two (local-exec): after_two
null_resource.before_one (local-exec): before_one
null_resource.after_two: Creation complete after 3s [id=3913800421589569159]
null_resource.before_one: Creation complete after 3s [id=9135396498225807226]

您有什么原因不想将命令放在第一个资源的第二个
null\u resource
中,以便随后运行?无法合并部分。在我最初的用例中,每个部分都是不同的Helm版本对不起,刚刚发布的stackexchange有一个DevOps部分。我已将文章移动到