Bug 890877

Summary: wicked fails to set default route using DHCP
Product: [openSUSE] openSUSE Tumbleweed Reporter: Christian Stoeckl <csto>
Component: NetworkAssignee: wicked maintainers <wicked-maintainers>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P5 - None CC: bwiedemann, kmroz, mt, per
Version: 201408*   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE 13.2   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Christian Stoeckl 2014-08-07 16:00:34 UTC
User-Agent:       Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36

T

Reproducible: Always

Steps to Reproduce:
Reboot

Actual Results:  
<route -n> 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.20.254.254  0.0.0.0         UG    0      0        0 eno1


Expected Results:  
<route -n> 
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.20.254.254  0.0.0.0         UG    0      0        0 eno1
172.20.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eno1


journalctl | grep wicked:


Aug 07 11:43:01 linux-1hkq wickedd-nanny[626]: ni_managed_device_progress(eno1) target(none [network-up..max]), transition(network-up => lldp-up)
Aug 07 11:43:01 linux-1hkq wickedd-dhcp6[608]: eno1: Request to release DHCPv6 lease with UUID cb86e253-9ff0-0000-7002-000011000000
Aug 07 11:43:01 linux-1hkq wickedd-dhcp6[608]: eno1: Dropped DHCPv6 lease with UUID cb86e253-9ff0-0000-7002-000011000000
Aug 07 11:43:01 linux-1hkq wickedd-nanny[626]: ni_managed_device_progress(eno1) target(none [network-up..max]), transition(lldp-up => firewall-up)
Aug 07 11:43:01 linux-1hkq wicked[9071]: eno1            device-ready
Aug 07 11:43:32 linux-1hkq wicked[629]: eno1: configuration applied to nanny
Aug 07 11:43:32 linux-1hkq wicked[629]: lo: configuration applied to nanny
Aug 07 11:43:32 linux-1hkq wickedd-nanny[622]: <interface>
Aug 07 11:43:32 linux-1hkq wickedd-nanny[622]: <name>eno1</name>
Aug 07 11:43:32 linux-1hkq wickedd-nanny[622]: <control>
Aug 07 11:43:32 linux-1hkq wickedd-nanny[622]: <mode>boot</mode>
Aug 07 11:43:32 linux-1hkq wickedd-nanny[622]: <link-detection>
Aug 07 11:43:32 linux-1hkq wickedd-nanny[622]: <require-link/>
Aug 07 11:43:32 linux-1hkq wickedd-nanny[622]: </link-detection>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: </control>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: <link/>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: <ipv4>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: <enabled>true</enabled>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: <forwarding>false</forwarding>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: <arp-verify>true</arp-verify>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: </ipv4>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: <ipv4:dhcp>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: <enabled>true</enabled>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: <flags>optional</flags>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: <update>hostname,dns,nis,ntp,smb,nds,slp,log</update>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: <hostname>linux-1hkq.site</hostname>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: <recover-lease>true</recover-lease>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: <release-lease>false</release-lease>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: </ipv4:dhcp>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: <ipv6>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: <enabled>true</enabled>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: <forwarding>false</forwarding>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: </ipv6>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: <ipv6:dhcp>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: <enabled>true</enabled>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: <flags>optional</flags>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: <update>default-route,dns,nis,ntp,smb,nds,slp,log</update>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: <mode>auto</mode>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: <rapid-commit>true</rapid-commit>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: </ipv6:dhcp>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: </interface>
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: 
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: ni_managed_device_progress(eno1) target(network-up [network-up..max]), transition(device-down => link-up)
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: ni_managed_device_progress(eno1) target(network-up [network-up..max]), transition(link-up => device-exists)
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: ni_managed_device_progress(eno1) target(network-up [network-up..max]), transition(device-exists => device-ready)
Aug 07 11:43:35 linux-1hkq wickedd[615]: Cannot format state into xml for /run/wicked/state-2.xml
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: ni_managed_device_progress(eno1) target(network-up [network-up..max]), transition(device-ready => device-up)
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: ni_managed_device_progress(eno1) target(network-up [network-up..max]), transition(device-up => protocols-up)
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: ni_managed_device_progress(eno1) target(network-up [network-up..max]), transition(protocols-up => firewall-up)
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: ni_managed_device_progress(eno1) target(network-up [network-up..max]), transition(firewall-up => link-up)
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: ni_managed_device_progress(eno1) target(network-up [network-up..max]), transition(link-up => link-authenticated)
Aug 07 11:43:35 linux-1hkq wickedd-nanny[622]: ni_managed_device_progress(eno1) target(network-up [network-up..max]), transition(link-authenticated => lldp-up)
Aug 07 11:43:35 linux-1hkq wickedd-dhcp4[611]: eno1: Request to acquire DHCPv4 lease with UUID a79ee353-de99-0e00-6702-000001000000
Aug 07 11:43:35 linux-1hkq wickedd-dhcp4[611]: eno1: Initiating DHCPv4 discovery (ifindex 2)
Aug 07 11:43:35 linux-1hkq wickedd-dhcp4[611]: eno1: Received offer for 172.20.32.161 from 172.20.1.17
Aug 07 11:43:35 linux-1hkq wickedd-dhcp4[611]: eno1: Requesting DHCPv4 lease with timeout 60 sec
Aug 07 11:43:35 linux-1hkq wickedd-dhcp6[612]: eno1: Request to acquire DHCPv6 lease with UUID a79ee353-de99-0e00-6702-000002000000 in mode auto
Aug 07 11:43:35 linux-1hkq wickedd-dhcp4[611]: eno1: Validating DHCPv4 address 172.20.32.161
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: <interface>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: <name>lo</name>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: <control>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: <mode>boot</mode>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: <boot-stage>localfs</boot-stage>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: <persistent>true</persistent>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: <link-detection>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: <require-link/>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: </link-detection>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: </control>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: <link/>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: <ipv4>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: <enabled>true</enabled>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: <forwarding>false</forwarding>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: </ipv4>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: <ipv4:static>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: <address>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: <local>127.0.0.1/8</local>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: <broadcast>127.255.255.255</broadcast>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: </address>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: </ipv4:static>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: <ipv6>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: <enabled>true</enabled>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: <forwarding>false</forwarding>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: </ipv6>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: <ipv6:static>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: <address>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: <local>::1/128</local>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: </address>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: </ipv6:static>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: </interface>
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: 
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: ni_managed_device_progress(lo) target(network-up [network-up..max]), transition(device-down => device-exists)
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: ni_managed_device_progress(lo) target(network-up [network-up..max]), transition(device-exists => device-ready)
Aug 07 11:43:36 linux-1hkq wickedd[615]: Cannot format state into xml for /run/wicked/state-1.xml
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: ni_managed_device_progress(lo) target(network-up [network-up..max]), transition(device-ready => device-up)
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: ni_managed_device_progress(lo) target(network-up [network-up..max]), transition(device-up => protocols-up)
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: ni_managed_device_progress(lo) target(network-up [network-up..max]), transition(protocols-up => firewall-up)
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: ni_managed_device_progress(lo) target(network-up [network-up..max]), transition(firewall-up => link-up)
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: ni_managed_device_progress(lo) target(network-up [network-up..max]), transition(link-up => link-authenticated)
Aug 07 11:43:36 linux-1hkq wickedd-nanny[622]: ni_managed_device_progress(lo) target(network-up [network-up..max]), transition(link-authenticated => lldp-up)
Aug 07 11:43:36 linux-1hkq wickedd-dhcp4[611]: eno1: Successfully validated DHCPv4 address 172.20.32.161
Aug 07 11:43:36 linux-1hkq wickedd-dhcp4[611]: eno1: Committed DHCPv4 lease with address 172.20.32.161 (lease time 86400 sec, renew in 43200 sec, rebind in 75600 sec)
Aug 07 11:43:36 linux-1hkq wickedd[615]: eno1: Notified neighbours about IP address 172.20.32.161
Aug 07 11:43:36 linux-1hkq wickedd[615]: eno1: successfully notified about address '172.20.32.161'
Aug 07 11:43:37 lubbock wickedd[615]: subprocesses exited with error
Aug 07 11:43:37 lubbock wickedd[615]: failed to install hostname settings
Aug 07 11:43:37 lubbock wickedd-nanny[622]: ni_managed_device_progress(lo) target(network-up [network-up..max]), transition(lldp-up => network-up)
Aug 07 11:43:37 lubbock wickedd-nanny[622]: ni_managed_device_progress(lo) target(network-up [network-up..max]), transition(network-up => network-up)
Aug 07 11:43:41 lubbock wickedd-dhcp6[612]: eno1: Committed DHCPv6 lease
Aug 07 11:43:41 lubbock wickedd-nanny[622]: ni_managed_device_progress(eno1) target(network-up [network-up..max]), transition(lldp-up => network-up)
Aug 07 11:43:41 lubbock wickedd-nanny[622]: ni_managed_device_progress(eno1) target(network-up [network-up..max]), transition(network-up => network-up)
Aug 07 11:43:41 lubbock wicked[629]: lo              up
Aug 07 11:43:41 lubbock wicked[629]: eno1            up
Comment 1 Karol Mroz 2014-08-13 22:04:28 UTC
Possible dup of bnc#890084 which also exhibits things like:

Aug 07 11:43:36 linux-1hkq wickedd[615]: Cannot format state into xml for /run/wicked/state-1.xml

Please re-test in the following manner and provide all logs:

set DEBUG=all in /etc/sysconfig/network/config
rm /var/run/wicked/state-*
systemctl restart wickedd
wicked --debug all ifup all
wicked ifstatus all > status.log
wicked show-config > configs.log
journalctl -b -o short-iso > wicked.log
ip addr show > ip_addr.log
ip route show > routes.log
ip -6 route show >> routes.log

Finally, as a workaround for your use (and only after you've gathered the logs above) you might try adding the following to your /etc/sysconfig/network/ifcfg-eno1:
DHCLIENT_SET_DEFAULT_ROUTE='yes'

Regards,
Karol
Comment 2 Marius Tomaschewski 2014-09-19 14:59:56 UTC
yast2-network were setting DHCLIENT_SET_DEFAULT_ROUTE='no' in ifcfg-XXX

This should be fixed in yast2 in the meantime, see also:

https://bugzilla.novell.com/show_bug.cgi?id=891045#c59
Comment 3 Per Jessen 2014-09-23 09:35:41 UTC
(In reply to Marius Tomaschewski from comment #2)
> yast2-network were setting DHCLIENT_SET_DEFAULT_ROUTE='no' in ifcfg-XXX
> 
> This should be fixed in yast2 in the meantime, see also:
> 
> https://bugzilla.novell.com/show_bug.cgi?id=891045#c59

Have just installed current Factory, no default route was assigned.
Comment 4 Marius Tomaschewski 2014-09-23 09:42:33 UTC
(In reply to Per Jessen from comment #3)
> (In reply to Marius Tomaschewski from comment #2)
> > yast2-network were setting DHCLIENT_SET_DEFAULT_ROUTE='no' in ifcfg-XXX
> > 
> > This should be fixed in yast2 in the meantime, see also:
> > 
> > https://bugzilla.novell.com/show_bug.cgi?id=891045#c59
> 
> Have just installed current Factory, no default route was assigned.

Please attach logs as requested in comment 1 as well as a output of:

grep ^DHCLIENT_SET_DEFAULT_ROUTE /etc/sysconfig/network/{dhcp,ifcfg-*}
Comment 5 Per Jessen 2014-09-23 12:02:57 UTC
(In reply to Marius Tomaschewski from comment #4)
> (In reply to Per Jessen from comment #3)
> > (In reply to Marius Tomaschewski from comment #2)
> > > yast2-network were setting DHCLIENT_SET_DEFAULT_ROUTE='no' in ifcfg-XXX
> > > 
> > > This should be fixed in yast2 in the meantime, see also:
> > > 
> > > https://bugzilla.novell.com/show_bug.cgi?id=891045#c59
> > 
> > Have just installed current Factory, no default route was assigned.
> 
> Please attach logs as requested in comment 1 as well as a output of:
> 
> grep ^DHCLIENT_SET_DEFAULT_ROUTE /etc/sysconfig/network/{dhcp,ifcfg-*}

DHCLIENT_SET_DEFAULT_ROUTE was set to 'no'.  I'll try and get the logs later today.
Comment 6 Per Jessen 2014-09-23 13:21:06 UTC
(In reply to Per Jessen from comment #5)
> (In reply to Marius Tomaschewski from comment #4)
> > (In reply to Per Jessen from comment #3)
> > > (In reply to Marius Tomaschewski from comment #2)
> > > > yast2-network were setting DHCLIENT_SET_DEFAULT_ROUTE='no' in ifcfg-XXX
> > > > 
> > > > This should be fixed in yast2 in the meantime, see also:
> > > > 
> > > > https://bugzilla.novell.com/show_bug.cgi?id=891045#c59
> > > 
> > > Have just installed current Factory, no default route was assigned.
> > 
> > Please attach logs as requested in comment 1 as well as a output of:
> > 
> > grep ^DHCLIENT_SET_DEFAULT_ROUTE /etc/sysconfig/network/{dhcp,ifcfg-*}
> 
> DHCLIENT_SET_DEFAULT_ROUTE was set to 'no'.  I'll try and get the logs later
> today.

This test system was later installed with the 64bit version, and the initial ifcfg-enp1s1f0 contains:

BOOTPROTO='dhcp'
STARTMODE='auto'

Also, the default route is correctly set. 

I then started up yast to rename the interface 'eth0', after which the default route was gone, and the new ifcfg-eth0 contains:

BOOTPROTO='dhcp'
BROADCAST=''
DHCLIENT_SET_DEFAULT_ROUTE='no'
ETHTOOL_OPTIONS=''
IPADDR=''
MTU=''
NAME=''
NETMASK=''
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'

I assume you won't need the logs after this.
Comment 7 Marius Tomaschewski 2014-09-23 20:32:25 UTC
(In reply to Per Jessen from comment #6)
> > DHCLIENT_SET_DEFAULT_ROUTE was set to 'no'.  I'll try and get the logs later
> > today.
> 
> This test system was later installed with the 64bit version, and the initial
> ifcfg-enp1s1f0 contains:
> 
> BOOTPROTO='dhcp'
> STARTMODE='auto'
> 
> Also, the default route is correctly set. 
> 
> I then started up yast to rename the interface 'eth0', after which the
> default route was gone, and the new ifcfg-eth0 contains:
> 
> BOOTPROTO='dhcp'
> BROADCAST=''
> DHCLIENT_SET_DEFAULT_ROUTE='no'
> ETHTOOL_OPTIONS=''
> IPADDR=''
> MTU=''
> NAME=''
> NETMASK=''
> NETWORK=''
> REMOTE_IPADDR=''
> STARTMODE='auto'
> 
> I assume you won't need the logs after this.

No, I don't need wicked logs as it is not a wicked but a yast2 issue.

I'd say, let's open a new bug report or reopen ... bug #895294?
Comment 8 Marius Tomaschewski 2014-09-23 20:47:03 UTC
But it makes sense to get the yast2 logs -- use save_y2logs to provide them
from a system where it happened. I've added a comment to bug 895294 and bug
891045 for now.
Comment 9 Per Jessen 2014-09-24 06:53:19 UTC
(In reply to Marius Tomaschewski from comment #8)
> But it makes sense to get the yast2 logs -- use save_y2logs to provide them
> from a system where it happened. I've added a comment to bug 895294 and bug
> 891045 for now.

Unfortunately I am not authorised to view either of those. I'll open a new report.
Comment 10 Per Jessen 2014-09-24 07:07:07 UTC
(In reply to Per Jessen from comment #9)
> (In reply to Marius Tomaschewski from comment #8)
> > But it makes sense to get the yast2 logs -- use save_y2logs to provide them
> > from a system where it happened. I've added a comment to bug 895294 and bug
> > 891045 for now.
> 
> Unfortunately I am not authorised to view either of those. I'll open a new
> report.

see bug#898114