OpenNebula::Provider
This is a Vagrant 1.5+ plugin that add an OpenNebula provider to Vagrant.
Features
- Boot OpenNebula instances
- SSH into instances
- Provision the instances with any built-in Vagrant provisioner
- Minimal synced folder support via
rsync
Installation
$ vagrant plugin install opennebula-provider
...
$ vagrant up --provider=opennebula
...
Usage
Vagrant.configure("2") do |config|
config.vm.box = "dummy"
config.vm.provider :opennebula do |one, override|
one.endpoint = 'http://opennebula.server:2633/RPC2'
one.username = 'YOUR NAME'
one.password = 'YOUR PASSWORD'
one.template_id = 123
one.title = 'my-vm'
end
end
Configuration
-
endpoint
- OpenNebula RPC endpoint (like 'http://127.0.0.1:2633/RPC2') -
username
- OpenNebula username -
password
- OpenNebula password -
template_id
- OpenNebula template id -
template_name
- OpenNebula template name -
title
- OpenNebula instance name -
memory
- An instance memory in MB -
cpu
- An instance cpus -
vcpu
- An instance virtual cpus -
disk_size
- Disk size, in MB, for templates with ONLY one disk -
user_variables
- An instance specified variables (like 'CPU_MODEL = [ MODEL = host-passthrough ]')
You can use template_name
parameters instead template_id
to define template by name and if there are multiple templates with the same name will be used the most recent.
You can use ONE_USER, ONE_PASSWORD, ONE_XMLRPC (or ONE_ENDPOINT) environment variables instead of defining it in Vagrantfile. However, Vagrantfile's provider config has more priority.
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request