|
Bugzilla – Full Text Bug Listing |
| Summary: | No network after upgrading to RC1 | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 12.3 | Reporter: | Forgotten User eDPGYP6_cn <forgotten_eDPGYP6_cn> |
| Component: | Network | Assignee: | openSUSE GNOME <os.gnome.maintainers> |
| Status: | RESOLVED FIXED | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Critical | ||
| Priority: | P5 - None | CC: | aplanas, fcrozat, freek, Greg.Freemyer, jweberhofer, koenig, lmuelle, lnussel, mfilka, mt, o.nicolas, peter, rjschwei, simon.palmer |
| Version: | RC 1 | Flags: | coolo:
SHIP_STOPPER+
|
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | Other | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | Yes | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: | migrate NETWORKMANAGER=no setting | ||
|
Description
Forgotten User eDPGYP6_cn
2013-02-11 12:02:50 UTC
Also experienced while updating from beta1 to rc1. Here it had the side effect that when I connected to a wifi network instead of Gbit Ethernet, the default route was set to the IP of the gw used with the wired network, even when it was not connected. I used "rm /var/lib/dhcp*/*" as a workaround as I did not notice the NM->traditional change... Removing the /var/lib/dhcp*/* didnt fix the network issue :( Since this is my primary work laptop, I couldnt take the downtime longer. I went and reinstalled (as per suggestions in some fedora forums) and that has fixed the issue. So I do not have the setup with me now. After the re-installation network access is fine. From the fedora forum, it appeared to me that this is a systemd related issue. This is similar to bug #803008, see workaround there. sysconfig and most other packages has been changed to not use NETWORKMANAGER variable any more, but a network.service alias link. See also release notes bug #800771 and - still unfixed - bug #798348, to adopt switching between NetworkManager and /etc/init.d/network in yast2. [/etc/init.d/network is currently active only while miminal installation, in all other cases NetworkManager because yast2 is unable to switch it as needed.] To enable NetworkManager, use: systemctl stop network.service systemctl --force enable NetworkManager.service systemctl start network.service to disable NetworkManager, use: systemctl stop network.service systemctl --force disable NetworkManager.service systemctl start network.service This command: systemctl --no-pager -p Id show network.service reports "Id=NetworkManager.service" when NetworkManager acts as the network service, "Id=network.service" means /etc/init.d/network. Please use above commands to enable/disable NetworkManager as needed and reboot. Does it work as expected after? When not, and you are using /etc/init.d/network, please call "supportconfig" (supportutils package) and attach the archive it creates. As mentioned in my previous comment, I do not have the setup anymore. I reinstalled and the issue vanished. If the above commands will resolve the issue, is it not possible to execute it automatically on the first boot after the `zypper dup` ? Created attachment 525267 [details] migrate NETWORKMANAGER=no setting (In reply to comment #5) > is it not possible to execute it automatically on the first boot after > the `zypper dup` ? Well, yes -- we have to fix it. The patch is a result of: osc rdiff openSUSE:Factory/sysconfig home:mtomaschewski:tests/sysconfig It adds a migration hook disabling NetworkManager.service on update from an installation with a NETWORKMANAGER=no setting. That is basically a: if [ "X$NETWORKMANAGER" = "Xno" -a -x /bin/systemctl ] ; then /bin/systemctl --force disable NetworkManager.service || : fi plus guard to make it only on update from system using NETWORKMANAGER. My "zypper dup" is still running, that is, I expect we need more than this, e.g. /usr/lib/systemd/system-preset/default-openSUSE.preset currently contains an "enable NetworkManager.service" line ... Frederic, Ludwig, while NetworkManager.service on <=12.2 were using the NETWORKMANAGER variable and the service file were always enabled, it isn't / should't be always enabled any more -> it breaks update. So we have to remove it from the preset file, right? *** Bug 802879 has been marked as a duplicate of this bug. *** (In reply to comment #7) > Frederic, Ludwig, > > while NetworkManager.service on <=12.2 were using the NETWORKMANAGER > variable and the service file were always enabled, it isn't / should't > be always enabled any more -> it breaks update. > > So we have to remove it from the preset file, right? Which package will take care of calling "systemctl enable network.service / systemctl enable NetworkManager.service" ? If we are sure packages will enable the services (which will create the needed symlink), I'm fine to remove NetworkManager.service from the preset. (In reply to comment #9) > (In reply to comment #7) > > Frederic, Ludwig, > > > > while NetworkManager.service on <=12.2 were using the NETWORKMANAGER > > variable and the service file were always enabled, it isn't / should't > > be always enabled any more -> it breaks update. > > > > So we have to remove it from the preset file, right? > > Which package will take care of calling "systemctl enable network.service / > systemctl enable NetworkManager.service" ? If we are sure packages will enable > the services (which will create the needed symlink), I'm fine to remove > NetworkManager.service from the preset. On a fresh install this is job of yast2 according to the choice in the proposal. The "systemctl enable network.service" alias %{fillup_and_insserv -fY network}
that activates /etc/init.d/network is done in sysconfig.spec file as before.
And it is IM fine when /etc/init.d/network remains active, as we need only
either "enable" or "disable" of NetworkManager.service, which masks the
network.service provided via /etc/init.d/network (when NM gets enabled).
I've tested with NETWORKMANAGER=yes and noticed, that we seem to need
an explicit "enable" as well, otherwise the NetworkManager.service is
enabled after "zypper dup", but the network.service link is missed.
Going to retest using this code:
case $NETWORKMANAGER in
# explicitly disable, so /etc/init.d/network is used
no) ACTION=disable ;;
# explicitly enable to create network.service alias
yes) ACTION=enable ;;
*) ACTION="" ;;
esac
if [ -n "$ACTION" -x /bin/systemctl ] ; then
/bin/systemctl --force $ACTION NetworkManager.service || :
fi
Ahm... no, the above will IMO not work too. The enable has to be done in %post of the _new_ NetworkManager.spec. OK, there are new sysconfig & NetworkManager packages at: http://download.opensuse.org/repositories/home:/mtomaschewski:/tests/openSUSE_Factory/ I'm currently testing it.... IMO the disable has to be called early, so I keep it in sysconfig %post. But the "enable" has to be done in the NetworkManager %post _after_ the installation of the NetworkManager.service file which provides the alias link: sysconfig %pre: # trigger update from < 0.80.x only (-> openSUSE 12.3), # (guard for variable added to network/config later...) if grep -qs "^NETWORKMANAGER=" \ var/adm/fillup-templates/sysconfig.config-network ; then grep -s "^NETWORKMANAGER=" etc/sysconfig/network/config \ > /dev/.sysconfig/network/migrate_nm_variable fi sysconfig %post: if [ -f /dev/.sysconfig/network/migrate_nm_variable ] ; then . /dev/.sysconfig/network/migrate_nm_variable if [ -x /bin/systemctl -a -x /usr/sbin/NetworkManager ] ; then case $NETWORKMANAGER in # bnc#803058: # explicitly disable, so /etc/init.d/network is not masked. # The enablement is done in the NetworkManager post script # to create the network.service alias link as needed. no) /bin/systemctl --force disable NetworkManager.service || : ;; esac fi # keep the /dev/.sysconfig/network/migrate_nm_variable file, # so the NetworkManager post-install is able to enable later. fi NetworkManager %post: # sysconfig creates this file while update from openSUSE <= 12.2, # which were using the NETWORKMANAGER=yes/no sysconfig variable. # When it exists, enable/disable our service accordingly, so the # network.service alias link refers to the same service as before. if [ -f /dev/.sysconfig/network/migrate_nm_variable ] ; then . /dev/.sysconfig/network/migrate_nm_variable rm -f /dev/.sysconfig/network/migrate_nm_variable if [ -x /bin/systemctl ] ; then case $NETWORKMANAGER in no) /bin/systemctl --force disable NetworkManager.service || : ;; yes) /bin/systemctl --force enable NetworkManager.service || : ;; esac fi fi *** Bug 804577 has been marked as a duplicate of this bug. *** OK, the packages in: http://download.opensuse.org/repositories/home:/mtomaschewski:/tests/openSUSE_Factory/ basically work fine in NM=no case. It almost works also in NM=yes case, but the restart_on_update NM does fails / timeouts. Frederic, any idea how to solve it? Before "zypper dup": trinity9:~ # systemctl status network.service network.service - LSB: Configure the localfs depending network interfaces Loaded: loaded (/etc/init.d/network) Active: active (exited) since Wed, 20 Feb 2013 18:04:49 +0100; 17min ago CGroup: name=systemd:/system/network.service trinity9:~ # systemctl status NetworkManager.service NetworkManager.service - Network Manager Loaded: loaded (/lib/systemd/system/NetworkManager.service; enabled) Active: active (running) since Wed, 20 Feb 2013 18:06:15 +0100; 15min ago Process: 1866 ExecStartPre=/usr/bin/test x${NETWORKMANAGER} = xyes (code=exited, status=0/SUCCESS) Main PID: 1869 (NetworkManager) CGroup: name=systemd:/system/NetworkManager.service ├ 1869 /usr/sbin/NetworkManager --no-daemon ├ 2116 /sbin/dhclient -d -4 -sf /usr/lib/nm-dhcp-client.action -pf /var/run/d... └ 2118 /sbin/dhclient -d -6 -N -sf /usr/lib/nm-dhcp-client.action -pf /var/ru... rpm --scripts traces: *** sysconfig: + '[' -f /dev/.sysconfig/network/migrate_nm_variable -a -x /bin/systemctl ']' + . /dev/.sysconfig/network/migrate_nm_variable ++ NETWORKMANAGER=yes + case $NETWORKMANAGER in + ln -sf /usr/lib/systemd/system/NetworkManager.service /etc/systemd/system/network.service *** NetworkManager: + '[' -f /dev/.sysconfig/network/migrate_nm_variable ']' + . /dev/.sysconfig/network/migrate_nm_variable ++ NETWORKMANAGER=yes + '[' Xyes = Xyes ']' + /usr/bin/systemctl --force enable NetworkManager.service + '[' '!' -e /etc/systemd/system/network.service ']' + rm -f /dev/.sysconfig/network/migrate_nm_variable + test -n '' + FIRST_ARG=2 + '[' -d /var/lib/systemd/migrated ']' + for service in NetworkManager.service + sysv_service=NetworkManager + '[' '!' -e /var/lib/systemd/migrated/NetworkManager ']' + /usr/bin/systemctl daemon-reload + '[' -n '' ']' + '[' 2 -eq 1 ']' + test -n '' + FIRST_ARG=1 + '[' 1 -ge 1 ']' + /bin/systemctl try-restart NetworkManager.service + : Status after the "zypper dup" run [network is up, NM tasks killed]: trinity9:~ # systemctl status network.service ; systemctl status NetworkManager.service ; ls -l /etc/systemd/system/ ; systemctl --no-pager -p Id show network.service NetworkManager.service - Network Manager Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled) Active: failed (Result: timeout) since Wed, 2013-02-20 18:39:14 CET; 11min ago Main PID: 16061 CGroup: name=systemd:/system/NetworkManager.service Feb 20 18:34:44 trinity9.lab31.mat-home.net NetworkManager[16061]: <info> NetworkManage... Feb 20 18:34:44 trinity9.lab31.mat-home.net NetworkManager[16061]: <info> Read config f... Feb 20 18:34:44 trinity9.lab31.mat-home.net NetworkManager[16061]: <info> WEXT support ... Feb 20 18:36:14 trinity9.lab31.mat-home.net NetworkManager[16061]: <info> caught signal... NetworkManager.service - Network Manager Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled) Active: failed (Result: timeout) since Wed, 2013-02-20 18:39:14 CET; 11min ago Main PID: 16061 CGroup: name=systemd:/system/NetworkManager.service Feb 20 18:34:44 trinity9.lab31.mat-home.net NetworkManager[16061]: <info> NetworkManage... Feb 20 18:34:44 trinity9.lab31.mat-home.net NetworkManager[16061]: <info> Read config f... Feb 20 18:34:44 trinity9.lab31.mat-home.net NetworkManager[16061]: <info> WEXT support ... Feb 20 18:36:14 trinity9.lab31.mat-home.net NetworkManager[16061]: <info> caught signal... insgesamt 16 lrwxrwxrwx 1 root root 40 20. Feb 18:25 default.target -> /usr/lib/systemd/system/runlevel3.target drwxr-xr-x 2 root root 4096 20. Feb 18:25 default.target.wants drwxr-xr-x 2 root root 4096 20. Feb 18:25 getty.target.wants lrwxrwxrwx 1 root root 9 20. Feb 18:04 klogd.service -> /dev/null drwxr-xr-x 2 root root 4096 20. Feb 18:27 multi-user.target.wants lrwxrwxrwx 1 root root 46 20. Feb 18:25 network.service -> /usr/lib/systemd/system/NetworkManager.service drwxr-xr-x 2 root root 4096 20. Feb 09:04 network.target.wants lrwxrwxrwx 1 root root 39 20. Feb 18:27 syslog.service -> /usr/lib/systemd/system/rsyslog.service Id=NetworkManager.service FYI: I've changed to use "systemctl mask network.service" while NM=yes again in most recent sysconfig rpms instead of link to not yet existing NM service. Before, it wasn't helpful, but as enable seems to be NM-enable to create the alias now [so there was something wrong] ... I'll retest it tomorrow. would probably need a more complete log of NM (journalctl -b -u NetworkManager.service) to really understand what is going on.. (In reply to comment #18) > would probably need a more complete log of NM (journalctl -b -u > NetworkManager.service) to really understand what is going on.. There is IMO nothing special visible in the NM logs [here the part without to filter with -u to make additional logs visible]: Feb 21 13:15:47 trinity9.lab31.mat-home.net dbus-daemon[453]: dbus[453]: [system] Reloaded configuration Feb 21 13:15:47 trinity9.lab31.mat-home.net dbus[453]: [system] Reloaded configuration Feb 21 13:15:47 trinity9.lab31.mat-home.net systemd[1]: Reloading. ... Feb 21 13:15:47 trinity9.lab31.mat-home.net NetworkManager[461]: <info> caught signal 15, shutting down normally. Feb 21 13:15:47 trinity9.lab31.mat-home.net NetworkManager[461]: <warn> quit request received, terminating... Feb 21 13:15:47 trinity9.lab31.mat-home.net NetworkManager[461]: <info> Clearing nscd hosts cache. Feb 21 13:15:47 trinity9.lab31.mat-home.net NetworkManager[461]: <info> exiting (success) Feb 21 13:17:17 trinity9.lab31.mat-home.net systemd[1]: NetworkManager.service stopping timed out (2). Killing. Feb 21 13:17:17 trinity9.lab31.mat-home.net systemd[1]: Unit NetworkManager.service entered failed state. Feb 21 13:17:17 trinity9.lab31.mat-home.net NetworkManager[14893]: <info> NetworkManager (version 0.9.6.4) is starting... Feb 21 13:17:17 trinity9.lab31.mat-home.net NetworkManager[14893]: <info> Read config file /etc/NetworkManager/NetworkManager.conf Feb 21 13:17:17 trinity9.lab31.mat-home.net NetworkManager[14893]: <info> WEXT support is enabled Feb 21 13:18:47 trinity9.lab31.mat-home.net systemd[1]: NetworkManager.service operation timed out. Terminating. Feb 21 13:18:47 trinity9.lab31.mat-home.net NetworkManager[14893]: <info> caught signal 15, shutting down normally. Feb 21 13:20:17 trinity9.lab31.mat-home.net systemd[1]: NetworkManager.service stopping timed out (2). Killing. Feb 21 13:21:47 trinity9.lab31.mat-home.net systemd[1]: NetworkManager.service still around after SIGKILL (2). Entering failed mode. Feb 21 13:21:47 trinity9.lab31.mat-home.net systemd[1]: Job NetworkManager-wait-online.service/start failed with result 'dependency'. Feb 21 13:21:47 trinity9.lab31.mat-home.net systemd[1]: Unit NetworkManager.service entered failed state. Feb 21 13:21:53 trinity9.lab31.mat-home.net systemd[1]: Reloading. More interesting seems to be the "Warning: Unit file changed on disk" I've seen via ssh while try-restart were running... Created attachment 525768 [details]
Capture/logs from NETWORKMANAGER=yes test [try-restart problems] #3
OK, - requested submission of sysconfig to openSUSE:Factory in 156054 and - NetworkManager -> GNOME:Factory in 156055 for review by NM maintainers. + Reassign to NetworkManager for review. This is an autogenerated message for OBS integration: This bug (803058) was mentioned in https://build.opensuse.org/request/show/156054 Factory / sysconfig Removed "enable NetworkManager.service" from presets in request 156065 systemd-presets-branding-openSUSE -> Base:System - Do not unconditionally enable NetworkManager service as this breaks running /etc/init.d/network on update (bnc#803058). [While NetworkManager were using NETWORKMANAGER variable and the service always enabled on < 12.3, it is not enabled on 12.3 any more when /etc/init.d/network is used] This is an autogenerated message for OBS integration: This bug (803058) was mentioned in https://build.opensuse.org/request/show/156066 Factory / systemd-presets-branding-openSUSE *** Bug 802473 has been marked as a duplicate of this bug. *** This is an autogenerated message for OBS integration: This bug (803058) was mentioned in https://build.opensuse.org/request/show/156714 Factory / NetworkManager Is this fixed? I had the bug in RC1, but with a recent zypper dup, all is well for me. looks like it, 156714 is in 12.3 Note: The fix does not catch work for 12.3-RC1 -> 12.3-RC2 updates, but only for 12.2 -> 12.3 updates: it checks if the old sysconfig package were still using the NETWORKMANAGER variable or not. The fixed packages are: http://download.opensuse.org/factory-snapshot/ (sysconfig-0.80.5, NetworkManager, systemd-presets-branding-openSUSE) *** Bug 802761 has been marked as a duplicate of this bug. *** I am upgrading 12.1 and 12.2 to 12.3 using the RC2 NET image. Both upgrading fails in sysconfig (sysconfig-0.80.5-1.1.1.x86_64.rpm) line 11 /dev/.sysconfig/network/migrate_nm_variable: No such file or directory (In reply to comment #40) > I am upgrading 12.1 and 12.2 to 12.3 using the RC2 NET image. Both upgrading > fails in sysconfig (sysconfig-0.80.5-1.1.1.x86_64.rpm) > > line 11 /dev/.sysconfig/network/migrate_nm_variable: No such file or directory Yes, see bug#806989 -- there is a mkdir -p missed in ISO boot + update case :-( *** Bug 809233 has been marked as a duplicate of this bug. *** Is this the same bug: I upgraded from opensuse12.2 to 12.3, and found my network didn't work. I have an eth0 with 0.0.0.0/32, and a bridge br0 with a valid static IP. I've never use NM on this host After the upgrade, even though my network in yast and in /etc/sysconfig/network/ifcfg-eth0 said eth0 should have 0.0.0.0 for the bridge, it was picking up a DHCP from my router, giving me 2 IP's on the same subnet, and no comms. I did this (from further up) to fix: systemctl stop network.service systemctl --force disable NetworkManager.service systemctl start network.service and not had the problem since. Si This is an autogenerated message for OBS integration: This bug (803058) was mentioned in https://build.opensuse.org/request/show/704198 Factory / NetworkManager This is an autogenerated message for OBS integration: This bug (803058) was mentioned in https://build.opensuse.org/request/show/704415 Factory / NetworkManager |