本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
管理 Terraform 开源产品状态错误
Terraform Open Source ProvisionProduct 故障会路由到 TAINTED 状态,进而允许每个预配置的产品继续进行 UpdateProvisionedProduct。发生这种情况时:
-
UpdateProvisionedProduct不会尝试更新或更正标签,也不会尝试创建或修改资源组。 -
UpdateProvisionedProduct在决定是否应将预配置产品设置为AVAILABLE或TAINTED时,不会考虑先前配置操作的失败。
Amazon Service Catalog 仅在此期间应用标签ProvisionProduct。由于 ProvisionProduct 操作失败而导致的任何标记失败都不会自动解决。
状态错误示例
示例 1:在期间 Amazon Service Catalog 不创建资源组 ProvisionProduct
在以下场景中,即使没有支持资源组,也没有对资源应用任何标签,您仍有预配置产品处于 AVAILABLE 状态。
-
您的操作启动
ProvisionProduct。 -
Terraform 预配置引擎会以工作流程故障对
ProvisionProduct做出响应,但不提供ResourceIdentifier。 -
ProvisionProduct工作流程不会创建资源组,并随后将预配置的产品状态设置为ERROR。 -
然后,您可启动
UpdateProvisionedproduct操作。 -
Terraform 预配置引擎会做出表示“成功”的回复。
-
因此,
UpdateprovisionedProduct工作流程将预配置产品的状态设置为AVAILABLE,但不会创建资源组,也不会尝试应用任何标签。
示例 2:在此期间 Amazon Service Catalog 创建新资源 UpdateProvisionedProduct
在以下场景中,即使新资源未应用任何标签,您仍有预配置产品处于 AVAILABLE 状态。
-
您的操作启动
ProvisionProduct。 -
Terraform 预配置引擎会做出表示“成功”的回复,并提供
ResourceIdentifier。 -
ProvisionProduct工作流程创建资源组并将标签应用于所有已识别的资源。 -
您启动
UpdateProvisionedProduct一个创建新资源的新构件。 -
Terraform 预配置引擎会做出表示“成功”的回复。
-
UpdateProvisionedProduct工作流程将预配置产品状态设置为AVAILABLE,但不会尝试将任何其他标签应用于新资源。
状态错误解决方案
Amazon Service Catalog 确保为所有设置为 from 的预配置产品创建资源组。TAINTED ProvisionProduct如果 Terraform 配置引擎未返回ResourceIdentifier,或者创建资源组 Amazon Service Catalog 失败,则预配置产品将设置为ERROR状态,迫使您终止。