If I break the Wireguard tunnel while applying the state is ongoing I just get:
martchus@openqa:~> sudo salt 'petrol.qe.nue2.suse.org' state.apply
petrol.qe.nue2.suse.org:
Minion did not return. [No response]
The minions may not have all finished running and any remaining minions will return upon completion. To look up the return data for this job later, run the following command:
salt-run jobs.lookup_jid 20250305141406188847
This is the same message one gets when the Wireguard tunnel is not available from the start. I didn't get any errors in the local journal as well.
When invoking
martchus@petrol:~> sudo salt-call --local mine.update
local:
None
or
martchus@petrol:~> sudo salt-call mine.update
local:
True
on Petrol while the Wireguard tunnel is offline I also don't get any errors.
I'm now running 100 updates in a loop to see how high the error rate is. So far I was only able to provoke an expat error we most likely already know:
Mar 05 15:05:42 petrol salt-minion[19067]: [ERROR ] Unable to manage file: name '__env__' is not defined
Mar 05 15:05:50 petrol salt-minion[19067]: [ERROR ] An exception occurred in this state: Traceback (most recent call last):
Mar 05 15:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/state.py", line 2402, in call
Mar 05 15:05:50 petrol salt-minion[19067]: *cdata["args"], **cdata["kwargs"]
Mar 05 15:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 149, in __call__
Mar 05 15:05:50 petrol salt-minion[19067]: return self.loader.run(run_func, *args, **kwargs)
Mar 05 15:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1234, in run
Mar 05 15:05:50 petrol salt-minion[19067]: return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
Mar 05 15:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/contextvars/__init__.py", line 38, in run
Mar 05 15:05:50 petrol salt-minion[19067]: return callable(*args, **kwargs)
Mar 05 15:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1249, in _run_as
Mar 05 15:05:50 petrol salt-minion[19067]: ret = _func_or_method(*args, **kwargs)
Mar 05 15:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1285, in wrapper
Mar 05 15:05:50 petrol salt-minion[19067]: return f(*args, **kwargs)
Mar 05 15:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/states/pkg.py", line 2659, in latest
Mar 05 15:05:50 petrol salt-minion[19067]: *desired_pkgs, fromrepo=fromrepo, refresh=refresh, **kwargs
Mar 05 15:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 149, in __call__
Mar 05 15:05:50 petrol salt-minion[19067]: return self.loader.run(run_func, *args, **kwargs)
Mar 05 15:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1234, in run
Mar 05 15:05:50 petrol salt-minion[19067]: return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
Mar 05 15:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/contextvars/__init__.py", line 38, in run
Mar 05 15:05:50 petrol salt-minion[19067]: return callable(*args, **kwargs)
Mar 05 15:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1249, in _run_as
Mar 05 15:05:50 petrol salt-minion[19067]: ret = _func_or_method(*args, **kwargs)
Mar 05 15:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/modules/zypperpkg.py", line 828, in latest_version
Mar 05 15:05:50 petrol salt-minion[19067]: package_info = info_available(*names, **kwargs)
Mar 05 15:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/modules/zypperpkg.py", line 752, in info_available
Mar 05 15:05:50 petrol salt-minion[19067]: "info", "-t", "package", *batch[:batch_size]
Mar 05 15:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/modules/zypperpkg.py", line 439, in __call
Mar 05 15:05:50 petrol salt-minion[19067]: salt.utils.stringutils.to_str(self.__call_result["stdout"])
Mar 05 15:05:50 petrol salt-minion[19067]: File "/usr/lib64/python3.6/xml/dom/minidom.py", line 1968, in parseString
Mar 05 15:05:50 petrol salt-minion[19067]: return expatbuilder.parseString(string)
Mar 05 15:05:50 petrol salt-minion[19067]: File "/usr/lib64/python3.6/xml/dom/expatbuilder.py", line 925, in parseString
Mar 05 15:05:50 petrol salt-minion[19067]: return builder.parseString(string)
Mar 05 15:05:50 petrol salt-minion[19067]: File "/usr/lib64/python3.6/xml/dom/expatbuilder.py", line 223, in parseString
Mar 05 15:05:50 petrol salt-minion[19067]: parser.Parse(string, True)
Mar 05 15:05:50 petrol salt-minion[19067]: xml.parsers.expat.ExpatError: syntax error: line 1, column 0
This traceback didn't lead to a failure visible on the master-side.
The exapt error is actually showing up quite a lot:
Mar 05 16:05:44 petrol salt-minion[19067]: AttributeError: 'str' object has no attribute 'getElementsByTagName'
Mar 05 16:05:50 petrol salt-minion[19067]: [ERROR ] An exception occurred in this state: Traceback (most recent call last):
Mar 05 16:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/state.py", line 2402, in call
Mar 05 16:05:50 petrol salt-minion[19067]: *cdata["args"], **cdata["kwargs"]
Mar 05 16:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 149, in __call__
Mar 05 16:05:50 petrol salt-minion[19067]: return self.loader.run(run_func, *args, **kwargs)
Mar 05 16:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1234, in run
Mar 05 16:05:50 petrol salt-minion[19067]: return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
Mar 05 16:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/contextvars/__init__.py", line 38, in run
Mar 05 16:05:50 petrol salt-minion[19067]: return callable(*args, **kwargs)
Mar 05 16:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1249, in _run_as
Mar 05 16:05:50 petrol salt-minion[19067]: ret = _func_or_method(*args, **kwargs)
Mar 05 16:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1285, in wrapper
Mar 05 16:05:50 petrol salt-minion[19067]: return f(*args, **kwargs)
Mar 05 16:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/states/pkg.py", line 2659, in latest
Mar 05 16:05:50 petrol salt-minion[19067]: *desired_pkgs, fromrepo=fromrepo, refresh=refresh, **kwargs
Mar 05 16:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 149, in __call__
Mar 05 16:05:50 petrol salt-minion[19067]: return self.loader.run(run_func, *args, **kwargs)
Mar 05 16:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1234, in run
Mar 05 16:05:50 petrol salt-minion[19067]: return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
Mar 05 16:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/contextvars/__init__.py", line 38, in run
Mar 05 16:05:50 petrol salt-minion[19067]: return callable(*args, **kwargs)
Mar 05 16:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1249, in _run_as
Mar 05 16:05:50 petrol salt-minion[19067]: ret = _func_or_method(*args, **kwargs)
Mar 05 16:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/modules/zypperpkg.py", line 828, in latest_version
Mar 05 16:05:50 petrol salt-minion[19067]: package_info = info_available(*names, **kwargs)
Mar 05 16:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/modules/zypperpkg.py", line 752, in info_available
Mar 05 16:05:50 petrol salt-minion[19067]: "info", "-t", "package", *batch[:batch_size]
Mar 05 16:05:50 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/modules/zypperpkg.py", line 439, in __call
Mar 05 16:05:50 petrol salt-minion[19067]: salt.utils.stringutils.to_str(self.__call_result["stdout"])
Mar 05 16:05:50 petrol salt-minion[19067]: File "/usr/lib64/python3.6/xml/dom/minidom.py", line 1968, in parseString
Mar 05 16:05:50 petrol salt-minion[19067]: return expatbuilder.parseString(string)
Mar 05 16:05:50 petrol salt-minion[19067]: File "/usr/lib64/python3.6/xml/dom/expatbuilder.py", line 925, in parseString
Mar 05 16:05:50 petrol salt-minion[19067]: return builder.parseString(string)
Mar 05 16:05:50 petrol salt-minion[19067]: File "/usr/lib64/python3.6/xml/dom/expatbuilder.py", line 223, in parseString
Mar 05 16:05:50 petrol salt-minion[19067]: parser.Parse(string, True)
Mar 05 16:05:50 petrol salt-minion[19067]: xml.parsers.expat.ExpatError: syntax error: line 1, column 0
Mar 05 16:06:21 petrol salt-minion[19067]: [ERROR ] An exception occurred in this state: Traceback (most recent call last):
Mar 05 16:06:21 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/state.py", line 2402, in call
Mar 05 16:06:21 petrol salt-minion[19067]: *cdata["args"], **cdata["kwargs"]
Mar 05 16:06:21 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 149, in __call__
Mar 05 16:06:21 petrol salt-minion[19067]: return self.loader.run(run_func, *args, **kwargs)
Mar 05 16:06:21 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1234, in run
Mar 05 16:06:21 petrol salt-minion[19067]: return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
Mar 05 16:06:21 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/contextvars/__init__.py", line 38, in run
Mar 05 16:06:21 petrol salt-minion[19067]: return callable(*args, **kwargs)
Mar 05 16:06:21 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1249, in _run_as
Mar 05 16:06:21 petrol salt-minion[19067]: ret = _func_or_method(*args, **kwargs)
Mar 05 16:06:21 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1285, in wrapper
Mar 05 16:06:21 petrol salt-minion[19067]: return f(*args, **kwargs)
Mar 05 16:06:21 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/states/pkg.py", line 1686, in installed
Mar 05 16:06:21 petrol salt-minion[19067]: pkgs, refresh = _resolve_capabilities(pkgs, refresh=refresh, **kwargs)
Mar 05 16:06:21 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/states/pkg.py", line 990, in _resolve_capabilities
Mar 05 16:06:21 petrol salt-minion[19067]: ret = __salt__["pkg.resolve_capabilities"](pkgs, refresh=refresh, **kwargs)
Mar 05 16:06:21 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 149, in __call__
Mar 05 16:06:21 petrol salt-minion[19067]: return self.loader.run(run_func, *args, **kwargs)
Mar 05 16:06:21 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1234, in run
Mar 05 16:06:21 petrol salt-minion[19067]: return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
Mar 05 16:06:21 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/contextvars/__init__.py", line 38, in run
Mar 05 16:06:21 petrol salt-minion[19067]: return callable(*args, **kwargs)
Mar 05 16:06:21 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1249, in _run_as
Mar 05 16:06:21 petrol salt-minion[19067]: ret = _func_or_method(*args, **kwargs)
Mar 05 16:06:21 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/modules/zypperpkg.py", line 3280, in resolve_capabilities
Mar 05 16:06:21 petrol salt-minion[19067]: search(name, root=root, match="exact")
Mar 05 16:06:21 petrol salt-minion[19067]: File "/usr/lib/python3.6/site-packages/salt/modules/zypperpkg.py", line 2887, in search
Mar 05 16:06:21 petrol salt-minion[19067]: .nolock.noraise.xml.call(*cmd)
Mar 05 16:06:21 petrol salt-minion[19067]: AttributeError: 'str' object has no attribute 'getElementsByTagName'
I also once ran into a "no response" error (even though petrol and osd seemed both online all the time, maybe the Wireguard tunnel is unstable):
run 086
petrol.qe.nue2.suse.org:
Minion did not return. [No response]
The minions may not have all finished running and any remaining minions will return upon completion. To look up the return data for this job later, run the following command:
salt-run jobs.lookup_jid 20250305160505018753
I haven't encountered any failure after 50 runs. It is probably best to just add another retry: https://gitlab.suse.de/openqa/salt-states-openqa/-/merge_requests/1395