Gruppen mit festem Softwareprofil

Antworten
msoukup
Beiträge: 2
Registriert: 24 Aug 2018, 13:44

Gruppen mit festem Softwareprofil

Beitrag von msoukup »

Hallo zusammen,

wir setzen OPSI nun seit ein paar Wochen ein. Die Software ist vielseitig und bietet uns Administratoren eine Menge an Spielraum.

Zu meinem Anliegen:
Ich würde gerne eine Art "Profil" anlegen, sodass bei einem Client, sobald er einer bestimmten Gruppe zugewiesen wird, automatisch die entsprechenden Pakete installiert werden.

Vielen Dank im Voraus.
pandel
Beiträge: 830
Registriert: 25 Jan 2013, 16:47

Re: Gruppen mit festem Softwareprofil

Beitrag von pandel »

Hi!

Kurz und schmerzoll: das Feature gibt es nicht.

Was du machen kannst, ist ein (Meta-)Paket zu bauen, dass im Grunde nur setup-before Abhängigkeiten beinhaltet. So würde es dann reichen, dieses eine Paket auf Setup zu setzen und sämtliche abhängigen werden autom. installiert. Dem Paket könntest du ja evtl. einen Gruppennamen geben, um dir Zuordnung optisch zu erleichtern. Workflow ist ja dann einfach: Maschinen markieren, in die Gruppe ziehen, eben das eine Paket auf setup setzen, speichern, fertig! Ist ja nicht sooo viel mehr Aufwand... da ließe sich sogar dann noch was scripten, sprich, Maschine in Gruppe packen und mittels eines externen Scriptes via Cron die Gruppenzugehörigkeit aller Maschinen regelmäßig prüfen und dann das entsprechende Metapaket auf setup setzen.

Lieber Gruß
Holger
msoukup
Beiträge: 2
Registriert: 24 Aug 2018, 13:44

Re: Gruppen mit festem Softwareprofil

Beitrag von msoukup »

Hallo pandel,

danke für die schnelle und aufschlussreiche Antwort.

Ein paar Frage hätte ich dann noch:

1. Wenn ich ein Paket in der Gruppe auf "setup" setze, wird es auf allen Clients erneut installiert. Warum wird hier nicht auf eine vorhandene Installltion geprüft? Machen wir etwas falsch? Das würde uns mit dem "Meta"-Paket vermutlich auch passieren...

2. Wie sieht es mit automatischer Aktualisierung aus? Das OPSI-Paket wurde aktualisiert, muss aber von uns manuell auf dem Client installiert werden.

Danke
pandel
Beiträge: 830
Registriert: 25 Jan 2013, 16:47

Re: Gruppen mit festem Softwareprofil

Beitrag von pandel »

Aaalllsoooo....
msoukup hat geschrieben: 1. Wenn ich ein Paket in der Gruppe auf "setup" setze, wird es auf allen Clients erneut installiert. Warum wird hier nicht auf eine vorhandene Installltion geprüft? Machen wir etwas falsch? Das würde uns mit dem "Meta"-Paket vermutlich auch passieren...
Nein, das ist korrekt. Jedes Paket sollte so gestrickt sein, dass es auf Vorhandensein der Software, die es betreut, prüft und im Regelfall erst eine Deinstallation, dann eine erneute Installation durchführt (du kannst natürlich auch einfach wieder aus dem Setup Skript aussteigen und nix machen, wenn die Software gefunden wird) - das kann opsi nicht für dich alleine entscheiden. Stell dir eine Software vor, die einfach aus einkopierten Einzeldateien besteht, kein Setup hat, evtl. ein Paket, was nur Treiber oder Fonts installiert oder sonstwie blöd ist. Wie soll opsi da was draus feststellen... das musst du schon selber leisten bei der Paketentwicklung.

Bei einem "Meta" Paket wäre das aber total egal, denn da wird beim "auf-setup-setzen" geprüft, ob die abhängigen Pakete bereits im Status "installed" sind. Wenn das so ist, werden diese NICHT wieder erneut auf setup gesetzte. Sprich, du kannst, nach dem ersten Mal, das Meta-Paket so oft auf setup setzen, wie du willst, passieren tut da erstmal nichts.
msoukup hat geschrieben: 2. Wie sieht es mit automatischer Aktualisierung aus? Das OPSI-Paket wurde aktualisiert, muss aber von uns manuell auf dem Client installiert werden.
Ist auch korrekt. Stell dir vor, du passt nur im Installationsskript einen Schreibfehler o. ä. an, baust mit neuer Versionsnummer und nach dem Installieren auf dem Server laufen deine ganzen Rechner plötzlich Amok und installieren die Software erneut, was aber gar nicht nötig wäre! Das will ja keiner! Also ist manuell auf dem Client aktivieren immer besser. Aber, man kann beim Installieren eines neuen Pakets auf dem Server dem Tool opsi-package-manager Schalter mitgeben, wie es sich genau verhalten soll:

Code: Alles auswählen

-U, --update          set action "update" on hosts where installation status is "installed"
-S, --setup          set action "setup" on hosts where installation status is "installed"
-s, --setup-with-dependencies          set action "setup" on hosts where installation status is "installed" with dependencies
Kleine Stichelei: du hättest dich eingehender mit den zu verwendenden Tools und deren Möglichkeiten bereits beschäftigt haben sollen :mrgreen: ;) - hol das einfach mal nach, da geht viel, wenn man es weiß... und für den Skriptbau mal die Getting Started durcharbeiten und evtl. mal in ein bereits vorhandenes Paket im Depot schauen, was vielleicht aus der uib Quelle kommt - da erklärt sich dann auch noch mehr, was den Paketbau anbelangt!

Lieber Gruß
Holger
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: Gruppen mit festem Softwareprofil

Beitrag von n.wenselowski »

Hi,
pandel hat geschrieben:
msoukup hat geschrieben: 2. Wie sieht es mit automatischer Aktualisierung aus? Das OPSI-Paket wurde aktualisiert, muss aber von uns manuell auf dem Client installiert werden.
Ist auch korrekt. Stell dir vor, du passt nur im Installationsskript einen Schreibfehler o. ä. an, baust mit neuer Versionsnummer und nach dem Installieren auf dem Server laufen deine ganzen Rechner plötzlich Amok und installieren die Software erneut, was aber gar nicht nötig wäre! Das will ja keiner! Also ist manuell auf dem Client aktivieren immer besser. Aber, man kann beim Installieren eines neuen Pakets auf dem Server dem Tool opsi-package-manager Schalter mitgeben, wie es sich genau verhalten soll:

Code: Alles auswählen

-U, --update          set action "update" on hosts where installation status is "installed"
-S, --setup          set action "setup" on hosts where installation status is "installed"
-s, --setup-with-dependencies          set action "setup" on hosts where installation status is "installed" with dependencies
Kleiner Einwurf noch: es hängt etwas vom verwendeten Workflow ab, den ihr einsetzt.
Man könnte sowas auch über den opsi-package-updater automatisiert setzen lassen oder man verwendet für sowas einfache opsi-admin-Aufrufe:

Code: Alles auswählen

opsi-admin -d method setActionRequestWhereOutdated <actionRequest> <productId>
Beispielweise setup setzen für alle Clients, auf denen das Paket firefox veraltet ist:

Code: Alles auswählen

opsi-admin -d method setActionRequestWhereOutdated "setup" "firefox"

Gruß

Niko

Code: Alles auswählen

import OPSI
Antworten