This topic describes how Diego stages buildpack apps and Docker images in VMware Tanzu Application Service for VMs (TAS for VMs).
TAS for VMs uses Diego to manage app containers. It is a self-healing system that attempts to keep the correct number of instances running in Diego Cells to avoid network failures and crashes. For more information about Diego, see Diego Components and Architecture.
This topic references tasks and long-running processes (LRPs). For more information about these, see the Tasks and Long-Running Processes section of the How Diego Balances App Processes topic.
To better understand the flow and caching of source bits during staging, see the How Staging Uses the Blobstore section of the Cloud Controller blobstore topic.
This section describes how Diego stages buildpack apps.
The following diagram illustrates the steps and components involved in the process of staging a buildpack app.
The following describe each step in the process of staging a buildpack app:
A developer runs cf push
.
The Cloud Foundry Command Line Interface (cf CLI) tells the Cloud Controller to create a record for the app. For more information about the Cloud Controller, see Cloud Controller.
The Cloud Controller stores the app metadata. App metadata can include the app name, number of instances, buildpack, and other information about the app.
This step includes:
The Cloud Controller stores the app package in the blobstore. For more information, see the Blobstore section of the TAS for VMs Components topic.
The cf CLI issues a request to start the app.
This step includes:
The Diego Cell streams the output of the staging process. A developer may need to view the output to troubleshoot staging problems.
This step includes:
The Diego Bulletin Board System (BBS) reports to the Cloud Controller that staging is complete. If staging does not complete within 15 minutes, it fails.
Diego schedules the app as a LRP on one or more Diego Cells.
The Diego Cells report the status of the app to the Cloud Controller.
This section describes how Diego stages Docker images.
The following diagram illustrates the steps and components involved in the process of staging a Docker image.
The following describe each step in the process of staging a Docker image:
A developer runs cf push
and includes the name of a Docker image in an accessible Docker Registry.
The cf CLI tells the Cloud Controller to create a record for the Docker image.
This step includes:
The Diego Cell streams the output of the staging process. A developer may need to view the output to troubleshoot staging problems.
The task fetches the metadata associated with the Docker image and returns a portion of it to the Cloud Controller.
The Cloud Controller stores the metadata in the Cloud Controller database (CCDB).
This step includes:
Note: The Cloud Controller takes into account any user-specified overrides specified in the Dockerfile, such as environment variables.