Multiplatform automation test bed using ansible and pytest
vivek gupta (~vivek73) |
At Sumo logic which is entirely cloud-based, one component of it resides out of the cloud and rests in the hands of users, in their own infrastructure. This component is sumo's installed collector. This is an installable package for which various forms of binaries get generated in form of rpm, deb, tar, sh, exe and docker images. These packages, along with a plethora of functionalities of the installed collector, need a test bed which not only gives the user freedom to select which tests to run but also which kind of OS the packages might be installed at.
We have created a testbed which is multi-platform and runs on the back of AWS cloud infra. The automation testbed has been designed such that we get to write code in a platform agnostic manner, hence the same set of tests can be run in Windows, Debian or RHEL systems. The testbed helps us with managing various versions of installed collectors and help us with verifying our upgrades and various flows across them.
We use Ansible for our box setups, of various Linux and windows types, and pytest to write various test scenarios, these tests verify various functionalities of collector along with the installer themselves. Using pytest we can leverage huge armada of python libraries available such as ansible libraries, fabric, sumo's own search, metrics libraries. This kind of test-bed has uniquely brought down our 2 weeks of tests cycles to now less than 3 days and gives us immense confidence in delivering projects at a much rapid pace.
A beginner's knowledge of ansible and pytest is all people will need to know of.
Vivek Gupta, Lead QE - platform, Sumologic
Vivek has been working with python through most of his career with experience of 7 years in companies like Adobe and Quad Analytix previous to Sumologic. Responsible for Sumologic's entire platform testing, his team works on a wide scope of challenges related to their installers, hosted collectors and their core services.
Gourav Garg, QE - platform, Sumologic
Gourav has an experience of 1 year and was hired straight out of college. He is responsible for the collection team QE activities along with quite a few QE Jenkins activities at Sumo. He takes care of the entire range of installed collectors as well as hosted collectors.