Vagrant on erittäin kätevä työkalu kehitys- ja testausympäristöjen rakentamiseen. Sillä voidaan helposti ja toistettavasti luoda virtuaalikoneita, joiden asetukset säädetään halutunlaisiksi provisioning-vaiheessa esimerkiksi skripteillä (shell, powershell) tai konfiguraationhallintatyökaluilla kuten Puppetilla. Vagrantin taustalla on yleensä käytössä Oraclen Virtuabox, mutta myös muita virtualisointialustoja tuetaan ns. providerien avulla.
Vagrantilla luodut virtuaalikoneen on myös helppo verkottaa keskenään. Vagrant toimiikin siten hyvin palvelinympäristöjen testauksessa; hyvänä esimerkkinä käy puppet-ipa -moduuli, jossa Vagrantilla luodaan FreeIPA multi-master -palvelinympäristö sekä useita asiakaskoneita eri käyttöjärjestelmillä. Toinen hyvä esimerkki on puppet-bacula -moduuli, jossa Vagrantilla luodaan täydellinen Bacula-varmuuskopiointiympäristö.
Koska virtuaalikoneet asentuvat ja konfiguroituvat automaattisesti, voidaan ne tuhota ja rakentaa uudelleen jos ne pääsevät soseutumaan. Lisäksi kullakin kehittäjällä tai sysadminilla voi olla oma testiympäristönsä, jonka rikkominen ei vaikuta kehenkään muuhun, saati tuotannossa oleviin palveluihin, millä onkin todistetusti stressiä alentava vaikutus. Vagrant onkin hyvä ottaa esimerkiksi työnkulun osaksi esimerkiksi Puppet-moduuleja kehitettäessä - etenkin silloin, kun moduulit ovat erityisen monimutkaisia, kuten yllä mainitut puppet-ipa tai puppet-bacula.
Vagrant luo virtuaalikoneita ns. boxeista eli virtuaalikonekuvista. Vaikka julkisia boxeja onkin saatavilla suuri määrä, on toisinaan tarpeen luoda myös omia boxeja. Työkaluna tähän käytetään Packeria, jonka käyttöä voi helpottaa valmiilla Boxcutter-templateita.
Esimerkiksi Windows-boxin luonti WIndows Server 2012r2:n evaluointiversion pohjalta 64-bittisessä Linuxissa onnistuu melko helposti. Ensin asennetaan Packer:
$ wget https://releases.hashicorp.com/packer/1.1.3/packer_1.1.3_linux_amd64.zip $ unzip packer_1.1.3_linux_amd64.zip $ chown john:john packer $ chmod 755 packer $ mv packer /usr/local/bin
$ git clone https://github.com/boxcutter/windows boxcutter-windows $ cd boxcutter-windows
$ make virtualbox/eval-win2012r2-standard
$ ls box/virtualbox eval-win2012r2-standard-nocm-1.0.4.box