Fast win pattern, you might query several urls for the same info, which one return first , that one will be the winner.
Send in parallel and join together.
long running and cancellable task, if get canceld, try compensate it
Vagrant is a good VM automation tool for both developers and devops, here are some basic tips that I found useful
if you are stand behind a proxy, you can install one vagran proxy module. the module will setup the proxy on guest machines, like yum.conf, http_proxy variable etc.
here is the plugin https://github.com/tmatilai/vagrant-proxyconf
when you boot up the vm, you can see the proxy setting applied depends on your OS type
you might have one local repo in the company, you can either build all boxes internally which already assign the repo url to local. or just copy one repo to override the system one by using the provisioning scripts.
and in your local file, change the ip to internal one
Provision scripts to check whether package installed or not. using rpm to query package or use command to determine whether a command exists