I have a surprising behavior since few days with my networks.
I have two networks one for public and one for private (ovs-bridge vxlan) on my cluster.
Since the beginning of the week, I’ve had a bad NIC type for the interface in my kvm machine.
The default in virtio in all conf file, but when I create a vm, the choosen interface by ONE is rtl8139.
My NIC part of the vmm_exec_kvm.conf
NIC = [
MODEL = "virtio"
# FILTER = "clean-traffic"
]
Could you share your VM template indicating the NIC you have connected? It would also be helpful if you can share your VNET configuration with the onevnet show -x <vnet_id command.
I don’t think it will help, as there is really nothing related to this behavior. I created completely same VM before and after upgrade and model of interface changed. It also happens when attaching NIC to existing VM. On that same VM I attached multiple NICs from same VNETs on 6.4 and all were correctly as virtio.
VIRTUAL NETWORK 75 INFORMATION
ID : 75
NAME : something-mgmt
USER : oneadmin
GROUP : something
LOCK : None
CLUSTERS : 0,100
BRIDGE : ovs-pub
STATE : READY
VN_MAD : ovswitch
VLAN ID : 3002
AUTOMATIC VLAN ID : NO
AUTOMATIC OUTER VLAN ID : NO
USED LEASES : 1
PERMISSIONS
OWNER : um-
GROUP : um-
OTHER : ---
VIRTUAL NETWORK TEMPLATE
BRIDGE="ovs-pub"
BRIDGE_TYPE="openvswitch"
GUEST_MTU="1500"
NETWORK_MASK="16"
OUTER_VLAN_ID=""
PHYDEV=""
SECURITY_GROUPS="0"
VLAN_ID="3002"
VN_MAD="ovswitch"
ADDRESS RANGE POOL
AR 0
SIZE : 100
LEASES : 1
RANGE FIRST LAST
MAC 02:00:0a:81:02:64 02:00:0a:81:02:c7
IP 10.129.2.100 10.129.2.199
LEASES
AR OWNER MAC IP PORT_FORWARD IP6
0 V:466 02:00:0a:81:02:67 10.129.2.103 - -
VIRTUAL ROUTERS
VIRTUAL MACHINES
UPDATED : 466
OUTDATED :
ERROR :
and example of VM template
TEMPLATE 330 INFORMATION
ID : 330
NAME : debian-11
USER : oneadmin
GROUP : something
LOCK : None
REGISTER TIME : 03/12 18:55:14
PERMISSIONS
OWNER : um-
GROUP : u--
OTHER : ---
TEMPLATE CONTENTS
CONTEXT=[
NETWORK="YES",
SET_HOSTNAME="$name.mgmt.some.address",
SSH_PUBLIC_KEY="$USER[SSH_PUBLIC_KEY]" ]
CPU="0.5"
DISK=[
IMAGE_ID="767" ]
GRAPHICS=[
KEYMAP="en-us",
LISTEN="0.0.0.0",
TYPE="VNC" ]
MEMORY="2048"
OS=[
ARCH="x86_64",
BOOT="disk0" ]
SCHED_DS_REQUIREMENTS="ID=\"112\""
VCPU="1"
This gets more dangerous than I originally thought. Same problem happens with other settings from vmm_exec_kvm.conf, at least with FEATURES.
I’m not yet sure about other conditions, but at this moment, it seems that some VMs are started without default FEATURES, so in our env missing ACPI, GUEST_AGENT etc. and with rtl8139 as NIC model.
Only working solution I found for now is to use onedb update-body vm --id .... to add NIC models and onevm updateconf to manually set MACHINE, ACPI etc…
If more information is needed, let me know. I would like to resolve this, but I don’t know ONE code enough to be of much help.
I’m not sure if this can be some misconfiguration on our part, as I can’t belive this wouldn’t kick much more ppl in the … But I checked what I could many times.
And yet, 1001 attempt to check configs with once again checking all diffs yields the result… At least I’m happy that I’m only one to blame
There was syntax error in vmm_exec/vmm_exec_kvm.conf, which probably caused whole file to be ignored. I’m 99 % sure that there was still problem one some VMs with rtl8139 nic, but on ones I tested now, everything seems fine.
Is there some tool to check all config files for syntax errors? I didn’t find anything mentioned in the documentation. Config files seems almost like ruby, but not 100 % compatible IMHO.
@o.mbarek try to check your file for any possible error, like forgotten comma in my case. If you find anything, just fix it, restart opennebula and try again.
Thanks @atodorov_storpool but both mine and OP’s problem had been also with creating the VM, not only attaching NIC while it is running.
I’ll update if I found another VM which will cause trouble after yesterday’s config fix. Before the bug I introduced, it was only single VM causing this problem from about 100 more in cluster.
Any ideas? /var/lib/one/remotes/etc/vmm/kvm/kvmrc format is OK, I event tried to source it in bash to discover some syntax errors. I ran onehost sync --force to be sure it is distributed everywhere (tho I’m not sure if it is needed in this case).