OpenNebula 5.0 - Template Instantiate Error

Hi,
there is a minor error in instantiating vm from a template.

How to reproduce:
make sure there are more than one images in different size.
create a template using one of the images.
then update the template and in storage without deleting the existing disk just click on the other one, see it changes and save. Then go to instantiation. On the main screen it shows the first image’s size and when you click on the instantiate it gives error about sizeand wont proceed.

way around:
when updating first delete the existing disk and add another one. then instantiate

Hi,

I can’t reproduce this one. Can you please confirm your release version (oned -v)?

$ oned -v
Copyright 2002-2016, OpenNebula Project, OpenNebula Systems

OpenNebula 4.90.5 is distributed and licensed for use under the terms of the
Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0).

I still can’t reproduce it.

Is this failure consistent for you? Can you share the original template?

Hi,
Here’re the steps:
Image1: 30GB (already used in the template):


Image2: 10GB

Update the template: (Without deleting the first disk, just change it by clicking on the other image)


Updated template, instantiate main screen: you see image name has chenged but the size is still 30GB

and the error:

The only explanation that I can come up with is that the DISK has the SIZE attribute set. And when you change to another image, sunstone replaces IMAGE and IMAGE_UNAME, but not DISK.

How was the template created in the first place?

It is ttylinux-kvm template i’ve downloaded from public marketplace. Yes you’re right size is set in the template and sunstone dont update it.

Btw, I’m not sure if this is the right place of this question but; when I “create” a VM by instantiating inside a template, it clones the image and creates a VM with this new image, and “produces” another template (with the same name of the new VM). And this makes clones of clones of… images&templates. Is this the proper way of creating a new VM? What I expect is; when I try to instantiate inside a template, it should ensure that the image is not in use (if it is persistent), then create the VM with this image. So there’s no additional images or templates. It just makes image “in use”. If I needed a clone of an image, I could do it myswlf :slight_smile:

Kind regards

OK I see the behaviour is defined in oned.conf: TM_MAD_CONF = [
NAME = “qcow2”, LN_TARGET = “NONE”, CLONE_TARGET = “SYSTEM”, SHARED = “YES”
]

So what option would be better for CLONE_TARGET? Let’s say for qcow2 or a new tm_mad (dnfs: eg lizardfs)

thanks

I think you may be accidentally using using the new instantiate to persistent feature.