hashicorp / terraform-provider-google

Terraform Provider for Google Cloud Platform
https://registry.terraform.io/providers/hashicorp/google/latest/docs
Mozilla Public License 2.0
2.31k stars 1.73k forks source link

Failing test(s): TestAccDataSourceGoogleFirebaseAndroidApp (Beta) #16747

Open SarahFrench opened 9 months ago

SarahFrench commented 9 months ago

Failure rates

Impacted tests

Affected Resource(s)

Nightly build test history

Message(s)

------- Stdout: -------
=== RUN   TestAccDataSourceGoogleFirebaseAndroidApp
=== PAUSE TestAccDataSourceGoogleFirebaseAndroidApp
=== CONT  TestAccDataSourceGoogleFirebaseAndroidApp
    vcr_utils.go:152: Step 1/1 error: Check failed: Check 1/1 error: api_key_id is 716df6d5-82d8-4da3-90d1-a56fe253423b; want
        etag is 1_89385f54-7186-4b44-9d78-08733de263ad; want 1_705ed4f3-2f4c-4a79-b985-1132df76a707
--- FAIL: TestAccDataSourceGoogleFirebaseAndroidApp (26.17s)
FAIL

b/315875200

rainshen49 commented 9 months ago

I didn't manage to reproduce on my machine despite running 20 times in a row, so this looks like a flake. While I look into it further, could you provide more info about when the failures are more significant. Is there's a specific cluster of failures, or just throughout? @SarahFrench

SarahFrench commented 9 months ago

The failures are very infrequent and aren't clustered around a specific period of time:

Screenshot 2023-12-12 at 16 04 10

I've included two snippets of the debug logs from the latest test failure and a time the test passed:

Click to see debug log from when the test failed: ``` ---[ REQUEST ]--------------------------------------- POST /v1beta1/projects/ci-test-project-nightly-beta/androidApps?alt=json HTTP/1.1 Host: firebase.googleapis.com User-Agent: Terraform/1.2.5 (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev Content-Length: 243 Content-Type: application/json Accept-Encoding: gzip { "displayName": "tf-test Display Name AndroidApp DataSource", "packageName": "android.package.appxdks", "sha1Hashes": [ "2145bdf698b8715039bd0e83f2069bed435ac21c" ], "sha256Hashes": [ "2145bdf698b8715039bd0e83f2069bed435ac21ca1b2c3d4e5f6123456789abc" ] } ----------------------------------------------------- 2023/12/06 06:18:15 [DEBUG] Google API Response Details: ---[ RESPONSE ]-------------------------------------- HTTP/2.0 200 OK Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Cache-Control: private Content-Type: application/json; charset=UTF-8 Date: Wed, 06 Dec 2023 06:18:15 GMT Server: ESF Vary: Origin Vary: X-Origin Vary: Referer X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-Xss-Protection: 0 { "name": "operations/workflows/NDA5MzFlMmMtZGQ3ZC00OTQyLWJjMGItOGU3MWUwNTBjZWYy" } ----------------------------------------------------- 2023/12/06 06:18:15 [DEBUG] Retry Transport: Stopping retries, last request was successful 2023/12/06 06:18:15 [DEBUG] Retry Transport: Returning after 1 attempts 2023/12/06 06:18:15 [DEBUG] Waiting for state to become: [done: true] 2023/12/06 06:18:15 [DEBUG] Waiting for state to become: [success] 2023/12/06 06:18:15 [DEBUG] Retry Transport: starting RoundTrip retry loop 2023/12/06 06:18:15 [DEBUG] Retry Transport: request attempt 0 2023/12/06 06:18:15 [DEBUG] Google API Request Details: ---[ REQUEST ]--------------------------------------- GET /v1beta1/operations/workflows/NDA5MzFlMmMtZGQ3ZC00OTQyLWJjMGItOGU3MWUwNTBjZWYy?alt=json HTTP/1.1 Host: firebase.googleapis.com User-Agent: Terraform/1.2.5 (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev Content-Type: application/json Accept-Encoding: gzip ----------------------------------------------------- 2023/12/06 06:18:15 [DEBUG] Google API Response Details: ---[ RESPONSE ]-------------------------------------- HTTP/2.0 200 OK Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Cache-Control: private Content-Type: application/json; charset=UTF-8 Date: Wed, 06 Dec 2023 06:18:15 GMT Server: ESF Vary: Origin Vary: X-Origin Vary: Referer X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-Xss-Protection: 0 { "name": "operations/workflows/NDA5MzFlMmMtZGQ3ZC00OTQyLWJjMGItOGU3MWUwNTBjZWYy" } ----------------------------------------------------- 2023/12/06 06:18:15 [DEBUG] Retry Transport: Stopping retries, last request was successful 2023/12/06 06:18:15 [DEBUG] Retry Transport: Returning after 1 attempts 2023/12/06 06:18:15 [DEBUG] Got done: false while polling for operation operations/workflows/NDA5MzFlMmMtZGQ3ZC00OTQyLWJjMGItOGU3MWUwNTBjZWYy's status 2023/12/06 06:18:25 [DEBUG] Waiting for state to become: [success] 2023/12/06 06:18:25 [DEBUG] Retry Transport: starting RoundTrip retry loop 2023/12/06 06:18:25 [DEBUG] Retry Transport: request attempt 0 2023/12/06 06:18:25 [DEBUG] Google API Request Details: ---[ REQUEST ]--------------------------------------- GET /v1beta1/operations/workflows/NDA5MzFlMmMtZGQ3ZC00OTQyLWJjMGItOGU3MWUwNTBjZWYy?alt=json HTTP/1.1 Host: firebase.googleapis.com User-Agent: Terraform/1.2.5 (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev Content-Type: application/json Accept-Encoding: gzip ----------------------------------------------------- 2023/12/06 06:18:25 [DEBUG] Google API Response Details: ---[ RESPONSE ]-------------------------------------- HTTP/2.0 200 OK Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Cache-Control: private Content-Type: application/json; charset=UTF-8 Date: Wed, 06 Dec 2023 06:18:25 GMT Server: ESF Vary: Origin Vary: X-Origin Vary: Referer X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-Xss-Protection: 0 { "name": "operations/workflows/NDA5MzFlMmMtZGQ3ZC00OTQyLWJjMGItOGU3MWUwNTBjZWYy", "done": true, "response": { "@type": "type.googleapis.com/google.firebase.service.v1beta1.AndroidApp", "name": "projects/ci-test-project-nightly-beta/androidApps/1:653407317329:android:9fd7098852ff09c20eb770", "appId": "1:653407317329:android:9fd7098852ff09c20eb770", "displayName": "tf-test Display Name AndroidApp DataSource", "projectId": "ci-test-project-nightly-beta", "packageName": "android.package.appxdks", "state": "ACTIVE", "sha1Hashes": [ "2145bdf698b8715039bd0e83f2069bed435ac21c" ], "sha256Hashes": [ "2145bdf698b8715039bd0e83f2069bed435ac21ca1b2c3d4e5f6123456789abc" ], "expireTime": "1970-01-01T00:00:00Z", "etag": "1_705ed4f3-2f4c-4a79-b985-1132df76a707" } } ----------------------------------------------------- 2023/12/06 06:18:25 [DEBUG] Retry Transport: Stopping retries, last request was successful 2023/12/06 06:18:25 [DEBUG] Retry Transport: Returning after 1 attempts 2023/12/06 06:18:25 [DEBUG] Got done: true while polling for operation operations/workflows/NDA5MzFlMmMtZGQ3ZC00OTQyLWJjMGItOGU3MWUwNTBjZWYy's status 2023/12/06 06:18:25 [DEBUG] Finished creating AndroidApp "projects/ci-test-project-nightly-beta/androidApps/1:653407317329:android:9fd7098852ff09c20eb770": map[string]interface {}{"name":"operations/workflows/NDA5MzFlMmMtZGQ3ZC00OTQyLWJjMGItOGU3MWUwNTBjZWYy"} 2023/12/06 06:18:25 [DEBUG] Waiting for state to become: [success] 2023/12/06 06:18:25 [DEBUG] Retry Transport: starting RoundTrip retry loop 2023/12/06 06:18:25 [DEBUG] Retry Transport: request attempt 0 2023/12/06 06:18:25 [DEBUG] Google API Request Details: ---[ REQUEST ]--------------------------------------- GET /v1beta1/projects/ci-test-project-nightly-beta/androidApps/1:653407317329:android:9fd7098852ff09c20eb770?alt=json HTTP/1.1 Host: firebase.googleapis.com User-Agent: Terraform/1.2.5 (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev Content-Type: application/json Accept-Encoding: gzip ----------------------------------------------------- 2023/12/06 06:18:25 [DEBUG] Google API Response Details: ---[ RESPONSE ]-------------------------------------- HTTP/2.0 200 OK Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Cache-Control: private Content-Type: application/json; charset=UTF-8 Date: Wed, 06 Dec 2023 06:18:25 GMT Server: ESF Vary: Origin Vary: X-Origin Vary: Referer X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-Xss-Protection: 0 { "name": "projects/ci-test-project-nightly-beta/androidApps/1:653407317329:android:9fd7098852ff09c20eb770", "appId": "1:653407317329:android:9fd7098852ff09c20eb770", "displayName": "tf-test Display Name AndroidApp DataSource", "projectId": "ci-test-project-nightly-beta", "packageName": "android.package.appxdks", "state": "ACTIVE", "sha1Hashes": [ "2145bdf698b8715039bd0e83f2069bed435ac21c" ], "sha256Hashes": [ "2145bdf698b8715039bd0e83f2069bed435ac21ca1b2c3d4e5f6123456789abc" ], "expireTime": "1970-01-01T00:00:00Z", "etag": "1_705ed4f3-2f4c-4a79-b985-1132df76a707" } ----------------------------------------------------- 2023/12/06 06:18:25 [DEBUG] Retry Transport: Stopping retries, last request was successful 2023/12/06 06:18:25 [DEBUG] Retry Transport: Returning after 1 attempts 2023/12/06 06:18:25 [DEBUG] Waiting for state to become: [success] 2023/12/06 06:18:25 [DEBUG] Waiting for state to become: [success] 2023/12/06 06:18:25 [DEBUG] Retry Transport: starting RoundTrip retry loop 2023/12/06 06:18:25 [DEBUG] Retry Transport: request attempt 0 2023/12/06 06:18:25 [DEBUG] Google API Request Details: ---[ REQUEST ]--------------------------------------- GET /v1beta1/projects/ci-test-project-nightly-beta/androidApps/1:653407317329:android:9fd7098852ff09c20eb770?alt=json HTTP/1.1 Host: firebase.googleapis.com User-Agent: Terraform/1.2.5 (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev Content-Type: application/json Accept-Encoding: gzip ----------------------------------------------------- 2023/12/06 06:18:25 [DEBUG] Retry Transport: starting RoundTrip retry loop 2023/12/06 06:18:25 [DEBUG] Retry Transport: request attempt 0 2023/12/06 06:18:25 [DEBUG] Google API Request Details: ---[ REQUEST ]--------------------------------------- GET /v1beta1/projects/ci-test-project-nightly-beta/androidApps/1:653407317329:android:9fd7098852ff09c20eb770?alt=json HTTP/1.1 Host: firebase.googleapis.com User-Agent: Terraform/1.2.5 (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev Content-Type: application/json Accept-Encoding: gzip ----------------------------------------------------- 2023/12/06 06:18:25 [DEBUG] Google API Response Details: ---[ RESPONSE ]-------------------------------------- HTTP/2.0 200 OK Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Cache-Control: private Content-Type: application/json; charset=UTF-8 Date: Wed, 06 Dec 2023 06:18:25 GMT Server: ESF Vary: Origin Vary: X-Origin Vary: Referer X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-Xss-Protection: 0 { "name": "projects/ci-test-project-nightly-beta/androidApps/1:653407317329:android:9fd7098852ff09c20eb770", "appId": "1:653407317329:android:9fd7098852ff09c20eb770", "displayName": "tf-test Display Name AndroidApp DataSource", "projectId": "ci-test-project-nightly-beta", "packageName": "android.package.appxdks", "apiKeyId": "716df6d5-82d8-4da3-90d1-a56fe253423b", "state": "ACTIVE", "sha1Hashes": [ "2145bdf698b8715039bd0e83f2069bed435ac21c" ], "sha256Hashes": [ "2145bdf698b8715039bd0e83f2069bed435ac21ca1b2c3d4e5f6123456789abc" ], "expireTime": "1970-01-01T00:00:00Z", "etag": "1_89385f54-7186-4b44-9d78-08733de263ad" } ----------------------------------------------------- 2023/12/06 06:18:25 [DEBUG] Retry Transport: Stopping retries, last request was successful 2023/12/06 06:18:25 [DEBUG] Retry Transport: Returning after 1 attempts 2023/12/06 06:18:25 [DEBUG] Google API Response Details: ---[ RESPONSE ]-------------------------------------- HTTP/2.0 200 OK Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Cache-Control: private Content-Type: application/json; charset=UTF-8 Date: Wed, 06 Dec 2023 06:18:25 GMT Server: ESF Vary: Origin Vary: X-Origin Vary: Referer X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-Xss-Protection: 0 { "name": "projects/ci-test-project-nightly-beta/androidApps/1:653407317329:android:9fd7098852ff09c20eb770", "appId": "1:653407317329:android:9fd7098852ff09c20eb770", "displayName": "tf-test Display Name AndroidApp DataSource", "projectId": "ci-test-project-nightly-beta", "packageName": "android.package.appxdks", "apiKeyId": "716df6d5-82d8-4da3-90d1-a56fe253423b", "state": "ACTIVE", "sha1Hashes": [ "2145bdf698b8715039bd0e83f2069bed435ac21c" ], "sha256Hashes": [ "2145bdf698b8715039bd0e83f2069bed435ac21ca1b2c3d4e5f6123456789abc" ], "expireTime": "1970-01-01T00:00:00Z", "etag": "1_89385f54-7186-4b44-9d78-08733de263ad" } ----------------------------------------------------- 2023/12/06 06:18:25 [DEBUG] Retry Transport: Stopping retries, last request was successful 2023/12/06 06:18:25 [DEBUG] Retry Transport: Returning after 1 attempts 2023-12-06T06:18:26.004Z [DEBUG] sdk.helper_resource: Stopping providers: test_step_number=1 test_terraform_path=/opt/teamcity-agent/work/ba38c59b90e29503/tools/terraform test_working_directory=/opt/teamcity-agent/temp/buildTmp/plugintest3261737624 test_name=TestAccDataSourceGoogleFirebaseAndroidApp 2023-12-06T06:18:26.004Z [DEBUG] sdk.helper_resource: Creating tfprotov5 provider instance: test_working_directory=/opt/teamcity-agent/temp/buildTmp/plugintest3261737624 tf_provider_addr=registry.terraform.io/hashicorp/google test_name=TestAccDataSourceGoogleFirebaseAndroidApp test_step_number=1 test_terraform_path=/opt/teamcity-agent/work/ba38c59b90e29503/tools/terraform 2023/12/06 06:18:26 [DEBUG] VCR_PATH or VCR_MODE not set, skipping VCR 2023-12-06T06:18:26.181Z [DEBUG] sdk.helper_resource: Created tfprotov5 provider instance: test_terraform_path=/opt/teamcity-agent/work/ba38c59b90e29503/tools/terraform test_working_directory=/opt/teamcity-agent/temp/buildTmp/plugintest3261737624 test_name=TestAccDataSourceGoogleFirebaseAndroidApp test_step_number=1 tf_provider_addr=registry.terraform.io/hashicorp/google 2023-12-06T06:18:26.181Z [DEBUG] sdk.helper_resource: Starting tfprotov5 provider instance server: test_step_number=1 tf_provider_addr=registry.terraform.io/hashicorp/google test_terraform_path=/opt/teamcity-agent/work/ba38c59b90e29503/tools/terraform test_working_directory=/opt/teamcity-agent/temp/buildTmp/plugintest3261737624 test_name=TestAccDataSourceGoogleFirebaseAndroidApp 2023-12-06T06:18:26.182Z [DEBUG] sdk.helper_resource: Started tfprotov5 provider instance server: test_name=TestAccDataSourceGoogleFirebaseAndroidApp test_step_number=1 test_terraform_path=/opt/teamcity-agent/work/ba38c59b90e29503/tools/terraform test_working_directory=/opt/teamcity-agent/temp/buildTmp/plugintest3261737624 tf_provider_addr=registry.terraform.io/hashicorp/google 2023-12-06T06:18:26.750Z [DEBUG] sdk.helper_resource: Stopping providers: test_working_directory=/opt/teamcity-agent/temp/buildTmp/plugintest3261737624 test_name=TestAccDataSourceGoogleFirebaseAndroidApp test_step_number=1 test_terraform_path=/opt/teamcity-agent/work/ba38c59b90e29503/tools/terraform 2023-12-06T06:18:26.750Z [ERROR] sdk.helper_resource: Unexpected error: error= | Check failed: Check 1/1 error: api_key_id is 716df6d5-82d8-4da3-90d1-a56fe253423b; want | etag is 1_89385f54-7186-4b44-9d78-08733de263ad; want 1_705ed4f3-2f4c-4a79-b985-1132df76a707 test_name=TestAccDataSourceGoogleFirebaseAndroidApp test_step_number=1 test_terraform_path=/opt/teamcity-agent/work/ba38c59b90e29503/tools/terraform test_working_directory=/opt/teamcity-agent/temp/buildTmp/plugintest3261737624 ```
Click to see debug log from when the test passes: ``` ---[ REQUEST ]--------------------------------------- POST /v1beta1/projects/ci-test-project-nightly-beta/androidApps?alt=json HTTP/1.1 Host: firebase.googleapis.com User-Agent: Terraform/1.2.5 (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev Content-Length: 243 Content-Type: application/json Accept-Encoding: gzip { "displayName": "tf-test Display Name AndroidApp DataSource", "packageName": "android.package.appr4nd", "sha1Hashes": [ "2145bdf698b8715039bd0e83f2069bed435ac21c" ], "sha256Hashes": [ "2145bdf698b8715039bd0e83f2069bed435ac21ca1b2c3d4e5f6123456789abc" ] } ----------------------------------------------------- 2023/12/09 05:34:54 [DEBUG] Google API Response Details: ---[ RESPONSE ]-------------------------------------- HTTP/2.0 200 OK Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Cache-Control: private Content-Type: application/json; charset=UTF-8 Date: Sat, 09 Dec 2023 05:34:54 GMT Server: ESF Vary: Origin Vary: X-Origin Vary: Referer X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-Xss-Protection: 0 { "name": "operations/workflows/MjRmYzRlYmItZTdhMy00MzA2LTk0MDktNDAzNjExMDY0OWZi" } ----------------------------------------------------- 2023/12/09 05:34:54 [DEBUG] Retry Transport: Stopping retries, last request was successful 2023/12/09 05:34:54 [DEBUG] Retry Transport: Returning after 1 attempts 2023/12/09 05:34:54 [DEBUG] Waiting for state to become: [done: true] 2023/12/09 05:34:54 [DEBUG] Waiting for state to become: [success] 2023/12/09 05:34:54 [DEBUG] Retry Transport: starting RoundTrip retry loop 2023/12/09 05:34:54 [DEBUG] Retry Transport: request attempt 0 2023/12/09 05:34:54 [DEBUG] Google API Request Details: ---[ REQUEST ]--------------------------------------- GET /v1beta1/operations/workflows/MjRmYzRlYmItZTdhMy00MzA2LTk0MDktNDAzNjExMDY0OWZi?alt=json HTTP/1.1 Host: firebase.googleapis.com User-Agent: Terraform/1.2.5 (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev Content-Type: application/json Accept-Encoding: gzip ----------------------------------------------------- 2023/12/09 05:34:55 [DEBUG] Google API Response Details: ---[ RESPONSE ]-------------------------------------- HTTP/2.0 200 OK Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Cache-Control: private Content-Type: application/json; charset=UTF-8 Date: Sat, 09 Dec 2023 05:34:55 GMT Server: ESF Vary: Origin Vary: X-Origin Vary: Referer X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-Xss-Protection: 0 { "name": "operations/workflows/MjRmYzRlYmItZTdhMy00MzA2LTk0MDktNDAzNjExMDY0OWZi" } ----------------------------------------------------- 2023/12/09 05:34:55 [DEBUG] Retry Transport: Stopping retries, last request was successful 2023/12/09 05:34:55 [DEBUG] Retry Transport: Returning after 1 attempts 2023/12/09 05:34:55 [DEBUG] Got done: false while polling for operation operations/workflows/MjRmYzRlYmItZTdhMy00MzA2LTk0MDktNDAzNjExMDY0OWZi's status 2023/12/09 05:35:05 [DEBUG] Waiting for state to become: [success] 2023/12/09 05:35:05 [DEBUG] Retry Transport: starting RoundTrip retry loop 2023/12/09 05:35:05 [DEBUG] Retry Transport: request attempt 0 2023/12/09 05:35:05 [DEBUG] Google API Request Details: ---[ REQUEST ]--------------------------------------- GET /v1beta1/operations/workflows/MjRmYzRlYmItZTdhMy00MzA2LTk0MDktNDAzNjExMDY0OWZi?alt=json HTTP/1.1 Host: firebase.googleapis.com User-Agent: Terraform/1.2.5 (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev Content-Type: application/json Accept-Encoding: gzip ----------------------------------------------------- 2023/12/09 05:35:05 [DEBUG] Google API Response Details: ---[ RESPONSE ]-------------------------------------- HTTP/2.0 200 OK Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Cache-Control: private Content-Type: application/json; charset=UTF-8 Date: Sat, 09 Dec 2023 05:35:05 GMT Server: ESF Vary: Origin Vary: X-Origin Vary: Referer X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-Xss-Protection: 0 { "name": "operations/workflows/MjRmYzRlYmItZTdhMy00MzA2LTk0MDktNDAzNjExMDY0OWZi", "done": true, "response": { "@type": "type.googleapis.com/google.firebase.service.v1beta1.AndroidApp", "name": "projects/ci-test-project-nightly-beta/androidApps/1:653407317329:android:cfcef07331bc54eb0eb770", "appId": "1:653407317329:android:cfcef07331bc54eb0eb770", "displayName": "tf-test Display Name AndroidApp DataSource", "projectId": "ci-test-project-nightly-beta", "packageName": "android.package.appr4nd", "state": "ACTIVE", "sha1Hashes": [ "2145bdf698b8715039bd0e83f2069bed435ac21c" ], "sha256Hashes": [ "2145bdf698b8715039bd0e83f2069bed435ac21ca1b2c3d4e5f6123456789abc" ], "expireTime": "1970-01-01T00:00:00Z", "etag": "1_0569d89e-030a-4649-b470-084804c23441" } } ----------------------------------------------------- 2023/12/09 05:35:05 [DEBUG] Retry Transport: Stopping retries, last request was successful 2023/12/09 05:35:05 [DEBUG] Retry Transport: Returning after 1 attempts 2023/12/09 05:35:05 [DEBUG] Got done: true while polling for operation operations/workflows/MjRmYzRlYmItZTdhMy00MzA2LTk0MDktNDAzNjExMDY0OWZi's status 2023/12/09 05:35:05 [DEBUG] Finished creating AndroidApp "projects/ci-test-project-nightly-beta/androidApps/1:653407317329:android:cfcef07331bc54eb0eb770": map[string]interface {}{"name":"operations/workflows/MjRmYzRlYmItZTdhMy00MzA2LTk0MDktNDAzNjExMDY0OWZi"} 2023/12/09 05:35:05 [DEBUG] Waiting for state to become: [success] 2023/12/09 05:35:05 [DEBUG] Retry Transport: starting RoundTrip retry loop 2023/12/09 05:35:05 [DEBUG] Retry Transport: request attempt 0 2023/12/09 05:35:05 [DEBUG] Google API Request Details: ---[ REQUEST ]--------------------------------------- GET /v1beta1/projects/ci-test-project-nightly-beta/androidApps/1:653407317329:android:cfcef07331bc54eb0eb770?alt=json HTTP/1.1 Host: firebase.googleapis.com User-Agent: Terraform/1.2.5 (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev Content-Type: application/json Accept-Encoding: gzip ----------------------------------------------------- 2023/12/09 05:35:05 [DEBUG] Google API Response Details: ---[ RESPONSE ]-------------------------------------- HTTP/2.0 200 OK Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Cache-Control: private Content-Type: application/json; charset=UTF-8 Date: Sat, 09 Dec 2023 05:35:05 GMT Server: ESF Vary: Origin Vary: X-Origin Vary: Referer X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-Xss-Protection: 0 { "name": "projects/ci-test-project-nightly-beta/androidApps/1:653407317329:android:cfcef07331bc54eb0eb770", "appId": "1:653407317329:android:cfcef07331bc54eb0eb770", "displayName": "tf-test Display Name AndroidApp DataSource", "projectId": "ci-test-project-nightly-beta", "packageName": "android.package.appr4nd", "apiKeyId": "716df6d5-82d8-4da3-90d1-a56fe253423b", "state": "ACTIVE", "sha1Hashes": [ "2145bdf698b8715039bd0e83f2069bed435ac21c" ], "sha256Hashes": [ "2145bdf698b8715039bd0e83f2069bed435ac21ca1b2c3d4e5f6123456789abc" ], "expireTime": "1970-01-01T00:00:00Z", "etag": "1_2b2cf993-aee7-4e6d-9058-569ee99caf55" } ----------------------------------------------------- 2023/12/09 05:35:05 [DEBUG] Retry Transport: Stopping retries, last request was successful 2023/12/09 05:35:05 [DEBUG] Retry Transport: Returning after 1 attempts 2023/12/09 05:35:05 [DEBUG] Waiting for state to become: [success] 2023/12/09 05:35:05 [DEBUG] Retry Transport: starting RoundTrip retry loop 2023/12/09 05:35:05 [DEBUG] Retry Transport: request attempt 0 2023/12/09 05:35:05 [DEBUG] Waiting for state to become: [success] 2023/12/09 05:35:05 [DEBUG] Google API Request Details: ---[ REQUEST ]--------------------------------------- GET /v1beta1/projects/ci-test-project-nightly-beta/androidApps/1:653407317329:android:cfcef07331bc54eb0eb770?alt=json HTTP/1.1 Host: firebase.googleapis.com User-Agent: Terraform/1.2.5 (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev Content-Type: application/json Accept-Encoding: gzip ----------------------------------------------------- 2023/12/09 05:35:05 [DEBUG] Retry Transport: starting RoundTrip retry loop 2023/12/09 05:35:05 [DEBUG] Retry Transport: request attempt 0 2023/12/09 05:35:05 [DEBUG] Google API Request Details: ---[ REQUEST ]--------------------------------------- GET /v1beta1/projects/ci-test-project-nightly-beta/androidApps/1:653407317329:android:cfcef07331bc54eb0eb770?alt=json HTTP/1.1 Host: firebase.googleapis.com User-Agent: Terraform/1.2.5 (+https://www.terraform.io) Terraform-Plugin-SDK/2.10.1 terraform-provider-google-beta/dev Content-Type: application/json Accept-Encoding: gzip ----------------------------------------------------- 2023/12/09 05:35:05 [DEBUG] Google API Response Details: ---[ RESPONSE ]-------------------------------------- HTTP/2.0 200 OK Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Cache-Control: private Content-Type: application/json; charset=UTF-8 Date: Sat, 09 Dec 2023 05:35:05 GMT Server: ESF Vary: Origin Vary: X-Origin Vary: Referer X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-Xss-Protection: 0 { "name": "projects/ci-test-project-nightly-beta/androidApps/1:653407317329:android:cfcef07331bc54eb0eb770", "appId": "1:653407317329:android:cfcef07331bc54eb0eb770", "displayName": "tf-test Display Name AndroidApp DataSource", "projectId": "ci-test-project-nightly-beta", "packageName": "android.package.appr4nd", "apiKeyId": "716df6d5-82d8-4da3-90d1-a56fe253423b", "state": "ACTIVE", "sha1Hashes": [ "2145bdf698b8715039bd0e83f2069bed435ac21c" ], "sha256Hashes": [ "2145bdf698b8715039bd0e83f2069bed435ac21ca1b2c3d4e5f6123456789abc" ], "expireTime": "1970-01-01T00:00:00Z", "etag": "1_2b2cf993-aee7-4e6d-9058-569ee99caf55" } ----------------------------------------------------- 2023/12/09 05:35:05 [DEBUG] Retry Transport: Stopping retries, last request was successful 2023/12/09 05:35:05 [DEBUG] Retry Transport: Returning after 1 attempts 2023/12/09 05:35:05 [DEBUG] Google API Response Details: ---[ RESPONSE ]-------------------------------------- HTTP/2.0 200 OK Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000 Cache-Control: private Content-Type: application/json; charset=UTF-8 Date: Sat, 09 Dec 2023 05:35:05 GMT Server: ESF Vary: Origin Vary: X-Origin Vary: Referer X-Content-Type-Options: nosniff X-Frame-Options: SAMEORIGIN X-Xss-Protection: 0 { "name": "projects/ci-test-project-nightly-beta/androidApps/1:653407317329:android:cfcef07331bc54eb0eb770", "appId": "1:653407317329:android:cfcef07331bc54eb0eb770", "displayName": "tf-test Display Name AndroidApp DataSource", "projectId": "ci-test-project-nightly-beta", "packageName": "android.package.appr4nd", "apiKeyId": "716df6d5-82d8-4da3-90d1-a56fe253423b", "state": "ACTIVE", "sha1Hashes": [ "2145bdf698b8715039bd0e83f2069bed435ac21c" ], "sha256Hashes": [ "2145bdf698b8715039bd0e83f2069bed435ac21ca1b2c3d4e5f6123456789abc" ], "expireTime": "1970-01-01T00:00:00Z", "etag": "1_2b2cf993-aee7-4e6d-9058-569ee99caf55" } ----------------------------------------------------- 2023/12/09 05:35:05 [DEBUG] Retry Transport: Stopping retries, last request was successful 2023/12/09 05:35:05 [DEBUG] Retry Transport: Returning after 1 attempts 2023-12-09T05:35:05.727Z [DEBUG] sdk.helper_resource: Stopping providers: test_step_number=1 test_terraform_path=/opt/teamcity-agent/work/ba38c59b90e29503/tools/terraform test_working_directory=/opt/teamcity-agent/temp/buildTmp/plugintest1611880829 test_name=TestAccDataSourceGoogleFirebaseAndroidApp ```

Those logs include:

In the test that fails I see that the etag of the app is one value in data returned in GET requests # 1 + 2 and is a different value in # 3 + 4. This causes the resource's state to have an older etag versus the datasources and makes the test fail. In the test that passes I can see that the etag changes between GET requests # 1 and # 2, which means the resource's state includes the newer etag and matches the data sources' state.

Similarly, the logs show apiKeyId isn't consistently in the API response, and it looks like it's added by the API after the resource is created and that change accompanies the etag change. So in the failing test apiKeyId is present in GET requests # 3 + 4 only, and in the passing test it's present in # 2 + 3 + 4.

Basically there's a bit of a race and usually the API manages to update the etag and apiKeyId fast enough but 5% of the time it's not fast enough and it fails. We could make the test ignore those fields in this check, unless it'd be possible to have the apiKeyId value be available straight away when the create action ends?

SarahFrench commented 9 months ago

Or, we could add a sleep to the test, if it'd be best to keep the checks comparing the resource and data source states as they are.

rainshen49 commented 9 months ago

This is quite helpful. The operation should wait for the api key to populate before returning done. I'll look into fixing that.