This document describes the backends of creating virtual machines (VM further) through the Universe. In the second implementation Universe starts deploying VMs from building the Unified Model (model further). The build of a model is a multistage and a multi-source-based (transactional) process.

The states of unified model

The states of Unified Model  during Universe Deploy

The states of Unified Model during Universe Deploy

There are three states of the model during deploy known as prototype, base and complete. Those states are indicating the readiness of the model for deployment.

The prototype model state

The prototype or proto-model is the first step to take before deploying the VM. It is built from two data sources known as the Source Unit[1] **and **the Placement. This is a logical place in the code and architecture where the model is born. In this state the model is tied tightly to the data of a Source Unit as well as to the Placement values. The model then goes to the user for further customisation to get the next state known as the Base.

The Base model state

When the proto-model is customised by the user it goes into state of the Base model. The prototype values could be overridden by the user input and after that the model is one step closer to the deploy. After customisation is done the model transferred to the Universe to get the final alterations there.

The complete model state

This is the final step before deploying VM. The model consider complete if it has been validated[2] by the Universe and enriched with some default values known as custom arguments. Those values are some default platfrom-specific API parameters needed to deploy VM. After validation and finalisation of the model it is ready to deploy on the target platform.

Reference

  1. The discussion of Units is beyond the scope of this document.
  2. See Universe Validation Stack