Rolling App deployment in TAS - allowing all instances to update.
search cancel

Rolling App deployment in TAS - allowing all instances to update.

book

Article ID: 298408

calendar_today

Updated On:

Products

VMware Tanzu Application Service for VMs

Issue/Introduction


During the rolling deployment of an application in TAS (Tanzu Application Service), some users encounter timeout issues before all application instances are successfully deployed. Leading to incomplete deployments and service interruptions.


Cause:
The timeout issues are often caused by the improper configuration of the CF_STARTUP_TIMEOUT environment variable for the CF CLI.

 


Environment

Product Version: 2.13

Resolution


Solution:
To resolve timeout issues during rolling deployment, the CF_STARTUP_TIMEOUT variable for CF CLI needs to be correctly specified in a workstation where the cf push command is initiated.


The value for the variable is in minutes. In this case, the developer has 20 minutes until all instances become healthy. You can readjust the value as needed.

export CF_STARTUP_TIMEOUT=20

VMware TAS documentation regarding the CF_STARTUP_TIMEOUT environment variable.


 

Note:
Another timeout attribute needs to be defined (in the app manifest or in the cf push -t 600 ) during the app deployment if a single app instance takes over 60 seconds to become healthy. 

Example:

If you have an app with 15 instances and each instance takes 80 seconds to become healthy make sure the timeout flag is well over 80 seconds and the CF_STARTUP_TIMEOUT value is set to 25 minutes.

Math:
15 x (20 + 80) / 60 = 25 minutes

15 (number of app instances ) x ( 20 (additional time in seconds) + 80 (seconds each instance needs to become healthy) ) / 60 (to convert it to minutes) = 25 (minutes).
 

 

Additional time in 20 seconds is needed to accommodate each instance before the instance is created, hosted, and becomes healthy.
The actual time CF_STARTUP_TIMEOUT would be 25 minutes