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] Minions do not properly report SLS rendering failure (WAS: state.sls_exists broken on Debian) #66934

Open
4 of 9 tasks
nf-brentsaner opened this issue Sep 29, 2024 · 1 comment
Labels
Bug broken, incorrect, or confusing behavior needs-triage

Comments

@nf-brentsaner
Copy link

Description
On both Debian 11 and 12 minions, state.sls_exists is broken. This same issue does not occur on other minions (e.g. AlmaLinux 8.x/9.x).

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

  • 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
e.g.:

example top.sls:

base:
  '*':
    - foo.bar.baz

salt://foo/bar/baz/init.sls:

{% set incl_sls = sls + '.init_' +  grains['kernel'].lower() %}

{% if salt['state.sls_exists'](incl_sls) %}
include:
  - {{ incl_sls }}
{%- else %}
Unsupported Include:
  test.nop:
    - name: The kernel "{{ grains['kernel'].lower() }}" could not include "{{ incl_sls }}".
{% endif %}

salt://foo/bar/baz/init_linux.sls:

Successfully Included:
  test.nop:
    - name: 'The include worked.'

Debian, both 11 and 12, will report `The kernel "linux" could not include "foo.bar.baz.init_linux". Despite the SLS existing, even in the cache on the minion.

AlmaLinux 8 and 9 will appropriately apply the Successfully Included state.

Expected behavior
Debian to properly know that the SLS does, indeed, exist.

Screenshots
N/A

Versions Report

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

(Master runs 3007.1 via onedir bootstrap on AlmaLinux 9.4. The below is a minion experiencing the bug.)

Salt Version:
          Salt: 3007.1

Python Version:
        Python: 3.10.14 (main, Apr  3 2024, 21:30:09) [GCC 11.2.0]

Dependency Versions:
          cffi: 1.16.0
      cherrypy: 18.8.0
      dateutil: 2.8.2
     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.0.7
  msgpack-pure: Not Installed
  mysql-python: Not Installed
     packaging: 23.1
     pycparser: 2.21
      pycrypto: Not Installed
  pycryptodome: 3.19.1
        pygit2: Not Installed
  python-gnupg: 0.5.2
        PyYAML: 6.0.1
         PyZMQ: 25.1.2
        relenv: 0.16.0
         smmap: Not Installed
       timelib: 0.3.0
       Tornado: 6.3.3
           ZMQ: 4.3.4

Salt Package Information:
  Package Type: onedir

System Versions:
          dist: debian 12.7 bookworm
        locale: utf-8
       machine: x86_64
       release: 6.1.0-13-amd64
        system: Linux
       version: Debian GNU/Linux 12.7 bookworm

Additional context
N/A

@nf-brentsaner nf-brentsaner added Bug broken, incorrect, or confusing behavior needs-triage labels Sep 29, 2024
@nf-brentsaner
Copy link
Author

Actually, changing the bug- It was falsely reporting the SLS doesn't exist because of a Debian-specific rendering issue within that SLS.

Salt minions should do a better job of reporting failure in SLS rendering vs. just acting as if they don't exist. This behavior was much more reliable/predictable in pre-3006.

@nf-brentsaner nf-brentsaner changed the title [BUG] state.sls_exists broken on Debian [BUG] ~~state.sls_exists broken on Debian~~ Minions do not properly report SLS rendering failure Sep 29, 2024
@nf-brentsaner nf-brentsaner changed the title [BUG] ~~state.sls_exists broken on Debian~~ Minions do not properly report SLS rendering failure [BUG] ~state.sls_exists broken on Debian~ Minions do not properly report SLS rendering failure Sep 29, 2024
@nf-brentsaner nf-brentsaner changed the title [BUG] ~state.sls_exists broken on Debian~ Minions do not properly report SLS rendering failure [BUG] Minions do not properly report SLS rendering failure (WAS: state.sls_exists broken on Debian) Sep 29, 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 needs-triage
Projects
None yet
Development

No branches or pull requests

1 participant