Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
kvalobs:kvalobs:qc1_utvikling_testing_og_verifisering [2019-07-03 14:52:16]
terjeer
— (current)
Line 1: Line 1:
-====== Testing-av-QC1-sjekker.====== 
- 
-===== Tilpasninger som må gjøres først på ny testmaskin===== 
-=== ubuntu bruker: === 
-  ssh ubuntu@<mintestmaskin> 
-  sudo apt-get update 
-   
-  sudo apt install emacs 
-  sudo apt install nedit 
-   
-  sudo chmod g+w /usr/share/kvalobs 
-  sudo chown root:kvalobs /usr/share/kvalobs 
-  sudo chown kvalobs:kvalobs /usr/share/kvalobs/metadata 
-   
-  sudo apt install kvalobs-metadata 
- 
-=== kvalobs bruker: === 
-  ssh -YA kvalobs@<mintestmaskin> 
-  git clone git@gitlab.met.no:obs/kvalobs/kvoss_intern.git 
-  echo "export PGHOST=localhost" >> .bashrc 
-  echo "export METADIR=$HOME/kvoss_intern/kvmeta" >> .bashrc 
-  echo "export PERL5LIB=/usr/lib/kvalobs-metadata/lib/perl" >> .bashrc 
-  . .bashrc 
- 
-===== Dokumentasjon og Veiledning.===== 
- 
- 
- 
-==== Oversikt: ==== 
- 
- 
-A)  
-   Kravspesifikasjon utarbeides.  
-   Ut fra denne lages Algoritme og Test-skjema.  
-   Test-skjemaene ligger på: kvalobs@kvtest-algorithms:~/bin/Dev-Kvalobs-QC1/QC1-Doc/Test-Skjema 
- 
-B) 
-   3 DB tabeller skal vanligvis ha nye / endrete rader: algorithms, checks, station_param. 
- 
-C) 
- 
-   Hele Test-systemet ligger på en Virtuell Maskin (VM) der man kan logge seg på fra alle arbeidsstasjoner. 
-    
-   Katalog-strukturen til Test-systemet ser slik ut (eksempel): 
-    
-    
-   Dev-Kvalobs-QC1 --+ QC1-Doc --+ Veiledninger 
-                     + T-QC1-3 --+ QC1-3b ---+ RUN-TIME-TEST                 
-                                             + Source-Code                
-                                             + System-Konsistens              
-                                             + Test-Run-kvQabase ---+ Res-10          
-                                           
-==== Framgangsmåte steg for steg: ==== 
-0) Innlogging på testmaskinen: ssh -YA kvalobs@157.249.169.135 \\ 
-Installer de metadataene du trenger for alle tabeller untatt algorithms, checks og station_param:  
-    kvget-metadata-base 
- 
- 
-1)  
-   Starter med å lage kildekoden på Source-Code katalogen ( Dev-Kvalobs-QC1/T-QC1-3/QC1-3b/Source-Code ) 
-    
-   Ta backup ved hver endring ( kopier det området du jobber i til en annen maskin med samme katalogstruktur) 
-   ( Eksempel: myuser@pcxxxx:/disk1/Dev-Kvalobs-QC1/T-QC1-3$ scp -r kvalobs@157.249.169.135:~/bin/Dev-Kvalobs-QC1/T-QC1-3 . ) 
-    
-   Lager test-skjema ved navn: (f.Eks. Test-Skjema-QC1-3b-60-20-10-01.ods) som skal passe med det vi skal teste. 
-   Fyll ut kolonnene Test-Update, Antall Timer, Krav. La kolonnene Test, Cfailed (Test), Status stå tomme. 
-    
-   Kildekoden må legges inn i algorithms tabellen i Kvalobsdatabasen. Det gjøres slik:  
-    
-   Gå til katalogen $METADIR: cd $METADIR 
-    
-   Oppdater metadata fra git: git pull 
-    
-   Hvis vi får CONFLICT ( dette betyr konflikt) skal en slette disse filene og deretter gjøre en ny git pull. 
-    
-   Dersom det er filer du jobber med så må de tas vare på utenfor repositoriet og kopieres inn på riktig sted. 
-    
-   Hvis du har en endring, kopierer du den inn her: 
-    
-   ( f.eks: scp FREEZE_CHECK.pl kvalobs@xxx:~/kvoss_intern/kvmeta/algorithms$ ) 
-    
-   Overfør de nye metadataene til /usr/share/kvalobs/metadata med skriptet: kvinstall_metadata 
-     
-   Dersom du bare skal installere algoritmene bruk: /usr/lib/kvalobs-metadata/bin/run_algorithm_all 
-     
-   ( Innstaller de nye metadataene med: /usr/lib/kvalobs-metadata/bin/run_metadata ) 
-    
-2) Går inn på katalogen System-Konsistens. 
-   Bestemmer hvilke parametre, verdier og tidsoppløsning vi vil bruke i testingen. 
-   I eksemplet her har vi valgt: stationid = 18700 (Blindern), paramid = 211 (TA), tidsperiode: fom 2013-01-01 08 tom 2013-01-02 10. 
-   Etter at oppdatering av kvalobs metadata er kjørt, oppdateres tabellene data, checks og station_param med sql-script som lager nye testdata og metadata. 
-   Eksempel: Gå inn på: kvalobs@xxxx:~/bin/Dev-Kvalobs-QC1/T-QC1-3/QC1-3b/System-Konsistens/  og kjør: 
-   psql -f DELETE-INSERT-Data-QC1-3b-211-60.sql > DELETE-INSERT-Data-QC1-3b-211-60.log 
-   psql -f DELETE-INSERT-Checks-QC1-3b-FREEZE_CHECK-60-10-01.sql > DELETE-INSERT-Checks-QC1-3b-FREEZE_CHECK-60-10-01.log  
-   psql -f DELETE-INSERT-Station_param-QC1-3b-FREEZE_CHECK-60-10-01.sql >  DELETE-INSERT-Station_param-QC1-3b-FREEZE_CHECK-60-10-01.log 
-   (Husk å oppdatere disse scriptene ved behov.) 
- 
- 
- 
-3) Står på samme katalog (System-Konsistens) og kjører: Tabell-Konsistens-QC1-3b.sh (Husk å endre innholdet i shell-scriptet ved behov). 
-   Resultatet kommer på Tabell-Konsistens-QC1-3b.txt (gå gjennom denne resultat-filen og sjekk at alt er i orden med tabellene). 
-   f.eks. må paramid finnes i param tabellen, det må være minst en rad i obs_pgm, signaturene i algorithms og checks-tabellene må stemme. 
-   Om alt er i orden kan man gå til punkt 4. 
- 
- 
-4) Går til katalogen Test-Run-kvQabase. Her ligger katalogene Res-10, Res-20, Res-30, Res-60. Res står for tidsoppløsning. 
-   Det vil si at vi kjører en testrunde for hver av tidsoppløsningene 10, 20 30 og 60 minutter på hver sin katalog 
-   (Kjører test på de tidsoppløsningene som er relevante for sjekken). 
- 
- 
-5) Går til den katalogen du skal kjøre på (f.eks. Res-60). 
-    
-   Hvis det er logger / logg-kataloger her, utføres kommandoene:  
-   rm *.log 
-   
-   Som gjennomgående eksempel nedover her brukes sjekken "QC1-3b-211". 
-   Dette må endres til aktuell sjekk. 
-   Det skal nå ligge 2 viktige filer på denne katalogen:  
-   Test-Run-kvQabase-QC1-3b-211-60.sh ( shell script ) 
-   Select-Data-QC1-3b-211-60.sql ( sql script ) 
- 
-   Åpner sql scriptet Select-Data-QC1-3b-211-60.sql i en editor ( f.eks. emacs ). 
-   Endre stationid, obstime, paramid, typeid etter behov. 
-    
-   Åpner shell scriptet Test-Run-kvQabase-QC1-3b-211-60.sh i en editor ( f.eks. emacs ). 
-   2 rader gjentas for hvert nytt tidspunkt som kvQabased kjører på: 
- 
-   F.eks. 
-   kvQabased -d kvalobs -p 5432 --station 18700 --obstime '2013-01-01 08:00:00' --typeid 330 --qcx 'QC1-3b-211'  
-    
-   Loggene legger seg under /var/log/kvalobs/checks/ 
-    
-   psql -f Select-Data-QC1-3b-211-60.sql > Select-Data-QC1-3b-211-60.log 
- 
-   Den 1. raden må endres ved behov slik at kvQabase stemmer med testdata-settet og metadataene. 
-   Den 2. raden må endres ved behov slik at sql-scriptets navn og innhold stemmer med stationid, paramid, dato, kl, typeid, tidsoppløsning. 
-   Det samme gjelder for navnene på de store historiske loggfilene. 
-    
-   Om alt stemmer, gå til punkt 6) 
- 
-    
-6) Kjører shell-scriptet: Test-Run-kvQabase-QC1-3b-211-60.sh 
- 
- 
-7) Sjekk utfra loggene om alt er kjørt. Går deretter inn på Select-Data-QC1-3b-211-60.log for å fylle ut kolonnene Test, Cfailed (Test), Status. 
-   Sjekk at flaggverdiene i Flag kolonnen Test er lik flaggverdiene i Flag kolonnen Krav i Test-Skjema-QC1-3b-60-20-10-01.ods. 
-   Sjekk også at Cfailed (Test) er fylt ut med QC1-3b-211 når kolonnen Test har høyere verdi enn 1. 
-    
-   Hvis det er avvik mellom Krav og Test eller andre avvik, må feilsøk startes opp, f.eks.: 
-   Sjekk på nytt at alle relevante parametre i alle script stemmer overens. 
-   Se i loggen Select-Data-QC1-3b-211-60.log 
-   Se i loggen Test-Run-kvQabase-QC1-3b-211-60.log 
-   Kildekodens indre logikk kan testes på RUN-TIME-TEST katalogen ( bin/Dev-Kvalobs-QC1/T-QC1-3/QC1-3b/RUN-TIME-TEST ) 
-    
-   Sjekk at alle relevante oppdateringer i metadata tabellene (algorithms, checks, station_param mm.) som settes i drift er helt likt med det som er kjørt i test. 
-    
-   Hvis alt stemmer kan den nye sjekken (eller den nye versjonen av sjekken) settes i drift. 
-    
-   F.eks. algoritme: (evn ta backup av gammel versjon på lokal maskin og ta vare på denne backupen i en helt annen katalog på egen maskin). Kopier den aktuelle oppdaterte/nye algoritmen fra testmaskinen. ~/bin/Dev-Kvalobs-QC1/T-QC1-3/T-QC1-3b-211/Source-Code over til lokalt git-repository på egen maskin (eks ~/kvoss_intern/kvmeta/algorithms på lokal maskin). 
-   (Stå på egen maskin og ta scp).  
-   Skriv så git commit -m "ønsket beskrivelse" algoritmen.  
-   Gjenta prosessen med evt. oppdatert/ny checks og evt. oppdatert/ny station_param. 
-    
-   Når alt er klart til å settes i drift: 
-   Skriv "git push" fra aktuell katalog. Algoritmen er nå i drifts-git-repository og vil bli lagt inn i databasen ved neste Kvalobs-oppdatering (normalt 11.20 norsk tid hver dag) 
-    
- 
  
  • kvalobs/kvalobs/qc1_utvikling_testing_og_verifisering.1562165536.txt.gz
  • Last modified: 2022-05-31 09:23:18
  • (external edit)