Oppdatering av algoritmer og metadata i Kvalobs

PROSEDYRE FOR Å OPPDATERE/LEGGE INN NYE SKRIPT/METADATA

Oppdatering gjøres hver dag fom. mandag tom. fredag i tidsrommet kl.11:20 - 11:40 norsk lokaltid.

Nye metoder for daglig oppdatering

Metakvalobs: Generering av metadata pakker for kvalobs fra kvalobs bruker: halvautomatisk

Midlertidig:

ssh -Y kvalobs@157.249.168.104

Undersøk at alt er gått greit

Ser kjøringen grei ut:

$HOME/bin/view_auto.sh

Dersom det står “Fortsett” nederst i output skal en fortsette, ellers så skal en avslutte.

Dersom det hverken står “Avbryt - ingen oppdateringer” eller “Fortsett” nederst så er det en feilsituasjon som en skal melde i fra om.

Dette er ukes/månedsrutine for ekstra sikkerhet:

myuser er f.eks oysteinl
scp /usr/share/kvalobs/metadist/kvmeta.tar.bz2 /usr/share/kvalobs/metadist/kvmeta_UTF8.tar.bz2 /usr/share/kvalobs/metadist_SVV/kvmeta_SVV.tar.bz2 /usr/share/kvalobs/metadist_PROJ/kvmeta_PROJ.tar.bz2 myuser@repo.met.no:/var/www/repo/data/metadata/obs/kvalobs

Feilsituasjoner

Er dette dagens dato?: ls -l $HOME/var/log/auto.finished_log Dersom ikke dette er dagens dato avsluttes oppdateringen og det meldes i fra om feil i kjøringen av auto.sh.

For spesielt interesserte: Endringer i fra klima

Er det noen endringer i fra klima ser vi vha. grep ulike $HOME/var/log/run_klima2kvalobs_all.log

Produksjonsmaskin ( xenial ):

OBS! Den dagen de skifter mellom kvalobs-a1 og kvalobs-b1, oppdaterer vi ikke metadata.

Logg så inn som bruker kvalobs på kvalobs (som altså nå er kvalobs-a1 eller kvalobs-b1).

/metno/kvalobs/bin/kvget_metadata_all

Alternativt

Stopp kvalobs med: kvstop

Innstaller de nye metadataene med: /metno/kvalobs/bin/kvget_metadata

( gammel løsning Eksekver insert.sh (opdaterer QC1-0 etc).)

Start kvalobs med: kvstart

Dersom veldig mye går galt og en har behov for å hente ned metadata fra repo.met.no

Stopp kvalobs med: kvstop

Innstaller de nye metadataene med: /metno/kvalobs/bin/kvget_metadata_repo

( gammel løsning Eksekver insert.sh (opdaterer QC1-0 etc).)

Start kvalobs med: kvstart

Histkvalobs (virtuell maskin) hovedløsning:

Utføres på histkvalobs:

Stopp kvalobs med: kvstop

Utføres på histkvalobsdb:

Logg inn som kvalobs bruker på histkvalobsdb, deretter utfør:

Innstaller de nye metadatene med: /home/kvalobs/bin/kvget-metadata

Oppdaterer QC1-4-109: psql -f ~/Update-Checks-QC1-4-109.sql

Utføres på histkvalobs:

Start kvalobs med: kvstart

Det å kunne stopp/legge tilbake dataflyt fra svvdata gjennom hovedkvalobs

Metakvalobs

Ved stans av svvdataflyten inn i hovedkvalobs få bort svvdata fra obs_pgm

filen ~/bin/auto.sh ENDRES

FRA

# cp -pv /usr/share/kvalobs/metadist/kvmeta_METNO.tar.bz2 /usr/share/kvalobs/metadist/kvmeta.tar.bz2
# cp -pv /usr/share/kvalobs/metadist/kvmeta_METNO_UTF8.tar.bz2 /usr/share/kvalobs/metadist/kvmeta_UTF8.tar.bz2
cp -pv /usr/share/kvalobs/metadist_METNOSVV/kvmeta_METNOSVV.tar.bz2 /usr/share/kvalobs/metadist/kvmeta.tar.bz2
cp -pv /usr/share/kvalobs/metadist_METNOSVV/kvmeta_METNOSVV_UTF8.tar.bz2 /usr/share/kvalobs/metadist/kvmeta_UTF8.tar.bz2

TIL

cp -pv /usr/share/kvalobs/metadist/kvmeta_METNO.tar.bz2 /usr/share/kvalobs/metadist/kvmeta.tar.bz2
cp -pv /usr/share/kvalobs/metadist/kvmeta_METNO_UTF8.tar.bz2 /usr/share/kvalobs/metadist/kvmeta_UTF8.tar.bz2
# cp -pv /usr/share/kvalobs/metadist_METNOSVV/kvmeta_METNOSVV.tar.bz2 /usr/share/kvalobs/metadist/kvmeta.tar.bz2
# cp -pv /usr/share/kvalobs/metadist_METNOSVV/kvmeta_METNOSVV_UTF8.tar.bz2 /usr/share/kvalobs/metadist/kvmeta_UTF8.tar.bz2

Ved oppstart av svvdataflyten inn i hovedkvalobs få generert svvdata i obs_pgm

filen ~/bin/auto.sh ENDRES

FRA

cp -pv /usr/share/kvalobs/metadist/kvmeta_METNO.tar.bz2 /usr/share/kvalobs/metadist/kvmeta.tar.bz2
cp -pv /usr/share/kvalobs/metadist/kvmeta_METNO_UTF8.tar.bz2 /usr/share/kvalobs/metadist/kvmeta_UTF8.tar.bz2
# cp -pv /usr/share/kvalobs/metadist_METNOSVV/kvmeta_METNOSVV.tar.bz2 /usr/share/kvalobs/metadist/kvmeta.tar.bz2
# cp -pv /usr/share/kvalobs/metadist_METNOSVV/kvmeta_METNOSVV_UTF8.tar.bz2 /usr/share/kvalobs/metadist/kvmeta_UTF8.tar.bz2

TIL

# cp -pv /usr/share/kvalobs/metadist/kvmeta_METNO.tar.bz2 /usr/share/kvalobs/metadist/kvmeta.tar.bz2
# cp -pv /usr/share/kvalobs/metadist/kvmeta_METNO_UTF8.tar.bz2 /usr/share/kvalobs/metadist/kvmeta_UTF8.tar.bz2
cp -pv /usr/share/kvalobs/metadist_METNOSVV/kvmeta_METNOSVV.tar.bz2 /usr/share/kvalobs/metadist/kvmeta.tar.bz2
cp -pv /usr/share/kvalobs/metadist_METNOSVV/kvmeta_METNOSVV_UTF8.tar.bz2 /usr/share/kvalobs/metadist/kvmeta_UTF8.tar.bz2

Rutiner som gjøres automatisk på Metakvalobs og som må gjøres utenom tidspunktet for daglig oppdatering av metadata

kvalobs@metakvalobs:~$ crontab -l
# m h dom mon dow command
44 5 * * 2,3,4,5 $HOME/bin/run_klima2kvalobs_all
44 5 * * 1 $HOME/bin/run_QC1-1_all
# 51 * * * * $HOME/bin/run_klima2kvalobs_all
kvalobs@metakvalobs:~$ cat $HOME/bin/run_klima2kvalobs_all
#! /bin/sh
export HOME=/metno/kvalobs
$HOME/bin/run_klima2kvalobs
$HOME/bin/run_QC1-1_all

Nye grenseverdier: QC1-1_all.out blir generert i cronjobben over ($HOME/bin/run_QC1-1_all) , men kan genereres manuelt

Logg inn som egen bruker på metakvalobs.

Oppdater metadata fra git:

sk /metno/kvalobs/bin/git_pull

Hvis noen av statuslinjene starter med C ( dette betyr konflikt) skal en slette disse filene og deretter gjøre en ny git pull.

( cd gjerne til git repositoriet først: cd $METADIR. Bruk kommandoen rm eks: sudo -u kvalobs rm station/station.out )

Generer filen QC1-1_all.out og flytter den over til riktige kataloger med:

sk /metno/kvalobs/bin/run_QC1-1_all

For testing

Staging server blir ikke automatisk oppdatert (Test-maskin), oppdatering som stemmer ( mer ) med det som er i drift:

Årsaken til at Staging server ikke blir automatisk oppdatert er bruken av egne metadata for testing.

crontab -l
# 45 11 * * * $HOME/bin/kvget-metadata-cron > /dev/null 2>&1 %

Dersom en ønsker en oppdatering som stemmer ( mer ) med det som er i drift utfør:

cd $HOME
$HOME/bin/kvget-metadata-cron

Manuell testing av egne innlagte metadata (test-maskin):

$ cd myuser
$ . bashrc_myuser

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 geok06_sms_snowdepth_increase_no_snowsymbol.pl kvalobs@xxx:~/kvoss_intern/kvmeta/algorithms$ )

Overfør de nye metadataene til /usr/share/kvalobs/metadata med skriptet: kvinstall_metadata

Stopp kvalobs med: kvstop

Innstaller de nye metadatene med: /usr/lib/kvalobs-metadata/bin/run_metadata

Eksekver insert.sh (opdaterer QC1-0 etc).

Start kvalobs med: kvstart

Overføring av metadata i fra /usr/share/kvalobs/metadata til databasen; avgrensede og kjappere metoder

En kan få kjapt lagt inn alle algoritmer i databasen

LIBEXECDIR=/usr/lib/kvalobs-metadata/bin
$LIBEXECDIR/run_algorithm_all

alle manuelle checks

LIBEXECDIR=/usr/lib/kvalobs-metadata/bin
$LIBEXECDIR/run_checks_all

alle manuelle station_param

LIBEXECDIR=/usr/lib/kvalobs-metadata/bin
$LIBEXECDIR/run_station_param_all

Rutiner som "kvalobs bruker" på metakvalobs

Rutiner som gjøres sjeldent

Alle disse rutinene uføres på kvalobs@metakvalobs.

QC1-1_all.out

Denne operasjonen må gjøres hver gang noen filer på $METADIR/station_param/station_param_auto oppdateres som inneholder QC1-1 i filnavnet.

$ cd myuser
$ . bashrc_myuser

Gå til katalogen $METADIR/station_param/station_param_auto:

$ cd $METADIR/station_param/station_param_auto

Oppdater metadata fra git:

$ git pull

Hvis konflikt skal en slette disse filene og deretter gjøre en ny git pull.

Generer filen QC1-1_all.out lokalt med:

$ /usr/lib/kvalobs-metadata/bin/run_QC1-1_all

Til slutt lagres den nye filen i versjonskontrollsystemet

$ git commit QC1-1_all.out
$ git pull

Metakvalobs: Generering av metadata pakker for kvalobs fra kvalobsbrukeren ( er ikke tiltenkt for daglig oppdatering )

Logg inn som bruker kvalobs på metakvalobs.

Gå til katalogen $METADIR: cd $METADIR

Oppdater metadata fra git: git pull

Hvis noen av statuslinjene starter med C ( dette betyr konflikt) skal en slette disse filene og deretter gjøre en ny git pull.

Innstaller data fra stinfosys: /usr/lib/kvalobs-metadata/bin/run_stinfosys2kvalobs_new

Deretter oppdater git med nye metadata fra stinfosys: git commit; git push

Overfør de nye metadataene til /usr/share/kvalobs/metadata med skriptet: /metno/kvalobs/bin/kvinstall_metadata

Innstaller de nye metadataene med: /usr/lib/kvalobs-metadata/bin/run_metadata

Overføring av metadata til repositoriet slik at andre kan laste det ned:

scp /usr/share/kvalobs/metadist/kvmeta.tar.bz2 myuser@repo.met.no:/var/www/repo/data/metadata/obs/kvalobs

Andre metoder for daglig oppdatering

Metakvalobs: Generering av metadata pakker for kvalobs fra egen bruker

Logg inn som egen bruker på metakvalobs.

Oppdater metadata fra git:

sudo -u kvalobs /metno/kvalobs/bin/git_pull

Dersom konflikt skal en slette disse filene og deretter gjøre en ny git pull.

( cd gjerne til git repositoriet først: cd $METADIR. Bruk kommandoen rm )

Innstaller data fra stinfosys:

sudo -u kvalobs /metno/kvalobs/bin/run_stinfosys2kvalobs

Deretter oppdater git med nye metadata fra stinfosys:

sudo -u kvalobs /metno/kvalobs/bin/git_copy_commit_push

På dette punktet i oppdateringen, dersom de tre foregående kommandoene gir resultatet at det ikke er noen nye metadata (første kommando gir i så fall kun utskrift 'At revision ...') så er det ikke kommet noen nye metadata og oppdateringen avbrytes.

Overfør de nye metadataene til /usr/share/kvalobs/metadata med skriptet og innstaller de nye metadataene med:

sudo -u kvalobs /metno/kvalobs/bin/kvmeta_all

Overføring av metadata til repositoriet slik at andre kan laste det ned:

scp /usr/share/kvalobs/metadist/kvmeta.tar.bz2 /usr/share/kvalobs/metadist_SVV/kvmeta_SVV.tar.bz2 /usr/share/kvalobs/metadist_PROJ/kvmeta_PROJ.tar.bz2 repo.met.no:/var/www/repo/data/metadata/obs/kvalobs

Metakvalobs: Generering av metadata pakker for kvalobs fra egen bruker med: alias sk='sudo -u kvalobs'

Logg inn som egen bruker på metakvalobs.

Oppdater metadata fra git:

sk /metno/kvalobs/bin/git_pull

Dersom konflikt skal en slette disse filene og deretter gjøre en ny git pull.

( cd gjerne til git repositoriet først: cd $METADIR. Bruk kommandoen rm )

Innstaller data fra stinfosys:

sk /metno/kvalobs/bin/run_stinfosys2kvalobs

Deretter oppdater git med nye metadata fra stinfosys:

sk /metno/kvalobs/bin/git_copy_commit_pull

På dette punktet i oppdateringen, dersom de tre foregående kommandoene gir resultatet at det ikke er noen nye metadata så er det ikke kommet noen nye metadata og oppdateringen avbrytes.

Overfør de nye metadataene til /usr/share/kvalobs/metadata med skriptet og innstaller de nye metadataene med:

sk /metno/kvalobs/bin/kvmeta_all

Overføring av metadata til repositoriet slik at andre kan laste det ned:

scp /usr/share/kvalobs/metadist/kvmeta.tar.bz2 /usr/share/kvalobs/metadist_SVV/kvmeta_SVV.tar.bz2 /usr/share/kvalobs/metadist_PROJ/kvmeta_PROJ.tar.bz2 repo.met.no:/var/www/repo/data/metadata/obs/kvalobs

Metakvalobs: Generering av metadata pakker for kvalobs fra kvalobs bruker

Logg inn som egen bruker på metakvalobs.

sudo -i -u kvalobs
. .bashrc

Oppdater metadata fra git:

/metno/kvalobs/bin/git_pull

Dersom konflikt skal en slette disse filene og deretter gjøre en ny git pull.

( cd gjerne til git repositoriet først: cd $METADIR. Bruk kommandoen rm )

Innstaller data fra stinfosys:

/metno/kvalobs/bin/run_stinfosys2kvalobs

Deretter oppdater git med nye metadata fra stinfosys:

/metno/kvalobs/bin/git_copy_commit_push

På dette punktet i oppdateringen, dersom de tre foregående kommandoene gir resultatet at det ikke er noen nye metadata så er det ikke kommet noen nye metadata og oppdateringen avbrytes.

Overfør de nye metadataene til /usr/share/kvalobs/metadata med skriptet og innstaller de nye metadataene med:

/metno/kvalobs/bin/kvmeta_all

Overføring av metadata til repositoriet slik at andre kan laste det ned:

logout
scp /usr/share/kvalobs/metadist/kvmeta.tar.bz2 /usr/share/kvalobs/metadist_SVV/kvmeta_SVV.tar.bz2 /usr/share/kvalobs/metadist_PROJ/kvmeta_PROJ.tar.bz2 repo.met.no:/var/www/repo/data/metadata/obs/kvalobs