Failed to save interface : Bridges cannot be created unless the brctl command is installed

Unable to create br0 on Rocky Linux 4.18.0-348.12.2.el8_5.x86_64

Did not get any result for dnf search brctl either

SYSTEM INFORMATION Rocky Linux 8
OS type and version: REQUIRED
Webmin version: REQUIRED
Cloudmin version: REQUIRED

Hello,

We not yet support RHEL 8 for Cloudmin master installations. Sorry.

you probably need to look for bridge-utils package. (that’s the name in debian at least)
brctl is part of that package.

Unfortunately, this wasn’t the only problem.

Thanks. Installed bridge-utils on Rocky 8

br0 config:

[root@ns40 ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0
ONBOOT=yes
NETWORK="192.168.1.0"
NETMASK=255.255.255.0
IPV6INIT=yes
NM_CONTROLLED=yes
DEVICE=br0
BOOTPROTO=dhcp
TYPE=Bridge
IPADDR=""
MTU=""
[root@ns40 ~]#

and ifup br0 did the magic.

So, Cloudmin will not work on Rocky Linux 8?

It will, if you could configure things as bridge manually. Although there were major releases of KVM, Xen, LXC and probably other, which current version of Cloudmin may not work with properly.

Please give it a try and let us know how it goes. It would be helpful.

I created the bridge.

Creation of a guest did work, but cloudmin did not start the guest os after creation.

details:

Copying 644.56 MiB image file to system ns40.byzland.com ..
.. already on host
Creating virtual system with KVM ..
.. creation started with IP 192.168.1.41.

Waiting for creation to complete ..............
.. creation has completed successfully.

Fixing interface names in Grub configuration file ..
.. no Grub configuration file found!

Creating swap file of 2 GiB ..
.. done

Removing missing disks from fstab file ..
.. done

Expanding filesystem to 20 GiB ..........................................................
.. done

Mounting new instance's filesystem ..
.. mounted on /mnt/kvm-ns42.byzland.com

Setting root password ..
.. done

Updating configuration files with hostname and IP address ..
.. done

Updating network configuration files ..
.. done

Modifying /etc/fstab file ..
.. done

Allowing SSH logins by root ..
.. already allowed

Setting SSH server port ..
.. done

Un-mounting instance's filesystem ..
.. done

Adding DNS entry ns42.byzland.com. for IP address 192.168.1.41 ..
.. done

Starting up new KVM instance ..
.. failed to start : KVM instance was started, but could not be pinged after 60 seconds

Fetching current status ..
.. status successfully retrieved (Down)

Re-fetching current status of host system ns40.byzland.com ..
.. status successfully retrieved (Virtualmin)

Enabling system at host boot time ..
.. done

Here is a screenshot of network

Tried to start the guest os (centos 7 64bit) again; failed.

Starting up ns42.byzland.com ...
.. started, but a problem was detected : KVM instance was started, but could not be pinged after 60 seconds

console boot messages:

qemu-kvm: -usbdevice tablet: '-usbdevice' is deprecated, please use '-device usb
-...' instead
qemu-kvm: -monitor tcp:127.0.0.1:40000,server: info: QEMU waiting for connection
 on: disconnected:tcp:127.0.0.1:40000,server
qemu-kvm: Invalid parameter 'vlan'

Yes, that’s what I meant in the comment above. Unfortunately, those params like vlan are hardcoded on Cloudmin side, which were deprecated in QEMU 2.9.0 and removed in a subsequent release.

@Jamie do you remember fixing it upstream may be?

I’ve fixed this issue in the Cloudmin source already … at least I though I did. The current check assumes that only KVM versions below 2.12.0 support vlan , but it sounds like the actual version it was removed in was 2.9.0 ?

I think version 2.9.0 makes it deprecated, while version 3 makes it removed and incompatible.

https://wiki.qemu.org/ChangeLog/3.0

Incompatible changes in 3.0 release

  • Option “-no-kvm-pit-reinjection” has been removed. Use “-global kvm-pit.lost_tick_policy=discard” instead.
  • Option “-no-kvm-irqchip” has been removed. Use “-machine kernel_irqchip=off” instead.
  • The “vlan” parameter of the “-net” option has been removed. Use “-netdev” with IDs or the “hubport” netdev instead.
  • The deprecated -drive options “geometry”, “addr” and “serial” have been removed. Use “-drive if=none” and pass the options to “-device” instead.
  • The “xlnx-ep108” machine has been replaced by the “xlnx-zcu102” machine.
  • The qemu-img “convert -s snapshot_id_or_name” argument has been removed. Use “convert -l snapshot_param” instead.
  • PPC support for explicitly allocated RMAs has been removed (kernel support removed in 2015).
  • The default for VFIO’s “display” option has been changed from “auto” to “off”, because “auto” requires an OpenGL-compatible configuration for vGPUs that require GL support.
  • The deprecated xlnx-ep108 machine was removed.
  • Some 32-bit guests on the “virt” machine may need “-machine highmem=off” if they are unable to support LPAE and are confused by the PCI ECAM now being above the 4GB mark in the address space

Ok, I will update Cloudmin to not use the vlan option after 2.9.0

So, what am I supposed to do? Looks like you both are discussing about it…

This fix should be expected on the new Cloudmin release in the future.

However, you can manually tweak it right now by editing /usr/libexec/webmin/server-manager/kvm-type-lib.pl and changing kvm_host_supports_vlan sub (at the very end of the file) by

replacing

return &compare_versions($ver, "2.12.0") < 0;

with

return &compare_versions($ver, "2.9.0") < 0;
1 Like

… and restarting Webmin afterwards:

/etc/webmin/restart

did not find exact match for that line(s) in that file!

But, could find 3 lines matching &compare_versions($ver, "

also, no such sub kvm_host_supports_vlan in that file

list of files matching kvm in the directory:

[rl@ns40 ~]$ sudo ls /usr/libexec/webmin/server-manager/ | grep kvm
[sudo] password for rl: 
cloudmin-kvm-init
edit_kvm.cgi
install_kvm.cgi
kvm_chooser.cgi
kvm-type-lib.pl
list_kvms.cgi
save_kvm.cgi
setup-kvm-bridge.pl
setup-kvm-system.pl
[rl@ns40 ~]$