-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
Description
While unifying our sysconfig handling, I notice our suse_sysconfig functions to not work with sysconfig files which do not have a corresponding fillup template:
ID: libvirt_guests_sysconfig
Function: suse_sysconfig.sysconfig
Name: /etc/sysconfig/libvirt-guests
Result: False
Comment: An exception occurred in this state: Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/salt/state.py", line 2402, in call
*cdata["args"], **cdata["kwargs"]
File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 149, in __call__
return self.loader.run(run_func, *args, **kwargs)
File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1234, in run
return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
File "/usr/lib/python3.6/site-packages/contextvars/__init__.py", line 38, in run
return callable(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1249, in _run_as
return _func_or_method(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1282, in wrapper
return f(*args, **kwargs)
File "/var/cache/salt/minion/extmods/states/suse_sysconfig.py", line 86, in sysconfig
header_pillar=header_pillar,
File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 149, in __call__
return self.loader.run(run_func, *args, **kwargs)
File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1234, in run
return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
File "/usr/lib/python3.6/site-packages/contextvars/__init__.py", line 38, in run
return callable(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1249, in _run_as
return _func_or_method(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1282, in wrapper
return f(*args, **kwargs)
File "/var/cache/salt/minion/extmods/states/suse_sysconfig.py", line 36, in header
repl=patterns['replace'],
File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 149, in __call__
return self.loader.run(run_func, *args, **kwargs)
File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1234, in run
return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
File "/usr/lib/python3.6/site-packages/contextvars/__init__.py", line 38, in run
return callable(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1249, in _run_as
return _func_or_method(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1282, in wrapper
return f(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/salt/states/file.py", line 5403, in replace
backslash_literal=backslash_literal,
File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 149, in __call__
return self.loader.run(run_func, *args, **kwargs)
File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1234, in run
return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
File "/usr/lib/python3.6/site-packages/contextvars/__init__.py", line 38, in run
return callable(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/salt/loader/lazy.py", line 1249, in _run_as
return _func_or_method(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/salt/modules/file.py", line 2616, in replace
with salt.utils.files.fopen(path, mode="w", buffering=bufsize) as w_file:
File "/usr/lib/python3.6/site-packages/salt/utils/files.py", line 393, in fopen
f_handle = open(*args, **kwargs) # pylint: disable=resource-leakage
ValueError: can't have unbuffered text I/O
Started: 14:13:47.429742
Duration: 12.96 ms
Changes:
It might be desirable to support such files in the same suse_sysconfig.sysconfig function, but needs some consideration to not assume there is no fillup file if it might just be part of a not-yet installed package.