Seite 2 von 2
Re: Auto Setup für neue Clients
Verfasst: 29 Feb 2024, 09:54
von xBr0th3rs
ThomasT hat geschrieben: ↑28 Feb 2024, 14:03
feltel hat geschrieben: ↑28 Feb 2024, 11:35
So eine Möglichkeit bestimmte Pakete nach der initialen Installation des OCA auf setup zu stellen fehlt mir leider auch. Die Systeminstallation passiert bei uns außerhalb der OPSI-Welt. Momentan haben wir ein zentrales Meta-Paket, das dann Abhängigkeiten zu allen benötigten Einzelpaketen hat, die auf eine frisch installierte Maschine müssen. So muss man wenigstens nur ein Paket auf Setup stellen, wenn eine Maschine neu hinzukommt.
Gerade dann kannst du doch das Meta-Paket in die "setup_after_install" Property des Opsi-Client-Agent Produkts legen, dann sollte es doch passen?
Genau da ist das problem was ich geschildert hatte.
Wenn der opsi-client-agent ein update bekommt und dieser dann auf setup gesetzt wird führt der die setup_after_install nochmal aus.
Re: Auto Setup für neue Clients
Verfasst: 29 Feb 2024, 18:25
von feltel
Okay, das könnte in der Tat funktionieren. Muss mal schauen, wie wir seinerzeit die Abhängigkeiten in dem Meta-Paket definiert hatten. Das die Pakete, die das Meta-Paket dann triggert, nochmal installiert werden bei jedem zukünftigen OCA-Update wäre allerdings suboptimal. Danke trotzdem für den Denkanstoß, vielleicht bekommt man das hingebogen.
Re: Auto Setup für neue Clients
Verfasst: 29 Feb 2024, 23:38
von SisterOfMercy
feltel hat geschrieben: ↑29 Feb 2024, 18:25
Okay, das könnte in der Tat funktionieren. Muss mal schauen, wie wir seinerzeit die Abhängigkeiten in dem Meta-Paket definiert hatten. Das die Pakete, die das Meta-Paket dann triggert, nochmal installiert werden bei jedem zukünftigen OCA-Update wäre allerdings suboptimal. Danke trotzdem für den Denkanstoß, vielleicht bekommt man das hingebogen.
If the package is already installed it will not matter. I use the setup_after_install of the netboot package.
Re: Auto Setup für neue Clients
Verfasst: 01 Mär 2024, 09:40
von xBr0th3rs
SisterOfMercy hat geschrieben: ↑29 Feb 2024, 23:38
feltel hat geschrieben: ↑29 Feb 2024, 18:25
Okay, das könnte in der Tat funktionieren. Muss mal schauen, wie wir seinerzeit die Abhängigkeiten in dem Meta-Paket definiert hatten. Das die Pakete, die das Meta-Paket dann triggert, nochmal installiert werden bei jedem zukünftigen OCA-Update wäre allerdings suboptimal. Danke trotzdem für den Denkanstoß, vielleicht bekommt man das hingebogen.
If the package is already installed it will not matter. I use the setup_after_install of the netboot package.
Ne genau das tut es nicht
Wenn man in opsi-client-agent beim setup_after_install z.b. windomain hinzufügt und es dann ein update von opsi-client-agent gibt dann wird der client-agent auf setup gesetzt und danach wird wieder windomain ausgeführt.
Re: Auto Setup für neue Clients
Verfasst: 01 Mär 2024, 10:43
von feltel
Im setup.opsiscript steht der Code dazu:
Code: Alles auswählen
DefFunc setup_after_install() : void
DefStringList $TempList$
Set $TempList$ = createStringList()
Set $TempList$ = GetProductPropertyList("setup_after_install", $TempList$)
if count($TempList$) > "0"
Comment "Setup after install"
for %TempProductId% in $TempList$ do OpsiServiceCall_setProductActionRequestWithDependencies_setup
endif
[OpsiServiceCall_setProductActionRequestWithDependencies_setup]
"method": "setProductActionRequestWithDependencies"
"params": [
"%TempProductId%",
"$ClientId$",
"setup"
]
EndFunc
Es müsste eine Methode setProductActionRequestWithDependenciesWhereNotInstalled oder ähnlich benannt geben. Dann würde das funktionieren und man könnte das Property setup_after_install (oder meinentwegen ein zus. Property setup_once_after_install) mit den Paketnamen befüllen, die _einmalig_ nach der Erstinstallation des OCA ausgeführt werden sollen.
Zweite Möglichkeit wäre, das man eine Methode implementiert, die den Inhalt des Properties setup_after_install leert, wenn die Installation einmal durchgelaufen ist.
Code: Alles auswählen
[OpsiServiceCall_setProductProperty_cleanup_setupafterinstall]
"method": "setProductProperty"
"params": [
"opsi-client-agent",
"setup_after_install",
"",
"%opsiserviceUser%"
]
Re: Auto Setup für neue Clients
Verfasst: 01 Mär 2024, 14:23
von SisterOfMercy
xBr0th3rs hat geschrieben: ↑01 Mär 2024, 09:40
Ne genau das tut es nicht
Wenn man in opsi-client-agent beim setup_after_install z.b. windomain hinzufügt und es dann ein update von opsi-client-agent gibt dann wird der client-agent auf setup gesetzt und danach wird wieder windomain ausgeführt.
It is different when you use a metapackage. The metapackage will be set to setup again, but all dependencies have already been met.
Re: Auto Setup für neue Clients
Verfasst: 01 Mär 2024, 14:29
von xBr0th3rs
SisterOfMercy hat geschrieben: ↑01 Mär 2024, 14:23
xBr0th3rs hat geschrieben: ↑01 Mär 2024, 09:40
Ne genau das tut es nicht
Wenn man in opsi-client-agent beim setup_after_install z.b. windomain hinzufügt und es dann ein update von opsi-client-agent gibt dann wird der client-agent auf setup gesetzt und danach wird wieder windomain ausgeführt.
It is different when you use a metapackage. The metapackage will be set to setup again, but all dependencies have already been met.
Jaa das wäre aber quasi doppelte arbeit
Der vorschlag von feltel hört sich schon gut an
Gruß
Re: Auto Setup für neue Clients
Verfasst: 31 Jul 2024, 16:42
von xBr0th3rs
Hallo Zusammen,
ich würde das Thema wieder gerne aufgreifen und nochmal nachfragen ob es bis dato schon eine Änderung gab das beim erstellen eines Clients man ein auto-setup setzten kann so wie es früher war.
Da wie ich schon beschrieben habe wenn es ein Update von opsi-client-agent gibt werden die Pakete mit neu installiert die als "after-setup" in den propertys gesetzt sind
Gruß
Re: Auto Setup für neue Clients
Verfasst: 07 Aug 2024, 09:40
von n.doerrer
Hallo,
aktuell gibt es nur den Weg über das Meta-Paket (wenn man wiederholte Installationen vermeiden will) in setup-after-install.
@feitel Ein Produkt sollte eigentlich nicht seine eigenen ProductProperties bearbeiten. Dadurch können verschiedene Konsistenz-Probleme entstehen (ganz besonders im WAN-Modus). Die Wahrheit geht vom server aus und nicht vom client.
@xBr0th3rs Je nachdem, wie neue Clients angelegt werden, könnte man das auch skripten. Z.B. über opsi-cli
1. Lege neuen client an
2. Setze für den client alle Produkte aus gruppe "initial-setup" auf setup
In configed und webgui sind es ein paar zusätzliche clicks, aber wenn man die entsprechenden Produkte in einer Gruppe organisiert hat, ist das auch schnell gemacht.