UEFI Option aktivieren via JSON-RPC

Antworten
noxid
Beiträge: 3
Registriert: 02 Aug 2021, 15:56

UEFI Option aktivieren via JSON-RPC

Beitrag von noxid »

Hallo Zusammen,

wir sind gerade dabei OPSI zu testen. Hierbei wollten wir die Clients via JSON-RPC anlegen.
Damit der Client aber UEFI Bootbar ist, muss der Haken im Client "UEFI Boot" aktiv sein - Ich finde leider keine möglichkeit in der API Dokumentation diesen via JSON-RPC zu setzen.
Benutzeravatar
fkalweit
uib-Team
Beiträge: 173
Registriert: 23 Okt 2020, 16:14

Re: UEFI Option aktivieren via JSON-RPC

Beitrag von fkalweit »

Hallo,

der Haken im Configed setzt einen ConfigState, der kann auch über configState_create gesetzt werden kann.

Method: configState_create
configId: "clientconfig.dhcpd.filename"
objectId: "test-11.uib.local"
*values:"linux/pxelinux.cfg/elilo.efi"


{
"id": 1,
"method": "configState_create",
"params": [
"clientconfig.dhcpd.filename",
"test-11.uib.local",
"linux/pxelinux.cfg/elilo.efi"
]
}

Hilfreich ist evt auch das Handbuch Abschnitt 9.6.10 (https://download.uib.de/opsi4.2/documen ... -v4.2.html)


Viele Grüße
noxid
Beiträge: 3
Registriert: 02 Aug 2021, 15:56

Re: UEFI Option aktivieren via JSON-RPC

Beitrag von noxid »

Vielen Dank für die Rückmeldung.

Ich habe es direkt getestet, und das Config Value via API gesetzt. Danach ist der Haken in der configd GUI bei EFI Boot auch aktiv.

Allerdings scheint der Haken in der configd GUI noch mehr zu machen, als nur das Config-Value zu setzen.

Wenn ich den Client via API anlege und das dhcpd bootfile setze, bootet die Maschine trotzdem nicht im EFI modus.
Wenn ich dann den Haken raus nehme, speicher und wieder setze und speicher bootet die maschine tadellos.
Benutzeravatar
m.radtke
uib-Team
Beiträge: 1517
Registriert: 10 Jun 2015, 12:19

Re: UEFI Option aktivieren via JSON-RPC

Beitrag von m.radtke »

Hi

ja der confige macht mehr.
er setzt den Haken und sagt dem opsipxeconfd welches template für die named Pipe verwendet werden soll.
UEFI oder BIOS
Ofensichtlich ist deine Hardware nicht im UEFI Modus wenn sie ohne Haken problemlos bootet.

Gruß
Mathias
Kein Support per DM!
_________________________
opsi support - http://www.uib.de/
For productive opsi installations we recommend support contracts.
noxid
Beiträge: 3
Registriert: 02 Aug 2021, 15:56

Re: UEFI Option aktivieren via JSON-RPC

Beitrag von noxid »

Hi Mathias,
m.radtke hat geschrieben: 03 Aug 2021, 10:59 Ofensichtlich ist deine Hardware nicht im UEFI Modus wenn sie ohne Haken problemlos bootet.
das habe ich nicht geschrieben.
noxid hat geschrieben: 03 Aug 2021, 09:02 Wenn ich den Client via API anlege und das dhcpd bootfile setze, bootet die Maschine trotzdem nicht im EFI modus.
Wenn ich dann den Haken raus nehme, speicher und wieder setze und speicher bootet die maschine tadellos.
m.radtke hat geschrieben: 03 Aug 2021, 10:59 er setzt den Haken und sagt dem opsipxeconfd welches template für die named Pipe verwendet werden soll.
UEFI oder BIOS
Wie kann ich dieses verhalten via API nachstellen?
mattiasmab
Beiträge: 90
Registriert: 29 Jan 2021, 12:17

Re: UEFI Option aktivieren via JSON-RPC

Beitrag von mattiasmab »

Hi,
sind einfache Tippfehler bereits im JSON-RPC ausgeschlossen? Am einfachsten im opsiConfigEd auf die Host-Parameter wechseln und links den Eintrag "clientconfig" selektieren und rechts dann den Eintrag "clientconfig.dhcpd.filename" kopieren und in einem Texteditor wie Notepad++ einfügen, bei dem man durch Selektion gleiches erkennt. Das dann nach dem RPC und dem manuellen jeweils und anschließend vergleichen.

Die Entscheidung welches PXE-Template genutzt wird liegt nämlich nur an dem Eintrag und hat (scheinbar) nichts mit dem configEd zu tun. Der opsiPxeConfd entscheidet auf Grund des Filename was er nimmt (siehe Github direkt die Funktion https://github.com/opsi-org/opsipxeconf ... fd.py#L654

Nicht zu vergessen. Wenn ein Netboot-Produkt bereits auf Setup gesetzt ist und die Einstellung dann geändert wird, bringt das nichts, da die PXEConfig-Datei bereits erstellt worden ist und dadurch nicht neu erstellt wird. In dem Fall den ActionRequest einmal wieder auf None und wieder auf Setup, damit die neu erzeugt wird.
Antworten