saltstack / saltstack/salt

Influxdb returner could not be loaded

Open
#65,583 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug bytes-vs-strings needs-triage
Dominant language
Python
Stars
15.7k
Forks
5.6k
Avg merge
2d 44m
Merged PRs (30d)
80

Description

Description
salt-master cannot load influxdb returner

Setup
(Please provide relevant configs and/or SLS files (be sure to remove sensitive info. There is no general set-up of Salt.)

Please be as specific as possible and give set-up details.

on-prem machine
VM (KVM)
onedir packaging

Steps to Reproduce the behavior

in /etc/salt/master file, influx has been added as returner and salt-master has access to influxdb on mentioned port and user has full access on the DB

master_job_cache: influxdb

influxdb.db: 'someDB'
influxdb.user: 'user'
influxdb.password: 'password'
influxdb.host: 'dbAddress'
influxdb.port: dbPort
influxdb.write_binary_data: true

Expected behavior
load influxdb as returner

Screenshots
[salt.master :2355][ERROR ][732217] Failed to allocate a jid. The requested returner 'influxdb' could not be loaded.
[salt.channel.server:167 ][ERROR ][732217] Some exception handling a payload from minion
Traceback (most recent call last):
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/channel/server.py", line 164, in handle_message
ret, req_opts = yield self.payload_handler(payload)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/ext/tornado/gen.py", line 1056, in run
value = future.result()
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/ext/tornado/concurrent.py", line 249, in result
raise_exc_info(self._exc_info)
File "", line 4, in raise_exc_info
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/ext/tornado/gen.py", line 294, in wrapper
result = func(*args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/types.py", line 283, in wrapped
coro = func(*args, **kwargs)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/master.py", line 1039, in _handle_payload
ret = {"aes": self._handle_aes, "clear": self._handle_clear}key
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/master.py", line 1080, in _handle_clear
ret = method(load), {"fun": "send_clear"}
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/master.py", line 2303, in publish
payload = self._prep_pub(minions, jid, clear_load, extra, missing)
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/master.py", line 2396, in _prep_pub
self.event.fire_event({"minions": minions}, clear_load["jid"])
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/event.py", line 826, in fire_event
salt.utils.stringutils.to_bytes(tag),
File "/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/stringutils.py", line 53, in to_bytes
raise TypeError("expected str, bytes, or bytearray not {}".format(type(s)))
TypeError: expected str, bytes, or bytearray not <class 'dict'>

Versions Report
master version:
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: unknown
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

minion Version:
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

Additional context
Add any other context about the problem here.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by checking the returner-loading path associated with master_job_cache in salt/master.py and compare it with the reported failures in salt/channel/server.py and salt/utils/event.py. Verify the InfluxDB configuration and capture the exception that prevents loading; done means the master loads the influxdb returner without the reported returner or event errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.