SOLVED Error updating VM config

Nasb Klamb

Dabbler
Joined
Apr 1, 2017
Messages
21
UPDATE: I have narrowed down the problem to a problem with a RAW device on the vm. The details popup show:

physical_sectorsize: null logical_sectorsize: null rootpwd: size: 0 boot: false type: VIRTIO path: /mnt/vol1/vm/ubuntu_docker.img

UPDATE2: I peeked at the config database and table vm_device has this entry:
Code:
{"path": "/mnt/vol1/vm/ubuntu_docker.img", "type": "VIRTIO", "boot": false, "size": 0, "rootpwd": "", "logical_sectorsize": null, "physical_sectorsize": null}


The problem seems to be in the database. I created this vm a while ago, and I'm guessing that parameter is no longer used or expected. Another validation problem is the size being 0.

If I can safely do it, can I tweak the database?

The rootpwd is not allowed and I cannot edit/save the device. I can delete it, however. I'll try recreating it.

I am unable to update any vm config from the gui on my TrueNAS-12.0-U3 . No matter what I try to save, it fails with:

Code:
[EINVAL] vm_update.devices.2.attributes.rootpwd: Field was not expected


More information reveals:
Code:
Error: Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 137, in call_method
    result = await self.middleware._call(message['method'], serviceobj, methodobj, params, app=self,
  File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1195, in _call
    return await methodobj(*prepared_call.args)
  File "/usr/local/lib/python3.8/site-packages/middlewared/service.py", line 476, in update
    rv = await self.middleware._call(
  File "/usr/local/lib/python3.8/site-packages/middlewared/main.py", line 1195, in _call
    return await methodobj(*prepared_call.args)
  File "/usr/local/lib/python3.8/site-packages/middlewared/schema.py", line 973, in nf
    return await f(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/middlewared/plugins/vm.py", line 1485, in do_update
    raise verrors
middlewared.service_exception.ValidationErrors: [EINVAL] vm_update.devices.2.attributes.rootpwd: Field was not expected


I have two VMs, very simple ones.

Where are the GUI source files on a running system?

All I want to do (now) is to increase the storage for one vm. Is there a CLI?

Any help is much appreciated!
 
Last edited:

Nasb Klamb

Dabbler
Joined
Apr 1, 2017
Messages
21
I resolved the problem by hacking the boot environment configuration database:
1. Downloaded the config
2. Unzipped the file, used a SQLite browser to edit the database.
3. Created a new zip file for the config.
4. Uploaded the config to TrueNAS
5. Rebooted TrueNAS with the hacked config.
 
Top