saltstack-formulas / salt-formula

Yes, Salt can Salt itself!
http://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html
Other
197 stars 423 forks source link

[BUG] salt.pkgrepo fails with "'tornado' is not defined" #509

Closed darkpixel closed 2 years ago

darkpixel commented 3 years ago

I was running an ancient version of the salt formula. I wanted to switch to using the formula to manage the repo, so I did a 'git pull' and got commit 226a18725.

On a new Debian 10 install (which has salt 2018.3.4) I ran:

root@usvansdnas01:~# salt-call -l info pillar.get salt
[INFO    ] Executing command '/usr/sbin/zpool list -H -o name,size' in directory '/root'
local:
    ----------
    clean_config_d_dir:
        True
    install_packages:
        True
    minion:
        ----------
        master:
            redacted.example.tld
        master_alive_interval:
            30
        mine_interval:
            5
        ping_interval:
            1
        retry_dns:
            60
        state_output:
            changes
    minion_remove_config:
        True
    version:
        3003
root@usvansdnas01:~# salt-call -l info state.sls salt.pkgrepo
[INFO    ] Executing command '/usr/sbin/zpool list -H -o name,size' in directory '/root'
[INFO    ] Loading fresh modules for state activity
[INFO    ] Running state [deb https://repo.saltproject.io/apt/debian/10/amd64/latest buster main] at time 16:35:03.402413
[INFO    ] Executing state pkgrepo.managed for [deb https://repo.saltproject.io/apt/debian/10/amd64/latest buster main]
[ERROR   ] Failed to configure repo 'deb https://repo.saltproject.io/apt/debian/10/amd64/latest buster main': name 'tornado' is not defined
[INFO    ] Completed state [deb https://repo.saltproject.io/apt/debian/10/amd64/latest buster main] at time 16:35:03.557717 (duration_in_ms=155.304)
local:
----------
          ID: salt-pkgrepo-install-saltstack-debian
    Function: pkgrepo.managed
        Name: deb https://repo.saltproject.io/apt/debian/10/amd64/latest buster main
      Result: False
     Comment: Failed to configure repo 'deb https://repo.saltproject.io/apt/debian/10/amd64/latest buster main': name 'tornado' is not defined
     Started: 16:35:03.402413
    Duration: 155.304 ms
     Changes:   

Summary for local
------------
Succeeded: 0
Failed:    1
------------
Total states run:     1
Total run time: 155.304 ms
root@usvansdnas01:~#

I tested on a minion that already had 3003 and got the same error.

Master:

Salt Version:
          Salt: 3002.6

Dependency Versions:
          cffi: 1.14.5
      cherrypy: Not Installed
      dateutil: Not Installed
     docker-py: Not Installed
         gitdb: Not Installed
     gitpython: Not Installed
        Jinja2: 2.11.2
       libgit2: Not Installed
      M2Crypto: 0.37.1
          Mako: Not Installed
       msgpack: 1.0.2
  msgpack-pure: Not Installed
  mysql-python: Not Installed
     pycparser: 2.20
      pycrypto: 2.6.1
  pycryptodome: 3.10.1
        pygit2: Not Installed
        Python: 3.7.10 (default, Apr  8 2021, 01:15:14)
  python-gnupg: Not Installed
        PyYAML: 5.3.1
         PyZMQ: 22.0.3
         smmap: Not Installed
       timelib: Not Installed
       Tornado: 4.5.3
           ZMQ: 4.3.1

System Versions:
          dist: freebsd 12.2 
        locale: UTF-8
       machine: amd64
       release: 12.2-RELEASE
        system: FreeBSD
       version: FreeBSD 12.2 

Minion:

Salt Version:
           Salt: 2018.3.4

Dependency Versions:
           cffi: Not Installed
       cherrypy: Not Installed
       dateutil: 2.7.3
      docker-py: Not Installed
          gitdb: Not Installed
      gitpython: Not Installed
          ioflo: Not Installed
         Jinja2: 2.10
        libgit2: Not Installed
        libnacl: Not Installed
       M2Crypto: 0.31.0
           Mako: Not Installed
   msgpack-pure: Not Installed
 msgpack-python: 0.5.6
   mysql-python: Not Installed
      pycparser: Not Installed
       pycrypto: 2.6.1
   pycryptodome: Not Installed
         pygit2: Not Installed
         Python: 3.7.3 (default, Jan 22 2021, 20:04:44)
   python-gnupg: Not Installed
         PyYAML: 3.13
          PyZMQ: 17.1.2
           RAET: Not Installed
          smmap: Not Installed
        timelib: Not Installed
        Tornado: 4.5.3
            ZMQ: 4.3.1

System Versions:
           dist: debian 10.10 
         locale: UTF-8
        machine: x86_64
        release: 5.4.73-1-pve
         system: Linux
        version: debian 10.10 

Since other calls to pkgrepo.managed work from other states, just not from salt.pkgrepo, I'm thinking this might be a bug in salt-formula.

noelmcloughlin commented 2 years ago

Probably Jinja3 issue: https://github.com/saltstack/salt/issues/60188

darkpixel commented 2 years ago

I think you're correct. I'll start tracking that bug. Thanks!

roelvanmeer commented 2 years ago

In case it helps someone else: You also get this error message if the firewall on the minion doesn't allow outgoing access to the repo or gpgkey location.