Google App Engine deployments does not create versions of my services

I have a bunch of AppEngine (Python 2 and Python 3 versions) deployed and I have been deploying them previously many times but now, for several of those services the new version that should be created as a product of the deployment is not being created, then when AppEngine try to split the traffic between the current version serving traffic to the new one expected, the process fails because internally the split process is not finding the new version to send the traffic. Basically, because they are not created.

 

 

 

ERROR: (gcloud.app.services.set-traffic) Issue setting traffic on service(s): default
INVALID_ARGUMENT: Invalid request.
- '@type': type.googleapis.com/google.rpc.BadRequest
  fieldViolations:
  - description: Version does not exist in service (module) "my-service".
    field: service.split.allocations[v20211224-r19-1-0-33-xxx-xxxx]

 

 

 

I want to highlight that this is not a problem with too many versions of a service or exceeding the max number of them.  In addition is kind of weird, that some of the services are successfully promoted in the deployment, despite that the versions are not being created to migrate/split the traffic

Curiously this error is happening only for the services that have python2 runtime. The services with python3, the versions managed to be created, and promoted and the traffic is migrated to those new versions Can you help me to check what is going on, please? 

 

 

0 2 383
2 REPLIES 2

Can you try posting this question to the Serverless Forum?  It looks like that is where the AppEngine experts are.  

https://www.googlecloudcommunity.com/gc/forums/filteredbylabelpage/board-id/cloud_serverless/label-n... 

I hope that helps! 

Roderick
Community Manager
Community Manager

The error message you provided indicates that the deployment process is unable to find the new version for traffic splitting. This issue seems to be specific to services using the Python 2 runtime. Here are a few suggestions to troubleshoot and resolve the problem:

  1. Check Deployment Configuration: Verify that your deployment configuration for services with Python 2 runtime is correct. Ensure that you have specified the correct service and version names in the deployment command or configuration files.

  2. Verify Runtime Compatibility: Confirm that the Python 2 runtime is still supported by the App Engine environment. Google Cloud may have made changes or deprecated the Python 2 runtime, which could affect the deployment and version creation process.

  3. Upgrade to Python 3: If possible, consider migrating your services from Python 2 to Python 3. Google Cloud has recommended transitioning to Python 3 as Python 2 has reached its end of life and is no longer officially supported. Migrating to Python 3 can help ensure long-term compatibility and stability.

  4. Review App Engine Service Limits: Check if you have reached any limits related to the maximum number of versions or services in your App Engine project. Although you mentioned that you are not exceeding the limits, it's still worth double-checking to rule out any potential issues.

  5. Review Access Permissions: Ensure that the user or service account deploying the services has sufficient permissions to create and manage versions in App Engine. Check the IAM roles assigned to the account and verify if they have the necessary privileges.

  6. Review Deployment Logs: Examine the deployment logs and error messages for more details. Look for any specific error messages or warnings related to the version creation process. These logs can provide valuable insights into the underlying cause of the issue.

  7. Reach Out to Google Cloud Support: If the issue persists and you cannot identify a resolution, consider contacting Google Cloud Support. They can provide specific guidance and assistance in troubleshooting the issue based on your project's configurations and details.

By following these steps, you should be able to identify the cause of the issue and work towards resolving it for your Python 2 runtime services in App Engine.