Bug 857340

Summary: needed 3 runs of "yast2 lan" to configure a bridge
Product: [openSUSE] openSUSE 13.1 Reporter: J. Daniel Schmidt <jdsn>
Component: YaST2Assignee: Michal Filka <mfilka>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Normal    
Priority: P5 - None CC: jreidinger, mvidner
Version: Final   
Target Milestone: ---   
Hardware: x86-64   
OS: Other   
Whiteboard:
Found By: Development Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: YaST logs created after three runs of yast2 lan to configure the bridge
/var/log/messages of the system

Description J. Daniel Schmidt 2014-01-03 12:15:30 UTC
I installed an openSUSE 13.1 (no update) on my workstation and installed all updates (available on 2014-01-03) right after (not during) the installation (before the first login).

In the installation phase I kept the default network configuration (ifup with dhcp).
In the installed system I wanted to add a bridge device and have the only NIC configured as bridged device. Here is what happened:

- ran yast2 lan first time
  + deleted configuration for "em1"
  + added bridge "br0"
  + wanted to add the "em1" device to the bridge, but NO device was available
  + so I saved the config as it was at that moment (bridge without bridged device)
    and exited

- verified current config:
 # grep BRIDGE_PORTS /etc/sysconfig/network/ifcfg-br0
 BRIDGE_PORTS=''

- ran yast2 lan second time
  + edit bridge "br0"
  + add "em1" as bridged device (now the device was available)
  + saved the configuration and exited

- verified the change:
 # grep BRIDGE_PORTS /etc/sysconfig/network/ifcfg-br0
 BRIDGE_PORTS='em1'

- surprisingly the bridge had no bridged device "em1":
  # brctl show
  bridge name     bridge id               STP enabled     interfaces
  br0             8000.000000000000       no

- furthermore, there no longer was a device called "em1":
  # ip a
  1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
  2: eno1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
    link/ether b8:ca:3a:7d:b1:a1 brd ff:ff:ff:ff:ff:ff
  3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether e6:a5:11:f4:26:1a brd ff:ff:ff:ff:ff:ff
    inet6 fe80::e4a5:11ff:fef4:261a/64 scope link 
       valid_lft forever preferred_lft forever

- so, ran yast2 lan a third time
  + edited bridge "br0"
  + add "eno1" as bridged device (the only available device now)
  + saved and exited

- now the configuration was correct (verified with the checks from above)
  but the network was dead still
  # rcnetwork status
  [...]
  network.service - LSB: Configure network interfaces and set up routing
     Loaded: loaded (/usr/lib/systemd/system/network.service; enabled)
     Active: active (exited) (Result: exit-code) since Fri 2014-01-03 12:08:53 CET; 25min ago
    Process: 9410 ExecReload=/etc/init.d/network reload (code=exited, status=7)

  Jan 03 12:24:57 belana network[4843]: lo        is up
  Jan 03 12:25:15 belana network[4843]: ..done..doneSetting up service network  .  .  .  ...done
  Jan 03 12:25:15 belana systemd[1]: Reloaded LSB: Configure network interfaces and set up routing.
  Jan 03 12:25:40 belana systemd[1]: Reloading LSB: Configure network interfaces and set up routing.
  Jan 03 12:25:41 belana network[8104]: service network not active..failed
  Jan 03 12:25:41 belana systemd[1]: network.service: control process exited, code=exited status=7
  Jan 03 12:25:41 belana systemd[1]: Reload failed for LSB: Configure network interfaces and set up routing.
  Jan 03 12:33:26 belana systemd[1]: Reloading LSB: Configure network interfaces and set up routing.
  Jan 03 12:33:26 belana network[9410]: service network not active..failed
  Jan 03 12:33:26 belana systemd[1]: network.service: control process exited, code=exited status=7
  Jan 03 12:33:26 belana systemd[1]: Reload failed for LSB: Configure network interfaces and set up routing.

- it took a final "systemctl restart network.service" to make the network actually work


I will attach the y2logs with comment #1.


Expected behaviour:
 I can do this configuration change running yast2 lan only once and it should work.
Comment 1 J. Daniel Schmidt 2014-01-03 12:17:58 UTC
Created attachment 573249 [details]
YaST logs created after three runs of yast2 lan to configure the bridge
Comment 2 J. Daniel Schmidt 2014-01-03 12:32:35 UTC
Created attachment 573250 [details]
/var/log/messages of the system

The messages of the system might be interesting as well, as it contains hints to the magic device renaming. As this file was not part of the y2logs tarball I add it separately.
Comment 3 Josef Reidinger 2016-10-20 13:34:16 UTC
I try to reproduce it, but with 42.2 it works for me. So closing as fixed as there is a lot of work and fixes in bridge part. Please reopen if it still do not work in 1 run on 42.2.

Thanks