Problem mit Versionsunterschieden in Repositories
Verfasst: 14 Jan 2015, 14:52
Hallo zusammen!
Ich habe eine Problem mit unterschiedlichen Versionsständen von Produkten über unsere verschiedenen Depotserver. Wie es entsteht, weiss, nur nicht, WARUM überhaupt. Ich beschreib's mal:
a) ich packe ein neues Paket "xy_1.0-1" und installiere es mit opsi-package-manager -i -d auf Configserver A (der via opsi-product-updater.conf gleichzeitig Repositoryquelle für meine Depots ist)
-> das Paket steht im Configed zur Verfügung und wird unter /var/lib/opsi/repository bereitgestellt
b) auf Depot B läuft opsi-product-updater per cron
-> das neue Paket "xy_1.0-1" wird heruntergeladen und weisungsgemäß auf dem Depot installiert
-> Verzeichnisinhalte sind gleich in \\config_a\opsi-depot\xy und \\depot_b\opsi-depot\xy
c) ich stelle am nächsten Tag einen Fehler im Setupscript fest, korrigiere ihn (OHNE ÄNDERUNG DER PAKETVERSION), packe es neu und installiere es erneut auf Configserver A
-> das Paket wird im opsi_depot Share wunschgemäß geändert und erneut unter /var/lib/opsi/repository eingestellt, mit geänderter MD5
d) auf Depot B läuft opsi-product-updater per cron
-> es wird NICHT erneut heruntergeladen, da sich lt opsi-product-updater Paket- und Produktversion ja nicht geändert haben ( MD5 jedoch schon !!!)
-> man sieht deutliche Unterschiede in \\config_a\opsi-depot\xy und \\depot_b\opsi-depot\xy
Warum wird das Paket auf dem Depot B nicht aktualisiert? Es gibt gem. MD5 eine eindeutig Änderung im Paket!
Man könnte argumentieren, dass ich einfach die Paketversion ändern könnte, aber das würde sich im Configed bei den Clients widerspiegeln, wo ich es definitiv nicht will, denn ich habe nur einen Fehler korrigiert und dem Paket keine neuen Features oder sonstwas verpasst, was ein möglicher Grund für eine Paketversionsänderung wäre. Sonst müsste ich das Paket ja als "nicht aktuelles" Paket auf den Clients ebenfalls neu installieren (um die rote Meldung weg zu bekommen).
Wie zwinge ich Depot B, auf der der opsi-product-updater läuft, dazu, die Pakete bei einer MD5 Änderung neu herunterzuladen und auf dem Depot zu installieren?
EDIT: Sogar eine Paketversionsunterschied scheint da nix auszurichten. Folgende Zeile habe ich gerad vom Updater gemeldet bekommen:
Das ist eindeutig Mumpitz - 1.0-1.corr141048corr ist was anderes als 1.0-1.corr172327corr...
Ok, sehe gerade da kommt bei -vvvv ein:
Aber das ist auch Quark. Er soll da nix checken ob größer oder kleiner, sondern nur, ob anders! Das kann er gar nicht beurteilen...
Lieber Gruß
Holger
Ich habe eine Problem mit unterschiedlichen Versionsständen von Produkten über unsere verschiedenen Depotserver. Wie es entsteht, weiss, nur nicht, WARUM überhaupt. Ich beschreib's mal:
a) ich packe ein neues Paket "xy_1.0-1" und installiere es mit opsi-package-manager -i -d auf Configserver A (der via opsi-product-updater.conf gleichzeitig Repositoryquelle für meine Depots ist)
-> das Paket steht im Configed zur Verfügung und wird unter /var/lib/opsi/repository bereitgestellt
b) auf Depot B läuft opsi-product-updater per cron
-> das neue Paket "xy_1.0-1" wird heruntergeladen und weisungsgemäß auf dem Depot installiert
-> Verzeichnisinhalte sind gleich in \\config_a\opsi-depot\xy und \\depot_b\opsi-depot\xy
c) ich stelle am nächsten Tag einen Fehler im Setupscript fest, korrigiere ihn (OHNE ÄNDERUNG DER PAKETVERSION), packe es neu und installiere es erneut auf Configserver A
-> das Paket wird im opsi_depot Share wunschgemäß geändert und erneut unter /var/lib/opsi/repository eingestellt, mit geänderter MD5
d) auf Depot B läuft opsi-product-updater per cron
-> es wird NICHT erneut heruntergeladen, da sich lt opsi-product-updater Paket- und Produktversion ja nicht geändert haben ( MD5 jedoch schon !!!)
-> man sieht deutliche Unterschiede in \\config_a\opsi-depot\xy und \\depot_b\opsi-depot\xy
Warum wird das Paket auf dem Depot B nicht aktualisiert? Es gibt gem. MD5 eine eindeutig Änderung im Paket!
Man könnte argumentieren, dass ich einfach die Paketversion ändern könnte, aber das würde sich im Configed bei den Clients widerspiegeln, wo ich es definitiv nicht will, denn ich habe nur einen Fehler korrigiert und dem Paket keine neuen Features oder sonstwas verpasst, was ein möglicher Grund für eine Paketversionsänderung wäre. Sonst müsste ich das Paket ja als "nicht aktuelles" Paket auf den Clients ebenfalls neu installieren (um die rote Meldung weg zu bekommen).
Wie zwinge ich Depot B, auf der der opsi-product-updater läuft, dazu, die Pakete bei einer MD5 Änderung neu herunterzuladen und auf dem Depot zu installieren?
EDIT: Sogar eine Paketversionsunterschied scheint da nix auszurichten. Folgende Zeile habe ich gerad vom Updater gemeldet bekommen:
Code: Alles auswählen
bbaplus-fingerprints_1.0-1.corr141048corr.opsi - installation not required: installed version '1.0-1.corr172327corr' of product 'bbaplus-fingerprints' is up to date
Ok, sehe gerade da kommt bei -vvvv ein:
Code: Alles auswählen
Available product version is '1.0-1.corr141048corr', installed product version is '1.0-1.corr172327corr'
Unfulfilled condition: 1.0-1.corr141048corr > 1.0-1.corr172327corr
Lieber Gruß
Holger