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

Problems with deploying from Nix-built salt-ssh #43350

Closed
danbst opened this issue Sep 5, 2017 · 1 comment
Closed

Problems with deploying from Nix-built salt-ssh #43350

danbst opened this issue Sep 5, 2017 · 1 comment

Comments

@danbst
Copy link

danbst commented Sep 5, 2017

Description of Issue/Question

When doing some simple deployment with salt-ssh, Salt crashes with:

    ----------
    _error:
        Failed to return clean data
    retcode:
        0
    stderr:
        Traceback (most recent call last):
          File "/var/tmp/.ubuntu_890252_salt/salt-call", line 15, in <module>
            salt_call()
          File "/var/tmp/.ubuntu_890252_salt/py2/salt/scripts.py", line 374, in salt_call
            import salt.cli.call
          File "/var/tmp/.ubuntu_890252_salt/py2/salt/cli/call.py", line 9, in <module>
            import salt.cli.caller
          File "/var/tmp/.ubuntu_890252_salt/py2/salt/cli/caller.py", line 18, in <module>
            import salt.loader
          File "/var/tmp/.ubuntu_890252_salt/py2/salt/loader.py", line 29, in <module>
            import salt.utils.event
          File "/var/tmp/.ubuntu_890252_salt/py2/salt/utils/event.py", line 72, in <module>
            import salt.payload
          File "/var/tmp/.ubuntu_890252_salt/py2/salt/payload.py", line 17, in <module>
            import salt.crypt
          File "/var/tmp/.ubuntu_890252_salt/py2/salt/crypt.py", line 53, in <module>
            import salt.utils.rsax931
          File "/var/tmp/.ubuntu_890252_salt/py2/salt/utils/rsax931.py", line 82, in <module>
            libcrypto = _init_libcrypto()
          File "/var/tmp/.ubuntu_890252_salt/py2/salt/utils/rsax931.py", line 53, in _init_libcrypto
            libcrypto = _load_libcrypto()
          File "/var/tmp/.ubuntu_890252_salt/py2/salt/utils/rsax931.py", line 45, in _load_libcrypto
            return cdll.LoadLibrary('/nix/store/kkp27nhdjxyr5gzha8p7v9x11fhdmjjg-openssl-1.0.2l/lib/libcrypto.so')
          File "/usr/lib/python2.7/ctypes/__init__.py", line 440, in LoadLibrary
            return self._dlltype(name)
          File "/usr/lib/python2.7/ctypes/__init__.py", line 362, in __init__
            self._handle = _dlopen(self._name, mode)
        OSError: /nix/store/kkp27nhdjxyr5gzha8p7v9x11fhdmjjg-openssl-1.0.2l/lib/libcrypto.so: cannot open shared object file: No such file or directory
    stdout:

Salt looks for file /nix/store/kkp27nhdjxyr5gzha8p7v9x11fhdmjjg-openssl-1.0.2l/lib/libcrypto.so on a remote machine (target in GNU terms), but that is a file that Salt is built with (host in GNU terms)

So, I think it is a bug, that Salt assumes host-deps are present on minion machine. When I copy that file from host to target into exact same place, Salt works perfectly.

Setup

I can't post minimal config, but I guess any simple salt state will trigger bug.

Steps to Reproduce Issue

You need Nix on deploy machine (any version)
nix-env -iA nixpkgs.salt
Then I've created an Ubuntu 16.03 machine on EC2 and set roster/master/top.sls up
salt-ssh -c etc test-machine state.highstate

Versions Report

.Salt Version:
Salt: 2016.11.5

Dependency Versions:
cffi: Not Installed
cherrypy: Not Installed
dateutil: Not Installed
docker-py: Not Installed
gitdb: Not Installed
gitpython: Not Installed
ioflo: Not Installed
Jinja2: 2.9.5
libgit2: Not Installed
libnacl: Not Installed
M2Crypto: Not Installed
Mako: Not Installed
msgpack-pure: Not Installed
msgpack-python: 0.4.7
mysql-python: Not Installed
pycparser: Not Installed
pycrypto: Not Installed
pycryptodome: Not Installed
pygit2: Not Installed
Python: 2.7.13 (default, Dec 17 2016, 20:05:07)
python-gnupg: Not Installed
PyYAML: 3.12
PyZMQ: 16.0.2
RAET: Not Installed
smmap: Not Installed
timelib: Not Installed
Tornado: 4.5.1
ZMQ: 3.2.5

System Versions:
dist:
machine: x86_64
release: 4.9.36
system: Linux
version: Not Installed

@danbst danbst closed this as completed Sep 5, 2017
danbst added a commit to danbst/nixpkgs that referenced this issue Sep 5, 2017
The libcrypto patch didn't work well with `salt-ssh` (that code failed on
remote machines), so let's make Nix-based library lookup as fallback.

saltstack/salt#43350
globin pushed a commit to NixOS/nixpkgs that referenced this issue Sep 24, 2017
The libcrypto patch didn't work well with `salt-ssh` (that code failed on
remote machines), so let's make Nix-based library lookup as fallback.

saltstack/salt#43350
(cherry picked from commit a5b8c0c)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant