排解 Megaport Terraform Provider 的問題
如果您在使用 Megaport Terraform Provider 時遇到問題,請依序執行以下疑難排解動作。
如需 API 問題的疑難排解資訊,請參閱 API 疑難排解。
疑難排解動作
| 動作 | 步驟 |
|---|---|
| 確認您使用的是最新版本的 Terraform 與 Megaport Terraform Provider | 請確定您使用的是受支援的 Terraform 版本,以及 Megaport Terraform Provider 的最新版本,如 Megaport Terraform Provider Registry 所示。Megaport 會針對 Terraform 的最近兩個主要版本進行測試。 若要同時檢查兩者,請執行以下指令: terraform version應會輸出如下的版本資訊: Terraform v#.#.#on darwin_arm64+ provider registry.terraform.io/megaport/megaport v#.#.#您可以從 Upgrading Guides (HashiCorp) 下載以更新 Terraform。 Megaport Terraform Provider 的版本是您在 Terraform 檔案中建立 provider 時所宣告的版本。欲了解更多資訊,請參閱 建立 Megaport Terraform Provider 組態檔案。 |
| 解決 Azure VXC 刪除錯誤 | 刪除 Azure VXC 會產生以下錯誤:Error: Error deleting resource ****: has an attached peering connection that must be removed in Azure first: 若要解決此問題,應改用 Azure Terraform provider 管理 ExpressRoute peering,系統會在 VXC 之前先將 ExpressRoute peering 拆除。如需更多資訊,請參閱 the Azure provider documentation. |
| 解決在關聯服務被刪除時 VXC 也被刪除的問題 | 當重新建立 Port 時,provider 不會處理此情況,將會刪除該 Port 及其關聯的多個 VXC。 例如,若您有一個 Terraform 檔案,其中包含一個 Port,速率為 1000: resource "megaport_port" "port_2" {product_name = "port2"port_speed = 1000location_id = data.megaport_location.loc.idcontract_term_months = 12marketplace_visibility = falsecost_centre = "test2"diversity_zone = "red"}若您想將 port_2 的速率更新為 10000,這將會觸發重新建立 Port,並會先刪除該 Port 及其關聯的多個 VXC。目前 provider 無法處理此情況,並會回傳類似以下的錯誤: Error: Error Updating VXCCould not update VXC with ID a7b44cda-28bc-4d64-b05b-8703114a8fcd: PUT https://api-staging.megaport.com/v3/product/vxc/a7b44cda-28bc-4d64-b05b-8703114a8fcd: 400 (trace_id "89b4016d9f9d0b7545987092d0b17493") Product [a7b44cda-28bc-4d64-b05b-8703114a8fcd] Not Found為解決此問題,您可以如以下所示,對 Port 資源指定 lifecycle 修飾詞,這會先建立新的 Port,對 VXC 進行更新,然後再刪除舊的 Port。 lifecycle {create_before_destroy = true} |
| 回報 provider 錯誤訊息 | 如果您看到以下錯誤訊息,表示 provider 發生問題。 聯絡支援 或 create a GitHub issue,並包含導致該錯誤的操作流程詳細資訊,以便記錄並進行調查。"This is a bug in the provider, which should be reported in the provider's own issue tracker." |