Good morning all, 

I'm rather new to this so please forgive my ignorance. I've searched official 
Oracle documentation, the oVirt administration guide, reddit, LLMs, and about 
every other source I could find but haven't seen anything that allows me set up 
a bond successfully. 

For background, I'm currently using one server as management and another server 
as a local storage host. I'm not smart enough yet to do network storage. 

I've tried to create a bond in two ways: the recommended way (in the 
administration guide, Oracle documentation, etc.) of simply creating a bond 
within OLVM by dragging/dropping interfaces to form a bond. Also, I've created 
a bond manually on my management server and verified it was present in the 
hosts -> network interfaces screen. When I attempt to assign a logical network 
to the bond, I get some variation of the following in /var/log/vdsm/vdsm.log:




 from=::ffff:10.90.104.68,37286, flow_id=6d139ffe-d9dc-4993-b050-72baa9eca527 
(api:35)
2025-02-10 09:53:11,257-0600 ERROR (jsonrpc/1) [jsonrpc.JsonRpcServer] Internal 
server error (__init__:343)
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/yajsonrpc/__init__.py", line 338, in 
_handle_request
    res = method(**params)
  File "/usr/lib/python3.6/site-packages/vdsm/rpc/Bridge.py", line 186, in 
_dynamicMethod
    result = fn(*methodArgs)
  File "<decorator-gen-508>", line 2, in setupNetworks
  File "/usr/lib/python3.6/site-packages/vdsm/common/api.py", line 33, in method
    ret = func(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/vdsm/API.py", line 1576, in 
setupNetworks
    supervdsm.getProxy().setupNetworks(networks, bondings, options)
  File "/usr/lib/python3.6/site-packages/vdsm/common/supervdsm.py", line 38, in 
__call__
    return callMethod()
  File "/usr/lib/python3.6/site-packages/vdsm/common/supervdsm.py", line 36, in 
<lambda>
    **kwargs)
  File "<string>", line 2, in setupNetworks
  File "/usr/lib64/python3.6/multiprocessing/managers.py", line 772, in 
_callmethod
    raise convert_to_error(kind, result)
libnmstate.error.NmstateVerificationError:
desired
=======
---
name: bond0
type: bond
state: up
ipv4:
  enabled: false
ipv6:
  enabled: false
link-aggregation:
  mode: 802.3ad
  options:
    xmit_hash_policy: layer2+3
  port:
  - eno5
  - eno6

current
=======
---
name: bond0
type: bond
state: up
ipv4:
  enabled: false
ipv6:
  enabled: false
lldp:
  enabled: false

difference
==========
--- desired
+++ current
@@ -6,10 +6,5 @@
   enabled: false
 ipv6:
   enabled: false
-link-aggregation:
-  mode: 802.3ad
-  options:
-    xmit_hash_policy: layer2+3
-  port:
-  - eno5
-  - eno6
+lldp:
+  enabled: false




After some research, it seemed like the solution was to take the "desired" 
state and use nmstatectl apply filename.yaml to apply the desired state. 
However, doing so produces the following in the same log:




2025-02-10 10:04:51,577 root         DEBUG    Interface ethernet.eno7 found. 
Merging the interface information.
2025-02-10 10:04:51,577 root         DEBUG    Interface ethernet.eno8 found. 
Merging the interface information.
2025-02-10 10:04:51,605 root         DEBUG    Async action: Rollback to 
checkpoint /org/freedesktop/NetworkManager/Checkpoint/31 started
2025-02-10 10:04:51,607 root         DEBUG    Checkpoint 
/org/freedesktop/NetworkManager/Checkpoint/31 rollback executed
2025-02-10 10:04:51,607 root         DEBUG    Interface eno3 rollback succeeded
2025-02-10 10:04:51,607 root         DEBUG    Interface lo rollback succeeded
2025-02-10 10:04:51,607 root         DEBUG    Interface eno2 rollback succeeded
2025-02-10 10:04:51,607 root         DEBUG    Interface eno8 rollback succeeded
2025-02-10 10:04:51,607 root         DEBUG    Interface eno6 rollback succeeded
2025-02-10 10:04:51,607 root         DEBUG    Interface eno5 rollback succeeded
2025-02-10 10:04:51,607 root         DEBUG    Interface eno7 rollback succeeded
2025-02-10 10:04:51,607 root         DEBUG    Interface eno4 rollback succeeded
2025-02-10 10:04:51,607 root         DEBUG    Interface eno1 rollback succeeded
2025-02-10 10:04:51,608 root         DEBUG    Interface PLZ-NET rollback 
succeeded
2025-02-10 10:04:51,608 root         DEBUG    Async action: Rollback to 
checkpoint /org/freedesktop/NetworkManager/Checkpoint/31 finished
Traceback (most recent call last):
  File "/usr/bin/nmstatectl", line 11, in <module>
    load_entry_point('nmstate==1.4.6', 'console_scripts', 'nmstatectl')()
  File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 74, in 
main
    return args.func(args)
  File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 355, 
in apply
    args.save_to_disk,
  File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 419, 
in apply_state
    save_to_disk=save_to_disk,
  File "/usr/lib/python3.6/site-packages/libnmstate/netapplier.py", line 140, 
in apply
    plugins, net_state, verify_change, save_to_disk, verify_retry
  File "/usr/lib/python3.6/site-packages/libnmstate/netapplier.py", line 190, 
in _apply_ifaces_state
    _verify_change(plugins, net_state)
  File "/usr/lib/python3.6/site-packages/libnmstate/netapplier.py", line 197, 
in _verify_change
    net_state.verify(current_state)
  File "/usr/lib/python3.6/site-packages/libnmstate/net_state.py", line 126, in 
verify
    self._verify_other_global_info(current_state)
  File "/usr/lib/python3.6/site-packages/libnmstate/net_state.py", line 136, in 
_verify_other_global_info
    {key: cur_value},
libnmstate.error.NmstateVerificationError:
desired
=======
---
name: PLZ-NET

current
=======
---
name: null

difference
==========
--- desired
+++ current
@@ -1,2 +1,2 @@
 ---
-name: PLZ-NET
+name: null



I have no issues using a single interface. I drop the logical network (PLZ-NET) 
onto the interface (e.g. eno2) and everything works swimmingly but bonding just 
won't work. 

If anyone has guidance or can point me to a solution, I would greatly 
appreciate it. I've been banging my head against the wall for a week. 
_______________________________________________
Users mailing list -- users@ovirt.org
To unsubscribe send an email to users-le...@ovirt.org
Privacy Statement: https://www.ovirt.org/privacy-policy.html
oVirt Code of Conduct: 
https://www.ovirt.org/community/about/community-guidelines/
List Archives: 
https://lists.ovirt.org/archives/list/users@ovirt.org/message/24BZ56WGF463UPZDT5CMT6MR2ZUOS35J/

Reply via email to