MKP Inkonsistenz zwischen Dokumentation und Real World

Beim Test der aktuellen 2.2.0b7 sind mir im handling von MKPs die folgenden Punkte aufgefallen.

  • es ist ohne Warnung möglich ein Paket welches als Maximum Version 2.1.999 eingetragen hatte in 2.2.0b7 zu installieren - Warum? wenigstens ne Warnung wäre hier angebracht
  • in 2.2 ist es nicht mehr möglich eine max Version höher 2.2.99 anzugeben - also der dritte Teil muss zweistellig sein - im Handbuch Artikel steht hier überall die 999 aus meinem Beispiel

Besser für das Handling wären nicht solche ausgedachten Versionsnummern sondern etwas wie - Paket ist für alles kleiner 2.2.0b1 - welches ja die erste verfügbare 2.2 Version war.

4 Likes

Generell lässt sich jedes Paket installieren, wenn es mit dem Steckersymbol eingeschaltet wird dann taucht es unter ’ Enabled (inactive on this site)’ auf wenn es von der Site auf der es Enabled wurde von der Version nicht unterstütz wird.

Ich stimme Dir aber zu, das mit den Versionsnummern ist nicht so ganz klar.

Bei dem Upgrade von der 1.6.0 auf die 2.0.0 haben wir in den Paketen immer ‘Can be used until version’ 1.6.0 für die 1.6er Pakete und 2.0.0 für die 2.0er Pakete verwendet. Das hat wunderbar fuktioniert.

Wenn ich aber Avoid confusion with MKPs 'Minimum required Checkmk version' durchlese, dann darf das garnicht funktionieren, zumindest ab der 2.1.0p26 wenn man es genau nimmt. Das muss ich die nächsten Tage noch Testen.

Ich muss mal die Kommunikation zu dem Thema raussuchen und mir die Erklärungen nochmal genau durchlesen. Das dauert nur leider ein bischen.

Generell halte ich die angewendete Art der Versionierung als nicht so günstig. Die dritte Stelle wird ja seit der 1.2.8 nicht mehr verwendet.

Intern versuchen wir uns weitestgehend an Semantic Versioning zu halten:

Gruß

Michael

So würde ich es auch erwarten - die Realität schaut aber anders aus.


Uploaded package

Mit Stecker Symbol enabled
image
Site Version

Laut Aussage funktioniert das so nimmer. Es muss als “Req. Version” die minimal Version, im Normalfall sowas wie “2.1.0b1”, angegeben werden. Until Version muss die letzte funktionierende Version sein.
Bei einer Angabe von 2.0.0 als Req. Version dürfte es keine größeren Probleme geben sobald es keine Beta Versionen mehr gibt :slight_smile:. Wenn ich das aktuell so schreibe mit “Req. Version” = 2.2.0 gibt er mir sofort den Hinweis, dass dies mit Beta Versionen dann nicht funktioniert. Hab ich noch nicht probiert ob das wirklich so ist.

Damit wird mir auch klar warum die Beschreibung aus der Doku nicht funktioniert.
Hier müsste ich mal probieren ob ein Until Version wie → 2.1.0p99 funktioniert.

Also, ich habe mal in meinen Tickets gekramt.

Hier mal ein paar Auszüge, ich hoffe der Author erlaubt mir das:

“Can be used until” soll bedeuten: Ab der angegebenen Version ist es nicht mehr ok.

Die Versionen werden dann zu Zahlen umgerechnet, die dann verglichen werden (hier kannst Du das sehen, da stehen auch Beispiele dabei).

2.0.0 < 2.0.0i1 < 2.0.0p0. Beta-Versionen wären noch zwischen “i” und “p”. Wenn Du also sicher sein willst, das nur 1.6.0 geht, musst Du “2.0.0” schreiben.

Das machts jetzt eigentlich auch nicht transparenter.

Mir auch aufgefallen vor ein paar Wochen - aber da noch so weit weg, keine Zeit gehabt dem nachzugehen, in dem Fall Danke @andreas-doehler

Dazu fällt mir nur das ein. .scheint schon jemand aufgenommen zu haben :wink:

Tach zusammen!

es ist ohne Warnung möglich ein Paket welches als Maximum Version 2.1.999 eingetragen hatte in 2.2.0b7 zu installieren - Warum? wenigstens ne Warnung wäre hier angebracht

Das hat einen Grund: Weil diese Seite der GUI nicht nur zum Verwalten, sondern auch zum Ändern von MKPs benutzt wird. Wenn man ein MKP nicht installieren kann, kann man auch nicht die “valid until” Version erhöhen. Ich stimme aber zu, dass eine Warnung nett wäre. Da ist anscheinend niemand dazu gekommen das zu bauen. Ist aber bekannt und zugegebenermaßen unschön (aber nicht neu in 2.2).

in 2.2 ist es nicht mehr möglich eine max Version höher 2.2.99 anzugeben - also der dritte Teil muss zweistellig sein - im Handbuch Artikel steht hier überall die 999 aus meinem Beispiel

Stimmt. Hier wird jetzt rigoros auf Checkmk Versionensnummern validiert. Die erlauben da anscheinend nur 2 Stellen. Aber dass kann man ja einfach anpassen - Ich hab das Handbuchteam darauf hingewiesen.

Hier mal ein paar Auszüge, ich hoffe der Author erlaubt mir das: […]
Das machts jetzt eigentlich auch nicht transparenter.

Eigenlich erlaube ich das gerne, ABER: das ist ja ganz schlimm, weil falsch :sob: .
Die 2.2.0 ist eine ganz spezifische Version, nämlich die nach der letzten beta, und die vor der 2.2.0p1. Wenn man so will ist da ein implizites p0 hinten dran. Wenn man jetzt versucht eine solche Version anzugeben, kommt auch ein Hinweis dazu. (Eben oben verlinktes Werk). Das ist uns selber auf die Füße gefallen, weil nämlich MKPs mit “min version” 2.2.0 wärend der beta Phase nicht gingen. Daher ist 2.2.0 eine Außnahme: Das wird während der beta phase immer zu 2.2.0b1 gemacht (aus Notwehr).

Und noch ein Hinweis: valid until version ist exclusiv, das heißt das ist die erste Version, für die es nicht mehr geht.

Zusammenfassend kann man sagen: Ein Saustall.

5 Likes

Dann fehlt jetzt nur der richtige Agrar Ökonom der den Saustall auf Vordermann bringt :wink:

2 Likes