#google-api #terraform #internal-server-error #http-status-code-500
Вопрос:
На днях я допустил глупую ошибку при изменении некоторых политик IAM в нашей среде terraform, я применил изменение, в котором хотел ДОБАВИТЬ политику, когда на самом деле это было единственной существующей политикой, поэтому были уничтожены некоторые жизненно важные политики IAM для учетных записей служб для запуска GKE и т. Д. Не лучший мой день, мягко говоря (урок усвоен!).
На данный момент все было возвращено в нормальное состояние вручную, так как разрешения учетной записи службы в любом случае никогда не устанавливались через TF — это те разрешения, которые применяются при включении API в GCP, поэтому они выполняются ими в фоновом режиме. Теперь нашим кластером GKE можно снова управлять, он может автоматически масштабироваться и т. Д.
Однако теперь, когда я запускаю наш план терраформирования, я получаю ошибку 500 на ресурсе, который ранее никогда не был проблемой (отредактированная информация о сенситиве).:
2021-09-09T18:47:50.794Z [INFO] provider.terraform-provider-google-beta_v3.60.0_x5: 2021/09/09 18:47:50 [DEBUG] Retry Transport: Finished waiting 4s before next retry: timestamp=2021-09-09T18:47:50.794Z
2021-09-09T18:47:50.794Z [INFO] provider.terraform-provider-google-beta_v3.60.0_x5: 2021/09/09 18:47:50 [DEBUG] Retry Transport: request attempt 5: timestamp=2021-09-09T18:47:50.794Z
2021-09-09T18:47:50.794Z [INFO] provider.terraform-provider-google-beta_v3.60.0_x5: 2021/09/09 18:47:50 [DEBUG] Google API Request Details:
---[ REQUEST ]---------------------------------------
GET /v1/services/servicenetworking.googleapis.com/connections?alt=jsonamp;network=projects/411211291013/global/networks/**********amp;prettyPrint=false HTTP/1.1
Host: servicenetworking.googleapis.com
User-Agent: google-api-go-client/0.5 Terraform/1.0.6 ( https://www.terraform.io) Terraform-Plugin-SDK/2.4.4 terraform-provider-google-beta/dev
X-Goog-Api-Client: gl-go/1.14.5 gdcl/20210211
Accept-Encoding: gzip
-----------------------------------------------------: timestamp=2021-09-09T18:47:50.794Z
2021-09-09T18:47:51.601Z [INFO] provider.terraform-provider-google-beta_v3.60.0_x5: 2021/09/09 18:47:51 [DEBUG] Google API Response Details:
---[ RESPONSE ]--------------------------------------
HTTP/2.0 500 Internal Server Error
Cache-Control: private
Content-Type: application/json; charset=UTF-8
Date: Thu, 09 Sep 2021 18:47:51 GMT
Server: ESF
Vary: Origin
Vary: X-Origin
Vary: Referer
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-Xss-Protection: 0
{
"error": {
"code": 500,
"message": "An internal exception occurred.,
"errors": [
{
"message": "An internal exception occurred.nHelp Token: Ae-hA1PlQyCLBCgXD3Lle******************************************vhHU8zy1z9h",
"domain": "global",
"reason": "backendError"
}
],
"status": "INTERNAL"
}
}
│ Error: googleapi: Error 500: An internal exception occurred.
│ Help Token: Ae-hA1ONdq************************************m0k, backendError
│
│ with google_service_networking_connection.private_vpc_connection,
│ on vpc.tf line 81, in resource "google_service_networking_connection" "private_vpc_connection":
│ 81: resource "google_service_networking_connection" "private_vpc_connection"
Случалось ли с кем-нибудь подобное раньше? Вещи, которые я пробовал до сих пор:
- Я трижды проверил, все разрешения теперь такие, какими они были
- Я могу успешно получить/перечислить сведения о пиринге service_networking в качестве своей учетной записи вручную, а также учетной записи службы terraform, которая запускает план
- Пиринг в сервисной сети отлично отображается в консоли
Ответ №1:
Обновление: Это произошло из-за отсутствия разрешения на API servicenetworking. Учетная запись службы по умолчанию, созданная roles/servicenetworking.serviceAgent
по умолчанию, снова нуждалась в разрешении после ее удаления.
Более подробная информация здесь