Skip to content

Wild import of VMware VM with >1 disk = one.image.allocate result FAILURE [one.image.allocate] Error allocating a new image. NAME is already taken by IMAGE 102 #3818

@crollorc

Description

@crollorc

I’ve recently upgraded from 5.6.1 to 5.8.5 and now run into a problem when I import wild VMware VMs.

This works for VMs with one disk but fails if they have any more with the error:

[Z0][ReM][E]: Req:960 UID:0 one.image.allocate result FAILURE [one.image.allocate] Error allocating a new image. NAME is already taken by IMAGE 102.

Looking at the imported images, I’ve noticed that the image name format has changed from ’ - [VM ]’:

colm-ubuntu1_2 - vfc1_shared1_SYSTEM_SSD_1 [VM colm-ubuntu1]

to ‘:

colm-ubuntu1
which I would imagine is resulting in a problem when the second disk tries to use the same name.

It looks like this problem is a result of a bug in the vcenter_driver.

Where a VMware VM has disks on multiple datastores, the same VMDK file basename will be used. e.g.

VM: test1
HDD1: [datastore1] test1/test1.vmdk
HDD2: [datastore2] test1/test1.vmdk

However, importing a wild VM like this results in the error:

Wild with ref vm-978 could not be imported Error creating disk from template:
[one.image.allocate] Error allocating a new image. NAME is already taken by IMAGE 102.

I guess this is because the datastore is stripped from the image name with the mistaken assumption that the remaining text will be unique.

Looks like this may be happening here to me:

[vcenter_driver/datastore.rb](https://github.com/OpenNebula/one/blob/master/src/vmm_mad/remotes/lib/vcenter_driver/datastore.rb#L95 1)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions