a) Install SaltStack
b) Create a Package-File-Service state for Salt Stack
- Linux Mint 17.2 running on VirtualBox
GETTING SALTY – INSTALLATION
Firstly after booting the virtual machine, I started by running the basic
sudo apt-get update sudo apt-get upgrade
To install SaltStack, I followed the instructions on docs.saltstack, found here
SaltStack requires repo.saltstack to be added to the sources.list. I proceeded with the instructions by running these commands:
First I imported the SaltStack repository key
wget -O - https://repo.saltstack.com/apt/ubuntu/ubuntu14/latest/SALTSTACK-GPG-KEY.pub | sudo apt-key add
Next I added the repo to sources.list:
sudo nano /etc/apt/sources.list
I Added the following line to the list:
deb http://repo.saltstack.com/apt/ubuntu/ubuntu14/latest trusty main
Next I ran
sudo apt-get update
And then install the SaltStack components wanted! I added the master, minion and ssh components.
sudo apt-get install salt-master salt-minion salt-ssh
And there, installation completed!
Before proceeding I checked the installation status by running
$ sudo salt-call --version
I created a DHCP-service using Salt and PyObjects:
First I created the .sls -file, that is used to run the state. I created a directory for all the future Salt stuff in which I also created the sls. -file.
sudo mkdir -p /srv/salt sudoedit /srv/salt/dhcp.sls
To use PyObjects in the sls. -file I first defined the shebang as
After the So I added a line to the state-file:
with Pkg.installed("bind9"): Service.running("bind9", enable=True)
Since dhcp-service will need bind9 to work properly, it will be installed first. I tested the line above and it worked like a charm.
Added dhcp install command:
with Pkg.installed("bind9"): Service.running("bind9", enable=True) with Pkg.installed("isc-dhcp-server"): Service.running("isc-dhcp-server", enable=True)
After this, I ran the sls. file again with the command:
$ sudo salt-call --state-output=mixed --local state.sls dhcp
It worked. This is a very basic installation of dhcp-service. Configuration has not been specified and has to be done by hand when using this implementation.
Later I will post a more detailed guide on how to modify the configuration files in Salt inside the state- file.
- Copying, modifying and redistributing this and all the other documents in this blog is allowed according to the GNU General Public License (versio 2 or newer).http://www.gnu.org/licenses/gpl.html
Based on the Linux course by Tero Karvinen 2015: terokarvinen.com