Class: UU::C3::AppDeploymentState

Inherits:
Object
  • Object
show all
Defined in:
lib/uu/c3/app_deployment_state.rb

Overview

List of possible states for AppDeployment.

Some AppDeployment states represent transitional state, i.e. a transition between two states while an asynchronous process is running in the background, making all changes required to go from the previous state to the following state.

Happy-day scenarios for state transitions (previous -> transitional -> following):

  • CREATED -> DEPLOYING -> DEPLOYED (+UU::C3::AppDeployment.deploy+, first deployment)

  • DEPLOYED -> DEPLOYING -> DEPLOYED (+UU::C3::AppDeployment.deploy+, deployment of a new version)

  • DEPLOYED -> REDEPLOYING -> DEPLOYED (+UU::C3::AppDeployment.redeploy+)

  • DEPLOYED -> UNDEPLOYING -> UNDEPLOYED (+UU::C3::AppDeployment.undeploy+)

  • UNDEPLOYED -> DEPLOYING -> DEPLOYED (+UU::C3::AppDeployment.deploy+)

  • UNDEPLOYED -> REDEPLOYING -> DEPLOYED (+UU::C3::AppDeployment.redeploy+)

  • DEPLOYED -> SWAPPING -> DEPLOYED (+UU::C3::AppDeployment.swap+)

The overall strategy of uuCloudg01C3 during application deployment, redeployment and undeployment is to revert the AppDeployment to the previous state. E.g. if the previous state was DEPLOYED, the current transitional state is UNDEPLOYING and an error occurs (preventing UU::C3::AppDeployment.undeploy from finishing successfully), the AppDeployment is set to DEPLOYED state (the previous application version gets restored).

Constant Summary collapse

CREATED =

Application deployment had been created but the deployment process itself has either not started yet or has failed. No node is running.

'CREATED'
DEPLOYING =

Deployment of application is running now. Nodes are being allocated.

'DEPLOYING'
DEPLOYED =

Application is deployed and running. Nodes are allocated.

'DEPLOYED'
REDEPLOYING =

Redeployment of application is running now. This state is transitional. The application is getting undeployed and deployed again. Nodes are allocated during this operation.

'REDEPLOYING'
UNDEPLOYING =

Undeployment of application is running now. This state is transitional. Nodes are being deallocated.

'UNDEPLOYING'
UNDEPLOYED =

Application has been undeployed and resources released. This state is transitional. Nodes are deallocated.

'UNDEPLOYED'
SWAPPING =

Swapping between slots.

'SWAPPING'