This talk will discuss the development process of Vagrant plugins. At Parallels we are maintaining our own Vagrant "provider", which is the plugin allowing to use Vagrant with our virtualization product, Parallels Desktop for Mac.
In talking about plugin development, I will use the Parallels provider as an example and explore these general aspects:
* Plugin model in Vagrant. Short introduction to plugin types and API.
* Creation of Vagrant provider. How we have implemented most of provider features.
* Plugin testing. Unit and acceptance tests, "vagrant-spec" usage.
* Release stage.
In the end I will share our experiences with Vagrant in our company.