Problem: Adding address range to virtual networks breaks it

Problem: When assigning an address range to the virtual network, i am no longer able to retrieve information from the virtual network.

I have a three node federation, where virtual networks only work on one node if an address range is added to it.

OpenNebula version: 6.4.0.1
Database: MariaDB
OS: Debian 12

I can see the virtual network when running the command: onevnet list

ID USER GROUP NAME CLUSTERS BRIDGE STATE LEASES
21 oneadmin oneadmin testnet 0 ******** rdy 0
. oneadmin oneadmin ******** 0 ******** rdy ***
. oneadmin oneadmin ******** 0 ******** rdy ***
. oneadmin oneadmin ******** 0 ******** rdy ***
. oneadmin oneadmin ******** 0 ******** rdy ***
. oneadmin oneadmin ******** 0 ******** rdy ***
. oneadmin oneadmin ******** 0 ******** rdy ***

But if I try to get more information, I get this error: onevnet show 21 --json

[one.vn.info] Error getting virtual network [21].

If I delete the address range from the virtual network, Then I can retrieve the information again: onevnet show 21 --json

{
“VNET”: {
“ID”: “21”,
“UID”: “#####”,
“GID”: “#####”,
“UNAME”: “oneadmin”,
“GNAME”: “oneadmin”,
“NAME”: “testnet”,
“PERMISSIONS”: {
“OWNER_U”: “1”,
“OWNER_M”: “1”,
“OWNER_A”: “1”,
“GROUP_U”: “1”,
“GROUP_M”: “1”,
“GROUP_A”: “1”,
“OTHER_U”: “1”,
“OTHER_M”: “1”,
“OTHER_A”: “1”
},
“CLUSTERS”: {
“ID”: “0”
},
“BRIDGE”: “#####”,
“BRIDGE_TYPE”: “#####”,
“STATE”: “1”,
“PREV_STATE”: “1”,
“PARENT_NETWORK_ID”: {
},
“VN_MAD”: “#####”,
“PHYDEV”: {
},
“VLAN_ID”: “499”,
“OUTER_VLAN_ID”: {
},
“VLAN_ID_AUTOMATIC”: “0”,
“OUTER_VLAN_ID_AUTOMATIC”: “0”,
“USED_LEASES”: “0”,
“VROUTERS”: {
},
“TEMPLATE”: {
“BRIDGE”: “#####”,
“BRIDGE_TYPE”: “#####”,
“DESCRIPTION”: “testestasd”,
“DNS”: “#####”,
“GATEWAY”: “#####”,
“GUEST_MTU”: “#####”,
“NETWORK_ADDRESS”: “#####”,
“NETWORK_MASK”: “#####”,
“OUTER_VLAN_ID”: “”,
“PHYDEV”: “”,
“SECURITY_GROUPS”: “”,
“VLAN_ID”: “499”,
“VN_MAD”: “#####”
},
“AR_POOL”: {
“AR”: {
“AR_ID”: “0”,
“IP”: “#####”,
“MAC”: “#####”,
“SIZE”: “24”,
“TYPE”: “IP4”,
“MAC_END”: “#####”,
“IP_END”: “#####”,
“USED_LEASES”: “0”,
“LEASES”: {
}
}
}
}
}

Error message in /var/log/one/oned.log:

[Z0][ReM][D]: Req:7728 UID:0 IP:###.###.##.## one.vn.info invoked , 21
[Z0][ReM][E]: Req:7728 UID:0 one.vn.info result FAILURE [one.vn.info] Error getting virtual network [21].

I can see that the data is in my database, except for the address range data, so I am not sure where OpenNebula fetches this data from.

Hello @com64, sorry for the late reply and welcome to this forum,

First thing I would suggest is to update the OpenNebula version. Debian 12 is fully supported since 6.8, so I’m pretty sure you will get rid of those error messages if you upgrade your OpenNebula.

If not, we have a section on the documentation about Virtual Networks:
https://docs.opennebula.io/6.10/management_and_operations/network_management/manage_vnets.html

If you can’t upgrade, or the issue persists, feel free to comment on this topic.

Regards,

Hi FrancJP, I couldn’t get OpenNebula 6.4.0.1 to work with Debian 12, so I ended up downgrading to Debian 11, because I am unable to upgrade to a newer version of OpenNebula. After downgrading, OpenNebula worked without any issues.

@com64 if you don’t mind, could you let me know the reasons to not upgrade to a newer version of OpenNebula?
It’s recommended for security and performance issues, also, it will let you use Debian 12 for sure :wink:

I have a mix of different operating systems running OpenNebula, and some are so old that they only support version 6.4.0.1 :sweat_smile:

Hi @com64,

I’m sorry, but in that case, you won’t be able to install Debian 12 on those instances.

Cheers,