infrastructure management, configuration management, orchestration & remote execution

Here are some tricks, because the documentation is a bit …dense, structured strange and incomplete..


Use the latest versions from salt repo, because various things like finger-key-exchange have been modified in 2016 and you get authentication errors with older versions


wget -4 -O  - |  apt-key add -

add to /etc/apt/sources.list:

debian 8 - jessie:

deb jessie main

debian 9 - stretch:

deb stretch main


apt-get install salt-minion

if you get python-systemd not installable, maybe you have pinned all *systemd* packages in /etc/apt/preferences.d/systemd to avoid systemd installation?

Installation on Raspberry Pi, Banana PI and other ARM machines

add to /etc/apt/sources.list:

debian 8 - jessie:

deb jessie main

debian 9 - stretch:

deb stretch main

minion config

set ID in /etc/salt/minion_id


config in /etc/salt/minion :

master:         # or hostname
master_finger: 'xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:.....'

mine_functions: []
  grains.items: []
    interface: eth0


You can use a local repository to store states, but it must be a *bare* repository.

Salt refreshes the cache by default every 60 seconds!

# create bare repository:
mkdir -p /srv/repos/salt/states
git init --bare
# clone it somewhere and add your states:
git clone file:///srv/repos/salt/states
# ...
git add .
git commit
git push

Salt master configuration:

  - git
  - file:///root/salt/states


salt-minion not starting - probably in lxc-vs:

multiprocessing.SemLock(kind, value, maxvalue) OSError: [Errno 38] Function not implemented

/dev/shm missing - add to /etc/fstab (in vs):

none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0
mkdir /dev/shm
mount /dev/shm
Back to top
linux/saltstack.txt · Last modified: 2018/05/14 20:43 by tkilla