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ß