How do I debug “No default robot”?

I have an Application (written in Go) running on Google AppEngine and am in the process of moving to Managed VMs. The App has been embedded in a Docker container with slight modifications to Dockerfile.

The local development server started by gcloud preview app run app.yaml runs fine and serves as expected.

  • Docker for Windows doesn't work
  • Home symbol `~` not recognized in Dockerfile
  • How to persist MongoDB data between container restarts?
  • Docker: Development environments [closed]
  • “Failed to resolve IP”; “Lookup error” in bash script when joining dockerized serf agents
  • docker SSL connection error
  • When trying to deploy, however, I run into the following error.

    Using gcloud‘s --verbosity debug I was able to isolate the request causing troubles (sorry for repeated output):

    INFO: Preparing project for VM runtimes.
    DEBUG: Running [] with: --application=coduno --called_by_gcloud --noisy --oauth2 --oauth2_credential_file=/Users/flowlo/.config/gcloud/legacy_credentials/ --skip_sdk_update_check --version=master prepare_vm_runtime
    11:53 AM Host:
    DEBUG: _Authenticate configuring auth; needs_auth=False
    DEBUG: Sending request to headers={'X-appcfg-api-version': '1', 'content-length': '0', 'Content-Type': 'application/octet-stream'} body=
    DEBUG: Got http error 400, this is try #1
    DEBUG: Unexpected results: {'status': '400', 'content-length': '65', 'expires': 'Fri, 01 Jan 1990 00:00:00 GMT', 'server': 'Google Frontend', 'cache-control': 'no-cache', 'date': 'Tue, 10 Mar 2015 10:53:09 GMT', 'content-type': 'text/plain'}
    Error 400: --- begin server output ---
    Failed Project Preparation (app_id='s~example'). No default robot.
    --- end server output ---
    DEBUG: Received error code [1] while running: [ --application=example --called_by_gcloud --noisy --oauth2 --oauth2_credential_file=/Users/lorenz/.config/gcloud/legacy_credentials/ --skip_sdk_update_check --version=master prepare_vm_runtime]

    Note: The real application ID was replaced with example, the prefix s~ is present in original output. Similarily I replaced the location of app.yaml with /path/to.

    My gcloud is up to date:

    $ gcloud --version
    Google Cloud SDK 0.9.50
    app 2015.03.03
    app-engine-go-darwin-x86_64 1.9.18
    app-engine-java 1.9.18
    app-engine-managed-vms 2015.01.22
    app-engine-python 1.9.18
    app-engine-python-extras 1.9.18
    bq 2.0.18
    bq-nix 2.0.18
    compute 2015.03.03
    core 2015.03.03
    core-nix 2014.10.20
    dns 2015.03.03
    gae-go 2015.03.03
    gae-go-nix 2014.09.10
    gae-python 2014.05.06
    gae-python-launcher-mac 1.9.18
    gcutil 1.16.5
    gcutil-nix 1.16.5
    gsutil 4.9
    gsutil-nix 4.6
    preview 2015.03.03
    preview-extensions-darwin-x86_64 0.11.0
    sql 2015.03.03

    Deploying the exact same app (same directory, same files) to a different project works.

  • Docker link container as build argument
  • Overlay network aware HAProxy
  • Docker - Can't access MySQL CLI in container
  • Is it possible to allow the containers running on the same image to share their filesystem?
  • How to solve Docker permission error when trigger by Jenkins
  • Can docker “instance” run totally in ram?
  • One Solution collect form web for “How do I debug “No default robot”?”

    I managed to resolve this with some help on (the legacy support community for Google App Engine).

    It turned out that for some reason “Cloud Integration” was not correctly set up for my project. I had to navigate to “Application Settings” on where “Cloud Integration” (it’s quite far down on the page) would show following error: “An error occured when creating the project. Please retry.”

    Hitting “Retry” and waiting a few minutes did the trick.

    Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.