In the last post we’ve seen the beautiful new face of Sunstone. Even if we are putting lots of effort in the web interface we are also giving some love to the command line interface.
Until now the creation of images and templates from the command line consisted on creating a template file and feeding it to oneimage
/onetemplate
create command. There still exist that possibility but we can create simple images or VM templates using just command parameters.
For example, registering an image can be done with this command:
$ oneimage create -d default --name ttylinux \
--path http://marketplace.c12g.com/appliance/4fc76a938fb81d3517000003/download
ID: 4
You can also pass a file to the path, but take into account that you need to configure the datastores SAFE_DIRS
parameter to make it work.
We can also create image from scratch, for example, a raw image of 512 Mb that will be connected using virtio:
$ oneimage create --name scratch --prefix vd --type datablock --fstype raw \
--size 512m -d default
ID: 5
You can get more information on the parameters issuing oneimage create --help
.
Creation of VM templates is also very similar. For example, creating a VM that uses both disks and a network, adding contextualization options and enabling VNC:
$ onetemplate create --name my_vm --cpu 4 --vcpu 4 --memory 16g \
--disk ttylinux,scratch --network network --net_context --vnc
ID: 1
$ onetemplate instantiate my_vm
VM ID: 10
The output of onevm show
was also changed to show disks and nics in an easier to read fashion:
$ onevm show 10
VIRTUAL MACHINE 10 INFORMATION
ID : 10
NAME : my_vm-10
[...]
VM DISKS
ID TARGET IMAGE TYPE SAVE SAVE_AS
0 hda ttylinux file NO -
1 vda scratch file NO -
VM NICS
ID NETWORK IP MAC VLAN BRIDGE
0 network 192.168.0.8 02:00:c0:a8:00:08 no vbr0
VIRTUAL MACHINE TEMPLATE
CONTEXT=[
DISK_ID="2",
ETH0_DNS="192.168.0.1",
ETH0_GATEWAY="192.168.0.1",
ETH0_IP="192.168.0.8",
ETH0_MASK="255.255.255.0",
TARGET="hdb" ]
CPU="4"
GRAPHICS=[
LISTEN="0.0.0.0",
PORT="5910",
TYPE="vnc" ]
MEMORY="16384"
TEMPLATE_ID="1"
VCPU="4"
VMID="10"
This way you can get useful information about the VM in just a glimpse. If you need more information you can still use -x
option or the new --all
, this will print all the information in the template a the previous versions.
oneimage show
was also changed so you can check which VMs are using an image:
$ oneimage show scratch
IMAGE 5 INFORMATION
ID : 5
NAME : scratch
[...]
VIRTUAL MACHINES
ID USER GROUP NAME STAT UCPU UMEM HOST TIME
10 oneadmin oneadmin my_vm-10 pend 0 0K 0d 00h03
[/sourcecode]
This is also true for onevnet show
:
[sourcecode language="text" gutter="false"][/sourcecode]
$ onevnet show network
VIRTUAL NETWORK 0 INFORMATION
ID : 0
NAME : network
[...]
VIRTUAL MACHINES
ID USER GROUP NAME STAT UCPU UMEM HOST TIME
9 oneadmin oneadmin template1 pend 0 0K 0d 00h30
10 oneadmin oneadmin my_vm-10 pend 0 0K 0d 00h04
Another nice parameter is --dry
. This parameter can be used with onetemplate and oneimage create. It will print the generated template but will not register it. It is useful when you want to create a complex template but don’t want to type it from scratch, just redirect it to a file and edit it to add some features not available from the command line.
One last thing, the parameters for onevm create
are the exact same ones as onetemplate create
. If you just want to create a fire and forget VM you can use onevm create
the same way.
OpenNebula 4.0 will be available for testing, really soon. Until then, we will keep you updated with the new features in posts like this. You can also check the posts released in the last weeks about the Ceph integration, the new scheduling feature, and the new Sunstone.
Stay tuned!
0 Comments
Trackbacks/Pingbacks