Tämä harjoitus on tehty osana Haaga-Helian Tietojenkäsittelyn koulutusohjelman kurssia Palvelinten hallinta (ICT4TN022, kevät 2018). Kurssin pitäjänä toimii Tero Karvinen, joka on määritellyt tämän harjoituksen tehtävänkuvaukset. Tehtävien vastaukset ovat Pekka Heleniuksen (allekirjoittanut) tuottamia.
Vastaus:
Ensimmäinen versio moduulistani löytyy git-varastostani salt_gisworkstation. Moduulia on testattu Lubuntu 18.04 LTS Salt Master/Minion -konfiguraatiolla.
Suurimmat puutteet liittyvät ei-implementoituihin logiikoihin sekä hyvin rajattuun käyttöympäristöön. Olen sisällyttänyt TODO-listan varaston pääskriptiin runme.sh:een.
Moduulin testauksesta lisää kohdassa b).
Vastaus:
Käyttötestaus tehtiin Oracle VirtualBox:ssa Lubuntu 18.04 LTS:llä. Käyttöjärjestelmä asennettiin Oracle VirtualBoxiin oletusasetuksilla testausta varten.
Virtuaalikoneessa moduuli ladattiin GitHub:sta ja suoritettiin seuraavilla komennoilla:
sudo apt-get update && sudo apt-get install git
git clone https://github.com/Fincer/salt_gisworkstation.git
cd salt_gisworkstation
bash runme.sh
GIS Workstation -skriptin alkuvaiheen ajoa
Kaikkia moduulin vaatimia paketteja ei ole missään pakettivarastoissa uusimmille Ubuntu-jakeluille. Lisäksi jakeluissa olevat versiot CloudComparesta ovat vanhentuneita. Ohjelman kasaus master-koneella vie aikaa, joten se kannattaa tehdä vain kerran, mikäli suinkin mahdollista. Ohjelman kasaus kasvattaa asennusprosessin virheriskiä selkeästi.
GIS Workstation -skriptien suorittamisen jälkeinen tila, jonka Salt master raportoi käyttäjälle. Myöhemmällä tarkastelulla huomataan, että kaikki asennukset ovat menneet testiajossa onnistuneesti sisään kohdetietokoneeseen konfigurointeineen.
Testiajon aikana ei havaittu merkittäviä virhetilanteita.
Ohjelmakasauksen (ennen kaikkea CloudCompare) takia testiajo kestää jonkin aikaa.
Ohjelmien kasaus moduulissa on hieman ongelmallista, koska se voi rikkoontua helposti eikä välttämättä skaalaudu kovin monelle koneelle virheettömästi. Kuitenkaan CloudComparea ei ole saatavilla esimerkiksi Ubuntu 18.04 -jakeluille missään PPA-varastossa, joten toistaiseksi kasaus on välttämätön. LASTools ei todennäköisesti rikkoudu niin helposti, koska kasauksessa vaadittavat kehittäjäpaketit (makedepends) ovat paljon rajatumpia.
CloudCompare, QGis ja LASTools ovat saatavilla myös Windows:lle. Muiden ohjelmien saatavuutta Windows:lle ei ole tässä vaiheessa vielä tutkittu riittävästi.
Virtuaalikoneelle osoitettujen CPU:iden määrää olisi voinut kasvattaa, tämä tuli huomattua erityisesti CloudComparen kasauksessa. Skriptissä ytimien hyödyntäminen on otettu huomioon (make-parametri -j$(nproc --ignore 1))
Vastaus:
Moduuli on tarkoitettu pieneen käyttöympäristöön (suuruusluokka 7-13 konetta) paikkatiedon prosessointiin. Moduulin käyttäjät koostuvat paikkatietoasiantuntijoista, jotka haluavat saada avoimen lähdekoodin paikkatietotyökaluja. Käyttötarkoitus rajautuu asennettavien ohjelmien mukaan: LASTools, QGIS, gpsbabel, CloudCompare jne. Näitä ohjelmia käytetään rasteri- ja vektorimuotoisten paikkatietoaineistojen sekä laserkeilausaineistojen prosessointiin sekä analytiikkaan.
Tärkeimmät moduulin parannukset ovat
laajempi käyttöjärjestelmätuki
laajempi skaalautuvuus
vakaa tuki laajalle konekannalle (edellyttää huolellista testausta)
ohjelmien lisäkonfigurointi ja asentaminen käyttäjien tarpeiden mukaan
logiikoiden ja virheentarkastuksen lisäys
parempi lähestymistapa LASTools:n ja CloudComparen jakeluun sekä QGIS2.conf -tiedoston jakeluun koneille
lähtötilanteen parempi huomiointi: esimerkiksi kaikki kohdekoneet PXE-boottausta tukevia tyhjiä työasemia
HUOM! Alkuskenaarioon liittyvä haaste:
Moduulin toteuttamisessa haastavin kysymys liittyy alkuskenaarioon. Mikä on ennen kaikkea minion-tietokoneiden ja verkon rakenteen alkuskenaario?
A) Ei käyttöjärjestelmää lainkaan
B) Osassa tietokoneita Windows, osassa Ubuntu
C) Kaikissa koneissa Ubuntu/Windows
D) Kuinka Salt Minion -asennetaan? SSH-yhteyden yli? Jos kyllä, niin tarvitaan toimiva SSH-konfiguraatio minion-koneelle. Onko se asennettu etukäteen vai täytyy konfiguroida koneelle? Tapahtuuko SSH:n asennus käyttöjärjestelmä-imagen asennuksen yhteydessä automaattisesti?
E) Onko kaikki koneet verkossa jatkuvasti olevia staattisia työasemia vai onko verkossa myös kannettavia tietokoneita, joille edellytetään Salt-konfigurointia?
Pienellä konekannalla tämä ei välttämättä ole kovinkaan ihmeellinen kysymys, mutta useammalla kymmenellä tai sadalla tietokoneella, jos alkuskenaarioon ei ole varauduttu, asiasta muodostuu ongelma.