Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] salt-minion error when master not available #62780

Open
2 of 9 tasks
twangboy opened this issue Sep 29, 2022 · 0 comments
Open
2 of 9 tasks

[BUG] salt-minion error when master not available #62780

twangboy opened this issue Sep 29, 2022 · 0 comments
Assignees
Labels
Bug broken, incorrect, or confusing behavior Confirmed Salt engineer has confirmed bug/feature - often including a MCVE Core relates to code central or existential to Salt

Comments

@twangboy
Copy link
Contributor

twangboy commented Sep 29, 2022

Description
If the master is not available the minion will throw a stacktrace when starting.

This was first discovered on Windows but doesn't seem to be specific to Windows. The stacktrace is also observed on Ubuntu 20.04.

[DEBUG   ] SaltEvent PUB socket URI: /var/run/salt/minion/minion_event_67365db408_pub.ipc
[DEBUG   ] SaltEvent PULL socket URI: /var/run/salt/minion/minion_event_67365db408_pull.ipc
[DEBUG   ] salt.crypt.get_rsa_pub_key: Loading public key
[DEBUG   ] Closing AsyncReqChannel instance
[ERROR   ] Exception in callback functools.partial(<function wrap.<locals>.null_wrapper at 0x7f0dd3c64790>, <salt.ext.tornado.concurrent.Future object at 0x7f0dd3c68970>)
Traceback (most recent call last):
  File "/home/shane/src/salt/salt/ext/tornado/ioloop.py", line 606, in _run_callback
    ret = callback()
  File "/home/shane/src/salt/salt/ext/tornado/stack_context.py", line 278, in null_wrapper
    return fn(*args, **kwargs)
  File "/home/shane/src/salt/salt/ext/tornado/ioloop.py", line 628, in _discard_future_result
    future.result()
  File "/home/shane/src/salt/salt/ext/tornado/concurrent.py", line 249, in result
    raise_exc_info(self._exc_info)
  File "<string>", line 4, in raise_exc_info
  File "/home/shane/src/salt/salt/ext/tornado/gen.py", line 1064, in run
    yielded = self.gen.throw(*exc_info)
  File "/home/shane/src/salt/salt/crypt.py", line 653, in _authenticate
    creds = yield self.sign_in(channel=channel)
  File "/home/shane/src/salt/salt/ext/tornado/gen.py", line 1056, in run
    value = future.result()
  File "/home/shane/src/salt/salt/ext/tornado/concurrent.py", line 249, in result
    raise_exc_info(self._exc_info)
  File "<string>", line 4, in raise_exc_info
  File "/home/shane/src/salt/salt/ext/tornado/gen.py", line 1070, in run
    yielded = self.gen.send(value)
  File "/home/shane/src/salt/salt/crypt.py", line 779, in sign_in
    ret = self.handle_signin_response(sign_in_payload, payload)
  File "/home/shane/src/salt/salt/crypt.py", line 791, in handle_signin_response
    clear_signature = payload["sig"]
KeyError: 'sig'
[ERROR   ] Minion unable to successfully connect to a Salt Master.

Setup
Install Salt version 3005+

  • on-prem machine
  • VM (Virtualbox, KVM, etc. please specify)
  • 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
Start the salt-minion in debug mode:

salt-minion -l debug

Expected behavior
It should just fail to connect and keep trying indefinitely, at some randomized interval.

Versions Report

salt --versions-report (Provided by running salt --versions-report. Please also mention any differences in master/minion versions.)
Salt Version:
          Salt: 3005

Dependency Versions:
          cffi: Not Installed
      cherrypy: Not Installed
      dateutil: Not Installed
     docker-py: Not Installed
         gitdb: Not Installed
     gitpython: Not Installed
        Jinja2: 3.1.2
       libgit2: Not Installed
      M2Crypto: Not Installed
          Mako: Not Installed
       msgpack: 1.0.4
  msgpack-pure: Not Installed
  mysql-python: Not Installed
     pycparser: Not Installed
      pycrypto: Not Installed
  pycryptodome: 3.15.0
        pygit2: Not Installed
        Python: 3.8.10 (default, Jun 22 2022, 20:18:18)
  python-gnupg: Not Installed
        PyYAML: 6.0
         PyZMQ: 20.0.0
         smmap: Not Installed
       timelib: Not Installed
       Tornado: 4.5.3
           ZMQ: 4.3.3

System Versions:
          dist: ubuntu 20.04 Focal Fossa
        locale: utf-8
       machine: x86_64
       release: 5.4.0-124-generic
        system: Linux
       version: Ubuntu 20.04 Focal Fossa```
</details>
@twangboy twangboy added Bug broken, incorrect, or confusing behavior needs-triage Core relates to code central or existential to Salt Confirmed Salt engineer has confirmed bug/feature - often including a MCVE Sulfur v3006.0 release code name and version and removed needs-triage labels Sep 29, 2022
@twangboy twangboy added this to the Sulphur v3006.0 milestone Sep 29, 2022
@waynew waynew removed the Sulfur v3006.0 release code name and version label Dec 16, 2022
@twangboy twangboy self-assigned this Feb 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug broken, incorrect, or confusing behavior Confirmed Salt engineer has confirmed bug/feature - often including a MCVE Core relates to code central or existential to Salt
Projects
None yet
Development

No branches or pull requests

2 participants