[one-users] How to add iotune option to VM template

2015-01-29 Thread Pedro Pereira
Hi everyone,

I have searched a lot before asking this question, wouldn't bother you
with it if I wasn't completely stumped...

I've been experimenting with I/O throttling on our OpenNebula servers,
so that a couple of VMs needing very high I/O don't completely hog the
bandwidth and slow everything to a crawl.

I Found out how to add raw data to my template, like blkiotune option.
This is a domain option, so dropping it in the template (Other tab,
type raw, blkiotunestuff/blkiotune, done) is quite easy.

The generated template would result in
-
domain
  ...
  blkiotune
weight800/weight
device
  path/dev/sda/path
  weight1000/weight
/device
device
  path/dev/sdb/path
  weight500/weight
/device
  /blkiotune
  ...
/domain
-

Blkiotune is a global option, and I need to be more granular in my
settings. Enter iotune.

I need to add iotune for all disks defined in the template, but
inserting the code on the same section as blkiotune doesn't work, even
if I nest it in the proper tags, e.g. devicesdiskiotuneiotune
stuff/iotune/disk/devices, hoping it would merge with every disk
declaration (blkiotune is a top level domain parameter, iotune is
for every disk declaration in the template). It just ends up in the end
of the template, just like blkiotune example above.

Example of how it turned out (doesn't work, VM doesn't boot, of course!):
-
domain
...
devices
disk type='file' snapshot='external'
  driver name=tap type=aio cache=default/
  source file='/var/lib/xen/images/fv0' startupPolicy='optional'
seclabel relabel='no'/
  /source
  target dev='hda' bus='ide'/
/disk
disk type='file' device='disk'#another disk
   source file='/var/lib/one//datastores/109/973/disk.0'/
   target dev='vda'/
   driver name='qemu' type='qcow2' cache='none'/
/disk
...
/devices
devices
disk
   iotune
  total_bytes_sec1000/total_bytes_sec
  read_iops_sec40/read_iops_sec
  write_iops_sec10/write_iops_sec
   /iotune
/disk
devices
...
/domain
-


How it needs to be to work correctly:
-
domain
...
devices
disk type='file' snapshot='external'
  driver name=tap type=aio cache=default/
  source file='/var/lib/xen/images/fv0' startupPolicy='optional'
seclabel relabel='no'/
  /source
  target dev='hda' bus='ide'/
  iotune
total_bytes_sec1000/total_bytes_sec
read_iops_sec40/read_iops_sec
write_iops_sec10/write_iops_sec
  /iotune
/disk
disk type='file' device='disk'#another disk
  source file='/var/lib/one//datastores/109/999/disk.0'/
  target dev='vda'/
  driver name='qemu' type='qcow2' cache='none'/
  iotune
total_bytes_sec1000/total_bytes_sec
read_iops_sec40/read_iops_sec
write_iops_sec10/write_iops_sec
  /iotune
/disk
...
/devices
/domain
-


Don't pay attention to the type of disks in the template, it's just a
mashup from samples and what I'd like it to be.
Sample code extracted from
https://libvirt.org/formatdomain.html#elementsBlockTuningandhttps://libvirt.org/formatdomain.html#elementsDisks,
and modified to fit my needs.

Sorry for the long post, I hope someone can help me out here.

Thanks,

Pedro Pereira


0x9483169C.asc
Description: application/pgp-keys


signature.asc
Description: OpenPGP digital signature
___
Users mailing list
Users@lists.opennebula.org
http://lists.opennebula.org/listinfo.cgi/users-opennebula.org


Re: [one-users] How to add iotune option to VM template

2015-01-29 Thread Pedro Pereira
PS: Nevermind the Datastore and VM IDs, they are wrong but that is not
hte issue here.



0x9483169C.asc
Description: application/pgp-keys


signature.asc
Description: OpenPGP digital signature
___
Users mailing list
Users@lists.opennebula.org
http://lists.opennebula.org/listinfo.cgi/users-opennebula.org