GCP Deployment Manager Delete RESOURCE_ERROR

9/5/2018

I created a Deployment Manager Template (python) to create a GKE Zonal cluster (v1beta1 feature). When I run gcloud deployment-manager deployments create <deploymentname> --config <config.yaml>, GKE cluster is created as expected.

I used type:gcp-types/container-v1beta1:projects.zones.clusters in my python template.

However, when I run the delete command on DM i.e. gcloud deployment-manager deployments delete <deploymentname> I get the following error:

Error says that field name could not be found. However, I did specify name in my config.yaml file.

  Error in Operation [operation-1536152440470-5751f5c88f9f3-5ca3a167-d12a593d]: errors:
   - code: RESOURCE_ERROR
     location: /deployments/test-project-gke-xhqgxn6pkd/resources/test-gkecluster-xhqgxn6pkd
     message: "{"ResourceType":"gcp-types/container-v1beta1:projects.zones.clusters"
       ,"ResourceErrorCode":"400","ResourceErrorMessage":{"code":400,"message"
       :"Invalid JSON payload received. Unknown name "name": Cannot bind query
        parameter. Field 'name' could not be found in request message.","status"
       :"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.BadRequest"
       ,"fieldViolations":[{"description":"Invalid JSON payload received. Unknown
        name "name": Cannot bind query parameter. Field 'name' could not be found
        in request message."}]}],"statusMessage":"Bad Request","requestPath"
       :"https://container.googleapis.com/v1beta1/projects/test-project/zones/us-east1-b/clusters/"
       ,"httpMethod":"GET"}}"

Here's the sample config.yaml

imports:
  - path: templates/gke/gke.py
    name: gke.py
resources:
  - name: ${CLUSTER_NAME}
    type: gke.py
    properties:
      zone: ${ZONE}
      cluster:
        name: ${CLUSTER_NAME}
        description: test gke cluster
        network: ${NETWORK_NAME}
        subnetwork: ${SUBNET_NAME}
        initialClusterVersion: ${CLUSTER_VERSION}
        nodePools:
          - name: ${NODEPOOL_NAME}
            initialNodeCount: ${NODE_COUNT}
            config:
            machineType: ${MACHINE_TYPE}
            diskSizeGb: 100
            imageType: cos
            oauthScopes:
              - https://www.googleapis.com/auth/compute
              - https://www.googleapis.com/auth/devstorage.read_only
              - https://www.googleapis.com/auth/logging.write
              - https://www.googleapis.com/auth/monitoring
            localSsdCount: ${LOCALSSD_COUNT}

Any ideas what I'm missing here?

-- obfuscate
google-cloud-platform
google-deployment-manager
google-kubernetes-engine

0 Answers