OpenNebula CLI Tools
This a collection of scripts useful for OpenNebula administrators. Their aim is to improve the user experience in the shell with simple, short and elegant scripts that use the power and simplicity of OpenNebula's CLI commands.
Contributions, hacks, ideas, improvements are more than welcome!
- onelog: Displays OpenNebula logs.
- oneinstantiate: Instantiates template with a name.
- onedeploy: Creates and deploys instantaneously a Virtual Machine.
- onereport: Displays a summary of running VMs.
- onessh: SSH's into a running VM.
- onevnc: Opens the VNC console of a running VM.
- oneirb: Opens an IRB session with all the OpenNebula libraries.
- oneconf: Modifies the default configuration files.
- onebootstrap: Creates initial OpenNebula resources.
If no argument is passed it displays
oned.log. If a
VM_ID is passed as a
paramenter, the vm.log is displayed:
$ onelog [ opens oned.log in your $PAGER ] $ onelog 10 [ opens the vm.log for VM 10 in your $PAGER ]
A wrapper for the
onetemplate instantiate command. It instantiates a template
using the name of the template as the Virtual Machine name:
$ oneinstantiate 0 onetemplate instantiate 0 -n ubuntu VM ID: 11
Creates a Virtual Machine and deploys it instantaneously in the first available host it founds:
$ onedeploy vm_template.one
Displays a summary of running Virtual Machines:
$ onereport VM: 9 NAME: one-9 HOSTNAME: localhost VNC PORT: 5909 IP: 172.16.0.205 IP: 172.16.1.1 VM: 10 NAME: ttylinux HOSTNAME: localhost
SSH's into a running VM:
$ onessh 9 -l root
Opens the VNC console of a running VM:
$ onevnc 9
Enters an irb environment with all the OpenNebula libraries loaded. The instance
@client is available in the IRB shell.
$ oneirb >> vm = VirtualMachine.new(VirtualMachine.build_xml('10'), @client); ?> vm.info; ?> vm['NAME'] => "ttylinux"
This ruby script backs up and rewrites
the following changes:
MANAGER_TIMER: 5 seconds
HOST_MONITORING_INTERVAL: 10 seconds
VM_POLLING_INTERVAL: 10 seconds
SCHED_INTERVAL: 5 seconds
This command should be executed only with a fresh OpenNebula installation. It will create some resources:
- host: localhost with KVM configuration
- vnet: a few IPs in the 172.16.0.0/24 network connected to bridge
- datastore: a file-system based user datastore
- image: an Ubuntu image (users will have to execute first
- template: an Ubuntu template ready to be instantiated
All of these resources can be customized by editing the files inside
bootstrap/. Other resources can be added and they will also be created.
The datastore where the images will be instantiated needs to have
YES inside the template. This is only necessary if more than one datastore is