Univention Bugzilla – Bug 16652
Mehrere dhclient-Instanzen bei der Verwendung von ifplugd
Last modified: 2010-02-18 14:37:08 CET
+++ This bug was initially created as a clone of Bug #8994 +++ (In reply to comment #52) > > Das resolv.py Modul wird wieder mitgebracht und führt bei Verwendung des > > ifplugd dhclient aus. ucr Paket ist gebaut. > > Den Aufruf von dhclient im UCR Modul finde ich ungünstig, da dann ggf. mehrere > dhclient-Instanzen laufen. 1x pro Commit auf /etc/resolv.conf und zusätzlich 1x > von ifplugd. ggf. reicht es aus, "/etc/init.d/ifplugd restart" anstelle einer neuen dhclient-Instanz in dem Modul zu starten.
*** Bug 16864 has been marked as a duplicate of this bug. ***
Ich reinitialisiere die Interfaces jetzt mit ifdown/ifup. Dabei wird der alte dhclient sauber runtergefahren und anschließend der neue gestartet. ChangeLog Eintrag ist hinzugefügt
Der Changelogeintrag war vorhanden und das merge in den branch waren soweit auch ok. In der entsprechenden Datei wird folgendes ausgeführt: if baseConfig.get( 'interfaces/handler', 'ifplugd' ) == 'networkmanager': return for key in baseConfig.keys(): if key.startswith('interfaces/') and key.endswith('/type'): if baseConfig[key] == 'dhcp' and os.path.exists('/sbin/dhclient'): iface=key.split('/')[1] subprocess.call( [ 'ifdown', iface ] )#neu subprocess.call( [ 'ifup', iface ] )#neu Der neu hinzu gekommene Teil sieht meines Erachtens gut aus, jedoch funktioniert das setzen von interfaces/handler auf den Wert "ifplug" nicht korrekt. In der Konsole wird die Warnmeldung "Ignoring unknown Interface handler=handler" ausgegeben.
Andre: Bitte ein UCR-Dump anhängen.
Created attachment 2212 [details] UCR-Dump
(In reply to comment #3) > Der neu hinzu gekommene Teil sieht meines Erachtens gut aus, jedoch > funktioniert das setzen von interfaces/handler auf den Wert "ifplug" nicht > korrekt. Das Problem hatte nichts mit diesen Änderungen zu tun. Das Modul interfaces.py hat handler aus der Variable interfaces/handler als interface behandelt. Ist jetzt korrigiert.
Verified: (In reply to comment #6) > (In reply to comment #3) > > Der neu hinzu gekommene Teil sieht meines Erachtens gut aus, jedoch > > funktioniert das setzen von interfaces/handler auf den Wert "ifplug" nicht > > korrekt. > > Das Problem hatte nichts mit diesen Änderungen zu tun. Das Modul interfaces.py > hat handler aus der Variable interfaces/handler als interface behandelt. Ist > jetzt korrigiert. Funktioniert (In reply to comment #2) > Ich reinitialisiere die Interfaces jetzt mit ifdown/ifup. Dabei wird der alte > dhclient sauber runtergefahren und anschließend der neue gestartet. Stimmt - Es gibt nur einen dhclient-Prozess pro DHCP-Schnittstelle > ChangeLog Eintrag ist hinzugefügt \item Bei der Erzeugung der Konfigurationsdatei /etc/resolv.conf wird jetzt bei der Verwendung des ifplugd kein neuer dhclient Prozess gestartet, sondern das Interface neu initialisiert (\ucsBug{16652}). (Getestet mit folgender Konfiguration: interfaces/eth0/address: 10.200.12.40 interfaces/eth0/broadcast: 10.200.12.255 interfaces/eth0/netmask: 255.255.255.0 interfaces/eth0/network: 10.200.12.0 interfaces/eth1/address: 10.200.12.41 interfaces/eth1/broadcast: 10.200.12.255 interfaces/eth1/fallback/address: 10.200.12.41 interfaces/eth1/fallback/broadcast: 10.200.12.255 interfaces/eth1/fallback/netmask: 255.255.255.0 interfaces/eth1/fallback/network: 10.200.12.0 interfaces/eth1/netmask: 255.255.255.0 interfaces/eth1/network: 10.200.12.0 interfaces/eth1/type: dhcp interfaces/eth2/address: 10.200.12.42 interfaces/eth2/broadcast: 10.200.12.255 interfaces/eth2/fallback/address: 10.200.12.42 interfaces/eth2/fallback/broadcast: 10.200.12.255 interfaces/eth2/fallback/netmask: 255.255.255.0 interfaces/eth2/fallback/network: 10.200.12.0 interfaces/eth2/netmask: 255.255.255.0 interfaces/eth2/network: 10.200.12.0 interfaces/eth2/type: dhcp interfaces/handler: ifplugd )
UCS 2.3-1 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer neueren Version von UCS erneut auftreten, so sollte der Bug dupliziert werden: "Clone This Bug".