WebUI: Result verification failed (400)

metjeh

Member
Jul 10, 2020
4
0
6
Hi

after applying the latest update today (PVE 6.2-9), there seems to be an issue with the Proxmox Webinterface. A parameter I have been using forever throughout my containers (manually added to the specific container config file) "breaks" the Container Web View for:
  • Options,
  • Resources and
  • DNS
Consider following demo container:
Code:
#/etc/pve/lxc/101.conf
arch: amd64
cores: 1
hostname: CT101
memory: 512
ostype: alpine
rootfs: local-zfs:subvol-101-disk-0,size=8G
swap: 512
unprivileged: 1

=> works fine, Webinterface shows the "Options, Resources, DNS"

Extending the above container with:
Code:
#/etc/pve/lxc/101.conf
...
lxc.environment: TERM=xterm
lxc.environment: DEBIAN_FRONTEND=noninteractive

.. leads to an error in the Proxmox Webinterface (for Options, Resources and DNS).

Result verification failed (400)
[4].value: type check ('string') failed - got ARRAY

Code:
pveversion -v
proxmox-ve: 6.2-1 (running kernel: 5.4.44-2-pve)
pve-manager: 6.2-9 (running version: 6.2-9/4d363c5b)
pve-kernel-5.4: 6.2-4
pve-kernel-helper: 6.2-4
pve-kernel-5.3: 6.1-6
pve-kernel-5.4.44-2-pve: 5.4.44-2
pve-kernel-5.4.44-1-pve: 5.4.44-1
pve-kernel-5.4.41-1-pve: 5.4.41-1
pve-kernel-5.3.18-3-pve: 5.3.18-3
pve-kernel-5.3.18-2-pve: 5.3.18-2
ceph-fuse: 12.2.11+dfsg1-2.1+b1
corosync: 3.0.4-pve1
criu: 3.11-3
glusterfs-client: 5.5-3
ifupdown: 0.8.35+pve1
ksm-control-daemon: 1.3-1
libjs-extjs: 6.0.1-10
libknet1: 1.16-pve1
libproxmox-acme-perl: 1.0.4
libpve-access-control: 6.1-2
libpve-apiclient-perl: 3.0-3
libpve-common-perl: 6.1-5
libpve-guest-common-perl: 3.0-11
libpve-http-server-perl: 3.0-6
libpve-storage-perl: 6.2-3
libqb0: 1.0.5-1
libspice-server1: 0.14.2-4~pve6+1
lvm2: 2.03.02-pve4
lxc-pve: 4.0.2-1
lxcfs: 4.0.3-pve3
novnc-pve: 1.1.0-1
proxmox-mini-journalreader: 1.1-1
proxmox-widget-toolkit: 2.2-9
pve-cluster: 6.1-8
pve-container: 3.1-10
pve-docs: 6.2-4
pve-edk2-firmware: 2.20200531-1
pve-firewall: 4.1-2
pve-firmware: 3.1-1
pve-ha-manager: 3.0-9
pve-i18n: 2.1-3
pve-qemu-kvm: 5.0.0-9
pve-xtermjs: 4.3.0-1
qemu-server: 6.2-8
smartmontools: 7.1-pve2
spiceterm: 3.1-1
vncterm: 1.6-1
zfsutils-linux: 0.8.4-pve1
 
Last edited:
Exactly the same here (also following upgrade to 6.2-9) with this long standing parameter in my container config file.

lxc.apparmor.profile: unconfined
 
  • Like
Reactions: plastart and metjeh
Same issue here after adding:

Code:
lxc.cgroup.devices.allow: c 226:0 rwm
lxc.cgroup.devices.allow: c 226:128 rwm
lxc.cgroup.devices.allow: c 29:0 rwm
lxc.autodev: 1
lxc.hook.autodev: /var/lib/lxc/101/mount_hook.sh

This is for HW acceleration in a Plex container, so for a pretty common use case.
 
Hi, i can confirm this issue by using custom config key-value pairs.
I've tried the solution from develop trunk - IT WORKS! ;)

If someone want to dirty fix this, try the following:


1. use your favorite plaintext editor and open GuestHelpers.pm
vi /usr/share/perl5/PVE/GuestHelpers.pm

2. search for following, should be at line 208 ...
sub config_with_pending_array {

3. edit/insert "next if ref($conf->{$opt});" in the foreach-loop (a new line at #217) finally it should look like this:
Perl:
sub config_with_pending_array {
    my ($conf, $pending_delete_hash) = @_;

    my $pending = delete $conf->{pending};
    # we don't care for snapshots in pending and it makes our loops throw up
    delete $conf->{snapshots};

    my $res = [];
    foreach my $opt (keys %$conf) {
        next if ref($conf->{$opt});
        my $item = {
            key => $opt,
            value => $conf->{$opt},
        };

4. save your file and restart pve service
systemctl restart pvedaemon.service systemctl restart pveproxy.service

done.. the quick and dirty way.
same effect, but cleaner is to use the .diff file :)

Danilo
 
  • Like
Reactions: t.lamprecht
the patch https://lists.proxmox.com/pipermail/pve-devel/2020-July/044321.html got applied - and libpve-guest-common-perl version 3.1-1 ships it and is available in the pvetest repository.

Are we safe to remove the test repo right after installing the fix or wait until it's live on the public? Mainly concerned with hosts' in the cluster potentially all containing unique installation mixtures of public and test repo packages. Thanks for the quick fix, much appreciated!
 
it's already available in pve-enterprise ;)
 
it's already available in pve-enterprise ;)
I don’t have a subscription to enterprise repo. Do you know when it will be added to the free repo?

my concern was correct now as one of the hosts in the cluster replaced ifup and others with the new ifupdown2 lol
 
it's also in pve-no-subscription. packages always move from internal testing -> pvetest -> pve-no-subscription-> pve-enterprise
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!