Wie stabil laufen die INTERLIS Repositories?

Nutzt man heute Validierungwerkzeuge wie den ilivalidator oder iGCheck, so tauchen in den Logdateien manchmal Fehlermeldungen in der Form

Warning: repository <https://models.geo.xx.ch/> ignored; java.io.IOException: ...

oder

Warning: repository <https://yyy.zzz.ch/models/> ignored; java.net.SocketTimeoutException: ...

auf.

Die INTERLIS Repositories des Bundes, der Kantone und weiterer Organisationen, die INTERLIS-Modelle publizieren (wie z. B. der SIA oder der Staat Kolumbien) sind über einen ausgeklügelten Mechanismus miteinander verbunden. Das führt dazu, dass man sich (fast) sorglos der Datenprüfung und den Daten widmen kann und sich nicht darum kümmern muss, woher die Modelle für die Validierung herkommen - die Prüfsoftware sucht sich die benötigten Modelle im Repository Netzwerk selbständig zusammen.

Doch ab und zu läuft nicht alles rund in diesem Netzwerk, was die obigen Fehlermeldungen zeigen sollen. Wie üblich bei vernetzen Servern - und darum handelt es sich bei einem Repository - sind sie manchmal nicht verfügbar. Oder sie sind schlichtweg falsch konfiguriert.

Deshalb habe ich hier eine Liste zusammengestellt mit Links, wie man sich einen Überblick über den aktuellen Zustand des INTERLIS Repository Netzwerks verschaffen kann:

  • Ob die Repo-Server grundsätzlich erreichbar sind, zeigt die Status-Seite von Uptime Robot an. Die Grafiken zeigen auch auf, wie zuverlässig die Server laufen. Im Hintergrund wird jeder Repo-Server alle 5 Minuten kontaktiert und verifiziert, ob die Datei /ilisite.xml vorhanden ist.


    Abbildung Status-Seite von Uptime Robot

  • Einen anderen Ansatz habe ich im Github-Repository Repo-Dump gewählt. Dreimal täglich werden von allen Repo-Servern die Index-Dateien (ilisite.xml, ilimodels.xml und (falls vorhanden) ilidata.xml) heruntergeladen und im Github-Repository gespeichert. Einerseits sieht man auf der Übersichtsseite anhand des http-Status-Codes, ob die Dateien auf den jeweiligen Repo-Servern erreichbar und vorhanden sind. Andererseits wird durch das regelmässige Herunterladen der Index-Dateien ein Archiv angelegt, wodurch sich Änderungen verfolgen und Backups wiederherstellen lassen.


    Abbildung Status-Seite von Repo-Dump

  • Aus einem anderen Winkel werden schliesslich die Repo-Server vom INTERLIS Repository Checker betrachtet. Hierbei wird mit Hilfe des INTERLIS Compilers (ili2c) auf alle publizierten Modelle eines Repositorys zugegriffen. Diese werden anschliessend mittels der (undokumentierten :thinking:) Option --check-repo-ilis allesamt vom Compiler geprüft. Über den Link neben dem Status („Success“ oder „Failed“) lässt sich auch das zugehörige Logfile herunterladen.
    Im öffentlichen Gitub-Repository erklärt @edigonzales die technischen Hintergründe und Konfigurationsmöglichkeiten der Website.


    Abbildung Status-Seite des INTERLIS Repository Checkers

Falls also der Fall einmal eintreffen sollte, dass eine Datenvalidierung, die sonst immer problemlos funktioniert hat, plötzlich nicht mehr funktionieren sollte, so lohnt sich ein Blick auf die erwähnten Webseiten. Vielleicht liegt es ja daran, dass ein Repository nicht verfügbar ist oder beim letzten Update falsch konfiguriert wurde.

Was tun, wenn man helfen möchte, damit alles wieder rund läuft?
Nicht immer ist es für den Betreiber/die Betreiberin eines Repo-Servers unmittelbar ersichtlich, dass der eigene Server aus dem Internet nicht erreichbar ist. Stellt man ein Problem fest und möchte mithelfen, das Repo wieder ans Netz zu bringen, lohnt sich der Blick in die Datei ilisite.xml. Von dieser gibt es ja jetzt ein Backup im Repo-Dump. Dort sollte eine Kontaktadresse hinterlegt sein, an die eine Störung gemeldet werden kann.


Auszug ilisite.xml des Kantons Bern

Hinweis für Repository-Betreiber:innen
Falls du ein Repository betreibst und per E-Mail automatisch informiert sein möchtest, wenn dieses nicht erreichbar ist (Status via Uptime Robot, Intervall 5 Minuten), so melde dich bei mir unter tools@geostandards.ch.
Leider steht diese Dienstleistung zzt. noch nicht zur Verfügung. Ich arbeite daran.

[Update 31.10.2023: Hinweis für Repository-Betreiber:innen gestrichen.]

5 „Gefällt mir“