Can not Clone VM - reduce to less than 63 characters

KevDog

Patron
Joined
Nov 26, 2016
Messages
462
I tried cloning a jail this morning however received this error regarding the length to be more than 63 characters:


report_problem ValidationErrors
[ENAMETOOLONG] vm_create.devices.1.attributes.path: Disk path /dev/zvol/tank/VM/Arch/ArchZFSProxy/ArchZFSProxy-62jq1i_ArchZFSBW is too long, reduce to less than 63 characters

This was middleware error report:
Code:
Error: Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 130, in call_method
    io_thread=False)
  File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 1077, in _call
    return await methodobj(*args)
  File "/usr/local/lib/python3.7/site-packages/middlewared/schema.py", line 960, in nf
    return await f(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/middlewared/plugins/vm.py", line 1170, in clone
    raise e
  File "/usr/local/lib/python3.7/site-packages/middlewared/plugins/vm.py", line 1153, in clone
    await self.create(vm)
  File "/usr/local/lib/python3.7/site-packages/middlewared/service.py", line 396, in create
    f'{self._config.namespace}.create', self, self.do_create, [data]
  File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 1077, in _call
    return await methodobj(*args)
  File "/usr/local/lib/python3.7/site-packages/middlewared/schema.py", line 960, in nf
    return await f(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/middlewared/plugins/vm.py", line 804, in do_create
    verrors.check()
  File "/usr/local/lib/python3.7/site-packages/middlewared/service_exception.py", line 62, in check
    raise self
middlewared.service_exception.ValidationErrors: [ENAMETOOLONG] vm_create.devices.1.attributes.path: Disk path /dev/zvol/tank/VM/Arch/ArchZFSProxy/ArchZFSProxy-62jq1i_ArchZFSBW is too long, reduce to less than 63 characters



Whats the deal with the 63 character limit? Why is that a limitation?
In addition the cloning function isn't working as I would expect.
The dataset I'm trying to clone is:
/dev/zvol/tank/VM/Arch/ArchZFSProxy/ArchZFSProxy-62jq1i

Please note that the GUI when I created this VM tacked on the -62jq1i lettering -- I have no idea where this came from.

When I selected clone - it said enter clone name and I enter ArchZFSBW. This resulted in the GUI creating:
/dev/zvol/tank/VM/Arch/ArchZFSProxy/ArchZFSProxy-62jq1i_ArchZFSBW

when I would have it expected it to be:
/dev/zvol/tank/VM/Arch/ArchZFSProxy/ArchZFSBW

I understand I can probably do all this manually, however GUI functionality is nice -- however in this case I don't think the implementation is correct.
 
Joined
Jul 2, 2021
Messages
2
@KevDog Did you figure this one out? I have run into a similar issue in TrueNAS Scale 21.06-BETA.1 when cloning a VM with the GUI.

Aha, now I see this one:


Thanks.
 
Joined
Feb 21, 2022
Messages
4
I tried cloning a jail this morning however received this error regarding the length to be more than 63 characters:


report_problem ValidationErrors
[ENAMETOOLONG] vm_create.devices.1.attributes.path: Disk path /dev/zvol/tank/VM/Arch/ArchZFSProxy/ArchZFSProxy-62jq1i_ArchZFSBW is too long, reduce to less than 63 characters

This was middleware error report:
Code:
Error: Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 130, in call_method
    io_thread=False)
  File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 1077, in _call
    return await methodobj(*args)
  File "/usr/local/lib/python3.7/site-packages/middlewared/schema.py", line 960, in nf
    return await f(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/middlewared/plugins/vm.py", line 1170, in clone
    raise e
  File "/usr/local/lib/python3.7/site-packages/middlewared/plugins/vm.py", line 1153, in clone
    await self.create(vm)
  File "/usr/local/lib/python3.7/site-packages/middlewared/service.py", line 396, in create
    f'{self._config.namespace}.create', self, self.do_create, [data]
  File "/usr/local/lib/python3.7/site-packages/middlewared/main.py", line 1077, in _call
    return await methodobj(*args)
  File "/usr/local/lib/python3.7/site-packages/middlewared/schema.py", line 960, in nf
    return await f(*args, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/middlewared/plugins/vm.py", line 804, in do_create
    verrors.check()
  File "/usr/local/lib/python3.7/site-packages/middlewared/service_exception.py", line 62, in check
    raise self
middlewared.service_exception.ValidationErrors: [ENAMETOOLONG] vm_create.devices.1.attributes.path: Disk path /dev/zvol/tank/VM/Arch/ArchZFSProxy/ArchZFSProxy-62jq1i_ArchZFSBW is too long, reduce to less than 63 characters



Whats the deal with the 63 character limit? Why is that a limitation?
In addition the cloning function isn't working as I would expect.
The dataset I'm trying to clone is:
/dev/zvol/tank/VM/Arch/ArchZFSProxy/ArchZFSProxy-62jq1i

Please note that the GUI when I created this VM tacked on the -62jq1i lettering -- I have no idea where this came from.

When I selected clone - it said enter clone name and I enter ArchZFSBW. This resulted in the GUI creating:
/dev/zvol/tank/VM/Arch/ArchZFSProxy/ArchZFSProxy-62jq1i_ArchZFSBW

when I would have it expected it to be:
/dev/zvol/tank/VM/Arch/ArchZFSProxy/ArchZFSBW

I understand I can probably do all this manually, however GUI functionality is nice -- however in this case I don't think the implementation is correct.
Well, this hapens when you have a full lenght to your installation media (caracters count bigger than 63 caracters) like me.
Example:
/mnt/Home_Storage/ISOs/PFsense/pfSense-CE-2.6.0-RELEASE-amd64.iso
[CARACTERES -->65]

Then i have changed my file to: "pfSense-CE-2.6.0.iso"
"/mnt/Home_Storage/ISOs/PFsense/pfSense-CE-2.6.0.iso" [CARACTERES-->51]

And Voialáaa
1646569747821.png
 
Top