a) Demonin asetukset. Säädä jokin demoni (asenna+tee asetukset+testaa) package-file-service -rakenteella. Tunnilla asennettiin Apache vaihdetulla oletussivulla, joten tee jotain muuta). Voit esimerkiksi asentaa SSH-palvelimen tai tehdä jotain muuta Apachella. Ensin käsin: muista tehdä ja raportoida asennus ensin käsin, vasta sitten automatisoiden.
Asennettu ssh ensin käsin:
$ sudo apt install openssh-server
System-wide config file: /etc/ssh/ssh_config
per-user config file: ~/.ssh/config (activated with parameter -F)
Muutin asetustiedostossa (/etc/ssh/sshd_config) portin 22 -> 23. Käynnistin ssh-demonin uudelleen ja tarkistin statuksen, nyt se kuuntelee porttia 23.

Tämäm jälkeen poistin ssh:n ja tiedostot.
$ sudo apt purge openssh-server
Ja asennan sen uudestaan minioneille automatisoiden Saltilla:
Luotu uusi kansio ssh-tilalle ja siihen init.sls tiedosto. Kopioitu kansioon myös ssh:n konfiguraatiotiedoston ja muutettu porttinumero tällä kertaa 22 -> 24.
$ sudo cp /etc/ssh/sshd_config /srv/salt/ssh/sshd_config
init.sls-tiedostoon lisäsin kolme vaihetta, ssh:n asennus, tiedoston muokkaus ja demonin uudelleenkäynnistys.
openssh-server:
pkg.installed
/etc/ssh/sshd_config:
file.managed:
- source: salt://ssh/sshd_config
sshd:
service.running:
- watch:
- file: /etc/ssh/sshd_config
Lisäsin tilan eri osiot vaiheittain, ja testasin jokaisen vaiheen ensin minion1:llä. Lopulta käynnistin tilan kokonaisuudessaan .

$ sudo salt '*' state.apply ssh
Tässä esiintyi seuraava virhe minion2:lla:

Testattu, että yhteys minioneihin toimii:

Ja ajettu tila uudestaan onnistuneesti. Ilmeisesti minion2 vain tarvitsi heräilyä.

Tarkistettu vielä, että myös minion2 nyt kuuntelee porttia 24 ssh-porttina.

Pienet ongelmat:
Törmäsin yhdessä vaiheessa tällaiseen virheeseen, joka korjaantui helposti lisäämällä puuttuva :

Toinen kömmähdys on puuttuva sisennys:

b) Uusi ohjelma. Asenna + tee asetukset + testaa jokin sovellus, jota ei ole käsitelty tunnilla. Asenna ensin käsin, ja käytä sen jälkeen find-komentoa etsiäksesi muuttuneet tiedostot.
Asennettu Samba.
$ sudo apt install samba
Haettu samban tiedostoja findilla:

Luotu samballe oma salt-tila ja init.sls tiedosto.
$ sudo mkdir /srv/salt/samba
$ sudoedit /srv/salt/samba/init.sls
samba:
pkg.installed
Ajettu tila minioneille.



Tarkistettu man sivuilta mikä samban konfiguraatiotiedosto on =>

Etsitty tiedostoa:

Ilmeisesti tässä tapauksessa tiedosto on paikassa /etc/samba/smb.conf
Kopioitu konfiguraatiotiedosto /srv/salt/samba/smb.conf -tiedostoon ja tehty siihen muutoksia.
netbios name = master
security = user
proxy = no
interfaces = 127.0.0.0/8 enp0s3
comment = Home Directories
browseable = yes
guest ok = yes
guest only = yes
force user = nobody
read only = no
create mask = 0775
directory mask = 0775
Päivitetty samban init.sls tiedostoa.
samba:
pkg.installed
/etc/samba/smb.conf:
file.managed:
- source: salt://samba/smb.conf
smbd.service:
service.running:
- enable: True
Testattu, että Samba on käynnissä minion2:lla.

Yritetty päästä käsiksi jaettuja tiedostoja minion2:lla, mutta ei onnistu.

Syy on todennäköisimmin Samban konfiguraatioissa. Samba ei ole minulle ennestään tuttu ohjelma ja olen asentanut sen ennestään vain kerran, joten sen pohtiminen jätän toiselle kerralle.
c) Aja jokin tila paikallisesti ilman master-slave arkkitehtuuria. Tutki debug-tulostetta. ‘sudo salt-call –local state.apply hellotero -l debug’
Ajettu debugia samba-tilalla. Kertoo yksityiskohtaisia tietoja tilan toimenpiteistä. Hyödyllinen komento, jos haluaa seurata mitä tila tekee tai jos haluaa troubleshootata jotain toimimatonta tilaa.

Lähteet:
Pkg-File-Service http://terokarvinen.com/2018/pkg-file-service-control-daemons-with-salt-change-ssh-server-port/index.html
Apache User Homepages Automatically http://terokarvinen.com/2018/apache-user-homepages-automatically-salt-package-file-service-example/index.html