User Tools

Site Tools


Sidebar






newpage

linux:saltstack

Saltstack

infrastructure management, configuration management, orchestration & remote execution

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

Installation

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

debian:

wget -4 -O  - https://repo.saltstack.com/apt/debian/8/amd64/latest/SALTSTACK-GPG-KEY.pub |  apt-key add -

add to /etc/apt/sources.list:

debian 8 - jessie:

deb http://repo.saltstack.com/apt/debian/8/amd64/latest jessie main

debian 9 - stretch:

deb http://repo.saltstack.com/apt/debian/9/amd64/latest stretch main

install:

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 http://repo.saltstack.com/apt/debian/8/armhf/latest jessie main

debian 9 - stretch:

deb http://repo.saltstack.com/apt/debian/9/armhf/latest stretch main

minion config

set ID in /etc/salt/minion_id

  xxxx.yyyy

config in /etc/salt/minion :

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

mine_functions:
  test.ping: []
  grains.items: []
  network.ip_addrs:
    interface: eth0
    

gitfs

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:

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

bugs

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
linux/saltstack.txt · Last modified: 2018/05/14 20:43 by tkilla