salt: [BUG] salt-call hangs after highstate

Description salt-call fails to terminate after a rendering error during highstate. Must be manually killed.

Setup

{{ salt["does.not.exist"]() }}

Steps to Reproduce the behavior

# salt-call state.apply
local:
    Data failed to compile:
----------
    Rendering SLS 'base:test' failed: Jinja variable 'salt.utils.templates.AliasedLoader object' has no attribute 'does.not.exist'; line 1

---
{{ salt["does.not.exist"]() }}    <======================
---

Expected behavior Process should terminate.

Versions Report Master is 3004.2, minion is 3005 (classic package).

salt-call --versions
Salt Version:
          Salt: 3005

Dependency Versions:
          cffi: 1.14.5
      cherrypy: Not Installed
      dateutil: 2.7.3
     docker-py: Not Installed
         gitdb: Not Installed
     gitpython: Not Installed
        Jinja2: 2.10.1
       libgit2: 1.5.0
      M2Crypto: 0.31.0
          Mako: Not Installed
       msgpack: 0.6.2
  msgpack-pure: Not Installed
  mysql-python: Not Installed
     pycparser: 2.20
      pycrypto: Not Installed
  pycryptodome: 3.6.1
        pygit2: 1.10.0
        Python: 3.8.10 (default, Jun 22 2022, 20:18:18)
  python-gnupg: 0.4.5
        PyYAML: 5.3.1
         PyZMQ: 18.1.1
         smmap: Not Installed
       timelib: Not Installed
       Tornado: 4.5.3
           ZMQ: 4.3.2

System Versions:
          dist: ubuntu 20.04 focal
        locale: utf-8
       machine: x86_64
       release: 5.4.0-125-generic
        system: Linux
       version: Ubuntu 20.04 focal

Additional context There’s no debug logging after printing the result either. Last messages (after all the rendering) are:

[DEBUG] Initializing new AsyncAuth for (‘/etc/salt/pki/minion’, ‘csrf-stag2-vm.eng.cam.ac.uk’, ‘tcp://129.169.140.30:4506’) [DEBUG] Closing AsyncReqChannel instance [DEBUG] The functions from module ‘highstate’ are being loaded by dir() on the loaded module [DEBUG] LazyLoaded highstate.output

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 2
  • Comments: 35 (31 by maintainers)

Most upvoted comments

@dmurphy18 the minion needs to run 3005. I do not think that the master’s version matters to this issue. When the minion runs 3005 then execute salt-call state.highstate on the minion.