Troubleshooting App Engine Flexible Deployment

This document presents troubleshooting techniques for Cloud Endpoints deployments in App Engine flexible environments. If you receive an error back from a request to your API, see Troubleshooting Response Errors for information on troubleshooting the error.

Deployment errors

This section describes how to troubleshoot errors from gcloud app deploy.

Error messages about rollout_strategy

When you configure app.yaml before deploying, you must add the endpoints_api_service section. The Extensible Service Proxy (ESP) needs the settings that you specify in this section to obtain the configuration for your service. You must specify either a configuration ID in the config_id field, or include the rollout_strategy: managed option, but not both. This option configures ESP to use the latest deployed service configuration. When you specify this option, within a minute after you deploy a new service configuration, ESP detects the change and automatically begins using it. We recommend that you specify this option instead of a specific configuration ID for ESP to use. For example:

endpoints_api_service:
  name: example-project-12345.appspot.com
  rollout_strategy: managed

If the endpoints_api_service section does not include the information that ESP needs to obtain a service configuration, you will see one of the following messages:

  • config_id is forbidden when rollout_strategy is set to "managed"

    You cannot specify both a configuration ID and rollout_strategy: managed. Unless you have a reason for using a specific configuration ID, we recommend that you remove the config_id: [YOUR_CONFIG_ID] from app.yaml and rerun gcloud beta app deploy.

  • config_id must be specified when rollout_strategy is unspecified or set to "fixed"

    This error message is displayed when either app.yaml does not include the rollout_strategy: managed or rollout_strategy is set to fixed and you have not specified a configuration ID. Unless you have a reason for using a specific configuration ID, we recommend that you add rollout_strategy: managed to the endpoints_api_service section of app.yaml and rerun gcloud beta app deploy.

Viewing logs on an instance

App Engine crash and system logs provide information on why the application failed to launch or perform as intended. Further debugging information can be found in the Cloud Endpoints log.

  1. SSH into your virtual machine. This can be accomplished via the console or gcloud. See the Google App Engine documentation for connecting to an instance.

  2. Use a text viewer such as tail:

     tail -f /var/log/nginx/error.log
    

Further reading

Was this page helpful? Let us know how we did:

Send feedback about...

Cloud Endpoints with OpenAPI