Palvelinten hallinta, h1

My hardware: AMD Ryzen 7 2700X (stock clocks), RTX 2080 Ti, 250 GB Samsung EVO 950 (or 750), 1 TB generic HDD, Asus MG279Q 27″ 2560 x 1440 main screen, some old Fujitsu-Siemens 1680 x 1050 TN panel I don’t know the size of. Mouse and keyboard are “gaming” branded, though that will not matter for these assignments and homework.

I started by installing a fresh Xubuntu virtual machine. I already had an Ubuntu server running Pi-Hole, so I though to save time and just use that as my master. Let’s update the machines and install salt:

sudo apt-get install salt-master
sudo apt-get install salt-minion
The commands are simple, and the process is fast. Check both IP addresses, you want them to be easily accessible:

This is my LAN. My Windows host is 192.168.1.103, for reference.
Pinging each other. They seem to be stuck in a loop.

After googling why the pings didn’t stop (closing the terminal did not stop sending pings to master) I got back to it. Turns out I didn’t specify amount of pings, so it assumed infinite.

Next, the minion needs to know where the master is. We can specify that by doing minion$ sudoedit /etc/salt/minion and adding a few lines.

Master’s IP address and ID.

We need to restart the minion to make it visible to the master. minion$ sudo systemctl restart salt-minion. Let’s accept the minion on the master: master$ sudo salt-key -A. Run the command again to confirm it was accepted.

I mistakenly put the minion’s name as “pihole”. So be it. Running master$ sudo salt ‘*’ cmd.run ‘whoami’ will return its name; root.

I want to try to give the minion some instructions. I need to create the files to make it happen. master$ sudo mkdir -p /srv/salt/hello and master$ sudoedit /srv/salt/hello/hello.sls.

Day 2: The previous method of creating individual folders for the sls files like instructed during class, I am starting over and doing it as they are in the instructions since I ran into a wall trying to do it fancier. This is a direct continuation of the previous, but without the subdirectories.

A top.sls file has to exist. master$ sudoedit /srv/salt/top.sls. We want the following in it:
base:
‘*’:
– hello

Note that this is two spaces, and then four spaces. Tabs will not work.

Let’s actually create the hello.sls file now, no fancy subdirectories: master$ sudoedit /srv/salt/hello.sls. Type the following into it.
/tmp/hello.txt:
file.managed:
– source: salt://hello.txt

We created the hello.sls, so let’s create the text file for it as well: master$ sudoedit /srv/salt/hello.txt. The text in the file is irrelevant, so write whatever you want in it. Let’s apply it: master$ sudo salt ‘*’ state.apply hello.

This is what a successful result looks like.

We can display the minion’s system and hardware information using the command master$ sudo salt ‘*’ grains.items.

I tested a pre-existing sls as well:
master$ sudoedit /srv/salt/test.sls where I copied a part of an example from joonaleppalahti’s github:
install_test:
pkg.installed
– pkgs:
– ssh

I ran the command to test it: master$ sudo salt ‘*’ state.apply test.

It goes on like this for a while.

I wanted to change my Windows wallpaper via salt, but I ran out of time. I managed to copy the desired image file where I wanted to in windows, but I could not manage to make it the wallpaper.

Sources and documentation used:
http://terokarvinen.com/2018/salt-quickstart-salt-stack-master-and-slave-on-ubuntu-linux

http://terokarvinen.com/2018/salt-states-i-want-my-computers-like-this

https://github.com/joonaleppalahti/CCM/blob/master/salt/srv/salt/workstation.sls

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s