DTAP process
To stage the different environments used for testing all components of GAP, the DTAP process ensures that software in the production environment is well-tested and understood by all parties involved.
For the deployment of GAP, a set of Ansible playbooks is used to prepare VMs, install required dependencies, and set up the different components of GAP. There are four different environments, with their major differences listed in the table below.
Environment | Router topology | Component versioning | Used by |
---|---|---|---|
Development | containerlab | - | GAP developers |
Test | EVE-NG | 1.6dev135 | GAP developers |
UAT | lab devices | 1.5 | Network Engineering |
Production | production | 1.2 | Operations & OC |
The development environment runs on a local machine of a developer, and is
therefore highly volatile and unstable. The test environment is less volatile,
but still contains the newest package versions that are merged into develop
.
The UAT environment is more stable, and only contains released packages. This is
where integration testing with physical devices takes place.
Once a combination of specific version numbers is deemed compatible and fully functional, it is deployed as a whole in production. Production could therefore be multiple releases behind UAT, if this combination of newer versions has not been tested yet.