Stay organized with collectionsSave and categorize content based on your preferences.
OpenAPI | gRPC
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, seeTroubleshooting response errorsfor information on troubleshooting the error.
Deployment errors
This section describes how to troubleshoot errors fromgcloud app deploy.
Error message
Troubleshooting
Your deployment has failed to become healthy in the allotted time and
therefore was rolled back. If you believe this was an error, try adjusting theapp_start_timeout_secsetting in thereadiness_checksection.
Check that yourapp.yamlfile has areadiness_checksection with a value forapp_start_timeout_sec. If it doesn't
exist, add the section and set the value ofapp_start_timeout_secto higher than the default of 300 seconds.
For more information, seereadiness checks.
Make sure that you enable all of the Google Cloud services that
Endpoints and ESP require. SeeChecking
required servicesfor details.
When you configureapp.yamlbefore deploying, you must add theendpoints_api_servicesection. 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 theconfig_idfield, or
include therollout_strategy: managedoption, but not both. This option
configures ESP to use the latest deployed service configuration. When you
specify this option, up to 5 minutes 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:
If theendpoints_api_servicesection doesn't include the information that
ESP needs to obtain a service configuration, one of the following
messages is displayed:
Error message
Troubleshooting
config_idis forbidden whenrollout_strategyis set
to"managed"
You cannot specify both a configuration ID androllout_strategy: managed. Unless you have a reason for using a
specific configuration ID, we recommend that you remove theconfig_id: [YOUR_CONFIG_ID]fromapp.yamland rerungcloud app deploy.
config_idmust be specified whenrollout_strategyis
unspecified or set to"fixed"
This error message is displayed when eitherapp.yamldoesn't
include therollout_strategy: managedorrollout_strategyis set tofixedand you
haven't specified a configuration ID. Unless you have a reason for
using a specific configuration ID, we recommend that you addrollout_strategy: managedto theendpoints_api_servicesection ofapp.yamland rerungcloud 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. You can find further
debugging information in the Endpoints log.
In the Google Cloud console, SSH into your virtual machine. Seeconnecting to an instancefor more information.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-03 UTC."],[[["\u003cp\u003eThis document provides troubleshooting guidance for Cloud Endpoints deployments in App Engine flexible environments, specifically addressing errors encountered during the \u003ccode\u003egcloud app deploy\u003c/code\u003e process.\u003c/p\u003e\n"],["\u003cp\u003eIf your deployment fails due to health checks, adjust the \u003ccode\u003eapp_start_timeout_sec\u003c/code\u003e setting in the \u003ccode\u003ereadiness_check\u003c/code\u003e section of your \u003ccode\u003eapp.yaml\u003c/code\u003e file, ensuring it's higher than the default of 300 seconds and ensuring all necessary Google Cloud services are enabled.\u003c/p\u003e\n"],["\u003cp\u003eWhen configuring \u003ccode\u003eapp.yaml\u003c/code\u003e, the \u003ccode\u003eendpoints_api_service\u003c/code\u003e section should include either \u003ccode\u003econfig_id\u003c/code\u003e or \u003ccode\u003erollout_strategy: managed\u003c/code\u003e, but not both, with \u003ccode\u003erollout_strategy: managed\u003c/code\u003e recommended for automatic service configuration updates.\u003c/p\u003e\n"],["\u003cp\u003eErrors related to \u003ccode\u003erollout_strategy\u003c/code\u003e indicate either an invalid combination of \u003ccode\u003econfig_id\u003c/code\u003e and \u003ccode\u003erollout_strategy\u003c/code\u003e settings or a missing \u003ccode\u003econfig_id\u003c/code\u003e when \u003ccode\u003erollout_strategy\u003c/code\u003e is not set to \u003ccode\u003emanaged\u003c/code\u003e, which is resolvable by modifying the \u003ccode\u003eapp.yaml\u003c/code\u003e file and redeploying.\u003c/p\u003e\n"],["\u003cp\u003eApp Engine logs, including crash, system and Endpoints logs, can be accessed via SSH to an instance to help pinpoint the source of issues, utilizing tools like tail to view log data.\u003c/p\u003e\n"]]],[],null,["# Troubleshooting App Engine flexible deployment\n\nOpenAPI \\| gRPC\n\n\u003cbr /\u003e\n\nThis document presents troubleshooting techniques for Cloud Endpoints\ndeployments in App Engine flexible environments. If you receive an\nerror back from a request to your API, see\n[Troubleshooting response errors](/endpoints/docs/openapi/troubleshoot-response-errors)\nfor information on troubleshooting the error.\n\nDeployment errors\n-----------------\n\nThis section describes how to troubleshoot errors from `gcloud app deploy`.\n\n### Error messages about `rollout_strategy`\n\nWhen you configure `app.yaml` before deploying, you must add the\n`endpoints_api_service` section. The Extensible Service Proxy (ESP) needs the\nsettings that you specify in this section to obtain the configuration for your\nservice. You must specify either a configuration ID in the `config_id` field, or\ninclude the `rollout_strategy: managed` option, but not both. This option\n\nconfigures ESP to use the latest deployed service configuration. When you\nspecify this option, up to 5 minutes after you deploy a new service\nconfiguration, ESP detects the change and automatically begins using it. We\nrecommend that you specify this option instead of a specific configuration ID\nfor ESP to use.\nFor example: \n\n endpoints_api_service:\n name: example-project-12345.appspot.com\n rollout_strategy: managed\n\nIf the `endpoints_api_service` section doesn't include the information that\nESP needs to obtain a service configuration, one of the following\nmessages is displayed:\n\nViewing logs on an instance\n---------------------------\n\nApp Engine crash and system logs provide information on why the\napplication failed to launch or perform as intended. You can find further\ndebugging information in the Endpoints log.\n\n1. In the Google Cloud console, SSH into your virtual machine. See\n [connecting to an instance](/appengine/docs/flexible/python/debugging-an-instance#connecting_to_the_instance)\n for more information.\n\n2. Use a text viewer such as `tail`:\n\n tail -f /var/log/nginx/error.log\n\nWhat's next\n-----------\n\n- [App Engine flexible environment logs](https://cloud.google.com/logging/docs/view/service/appengine-logs#appengine-vms)\n- [Viewing Logs](https://cloud.google.com/logging/docs/view/logs-explorer-interface)\n- [Using Cloud Logging in App Engine apps](https://cloud.google.com/appengine/articles/logging)"]]