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-ssh errors with parallel: true #66514

Open
3 of 9 tasks
dseomn opened this issue May 13, 2024 · 0 comments
Open
3 of 9 tasks

[BUG] salt-ssh errors with parallel: true #66514

dseomn opened this issue May 13, 2024 · 0 comments
Labels
Bug broken, incorrect, or confusing behavior needs-triage

Comments

@dseomn
Copy link
Contributor

dseomn commented May 13, 2024

Description

#53538 was automatically closed as stale in 2020, but is still an issue. When I asked on Discord, I was told to file a new issue. Info below is from my recent testing to confirm that it's still an issue.

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 (Virtualbox, KVM, etc. please specify): libvirt/qemu/kvm, I think
  • 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

$ cat salt/file/parallel_test.sls 
test:
  test.nop:
  - parallel: true
$ salt-ssh [REDACTED] state.apply parallel_test
[REDACTED]:
    ----------
    _error:
        The command resulted in a non-zero exit code
    parsed:
        None
    retcode:
        1
    stderr:
        Process ParallelState(test):
        Traceback (most recent call last):
          File "/usr/lib/python3.11/multiprocessing/process.py", line 314, in _bootstrap
            self.run()
          File "/var/tmp/.dseomn_a639a4_salt/pyall/salt/utils/process.py", line 994, in wrapped_run_func
            return run_func()
                   ^^^^^^^^^^
          File "/usr/lib/python3.11/multiprocessing/process.py", line 108, in run
            self._target(*self._args, **self._kwargs)
          File "/var/tmp/.dseomn_a639a4_salt/pyall/salt/state.py", line 2247, in _call_parallel_target
            troot = os.path.join(instance.opts["cachedir"], instance.jid)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "<frozen posixpath>", line 90, in join
          File "<frozen genericpath>", line 152, in _check_arg_types
        TypeError: join() argument must be str, bytes, or os.PathLike object, not 'NoneType'
        
        Passed invalid arguments: join() argument must be str, bytes, or os.PathLike object, not 'NoneType'.
        
        Usage:
    stdout:
        Execute a packaged state run, the packaged state run will exist in a
            tarball available locally. This packaged state
            can be generated using salt-ssh.
        
            CLI Example:
        
            .. code-block:: bash
        
                salt '*' state.pkg /tmp/salt_state.tgz 760a9353810e36f6d81416366fc426dc md5

Expected behavior
Ideally, parallel: true should work with salt-ssh. If that's not possible, then at least a clear error message explaining that it's not supported would be nice.

Screenshots
N/A

Versions Report

salt --versions-report (Provided by running salt --versions-report. Please also mention any differences in master/minion versions.)
Salt Version:
          Salt: 3007.0
 
Python Version:
        Python: 3.10.13 (main, Feb 19 2024, 03:31:20) [GCC 11.2.0]
 
Dependency Versions:
          cffi: 1.16.0
      cherrypy: unknown
      dateutil: 2.8.2
     docker-py: Not Installed
         gitdb: Not Installed
     gitpython: Not Installed
        Jinja2: 3.1.3
       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.15.1
         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 n/a trixie
        locale: utf-8
       machine: x86_64
       release: 6.7.12-amd64
        system: Linux
       version: Debian GNU/Linux n/a trixie

Additional context

See #53538 for more context and history.

@dseomn dseomn added Bug broken, incorrect, or confusing behavior needs-triage labels May 13, 2024
lkubb added a commit to lkubb/salt that referenced this issue May 14, 2024
lkubb added a commit to lkubb/salt that referenced this issue May 14, 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