Auto Setup für neue Clients

xBr0th3rs
Beiträge: 44
Registriert: 03 Dez 2019, 15:47

Re: Auto Setup für neue Clients

Beitrag 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.
feltel
Beiträge: 222
Registriert: 09 Dez 2014, 07:22

Re: Auto Setup für neue Clients

Beitrag 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.
Benutzeravatar
SisterOfMercy
Beiträge: 1524
Registriert: 22 Jun 2012, 19:18

Re: Auto Setup für neue Clients

Beitrag 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.
Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!
xBr0th3rs
Beiträge: 44
Registriert: 03 Dez 2019, 15:47

Re: Auto Setup für neue Clients

Beitrag 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.
feltel
Beiträge: 222
Registriert: 09 Dez 2014, 07:22

Re: Auto Setup für neue Clients

Beitrag 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%"
]
Benutzeravatar
SisterOfMercy
Beiträge: 1524
Registriert: 22 Jun 2012, 19:18

Re: Auto Setup für neue Clients

Beitrag 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.
Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!
xBr0th3rs
Beiträge: 44
Registriert: 03 Dez 2019, 15:47

Re: Auto Setup für neue Clients

Beitrag 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ß
Antworten