-
Notifications
You must be signed in to change notification settings - Fork 5.6k
Description
What happened?
I'm testing the salt-api and I'm trying to raise the timeout for the orchestrate runner but it looks like there is a bug, for example:
curl -Si "http://salt.lan:9999/run" -H 'Accept: application/x-yaml' -d client='runner' -d fun='state.orch' -d kwarg="{'mods':'orch.foobar'}" -d timeout=600 -d username='xxx' -d password='xxx' -d eauth='pam'
HTTP/1.1 500 Internal Server Error
Content-Type: application/x-yaml
Server: CherryPy/18.8.0
Date: Thu, 22 Jan 2026 09:14:54 GMT
Allow: GET, HEAD, POST
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: GET, POST
Access-Control-Allow-Credentials: true
Vary: Accept-Encoding
Content-Length: 2225
return: "Traceback (most recent call last):\n File "/usr/local/lib/python3.11/site-packages/salt/netapi/rest_cherrypy/app.py",
line 860, in hypermedia_handler\n ret = cherrypy.serving.request._hypermedia_inner_handler(*args,
**kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n
\ File "/usr/local/lib/python3.11/site-packages/cherrypy/_cpdispatch.py", line
54, in call\n return self.callable(*self.args, **self.kwargs)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n
\ File "/usr/local/lib/python3.11/site-packages/salt/netapi/rest_cherrypy/app.py",
line 2164, in POST\n "return": list(self.exec_lowstate()),\n ^^^^^^^^^^^^^^^^^^^^^^^^^^\n
\ File "/usr/local/lib/python3.11/site-packages/salt/netapi/rest_cherrypy/app.py",
line 1227, in exec_lowstate\n ret = self.api.run(chunk)\n ^^^^^^^^^^^^^^^^^^^\n
\ File "/usr/local/lib/python3.11/site-packages/salt/netapi/init.py", line
181, in run\n return l_fun(*f_call.get("args", ()), **f_call.get("kwargs",
{}))\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File
"/usr/local/lib/python3.11/site-packages/salt/netapi/init.py", line 262, in
runner\n return runner.cmd_sync(kwargs, timeout=timeout, full_return=full_return)\n
\ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File
"/usr/local/lib/python3.11/site-packages/salt/runner.py", line 145, in cmd_sync\n
\ return mixins.SyncClientMixin.cmd_sync(\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n
\ File "/usr/local/lib/python3.11/site-packages/salt/client/mixins.py", line 195,
in cmd_sync\n ret = event.get_event(\n ^^^^^^^^^^^^^^^^\n File "/usr/local/lib/python3.11/site-packages/salt/utils/event.py",
line 669, in get_event\n ret = self._get_event(wait, tag, match_func, no_block)\n
\ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/usr/local/lib/python3.11/site-packages/salt/utils/event.py",
line 553, in _get_event\n timeout_at = start + wait\n ~~~~~~^~~~~~\nTypeError:
unsupported operand type(s) for +: 'float' and 'str'\n"
status: 500
This is on FreeBSD with py311-salt-3006.9_6,1:
# pkg info py311-salt
py311-salt-3006.9_6,1
Name : py311-salt
Version : 3006.9_6,1
Installed on : Mon Oct 20 15:06:57 2025 CEST
Origin : sysutils/py-salt
Architecture : FreeBSD:14:*
Prefix : /usr/local
Categories : python sysutils
Licenses : APACHE20
Maintainer : krion@FreeBSD.org
WWW : https://pypi.org/project/salt/
Comment : Distributed remote execution and configuration management system
Options :
AWS : off
BASH : off
FISH : off
TCP : off
ZEROMQ : on
ZSH : on
Annotations :
build_timestamp: 2025-10-06T17:17:46+0000
built_by : poudriere-git-3.4.2
cpe : cpe:2.3:a:saltstack:salt:3006.9:::::freebsd14:x64:6
flavor : py311
port_checkout_unclean: no
port_git_hash : 4b546d25f
ports_top_checkout_unclean: no
ports_top_git_hash: 4b546d25f
repo_type : binary
repository : bebif
Flat size : 91.9MiB
Description :
Salt : Remote Execution and State Manager
======================================
Salt is a powerful remote execution and state manager that can be
used to administer servers in a fast and efficient way.
See also: https://saltproject.io/
``
### Type of salt install
other (please specify in bug details)
### Major version
3006.x
### What supported OS are you seeing the problem on? Can select multiple. (If bug appears on an unsupported OS, please open a GitHub Discussion instead)
debian-12
### salt --versions-report output
```shell
Client:
# salt --versions-report
Salt Version:
Salt: 3006.9
Python Version:
Python: 3.11.13 (main, Oct 6 2025, 07:04:08) [Clang 19.1.7 (https://github.com/llvm/llvm-project.git llvmorg-19.1.7-0-gcd7080
Dependency Versions:
cffi: 1.17.1
cherrypy: Not Installed
cryptography: 44.0.3
dateutil: 2.9.0
docker-py: Not Installed
gitdb: Not Installed
gitpython: Not Installed
Jinja2: 3.1.6
libgit2: Not Installed
looseversion: 1.3.0
M2Crypto: Not Installed
Mako: Not Installed
msgpack: 1.1.1
msgpack-pure: Not Installed
mysql-python: Not Installed
packaging: 25.0
pycparser: 2.22
pycrypto: Not Installed
pycryptodome: 3.23.0
pygit2: Not Installed
python-gnupg: Not Installed
PyYAML: 6.0.1
PyZMQ: 27.0.2
relenv: Not Installed
smmap: Not Installed
timelib: Not Installed
Tornado: 4.5.3
ZMQ: 4.3.5
System Versions:
dist: freebsd 14.3
locale: utf-8
machine: amd64
release: 14.3-RELEASE-p5
system: FreeBSD
version: FreeBSD 14.3
Master:
# salt --versions-report
Salt Version:
Salt: 3006.8
Python Version:
Python: 3.11.11 (main, Jan 31 2025, 08:24:23) [Clang 18.1.6 (https://github.com/llvm/llvm-project.git llvmorg-18.1.6-0-g1118c2
Dependency Versions:
cffi: 1.17.1
cherrypy: unknown
dateutil: 2.9.0
docker-py: Not Installed
gitdb: Not Installed
gitpython: Not Installed
Jinja2: 3.1.4
libgit2: Not Installed
looseversion: 1.3.0
M2Crypto: Not Installed
Mako: Not Installed
msgpack: 1.1.0
msgpack-pure: Not Installed
mysql-python: Not Installed
packaging: 24.2
pycparser: 2.22
pycrypto: Not Installed
pycryptodome: 3.21.0
pygit2: Not Installed
python-gnupg: Not Installed
PyYAML: 6.0.1
PyZMQ: 25.0.2
relenv: Not Installed
smmap: Not Installed
timelib: Not Installed
Tornado: 4.5.3
ZMQ: 4.3.5
System Versions:
dist: freebsd 14.2
locale: utf-8
machine: amd64
release: 14.3-RELEASE-p5
system: FreeBSD
version: FreeBSD 14.2