Getting Started With Virtualbox

The Virtualbox cloud module allows you to manage a local Virtualbox hypervisor. Remote hypervisors may come later on.

Dependencies

The virtualbox module for Salt Cloud requires the Virtualbox SDK which is contained in a virtualbox installation from

https://www.virtualbox.org/wiki/Downloads

Configuration

The Virtualbox cloud module just needs to use the virtualbox driver for now. Virtualbox will be run as the running user.

/etc/salt/cloud.providers or /etc/salt/cloud.providers.d/virtualbox.conf:

virtualbox-config:
   driver: virtualbox

Profiles

Set up an initial profile at /etc/salt/cloud.profiles or /etc/salt/cloud.profiles.d/virtualbox.conf:

virtualbox-test:
    provider: virtualbox-config
    clonefrom: VM_to_clone_from
    # Optional
    power_on: True
    deploy: True
    ssh_username: a_username
    password: a_password
    sudo: a_username
    sudo_password: a_password
    # Example minion config
    minion:
        master: localhost
    make_master: True
clonefrom Mandatory
Enter the name of the VM/template to clone from.

So far only machines can only be cloned and automatically provisioned by Salt Cloud.

Provisioning

In order to provision when creating a new machine power_on and deploy have to be True.

Furthermore to connect to the VM ssh_username and password will have to be set.

sudo and sudo_password are the credentials for getting root access in order to deploy salt

Actions

start
Attempt to boot a VM by name. VMs should have unique names in order to boot the correct one.
stop
Attempt to stop a VM. This is akin to a force shutdown or 5 second press.

Functions

show_image

Show all available information about a VM given by the image parameter

$ salt-cloud -f show_image virtualbox image=my_vm_name