[BUG] kernelpkg.upgrade if available i got AttributeError: 'NoneType' object has no attribute 'group'
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 15.7k
- Forks
- 5.6k
- Avg merge
- 2d 44m
- Merged PRs (30d)
- 80
Description
Description
If running kernelpkg.upgrade then all server with an available kernel upgrade throws an error
Setup
Just run:
salt -C 'G@kernel:Linux and I@upgrade:1' kernelpkg.upgrade reboot=True at_time=2
we get the following error (here you can also see that it works on server with no kernel upgrades):
it-web.company.de:
The minion function caused an exception: Traceback (most recent call last):
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/minion.py", line 1943, in _thread_return
return_data = minion_instance._execute_job_function(
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/minion.py", line 1902, in _execute_job_function
return_data = self.executors[fname](opts, data, func, args, kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 159, in __call__
ret = self.loader.run(run_func, *args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1245, in run
return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1260, in _run_as
return _func_or_method(*args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/executors/direct_call.py", line 10, in execute
return func(*args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 159, in __call__
ret = self.loader.run(run_func, *args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1245, in run
return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1260, in _run_as
return _func_or_method(*args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/kernelpkg_linux_apt.py", line 156, in upgrade
name="{}-{}".format(_package_prefix(), latest_available())
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/kernelpkg_linux_apt.py", line 89, in latest_available
return "{}-{}-{}".format(version.group(1), version.group(2), _kernel_type())
AttributeError: 'NoneType' object has no attribute 'group'
paul11.company.de:
----------
active:
6.1.0-0.deb11.11-amd64
latest_installed:
6.1.0-0.deb11.11-amd64
reboot_requested:
True
reboot_required:
False
upgrades:
----------
Please be as specific as possible and give set-up details.
- on-prem machine
- VM Vmware Esxi
- VM running on a cloud service, please be explicit and add details
- container (Kubernetes, Docker, containerd, etc. please specify)
- or a combination, please be explicit
- jails if it is FreeBSD
- classic packaging
- onedir packaging
- used bootstrap to install
Steps to Reproduce the behavior
from server:
salt -l all 'it-web*' kernelpkg.upgrade reboot=True at_time=2
[TRACE ] _get_event() waited 0 seconds and received nothing
[TRACE ] Get event. tag: salt/job/20231012061542608236
[TRACE ] get_event() received = {'data': {'cmd': '_return', 'id': 'it-web.company.de', 'success': False, 'return': 'The minion function caused an exception: Traceback (most recent call last):\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/minion.py", line 1943, in _thread_return\n return_data = minion_instance._execute_job_function(\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/minion.py", line 1902, in _execute_job_function\n return_data = self.executors[fname](opts, data, func, args, kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 159, in __call__\n ret = self.loader.run(run_func, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1245, in run\n return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1260, in _run_as\n return _func_or_method(*args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/executors/direct_call.py", line 10, in execute\n return func(*args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 159, in __call__\n ret = self.loader.run(run_func, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1245, in run\n return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1260, in _run_as\n return _func_or_method(*args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/kernelpkg_linux_apt.py", line 156, in upgrade\n name="{}-{}".format(_package_prefix(), latest_available())\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/kernelpkg_linux_apt.py", line 89, in latest_available\n return "{}-{}-{}".format(version.group(1), version.group(2), _kernel_type())\nAttributeError: \'NoneType\' object has no attribute \'group\'\n', 'out': 'nested', 'retcode': 1, 'jid': '20231012061542608236', 'fun': 'kernelpkg.upgrade', 'fun_args': [{'reboot': True, 'at_time': 2}], 'user': 'sudo_xxx', '_stamp': '2023-10-12T06:15:46.616750'}, 'tag': 'salt/job/20231012061542608236/ret/it-web.company.de'}
[DEBUG ] jid 20231012061542608236 return from it-web.company.de
[DEBUG ] return event: {'it-web.company.de': {'ret': 'The minion function caused an exception: Traceback (most recent call last):\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/minion.py", line 1943, in _thread_return\n return_data = minion_instance._execute_job_function(\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/minion.py", line 1902, in _execute_job_function\n return_data = self.executors[fname](opts, data, func, args, kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 159, in __call__\n ret = self.loader.run(run_func, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1245, in run\n return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1260, in _run_as\n return _func_or_method(*args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/executors/direct_call.py", line 10, in execute\n return func(*args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 159, in __call__\n ret = self.loader.run(run_func, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1245, in run\n return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1260, in _run_as\n return _func_or_method(*args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/kernelpkg_linux_apt.py", line 156, in upgrade\n name="{}-{}".format(_package_prefix(), latest_available())\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/kernelpkg_linux_apt.py", line 89, in latest_available\n return "{}-{}-{}".format(version.group(1), version.group(2), _kernel_type())\nAttributeError: \'NoneType\' object has no attribute \'group\'\n', 'out': 'nested', 'retcode': 1, 'jid': '20231012061542608236'}}
[DEBUG ] The functions from module 'nested' are being loaded by dir() on the loaded module
[DEBUG ] LazyLoaded nested.output
[TRACE ] data = {'it-web.company.de': 'The minion function caused an exception: Traceback (most recent call last):\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/minion.py", line 1943, in _thread_return\n return_data = minion_instance._execute_job_function(\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/minion.py", line 1902, in _execute_job_function\n return_data = self.executors[fname](opts, data, func, args, kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 159, in __call__\n ret = self.loader.run(run_func, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1245, in run\n return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1260, in _run_as\n return _func_or_method(*args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/executors/direct_call.py", line 10, in execute\n return func(*args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 159, in __call__\n ret = self.loader.run(run_func, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1245, in run\n return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1260, in _run_as\n return _func_or_method(*args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/kernelpkg_linux_apt.py", line 156, in upgrade\n name="{}-{}".format(_package_prefix(), latest_available())\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/kernelpkg_linux_apt.py", line 89, in latest_available\n return "{}-{}-{}".format(version.group(1), version.group(2), _kernel_type())\nAttributeError: \'NoneType\' object has no attribute \'group\'\n'}
it-web.company.de:
The minion function caused an exception: Traceback (most recent call last):
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/minion.py", line 1943, in _thread_return
return_data = minion_instance._execute_job_function(
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/minion.py", line 1902, in _execute_job_function
return_data = self.executors[fname](opts, data, func, args, kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 159, in __call__
ret = self.loader.run(run_func, *args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1245, in run
return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1260, in _run_as
return _func_or_method(*args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/executors/direct_call.py", line 10, in execute
return func(*args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 159, in __call__
ret = self.loader.run(run_func, *args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1245, in run
return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1260, in _run_as
return _func_or_method(*args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/kernelpkg_linux_apt.py", line 156, in upgrade
name="{}-{}".format(_package_prefix(), latest_available())
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/kernelpkg_linux_apt.py", line 89, in latest_available
return "{}-{}-{}".format(version.group(1), version.group(2), _kernel_type())
AttributeError: 'NoneType' object has no attribute 'group'
[TRACE ] Get event. tag: salt/job/20231012061542608236
from client, running in forground with -l all:
[TRACE ] ==== evaluating schedule now None =====
[TRACE ] stdout: Hit:1 https://ftp.gwdg.de/debian bullseye InRelease
Hit:2 https://ftp.gwdg.de/debian bullseye-updates InRelease
Hit:3 https://repo.saltproject.io/salt/py3/debian/11/amd64/latest bullseye InRelease
Hit:4 https://ftp.gwdg.de/debian bullseye-backports InRelease
Hit:5 https://ftp.gwdg.de/debian-security bullseye-security InRelease
Hit:6 https://packages.sury.org/php bullseye InRelease
Hit:7 https://artifacts.elastic.co/packages/oss-7.x/apt stable InRelease
Hit:9 http://repo.zabbix.com/zabbix/6.0/debian bullseye InRelease
Hit:8 https://packages.gitlab.com/runner/gitlab-runner/debian bullseye InRelease
Reading package lists...
[INFO ] Executing command apt-cache in directory '/root'
[TRACE ] stdout: linux-image-amd64:
Installed: 5.10.191-1
Candidate: 5.10.197-1
Version table:
6.1.38-4~bpo11+1 100
100 https://ftp.gwdg.de/debian bullseye-backports/main amd64 Packages
5.10.197-1 500
500 https://ftp.gwdg.de/debian bullseye/main amd64 Packages
*** 5.10.191-1 500
500 https://ftp.gwdg.de/debian-security bullseye-security/main amd64 Packages
100 /var/lib/dpkg/status
[INFO ] Executing command dpkg in directory '/root'
[WARNING ] The minion function caused an exception
Traceback (most recent call last):
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/minion.py", line 1943, in _thread_return
return_data = minion_instance._execute_job_function(
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/minion.py", line 1902, in _execute_job_function
return_data = self.executors[fname](opts, data, func, args, kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 159, in __call__
ret = self.loader.run(run_func, *args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1245, in run
return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1260, in _run_as
return _func_or_method(*args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/executors/direct_call.py", line 10, in execute
return func(*args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 159, in __call__
ret = self.loader.run(run_func, *args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1245, in run
return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1260, in _run_as
return _func_or_method(*args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/kernelpkg_linux_apt.py", line 156, in upgrade
name="{}-{}".format(_package_prefix(), latest_available())
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/kernelpkg_linux_apt.py", line 89, in latest_available
return "{}-{}-{}".format(version.group(1), version.group(2), _kernel_type())
AttributeError: 'NoneType' object has no attribute 'group'
[DEBUG ] SaltEvent PUB socket URI: /var/run/salt/minion/minion_event_5c70277f73_pub.ipc
[DEBUG ] SaltEvent PULL socket URI: /var/run/salt/minion/minion_event_5c70277f73_pull.ipc
[TRACE ] IPCClient: Connecting to socket: /var/run/salt/minion/minion_event_5c70277f73_pull.ipc
[DEBUG ] Sending event: tag = _salt_error; data = {'message': 'The minion function caused an exception', 'args': ('The minion function caused an exception',), '_stamp': '2023-10-12T06:14:13.315557'}
[TRACE ] IPCServer: Handling connection to address: <socket.socket fd=47, family=AddressFamily.AF_UNIX, type=SocketKind.SOCK_STREAM, proto=0, laddr=/var/run/salt/minion/minion_event_5c70277f73_pull.ipc>
[DEBUG ] Closing IPCMessageClient instance
[INFO ] Returning information for job: 20231012061409273717
[TRACE ] Return data: {'success': False, 'return': 'The minion function caused an exception: Traceback (most recent call last):\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/minion.py", line 1943, in _thread_return\n return_data = minion_instance._execute_job_function(\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/minion.py", line 1902, in _execute_job_function\n return_data = self.executors[fname](opts, data, func, args, kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 159, in __call__\n ret = self.loader.run(run_func, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1245, in run\n return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1260, in _run_as\n return _func_or_method(*args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/executors/direct_call.py", line 10, in execute\n return func(*args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 159, in __call__\n ret = self.loader.run(run_func, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1245, in run\n return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1260, in _run_as\n return _func_or_method(*args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/kernelpkg_linux_apt.py", line 156, in upgrade\n name="{}-{}".format(_package_prefix(), latest_available())\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/kernelpkg_linux_apt.py", line 89, in latest_available\n return "{}-{}-{}".format(version.group(1), version.group(2), _kernel_type())\nAttributeError: \'NoneType\' object has no attribute \'group\'\n', 'out': 'nested', 'retcode': 1, 'jid': '20231012061409273717', 'fun': 'kernelpkg.upgrade', 'fun_args': [{'reboot': True, 'at_time': 2}], 'user': 'sudo_xxx'}
[DEBUG ] SaltEvent PUB socket URI: /var/run/salt/minion/minion_event_5c70277f73_pub.ipc
[DEBUG ] SaltEvent PULL socket URI: /var/run/salt/minion/minion_event_5c70277f73_pull.ipc
[TRACE ] IPCClient: Connecting to socket: /var/run/salt/minion/minion_event_5c70277f73_pull.ipc
[TRACE ] Client disconnected from IPC /var/run/salt/minion/minion_event_5c70277f73_pull.ipc
[DEBUG ] Sending event: tag = __master_req_channel_payload/salt; data = {'cmd': '_return', 'id': 'it-web.company.de', 'success': False, 'return': 'The minion function caused an exception: Traceback (most recent call last):\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/minion.py", line 1943, in _thread_return\n return_data = minion_instance._execute_job_function(\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/minion.py", line 1902, in _execute_job_function\n return_data = self.executors[fname](opts, data, func, args, kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 159, in __call__\n ret = self.loader.run(run_func, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1245, in run\n return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1260, in _run_as\n return _func_or_method(*args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/executors/direct_call.py", line 10, in execute\n return func(*args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 159, in __call__\n ret = self.loader.run(run_func, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1245, in run\n return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1260, in _run_as\n return _func_or_method(*args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/kernelpkg_linux_apt.py", line 156, in upgrade\n name="{}-{}".format(_package_prefix(), latest_available())\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/kernelpkg_linux_apt.py", line 89, in latest_available\n return "{}-{}-{}".format(version.group(1), version.group(2), _kernel_type())\nAttributeError: \'NoneType\' object has no attribute \'group\'\n', 'out': 'nested', 'retcode': 1, 'jid': '20231012061409273717', 'fun': 'kernelpkg.upgrade', 'fun_args': [{'reboot': True, 'at_time': 2}], 'user': 'sudo_xxx', '_stamp': '2023-10-12T06:14:13.318642'}
[TRACE ] IPCServer: Handling connection to address: <socket.socket fd=47, family=AddressFamily.AF_UNIX, type=SocketKind.SOCK_STREAM, proto=0, laddr=/var/run/salt/minion/minion_event_5c70277f73_pull.ipc>
[DEBUG ] Closing IPCMessageClient instance
[TRACE ] ret_val = True
[DEBUG ] minion return: {'success': False, 'return': 'The minion function caused an exception: Traceback (most recent call last):\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/minion.py", line 1943, in _thread_return\n return_data = minion_instance._execute_job_function(\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/minion.py", line 1902, in _execute_job_function\n return_data = self.executors[fname](opts, data, func, args, kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 159, in __call__\n ret = self.loader.run(run_func, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1245, in run\n return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1260, in _run_as\n return _func_or_method(*args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/executors/direct_call.py", line 10, in execute\n return func(*args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 159, in __call__\n ret = self.loader.run(run_func, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1245, in run\n return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1260, in _run_as\n return _func_or_method(*args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/kernelpkg_linux_apt.py", line 156, in upgrade\n name="{}-{}".format(_package_prefix(), latest_available())\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/kernelpkg_linux_apt.py", line 89, in latest_available\n return "{}-{}-{}".format(version.group(1), version.group(2), _kernel_type())\nAttributeError: \'NoneType\' object has no attribute \'group\'\n', 'out': 'nested', 'retcode': 1, 'jid': '20231012061409273717', 'fun': 'kernelpkg.upgrade', 'fun_args': [{'reboot': True, 'at_time': 2}], 'user': 'sudo_xxx'}
[TRACE ] Client disconnected from IPC /var/run/salt/minion/minion_event_5c70277f73_pull.ipc
[DEBUG ] Minion of 'salt' is handling event tag '_salt_error'
[DEBUG ] Forwarding salt error event tag=_salt_error
[DEBUG ] SaltEvent PUB socket URI: /var/run/salt/minion/minion_event_5c70277f73_pub.ipc
[DEBUG ] SaltEvent PULL socket URI: /var/run/salt/minion/minion_event_5c70277f73_pull.ipc
[TRACE ] IPCClient: Connecting to socket: /var/run/salt/minion/minion_event_5c70277f73_pull.ipc
[DEBUG ] Sending event: tag = __master_req_channel_payload/salt; data = {'id': 'it-web.company.de', 'cmd': '_minion_event', 'pretag': None, 'tok': b"G\xed+|p\x13\x9d%ON6\xc8\xfdW\x89KU,#\xe0\xc8\xdd\xe7'\xf5\xd1O\xb6;\xd6v2\xb5\xea8\xc0K\x17\xf1U\xc4}\xf1B>\xacK\x06\xcb\xe2\xc4**\xf1u\x15\\\x19\x97\xf1\xc7\x84\x95\x9b_s\xb9T\x85U\xfcO\x82\xb5V\xecd>lF\x18\x9fK6\xf2B\xe5*0A\xb0\x9d7\xba\xb4\x12\x02\xff\xb9/\xdeM\x90\x10g\x83\xac>\x10\x84\xaf\xbd\xc0v\x8a\xc3iD\xc5\x148\xf0\x8e\xfb2\xf8+Q\xe2.\x0eev\xa9\xa9\xc5lw \xd2\xb8\x02\xf2[\x0ev\xbfu\xc2e\xf1z\xc2PE\xfaEX\x1c\\g\xb9a\xdf\x19R\x11\x9c\x1eL\xbd\xcb&S\xabM\x0fd\xeaz\xa5\xd7[\xc2\xc8\x96F\x9c\x80\xb8\x9c\x95=\xdf\x18\x10\xde\x8e'l\xcc\xcaRDd\x82\xf1\x11\xfewy<\xbf3k\xe5\x82\x93\x14Iti\xbdb\x15\xd2\xea:)\xed\x104l\x94\xf5\xc8'\xd6\r\x04\xc6D\x7f\xab_\x9f}sl2D\xec\x9e\xc2#\xed", 'data': {'message': 'The minion function caused an exception', 'args': ['The minion function caused an exception'], '_stamp': '2023-10-12T06:14:13.315557'}, 'tag': '_salt_error', '_stamp': '2023-10-12T06:14:13.328186'}
[DEBUG ] Minion of 'salt' is handling event tag '__master_req_channel_payload/salt'
[DEBUG ] Minion return retry timer set to 7 seconds (randomized)
[TRACE ] ReqChannel send crypt load={'cmd': '_return', 'id': 'it-web.company.de', 'success': False, 'return': 'The minion function caused an exception: Traceback (most recent call last):\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/minion.py", line 1943, in _thread_return\n return_data = minion_instance._execute_job_function(\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/minion.py", line 1902, in _execute_job_function\n return_data = self.executors[fname](opts, data, func, args, kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 159, in __call__\n ret = self.loader.run(run_func, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1245, in run\n return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1260, in _run_as\n return _func_or_method(*args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/executors/direct_call.py", line 10, in execute\n return func(*args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 159, in __call__\n ret = self.loader.run(run_func, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1245, in run\n return self._last_context.run(self._run_as, _func_or_method, *args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/loader/lazy.py", line 1260, in _run_as\n return _func_or_method(*args, **kwargs)\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/kernelpkg_linux_apt.py", line 156, in upgrade\n name="{}-{}".format(_package_prefix(), latest_available())\n File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/kernelpkg_linux_apt.py", line 89, in latest_available\n return "{}-{}-{}".format(version.group(1), version.group(2), _kernel_type())\nAttributeError: \'NoneType\' object has no attribute \'group\'\n', 'out': 'nested', 'retcode': 1, 'jid': '20231012061409273717', 'fun': 'kernelpkg.upgrade', 'fun_args': [{'reboot': True, 'at_time': 2}], 'user': 'sudo_xxx', '_stamp': '2023-10-12T06:14:13.318642'}
[TRACE ] IPCServer: Handling connection to address: <socket.socket fd=56, family=AddressFamily.AF_UNIX, type=SocketKind.SOCK_STREAM, proto=0, laddr=/var/run/salt/minion/minion_event_5c70277f73_pull.ipc>
[DEBUG ] Closing IPCMessageClient instance
[TRACE ] Client disconnected from IPC /var/run/salt/minion/minion_event_5c70277f73_pull.ipc
[DEBUG ] Minion of 'salt' is handling event tag '__master_req_channel_payload/salt'
[DEBUG ] Minion return retry timer set to 9 seconds (randomized)
[TRACE ] ReqChannel send crypt load={'id': 'it-web.company.de', 'cmd': '_minion_event', 'pretag': None, 'tok': b"G\xed+|p\x13\x9d%ON6\xc8\xfdW\x89KU,#\xe0\xc8\xdd\xe7'\xf5\xd1O\xb6;\xd6v2\xb5\xea8\xc0K\x17\xf1U\xc4}\xf1B>\xacK\x06\xcb\xe2\xc4**\xf1u\x15\\\x19\x97\xf1\xc7\x84\x95\x9b_s\xb9T\x85U\xfcO\x82\xb5V\xecd>lF\x18\x9fK6\xf2B\xe5*0A\xb0\x9d7\xba\xb4\x12\x02\xff\xb9/\xdeM\x90\x10g\x83\xac>\x10\x84\xaf\xbd\xc0v\x8a\xc3iD\xc5\x148\xf0\x8e\xfb2\xf8+Q\xe2.\x0eev\xa9\xa9\xc5lw \xd2\xb8\x02\xf2[\x0ev\xbfu\xc2e\xf1z\xc2PE\xfaEX\x1c\\g\xb9a\xdf\x19R\x11\x9c\x1eL\xbd\xcb&S\xabM\x0fd\xeaz\xa5\xd7[\xc2\xc8\x96F\x9c\x80\xb8\x9c\x95=\xdf\x18\x10\xde\x8e'l\xcc\xcaRDd\x82\xf1\x11\xfewy<\xbf3k\xe5\x82\x93\x14Iti\xbdb\x15\xd2\xea:)\xed\x104l\x94\xf5\xc8'\xd6\r\x04\xc6D\x7f\xab_\x9f}sl2D\xec\x9e\xc2#\xed", 'data': {'message': 'The minion function caused an exception', 'args': ['The minion function caused an exception'], '_stamp': '2023-10-12T06:14:13.315557'}, 'tag': '_salt_error', '_stamp': '2023-10-12T06:14:13.328186'}
[TRACE ] ==== evaluating schedule now None =====
[DEBUG ] Subprocess ProcessPayload(jid=20231012061409273717) cleaned up
[TRACE ] ==== evaluating schedule now None =====
[TRACE ] ==== evaluating schedule now None =====
Expected behavior
a working kernel.upgrade
Versions Report
salt --versions-report
from master: ```yaml salt --versions-report Salt Version: Salt: 3006.3Python Version:
Python: 3.10.13 (main, Sep 6 2023, 02:11:27) [GCC 11.2.0]
Dependency Versions:
cffi: 1.14.6
cherrypy: unknown
dateutil: 2.8.1
docker-py: Not Installed
gitdb: 4.0.10
gitpython: 3.1.31
Jinja2: 3.1.2
libgit2: Not Installed
looseversion: 1.0.2
M2Crypto: Not Installed
Mako: Not Installed
msgpack: 1.0.2
msgpack-pure: Not Installed
mysql-python: Not Installed
packaging: 22.0
pycparser: 2.21
pycrypto: Not Installed
pycryptodome: 3.9.8
pygit2: Not Installed
python-gnupg: 0.4.8
PyYAML: 6.0.1
PyZMQ: 23.2.0
relenv: 0.13.10
smmap: 5.0.0
timelib: 0.2.4
Tornado: 4.5.3
ZMQ: 4.3.4
System Versions:
dist: debian 11 bullseye
locale: utf-8
machine: x86_64
release: 5.10.0-25-amd64
system: Linux
version: Debian GNU/Linux 11 bullseye
from minion:
Salt Version:
Salt: 3006.3
Python Version:
Python: 3.10.13 (main, Sep 6 2023, 02:11:27) [GCC 11.2.0]
Dependency Versions:
cffi: 1.14.6
cherrypy: 18.6.1
dateutil: 2.8.1
docker-py: Not Installed
gitdb: Not Installed
gitpython: Not Installed
Jinja2: 3.1.2
libgit2: Not Installed
looseversion: 1.0.2
M2Crypto: Not Installed
Mako: Not Installed
msgpack: 1.0.2
msgpack-pure: Not Installed
mysql-python: Not Installed
packaging: 22.0
pycparser: 2.21
pycrypto: Not Installed
pycryptodome: 3.9.8
pygit2: Not Installed
python-gnupg: 0.4.8
PyYAML: 6.0.1
PyZMQ: 23.2.0
relenv: 0.13.10
smmap: Not Installed
timelib: 0.2.4
Tornado: 4.5.3
ZMQ: 4.3.4
System Versions:
dist: debian 11 bullseye
locale: utf-8
machine: x86_64
release: 5.10.0-25-amd64
system: Linux
version: Debian GNU/Linux 11 bullseye
</details>
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with salt/modules/kernelpkg_linux_apt.py, especially upgrade and latest_available, then reproduce the failure with the documented kernelpkg.upgrade command on a Linux system with an available kernel upgrade. Done means the command no longer raises the reported AttributeError and still handles hosts without available upgrades as shown.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- devops, operating-systems
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100