# VirtualBox module wrapper

**URL:** <https://forum.ansible.com/t/virtualbox-module-wrapper/15968>\
**Category:** Ansible Project\
**Tags:** azure, vmware, aws\
**Created:** [August 16, 2014, 12:44pm UTC](https://forum.ansible.com/t/virtualbox-module-wrapper/15968 "2014-08-16T12:44:15Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Anatoly\_Mikhailov](https://avatars.discourse-cdn.com/v4/letter/a/a88e4f/32.png) [@Anatoly\_Mikhailov](https://forum.ansible.com/u/Anatoly_Mikhailov)\
**Post date:** [August 16, 2014, 12:44pm UTC](https://forum.ansible.com/t/virtualbox-module-wrapper/15968/1 "2014-08-16T12:44:15Z")

</div>

Since I lost hope on Vagrant from high complexity to extend to Ruby syntax for VMs configuration I tried to build some simple version of VBoxManage CLI that based on .vagrant configuration (pretty weird data structure with files): [https://gist.github.com/mikhailov/8104790](https://gist.github.com/mikhailov/8104790)

The misconception of Vagrant is the configuration is a Ruby code to execute which is totaly wrong in terms of Ansible approach. Perhaps, many Ansbile users tend to keep Vagrant just to bootstrap VM, that is it, all the provisioning, orchastration and life-cycle management happens via Ansbile.

Ansible has [modules set](http://docs.ansible.com/list_of_cloud_modules.html) for Rackspace, EC2, DigitalOcean, Azure, AWS and VMware. Is there plan to build the same for VirtualBox without Vagrant?

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan1](https://avatars.discourse-cdn.com/v4/letter/m/5e9695/32.png) [@Michael\_DeHaan1](https://forum.ansible.com/u/Michael_DeHaan1)\
**Post date:** [August 16, 2014, 3:16pm UTC](https://forum.ansible.com/t/virtualbox-module-wrapper/15968/2 "2014-08-16T15:16:42Z")

</div>

I do recognize that people often struggle with the Vagrant provisioner.

I’ve occasionally wanted a virtualization abstraction that did not bring on the complexity of vagrant, though I think the one general theme of a vagrant file is the ability to specify a starter image to download, and then some steps to get it prepared before cloning. I like the idea of getting started with a new instance faster, but usually I’m content with cloning existing instances (which is why I personally don’t use vagrant).

A more ansible-native wrapper around VMware, KVM, and Virtualbox could be amusing, though I can’t say I’ve got time to chase it – might be nice to see what something could evolve to, if in python with such an abstraction layer.

---

<div class="post-metadata">

**Author:** ![Anatoly\_Mikhailov](https://avatars.discourse-cdn.com/v4/letter/a/a88e4f/32.png) [@Anatoly\_Mikhailov](https://forum.ansible.com/u/Anatoly_Mikhailov)\
**Post date:** [August 24, 2014, 4:54pm UTC](https://forum.ansible.com/t/virtualbox-module-wrapper/15968/3 "2014-08-24T16:54:39Z")

</div>

Michael, do you have an advice how other devops guys to manage VMs without an overhead?  
It would be great if you can share with your approach. Thanks!

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan1](https://avatars.discourse-cdn.com/v4/letter/m/5e9695/32.png) [@Michael\_DeHaan1](https://forum.ansible.com/u/Michael_DeHaan1)\
**Post date:** [August 24, 2014, 5:32pm UTC](https://forum.ansible.com/t/virtualbox-module-wrapper/15968/4 "2014-08-24T17:32:20Z")

</div>

For development environments a lot of our workflow often uses repeated configuration on the same box, and a lot of things just run out of source. “make migrate” to run DB migrations and so on.

Though we also do a lot of cloud provisioning, often and usually from scratch, so it’s stuff using the ec2 modules then running a playbook on top of them, etc. I don’t see much need for Vagrant when deploying into cloud VMs, since Ansible can do that, though we do have some folks that are fans.

Mostly I don’t because I liked VMware fusion at the time and didn’t want a proprietary plugin.

But no, everytime we make a code change for something like Ansible Tower we don’t re-run the automation, but Jenkins absolutely _does_ kick off and do provisioning from scratch on those changes, end to end.

---

<div class="post-metadata">

**Author:** ![Anatoly\_Mikhailov](https://avatars.discourse-cdn.com/v4/letter/a/a88e4f/32.png) [@Anatoly\_Mikhailov](https://forum.ansible.com/u/Anatoly_Mikhailov)\
**Post date:** [January 29, 2015, 11:44pm UTC](https://forum.ansible.com/t/virtualbox-module-wrapper/15968/5 "2015-01-29T23:44:10Z")

</div>

Michael,

If you are still interesting in that idea, the VBoxManage CLI script to bring VMs with defined IP address is here: [https://gist.github.com/mikhailov/740fbfc58767fc495fe2](https://gist.github.com/mikhailov/740fbfc58767fc495fe2)

Anatoly
