我正在尝试使用Deployment Manager(v2)创build一个compute.v1.instanceTemplate ,但出现以下错误:
Unexpected response from resource of type compute.v1.instanceTemplate: 400 {statusMessage=Bad Request, errors=[{message=Invalid value for field 'resource.properties': ''. Instance Templates must provide instance properties., domain=global, reason=invalid}]}
我想这是抱怨失踪的财产,但我不能为了我的生活找出哪一个可能是。 我已经看了InstanceTemplates资源和高级部署 示例 ,我似乎没有错过任何东西。 虽然我会很高兴被certificate是错误的。
以下是使用gcloud deployment-manager deployments describe --log-http name的完整资源gcloud deployment-manager deployments describe --log-http name :
{ "id": "redacted", "insertTime": "2015-10-03T05:13:33.325-07:00", "updateTime": "2015-10-03T05:42:50.152-07:00", "name": "tpl-redacted", "type": "compute.v1.instanceTemplate", "update": { "manifest": "https://www.googleapis.com/deploymentmanager/v2/projects/project-redacted/global/deployments/redacted/manifests/manifest-redacted", "error": { "errors": [ { "code": "RESOURCE_ERROR", "location": "redacted/tpl-redacted", "message": "Unexpected response from resource of type compute.v1.instanceTemplate: 400 {statusMessage=Bad Request, errors=[{message=Invalid value for field 'resource.properties': ''. Instance Templates must provide instance properties., domain=global, reason=invalid}]}" } ] }, "state": "FAILED", "intent": "CREATE_OR_ACQUIRE", "properties": "canIpForward: true\ndisks:\n- autoDelete: true\n boot: true\n deviceName: boot\n initializeParams:\n diskSizeGb: 10\n diskType: pd-standard\n sourceImage: https://www.googleapis.com/compute/v1/projects/project-redacted/global/images/redacted-image\n mode: READ_WRITE\n type: PERSISTENT\nmachineType: https://www.googleapis.com/compute/v1/projects/project-redacted/zones/asia-east1-c/machineTypes/g1-small\nnetworkInterfaces:\n- accessConfigs: []\n network: $(ref.nw-redacted.selfLink)\nscheduling:\n automaticRestart: true\n onHostMaintenance: MIGRATE\nserviceAccounts:\n- scopes:\n - storage-ro\ntags:\n items:\n - redacted\nzone: asia-east1-c\n", "finalProperties": "canIpForward: true\ndisks:\n- autoDelete: true\n boot: true\n deviceName: boot\n initializeParams:\n diskSizeGb: 10\n diskType: pd-standard\n sourceImage: https://www.googleapis.com/compute/v1/projects/project-redacted/global/images/redacted-image\n mode: READ_WRITE\n type: PERSISTENT\nmachineType: https://www.googleapis.com/compute/v1/projects/project-redacted/zones/asia-east1-c/machineTypes/g1-small\nnetworkInterfaces:\n- accessConfigs: []\n network: https://www.googleapis.com/compute/v1/projects/project-redacted/global/networks/nw-redacted\nscheduling:\n automaticRestart: true\n onHostMaintenance: MIGRATE\nserviceAccounts:\n- scopes:\n - storage-ro\ntags:\n items:\n - redacted\nzone: asia-east1-c\n" } }
这里是一个人性化版本的finalProperties :
canIpForward: true disks: - autoDelete: true boot: true deviceName: boot initializeParams: diskSizeGb: 10 diskType: pd-standard sourceImage: https://www.googleapis.com/compute/v1/projects/project-redacted/global/images/redacted-image mode: READ_WRITE type: PERSISTENT machineType: https://www.googleapis.com/compute/v1/projects/project-redacted/zones/asia-east1-c/machineTypes/g1-small networkInterfaces: - accessConfigs: [] network: https://www.googleapis.com/compute/v1/projects/project-redacted/global/networks/nw-redacted scheduling: automaticRestart: true onHostMaintenance: MIGRATE serviceAccounts: - scopes: - storage-ro tags: items: - redacted zone: asia-east1-c
有任何想法吗? 或者,成功的compute.v1.instanceTemplate部署的例子将不胜感激。
原来,其中一个高级部署实例的确有一个compute.v1.instanceTemplate用法的例子 。 资源应该指定一个project而不是一个zone ,这确实更有意义,尽pipe除了这个例子之外,似乎没有任何地方logging。 不太明智的是,实际的实例模板参数被放置在另一个属性对象内。 不知道这是从哪里来的,但是这里是我最后的工作jinja模板(注意有些字段正在使用它们的默认值,实际上可以省略):
resources: - name: {{ env["name"] }} type: compute.v1.instanceTemplate properties: project: {{ env["project"] }} properties: machineType: {{ properties["machineType"] }} canIpForward: true scheduling: automaticRestart: true onHostMaintenance: MIGRATE preemptible: false tags: items: - redacted disks: - deviceName: boot boot: true autoDelete: true mode: READ_WRITE type: PERSISTENT initializeParams: diskSizeGb: 10 diskType: pd-standard sourceImage: https://www.googleapis.com/compute/v1/projects/{{ env["project"] }}/global/images/redacted networkInterfaces: - network: $(ref.{{ properties["network"] }}.selfLink) serviceAccounts: - email: default scopes: - https://www.googleapis.com/auth/devstorage.read_only