Ошибка перемещения хоста с отключенным IPv6 в кластер SDN
1. Описание проблемы
Если хост ранее был добавлен в кластер с типом коммутатора Мост (Linux Bridge) и в дальнейшем перемещен в кластер с типом коммутатора Open vSwitch, то может возникнуть ошибка синхронизации сетей хоста Failed to sync all host HostName networks, вместе с этой ошибкой регистрируется ошибка типа VDSM HostName command HostSetupNetworksVDS failed: Internal JSON-RPC error: {'reason': 'None'}.
В логе хоста /var/log/vdsm/vdsm.log возникают следующие ошибки:
ERROR (jsonrpc/31) [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 182, in _dynamicMethod
result = fn(*methodArgs)
File "</usr/lib/python3.6/site-packages/decorator.py:decorator-gen-506>", 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)
KeyError: None
В логе хоста /var/log/vdsm/supervdsm.log возникают следующие ошибки:
MainProcess|jsonrpc/31::ERROR::2025-01-13 16:20:02,436::supervdsm_server::82::SuperVdsm.ServerCallback::(wrapper) Error in setupNetworks
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/vdsm/supervdsm_server.py", line 80, in wrapper
res = func(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/vdsm/network/api.py", line 191, in setupNetworks
_change_switch_type(networks, bondings, options, running_config)
File "/usr/lib/python3.6/site-packages/vdsm/network/api.py", line 231, in _change_switch_type
_remove_nets_and_bonds(networks, bondings, in_rollback)
File "/usr/lib/python3.6/site-packages/vdsm/network/api.py", line 262, in _remove_nets_and_bonds
nets_removal, bonds_removal, {'connectivityCheck': False}, in_rollback
File "/usr/lib/python3.6/site-packages/vdsm/network/netswitch/configurator.py", line 53, in setup
_setup_nmstate(networks, bondings, options, in_rollback)
File "/usr/lib/python3.6/site-packages/vdsm/network/netswitch/configurator.py", line 84, in _setup_nmstate
nmstate.setup(desired_state, verify_change=not in_rollback)
File "/usr/lib/python3.6/site-packages/vdsm/network/nmstate/api.py", line 29, in setup
state_apply(desired_state, verify_change=verify_change)
File "/usr/lib/python3.6/site-packages/libnmstate/netapplier.py", line 87, in apply
desired_state, ignored_ifnames, current_state, save_to_disk
File "/usr/lib/python3.6/site-packages/libnmstate/net_state.py", line 72, in __init__
self._ifaces.gen_dns_metadata(self._dns, self._route)
File "/usr/lib/python3.6/site-packages/libnmstate/ifaces/ifaces.py", line 812, in gen_dns_metadata
self._kernel_ifaces[iface_name].store_dns_metadata(dns_metadata)
KeyError: None
Данные ошибки приводят к невозможности модификации сетей хоста.
2. Причина проблемы
Проблема возникает в случае, если ранее для интерфейса ovirtmgmt был отключен IPv6.
3. Решение проблемы
Необходимо активировать IPv6 для интерфейса ovirtmgmt и заново синхронизировать сети:
-
На хосте в командной строке выполнить команду:
nmcli connection modify ovirtmgmt ipv6.method auto -
В интерфейсе Менеджера управления перейти в окно интерфейсов хоста (Ресурсы → Хосты → Имя хоста → Сетевые интерфейсы).
-
Нажать кнопку Синхронизировать все сети.