Using Packer to Speed Up Internal Test Deployments
For internal orcharhino test deployments, we use template-based provisioning. Using up-to-date VM templates built by Packer speeds up our testing and development process.
What is ATIX in Action?
ATIX in Action is the place where we share real-life customer customer challenges (without naming names) and solutions we provided. Get inspired by our action reports or let us find a solution for your problem!
Problem
In each automated test, we clone a virtual machine from a VM template. On this VM, we run various Ansible roles to install and configure orcharhino Server. One of the first steps is to update the base OS and install basic packages, irrespective of the orcharhino Version. This process is extremely repetitive and delays each test deployment for several minutes.
Context
In the Engineering Team, we automatically build and deploy orcharhino based on branches in git. We do this not only for our main branch or released orcharhino Versions, but for developers‘ individual feature branches, potentially with each commit pushed to Gitlab.
Solution & Customer Benefit
We identified the repetitive process of OS base updates and the installation of basic packages that we require on each test deployment, for example for convenience and debugging purposes.
We now use Packer to prepare VM templates based on a plain ISO image from the upstream CentOS project. Using Packer, we a) update the base OS and b) install basic software that we always require such as “vim”, “git”, and “bash-completion”.
In a Gitlab Pipeline, Packer starts a VM based on the ISO image and then automatically runs various Ansible roles. Once this is done, it is automatically pushed to our VMware server. The Gitlab pipeline is scheduled to automatically run once a week.
This process speeds up our test deployments.
Solution & Customer Benefit
Packer is open source software developed by Hashicorp. For the future, we plan to add more Ansible roles to further reduce the load for each individual test deployment.
Your Team
This project was designed and implemented by the Engineering Team. If you have questions, feel free to contact us. We will happily help you implement a similar solution in your IT environment.
Technical Content Creator at ATIX