[Eisfair_dev] E1 dhcpd Konfiguration nörgelt beim Deaktivieren
Marcus Roeckrath
marcus.roeckrath at gmx.de
Sa Sep 12 09:15:14 CEST 2015
Hallo Thomas,
Thomas Zweifel wrote:
>> Dann müsste die Zeile so oft auftauchen, wie DHCP_CLIENT_N gesetzt ist.
>>
>> Schau nun mal, ob die Ausgabe für START_DHCP=yes bzw. no auftaucht.
>
> Mit yes gibts das erwartete:
> Warning: nun drin: Counter 1
> Warning: nun drin: Counter 2
> Warning: nun drin: Counter 3
Gut, aber warum stolpert er hier nicht über die nicht vorhandenen Optionen.
> Lässt sich dennoch speichern und aktivieren.
>
> Mit no kommt sofort die Fehlermeldung, diesmal mit Zeile 69
Die warning-Zeile schiebst nach hinten; aber doch mit Meckerei für CLIENT_3.
Warum gibt es hier keine Ausgabe der warning-Zeile, die steht doch vor der
Problemzeile.
Werden die optionalen Parameter bei START_DHCPD=yes intern doch (als leer)
gesetzt, bei no jedoch nicht?
Thorsten, das war jetzt mehr eine rhethorische Frage n mich selbst, so ein
Gedankengang.
Folgende Mail habe ich als Zusammenfassung an die interne Mailingliste
geschickt, berichte mich bitte, wenn das nicht korrekt sein sollte:
_________________________________________________________________________
Es geht um ein Problem, dass in spline.eisfair-dev unter "E1 dhcpd
Konfiguration nörgelt beim Deaktivieren" diskutiert wird, für das ich
keine Erklärung habe:
Im Paket sind gesetzt (ersten beiden sind Default-Beispieleinträge):
DHCPD_CLIENT_N='3'
DHCPD_CLIENT_1_NAME='client1'
DHCPD_CLIENT_1_ACTIVE='no'
DHCPD_CLIENT_1_MAC='00:01:02:03:04:05'
DHCPD_CLIENT_1_IPV4='192.168.6.2'
DHCPD_CLIENT_1_PXE_KERNEL=''
DHCPD_CLIENT_1_PXE_INITRD=''
DHCPD_CLIENT_1_PXE_ROOTFS=''
DHCPD_CLIENT_1_PXE_APPEND=''
DHCPD_CLIENT_1_NETBOOT='yes'
DHCPD_CLIENT_2_NAME='client2'
DHCPD_CLIENT_2_ACTIVE='no'
DHCPD_CLIENT_2_MAC='01:02:03:04:05:06'
DHCPD_CLIENT_2_IPV4='192.168.6.3'
DHCPD_CLIENT_2_PXE_KERNEL=''
DHCPD_CLIENT_2_PXE_INITRD=''
DHCPD_CLIENT_2_PXE_ROOTFS=''
DHCPD_CLIENT_2_PXE_APPEND=''
DHCPD_CLIENT_2_NETBOOT='yes'
DHCPD_CLIENT_3_NAME='test'
DHCPD_CLIENT_3_ACTIVE='yes'
DHCPD_CLIENT_3_MAC='00:01:02:03:04:05'
DHCPD_CLIENT_3_IPV4='192.168.1.1'
Die Optionen PXE_KERNEL, PXE_INITRD, PXE_ROOTFS, PXE_APPEND und NETBOOT
sind optional und vom Anwender ausgeblendet; in der /etc/config.d/dhcpd
sind sie deshalb für Eintrag 3 auch nicht vorhanden, jedoch mit Leerstring
für CLIENT_1/2.
Soweit so gut und IMHO normal.
Steht START_DHCPD auf yes wird auch die Konfiguration von eischeck
akzeptiert, steht START_DHCPD jedoch auf no, kommt:
unknown variable 'DHCPD_CLIENT_3_NETBOOT' in /etc/check.d/dhcpd.ext,
line 68
Zeile 68 ist die zweite set-Zeile in folgendem Codeausschnitt:
foreach idx in DHCPD_CLIENT_N
do
set dhcpd_client_active = DHCPD_CLIENT_%_ACTIVE[idx]
set dhcpd_client_netboot = DHCPD_CLIENT_%_NETBOOT[idx]
set dhcpd_client_pxe_kernel = DHCPD_CLIENT_%_PXE_KERNEL[idx]
set dhcpd_client_pxe_initrd = DHCPD_CLIENT_%_PXE_INITRD[idx]
if (dhcpd_client_netboot != "")
then
set dhcpd_client_netboot = "yes"
fi
if (dhcpd_client_pxe_kernel != "")
then
set dhcpd_client_netboot = "yes"
fi
if (dhcpd_client_pxe_initrd != "")
then
set dhcpd_client_netboot = "yes"
fi
if (dhcpd_client_active == "yes") && (dhcpd_client_netboot == "yes")
then
set need_tftpd = "yes"
fi
done
Ein direkt hinter die do-Zeile eingefügtes "warning ..." zeigt, dass bei
START_DHCPD=yes die Schleife dreimal fehlerfrei durchlaufen wird, obwohl
optionale Parameter fehlen.
Bei START_DHCPD=no wieder Fehlermeldung von eischeck (s. o.) eine Ausgabe
der eigens eigefügten warning-Ausgabe fehlt.
Werden die optionalen Parameter für CLIENT_3 gefüllt (Leerstring) läuft der
Check auch bei START_DHCPD=no durch.
Jemand eine Erklärung für dieses Verhalten?
--
Gruss Marcus
Mehr Informationen über die Mailingliste Eisfair_dev