salt/doc/topics/cloud/virtualbox.rst
Erik Johnson 93ee5ee2b0
Fix all Sphinx warnings
Well, all but one, which we expect to see
2018-05-31 15:28:25 -05:00

90 lines
2.2 KiB
ReStructuredText

===============================
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``:
.. code-block:: yaml
virtualbox-config:
driver: virtualbox
Profiles
========
Set up an initial profile at ``/etc/salt/cloud.profiles`` or
``/etc/salt/cloud.profiles.d/virtualbox.conf``:
.. code-block:: yaml
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
.. code-block:: bash
$ salt-cloud -f show_image virtualbox image=my_vm_name
.. _Virtualbox SDK: http://download.virtualbox.org/virtualbox/SDKRef.pdf