Palvelinhallintakurssi – harjoitukset 5

a) Säädä Windowsia Saltilla siten, että Windows on orja ja Linux on herra.

Nämä ovat harjoitustehtäviä palvelintenhallinta kurssille. Tehtävissä olen käyttänyt apuna Teron Karvisen sivuja.

Master – Minion Windows serverille

– Master on Digital Oceanin virtuaalipalvelimessa, jossa Ubuntu 18.04
– Minion on Windows server 2016. Kone on Haaga-Helian verkossa ja NATin takana.

Master tarkemmin
$ sudo salt --version
[sudo] password for mono:
salt 2017.7.4 (Nitrogen)

Minion tarkemmin

Yritin ensin hyödyntää Windows palvelimet kurssilla asennettuja Windows 2016 palvelimia. Ne ovat Haaga-Helian Cloud ympristössä. Windows minioksi yritin saada HH cloudissa oleva controller serverin.

Asensin täältä http://repo.saltstack.com/windows/ paketin
http://repo.saltstack.com/windows/Salt-Minion-2017.7.4-Py3-AMD64-Setup.exe

Windows 2016 serverille.

id: wminion02
master: 178.128.199.241

Asennusikkuna

Asennus onnistui, mutta en koskaan saanut Masterille Minionin avainta. Joten jouduin jatkamaan toisella Windows koneella.

Minion 2

– Win 10
– RAM 8GB
– CPU Intel i5

Asensin minion paketin http://repo.saltstack.com/windows/Salt-Minion-2017.7.4-Py3-AMD64-Setup.exe
Asennus meni ok, ja master sai minionilta avaimen.

b) Säädä Windowsia Saltilla ilman herra-orja rakennetta (salt-call –local)

Kokeilen ajaa minionilla lokaalisti yksinkertaisen ping testin.

Saltin lokaakomennot ajettin PowerShellissä, se aukeaa  ugly-X näppäinyhdsitelmällä. Valittiin “Windows PowerShell (Admin)”.

Lokaalisti komentoja ajetaan

> c:
> cd /salt/
> ls
> ./salt-call --local test.ping

Kokeilen myös salt-minionin uudelleenkäynnistystä lokaalisti, jotta voin tarvittaessa vaikka muuttaa minionin id:tä.

PS C:\salt> net stop salt-minion
The salt-minion service is stopping.
The salt-minion service was stopped successfully.
PS C:\salt> net start salt-minion
The salt-minion service is starting.
The salt-minion service was started successfully.

Olin aiemmin poistanut minionin avaimen Masterilta

$sudo salt-key -d winslave

Nyt Minion ilmoittautui uudestaan Masterille.

c) Muuta jonkin Windows-ohjelman asetuksia Saltilla

Monia ohjelmia voi säätää laittamalla asetustiedoston paikalleen, aivan kuten Linuxissa.

Haetaan Windows ohjelmistopaketit repositorysta

Ensin pitää antaa oikeudet kansioon /srv/salt/win/ salt-ryhmälle.

$ sudo mkdir /srv/salt/win
$ sudo chown root.salt /srv/salt/win
$ sudo chmod ug+rwx /srv/salt/win

Ajetaan Salt masterilla:

$ sudo salt-run winrepo.update_git_repos
$ sudo salt -G 'os:windows' pkg.refresh_db

Asennetaan ohjelma Minionille

$ sudo salt '*' pkg.install git

Testataan Git Windows-koneella

Muutetaan Windows-ohjelman asetuksia Saltilla

Kokeilin tehdä Firefoxille asetusten muutoksia, apuna käytin Teron ohjetta.

Yritin löytää Windosilta Firefox ESRn syspref.js-tiedostoa, mutta en löytänyt sitä. Löysin tiedoston channel-prefs.js. Kokeilen sen muuttamista Salt tilalla, vaikka ei ole luultavasti oikea tiedosto…

Toisaalta jossain asetukset ovat, koska about:config FFssa näyttää:

Tein tilan joka asentaa Firefox ESRn Windows Minonille, ja vie sille konfiguraation channel-prefs.js Windowsille.

firefox-esr:
pkg.installed

firefox_config:
file.managed:
- name: C:\Program Files (x86)\Mozilla Firefox\defaults\pref\channel-prefs.js
- source: salt://ff/channel-prefs.js

ff_service:
service.running:
- name: firefox-esr
- watch:
- file: C:\Program Files (x86)\Mozilla Firefox\defaults\pref\channel-prefs.js

Asennus onnistui, ja konfiguraatiotiedosto vietiin paikalleen, mutta virhettä tuli service.restart osiossa. Eikä konfiguraatiotiedostokaan ollut oikea, etusivu ei vaihtunut.

winslave:
----------
ID: firefox-esr
Function: pkg.installed
Result: True
Comment: All specified packages are already installed
Started: 18:53:04.350912
Duration: 47194.644 ms
Changes:
----------
ID: firefox_config
Function: file.managed
Name: C:\Program Files (x86)\Mozilla Firefox\defaults\pref\channel-prefs.js
Result: True
Comment: File C:\Program Files (x86)\Mozilla Firefox\defaults\pref\channel-prefs.js updated
Started: 18:53:51.545556
Duration: 265.649 ms
Changes:
----------
diff:
---
+++
@@ -1,5 +1,6 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+pref("app.update.channel", "esr");
+pref('browser.startup.homepage', "http://juhaimmonen.com");

-pref("app.update.channel", "esr");
----------
ID: ff_service
Function: service.running
Name: firefox-esr
Result: False
Comment: An exception occurred in this state: Traceback (most recent call last):
File "c:\salt\bin\lib\site-packages\salt\modules\win_service.py", line 298, in info
win32service.SERVICE_QUERY_STATUS)
pywintypes.error: (1060, 'OpenService', 'The specified service does not exist as an installed service.')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "c:\salt\bin\lib\site-packages\salt\state.py", line 1851, in call
**cdata['kwargs'])
File "c:\salt\bin\lib\site-packages\salt\loader.py", line 1795, in wrapper
return f(*args, **kwargs)
File "c:\salt\bin\lib\site-packages\salt\states\service.py", line 856, in mod_watch
if __salt__['service.status'](name, sig):
File "c:\salt\bin\lib\site-packages\salt\modules\win_service.py", line 547, in status
if info(name)['Status'] in ['Running', 'Stop Pending']:
File "c:\salt\bin\lib\site-packages\salt\modules\win_service.py", line 301, in info
'Failed To Open {0}: {1}'.format(name, exc[2]))
TypeError: 'error' object does not support indexing
Started: 18:53:51.811205
Duration: 15.596 ms
Changes:

Summary for winslave
------------
Succeeded: 2 (changed=1)
Failed: 1

Uusi tila Firefoxin konfiguroimiseen

Tutkittu ohjeita ja muutettu tilaa seuraavasti

init.sls

firefox-esr:
  pkg.installed

firefox_autoconfig:
  file.managed:
    - name: C:\Program Files (x86)\Mozilla Firefox\defaults\pref\autoconfig.js
    - source: salt://ff/autoconfig.js

firefox_config:
  file.managed:
    - name: C:\Program Files (x86)\Mozilla Firefox\mozilla.cfg
    - source: salt://ff/mozilla.cfg
autoconfig.js

// Any comment. You must start the file with a single-line comment!
pref("general.config.filename", "mozilla.cfg");
pref("general.config.obscure_value", 0);
mozilla.cfg

// Any comment. You must start the file with a comment!

// Set default homepage - users can change
// Requires a complex preference
defaultPref("browser.startup.homepage","data:text/plain,browser.startup.homepage=http://juhaimmonen.com");

Tulos:

mono@ubuntu-mono-02:/srv/salt/ff$ sudo salt 'winslave' state.apply ff
winslave:
----------
ID: firefox-esr
Function: pkg.installed
Result: True
Comment: All specified packages are already installed
Started: 19:47:22.055888
Duration: 49485.487 ms
Changes:
----------
ID: firefox_autoconfig
Function: file.managed
Name: C:\Program Files (x86)\Mozilla Firefox\defaults\pref\autoconfig.js
Result: True
Comment: File C:\Program Files (x86)\Mozilla Firefox\defaults\pref\autoconfig.js updated
Started: 19:48:11.541375
Duration: 265.626 ms
Changes:
----------
diff:
New file
----------
ID: firefox_config
Function: file.managed
Name: C:\Program Files (x86)\Mozilla Firefox\mozilla.cfg
Result: True
Comment: File C:\Program Files (x86)\Mozilla Firefox\mozilla.cfg updated
Started: 19:48:11.807001
Duration: 250.006 ms
Changes:
----------
diff:
New file

Summary for winslave
------------
Succeeded: 3 (changed=2)
Failed: 0
------------
Total states run: 3
Total run time: 50.001 s

Etusivu on vaihtunut:

Leave a Reply

Your email address will not be published. Required fields are marked *