问题描述
我对我的 terraform 基础架构进行了简单的回归测试。此 terraform 基础结构由许多资源组成,包括 Azure keyvault。由于启用软删除已成为 Azure keyvault 的默认设置,因此会导致以 CI/CD 方式创建、断言和销毁资源的自动回归问题。
基本的 Terratest 看起来像这样
testpackage test
import (
"testing"
"github.com/gruntwork-io/terratest/modules/terraform"
"github.com/stretchr/testify/assert"
)
// An example of how to test the simple terraform module in examples/basic using Terratest.
func TestterraformBasicExample(t *testing.T) {
// Test specific variables
projectName := "automated0test"
// Assertion variables
expectedText := "testOutputName"
terraformOptions := terraform.WithDefaultRetryableErrors(t,&terraform.Options{
// The path to where our terraform code is located
terraformDir: "../../examples/basic",// Variables to pass to our terraform code using -var options
Vars: map[string]interface{}{
"project": projectName,},// disable colors in terraform commands so its easier to parse stdout/stderr
NoColor: true,})
// At the end of the test,run `terraform destroy` to clean up any resources that were created
defer terraform.Destroy(t,terraformOptions)
// This will run `terraform init` and `terraform apply` and fail the test if there are any errors
terraform.InitAndApply(t,terraformOptions)
// Run `terraform output` to get the values of output variables
actualTextExample := terraform.Output(t,terraformOptions,"static_storage_account_name")
// Verify we're getting back the outputs we expect
assert.Equal(t,expectedText,actualTextExample)
}
我收到以下错误:
TestterraformBasicExample 2021-02-25T09:41:17Z retry.go:99: Returning due to Fatal error: FatalError{Underlying: error while running command: exit status 1;
Error: purging Secret "placeholder" (Key Vault "https://placeholder"): keyvault.BaseClient#PurgeDeletedSecret: Failure responding to request: StatusCode=409 --
Original Error: autorest/azure: Service returned an error. Status=409 Code="Conflict" Message="Secret is currently being deleted." InnerError={"code":"ObjectIsBeingDeleted"}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)