Bug 56648

Summary: salt-master долго выполняются state
Product: Branch p11 Reporter: Pavel <ppn.dep136>
Component: salt-masterAssignee: Andrey Cherepanov <cas>
Status: CLOSED FIXED QA Contact: qa-p11 <qa-p11>
Severity: normal    
Priority: P5 CC: glinkinvd
Version: unspecified   
Hardware: x86_64   
OS: Linux   

Description Pavel 2025-10-28 12:52:05 MSK
salt-master 3007.5 state, которые имеют время выполнения 1-2 минуты, начинают выполнятся по несколько часов или вообще не выполнится, выдавая ошибку: error executing state.apply: pillar timed out after 180 sec.
Перезапуск службы salt-master решает проблему не некоторое время, после чего ситуация повторяется, до следующего перезапуска службы.

Лог salt-minion с запуском salt-call -l trace:

[DEBUG   ] Initializing new AsyncAuth for ('[minion-pki-folder]', 'minion-id', 'tcp://salt-master-ip:4506')
/usr/lib/python3/site-packages/salt/transport/zeromq.py:1084: DeprecationWarning: The loop argument is deprecated since Python 3.8, and scheduled for removal in Python 3.10.
  self.sending = asyncio.Lock(loop=self.io_loop)
[TRACE   ] ReqChannel send crypt load={'cmd': '_master_opts'}
[TRACE   ] Failed to send msg SaltReqTimeoutError('Request client send timedout')
[TRACE   ] ReqChannel send crypt load={'cmd': '_master_opts', 'nonce': '95903d66f4fd4f6f8f387a6e0a98c2b5'}
[DEBUG   ] Gathering pillar data for state run
[DEBUG   ] Determining pillar cache
[DEBUG   ] Using selector: EpollSelector
[DEBUG   ] Initializing new AsyncAuth for ('[minion-pki-folder]', 'minion-id', 'tcp://salt-master-ip:4506')
[TRACE   ] ext_pillar_extra_data = {}

Вывод ss на salt-master:

State           Recv-Q          Send-Q                   Local Address:Port                    Peer Address:Port          Process                                                                                  
LISTEN          0               1000                        salt-master-ip:4505                         0.0.0.0:*              users:(("salt-master",pid=725506,fd=24))                                                
LISTEN          0               1000                        salt-master-ip:4506                         0.0.0.0:*              users:(("salt-master",pid=725513,fd=34))    

nmap -p 4506 salt-master -Pn
Starting Nmap 7.80 ( https://nmap.org ) at 2025-10-28 13:32 +04
Nmap scan report for salt-master (ip)
Host is up (0.010s latency).

PORT     STATE SERVICE
4506/tcp open  unknown

Nmap done: 1 IP address (1 host up) scanned in 13.05 seconds

nmap -p 4505 salt-master -Pn
Starting Nmap 7.80 ( https://nmap.org ) at 2025-10-28 13:32 +04
Nmap scan report for salt-master (ip)
Host is up (0.010s latency).

PORT     STATE SERVICE
4505/tcp open  unknown

Nmap done: 1 IP address (1 host up) scanned in 13.04 seconds
Comment 1 Alexander Makeenkov 2025-10-29 09:25:37 MSK
*** Bug 56650 has been marked as a duplicate of this bug. ***
Comment 2 Vladislav Glinkin 2025-10-30 19:22:08 MSK
Добрый день! Попробовал воспроизвести описанную вами проблему.

# for ((i=0; i<100; i++)); do salt '*' state.apply test && sleep 5; done

Где test.sls содержит следующее:
used_space:
  disk.status:
    - name: /

test:
  module.run:
    - disk.blkid:

В итоге периодически на minion системах наблюдаются ошибки:
окт 30 16:27:06 boba salt-minion[9339]: [ERROR   ] An un-handled exception from the multiprocessing process 'ProcessPayload(jid=20251030132636523808)' was caught:
окт 30 16:27:06 boba salt-minion[9339]: Traceback (most recent call last):
окт 30 16:27:06 boba salt-minion[9339]:   File "/usr/lib/python3/site-packages/salt/utils/process.py", line 999, in wrapped_run_func
окт 30 16:27:06 boba salt-minion[9339]:     return run_func()
окт 30 16:27:06 boba salt-minion[9339]:            ^^^^^^^^^^
окт 30 16:27:06 boba salt-minion[9339]:   File "/usr/lib64/python3.12/multiprocessing/process.py", line 108, in run
окт 30 16:27:06 boba salt-minion[9339]:     self._target(*self._args, **self._kwargs)
окт 30 16:27:06 boba salt-minion[9339]:   File "/usr/lib/python3/site-packages/salt/minion.py", line 1922, in _target
окт 30 16:27:06 boba salt-minion[9339]:     run_func(minion_instance, opts, data)
окт 30 16:27:06 boba salt-minion[9339]:   File "/usr/lib/python3/site-packages/salt/minion.py", line 1919, in run_func
окт 30 16:27:06 boba salt-minion[9339]:     return Minion._thread_return(minion_instance, opts, data)
окт 30 16:27:06 boba salt-minion[9339]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
окт 30 16:27:06 boba salt-minion[9339]:   File "/usr/lib/python3/site-packages/salt/minion.py", line 2155, in _thread_return
окт 30 16:27:06 boba salt-minion[9339]:     minion_instance._return_pub(
окт 30 16:27:06 boba salt-minion[9339]:   File "/usr/lib/python3/site-packages/salt/minion.py", line 2390, in _return_pub
окт 30 16:27:06 boba salt-minion[9339]:     ret_val = self._send_req_sync(load, timeout=timeout)
окт 30 16:27:06 boba salt-minion[9339]:               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
окт 30 16:27:06 boba salt-minion[9339]:   File "/usr/lib/python3/site-packages/salt/minion.py", line 1649, in _send_req_sync
окт 30 16:27:06 boba salt-minion[9339]:     raise TimeoutError("Request timed out")
окт 30 16:27:06 boba salt-minion[9339]: TimeoutError: Request timed out
окт 30 16:27:06 boba salt-minion[9339]: Process ProcessPayload(jid=20251030132636523808):
окт 30 16:27:06 boba salt-minion[9339]: Traceback (most recent call last):
окт 30 16:27:06 boba salt-minion[9339]:   File "/usr/lib64/python3.12/multiprocessing/process.py", line 314, in _bootstrap
окт 30 16:27:06 boba salt-minion[9339]:     self.run()
окт 30 16:27:06 boba salt-minion[9339]:   File "/usr/lib/python3/site-packages/salt/utils/process.py", line 999, in wrapped_run_func
окт 30 16:27:06 boba salt-minion[9339]:     return run_func()
окт 30 16:27:06 boba salt-minion[9339]:            ^^^^^^^^^^
окт 30 16:27:06 boba salt-minion[9339]:   File "/usr/lib64/python3.12/multiprocessing/process.py", line 108, in run
окт 30 16:27:06 boba salt-minion[9339]:     self._target(*self._args, **self._kwargs)
окт 30 16:27:06 boba salt-minion[9339]:   File "/usr/lib/python3/site-packages/salt/minion.py", line 1922, in _target
окт 30 16:27:06 boba salt-minion[9339]:     run_func(minion_instance, opts, data)
окт 30 16:27:06 boba salt-minion[9339]:   File "/usr/lib/python3/site-packages/salt/minion.py", line 1919, in run_func
окт 30 16:27:06 boba salt-minion[9339]:     return Minion._thread_return(minion_instance, opts, data)
окт 30 16:27:06 boba salt-minion[9339]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
окт 30 16:27:06 boba salt-minion[9339]:   File "/usr/lib/python3/site-packages/salt/minion.py", line 2155, in _thread_return
окт 30 16:27:06 boba salt-minion[9339]:     minion_instance._return_pub(
окт 30 16:27:06 boba salt-minion[9339]:   File "/usr/lib/python3/site-packages/salt/minion.py", line 2390, in _return_pub
окт 30 16:27:06 boba salt-minion[9339]:     ret_val = self._send_req_sync(load, timeout=timeout)
окт 30 16:27:06 boba salt-minion[9339]:               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
окт 30 16:27:06 boba salt-minion[9339]:   File "/usr/lib/python3/site-packages/salt/minion.py", line 1649, in _send_req_sync
окт 30 16:27:06 boba salt-minion[9339]:     raise TimeoutError("Request timed out")
окт 30 16:27:06 boba salt-minion[9339]: TimeoutError: Request timed out
окт 30 16:29:30 boba salt-minion[9273]: [ERROR   ] Problem executing 'state.apply': File client timed out after 180 seconds

Прошу вас ответить на вопросы:
1) В журнале вашей minion системы есть данная ошибка? (Т.е., это ваш случай?)
2) Если ответ на первый вопрос отрицательный, вы можете предоставить пример *.sls файла?
Comment 3 Pavel 2025-10-31 10:06:23 MSK
(Ответ для Vladislav Glinkin на комментарий #2)
> Добрый день! Попробовал воспроизвести описанную вами проблему.
> 
> # for ((i=0; i<100; i++)); do salt '*' state.apply test && sleep 5; done
> 
> Где test.sls содержит следующее:
> used_space:
>   disk.status:
>     - name: /
> 
> test:
>   module.run:
>     - disk.blkid:
> 
> В итоге периодически на minion системах наблюдаются ошибки:
> окт 30 16:27:06 boba salt-minion[9339]: [ERROR   ] An un-handled exception
> from the multiprocessing process 'ProcessPayload(jid=20251030132636523808)'
> was caught:
> окт 30 16:27:06 boba salt-minion[9339]: Traceback (most recent call last):
> окт 30 16:27:06 boba salt-minion[9339]:   File
> "/usr/lib/python3/site-packages/salt/utils/process.py", line 999, in
> wrapped_run_func
> окт 30 16:27:06 boba salt-minion[9339]:     return run_func()
> окт 30 16:27:06 boba salt-minion[9339]:            ^^^^^^^^^^
> окт 30 16:27:06 boba salt-minion[9339]:   File
> "/usr/lib64/python3.12/multiprocessing/process.py", line 108, in run
> окт 30 16:27:06 boba salt-minion[9339]:     self._target(*self._args,
> **self._kwargs)
> окт 30 16:27:06 boba salt-minion[9339]:   File
> "/usr/lib/python3/site-packages/salt/minion.py", line 1922, in _target
> окт 30 16:27:06 boba salt-minion[9339]:     run_func(minion_instance, opts,
> data)
> окт 30 16:27:06 boba salt-minion[9339]:   File
> "/usr/lib/python3/site-packages/salt/minion.py", line 1919, in run_func
> окт 30 16:27:06 boba salt-minion[9339]:     return
> Minion._thread_return(minion_instance, opts, data)
> окт 30 16:27:06 boba salt-minion[9339]:           
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> окт 30 16:27:06 boba salt-minion[9339]:   File
> "/usr/lib/python3/site-packages/salt/minion.py", line 2155, in _thread_return
> окт 30 16:27:06 boba salt-minion[9339]:     minion_instance._return_pub(
> окт 30 16:27:06 boba salt-minion[9339]:   File
> "/usr/lib/python3/site-packages/salt/minion.py", line 2390, in _return_pub
> окт 30 16:27:06 boba salt-minion[9339]:     ret_val =
> self._send_req_sync(load, timeout=timeout)
> окт 30 16:27:06 boba salt-minion[9339]:              
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> окт 30 16:27:06 boba salt-minion[9339]:   File
> "/usr/lib/python3/site-packages/salt/minion.py", line 1649, in _send_req_sync
> окт 30 16:27:06 boba salt-minion[9339]:     raise TimeoutError("Request
> timed out")
> окт 30 16:27:06 boba salt-minion[9339]: TimeoutError: Request timed out
> окт 30 16:27:06 boba salt-minion[9339]: Process
> ProcessPayload(jid=20251030132636523808):
> окт 30 16:27:06 boba salt-minion[9339]: Traceback (most recent call last):
> окт 30 16:27:06 boba salt-minion[9339]:   File
> "/usr/lib64/python3.12/multiprocessing/process.py", line 314, in _bootstrap
> окт 30 16:27:06 boba salt-minion[9339]:     self.run()
> окт 30 16:27:06 boba salt-minion[9339]:   File
> "/usr/lib/python3/site-packages/salt/utils/process.py", line 999, in
> wrapped_run_func
> окт 30 16:27:06 boba salt-minion[9339]:     return run_func()
> окт 30 16:27:06 boba salt-minion[9339]:            ^^^^^^^^^^
> окт 30 16:27:06 boba salt-minion[9339]:   File
> "/usr/lib64/python3.12/multiprocessing/process.py", line 108, in run
> окт 30 16:27:06 boba salt-minion[9339]:     self._target(*self._args,
> **self._kwargs)
> окт 30 16:27:06 boba salt-minion[9339]:   File
> "/usr/lib/python3/site-packages/salt/minion.py", line 1922, in _target
> окт 30 16:27:06 boba salt-minion[9339]:     run_func(minion_instance, opts,
> data)
> окт 30 16:27:06 boba salt-minion[9339]:   File
> "/usr/lib/python3/site-packages/salt/minion.py", line 1919, in run_func
> окт 30 16:27:06 boba salt-minion[9339]:     return
> Minion._thread_return(minion_instance, opts, data)
> окт 30 16:27:06 boba salt-minion[9339]:           
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> окт 30 16:27:06 boba salt-minion[9339]:   File
> "/usr/lib/python3/site-packages/salt/minion.py", line 2155, in _thread_return
> окт 30 16:27:06 boba salt-minion[9339]:     minion_instance._return_pub(
> окт 30 16:27:06 boba salt-minion[9339]:   File
> "/usr/lib/python3/site-packages/salt/minion.py", line 2390, in _return_pub
> окт 30 16:27:06 boba salt-minion[9339]:     ret_val =
> self._send_req_sync(load, timeout=timeout)
> окт 30 16:27:06 boba salt-minion[9339]:              
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> окт 30 16:27:06 boba salt-minion[9339]:   File
> "/usr/lib/python3/site-packages/salt/minion.py", line 1649, in _send_req_sync
> окт 30 16:27:06 boba salt-minion[9339]:     raise TimeoutError("Request
> timed out")
> окт 30 16:27:06 boba salt-minion[9339]: TimeoutError: Request timed out
> окт 30 16:29:30 boba salt-minion[9273]: [ERROR   ] Problem executing
> 'state.apply': File client timed out after 180 seconds
> 
> Прошу вас ответить на вопросы:
> 1) В журнале вашей minion системы есть данная ошибка? (Т.е., это ваш случай?)
> 2) Если ответ на первый вопрос отрицательный, вы можете предоставить пример
> *.sls файла?

Добрый день! Да такая ошибка так-же появляется на некоторых minion.
Comment 4 Vladislav Glinkin 2025-10-31 11:08:06 MSK
(Ответ для Pavel на комментарий #3)
> Добрый день! Да такая ошибка так-же появляется на некоторых minion.

Спасибо!
В таком случае, данное поведение воспроизводится на версии salt-master-3007.5-alt1 (p11+388710.100.2.1)
Comment 5 Pavel 2026-02-05 12:20:38 MSK
Планируется-ли обновление версии salt-master и salt-minion в ветке p11 или d p10 и p11 одновременно?
Comment 6 Andrey Cherepanov 2026-02-12 14:19:43 MSK
(Ответ для Pavel на комментарий #5)
> Планируется-ли обновление версии salt-master и salt-minion в ветке p11 или d
> p10 и p11 одновременно?

https://packages.altlinux.org/ru/p11/srpms/salt/

Версия: 3007.12-alt1
Собран:  10 февраля 2026 г. 12:22 в задании #407688

В p10 будут только точечно закрываться уязвимости.