Bug 148263

Summary: Changes in Network Card module do not become immediately effective
Product: [openSUSE] SUSE Linux 10.1 Reporter: Forgotten User 55iwwMllzz <forgotten_55iwwMllzz>
Component: YaST2Assignee: Martin Vidner <mvidner>
Status: RESOLVED FIXED QA Contact: Klaus Kämpf <kkaempf>
Severity: Major    
Priority: P5 - None CC: mvidner, suse-beta
Version: Beta 3   
Target Milestone: ---   
Hardware: All   
OS: Other   
Whiteboard:
Found By: Beta-Customer Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Forgotten User 55iwwMllzz 2006-02-05 01:05:12 UTC
STEPS TO REPRODUCE

1. Open YaST -> Network Devices -> Network Card
2. Change the Network Setup Method from "User Controlled with NetworkManager" to "Traditional Method with ifup" or vice-versa (what is important here to choose a method different from the one currently in use)
3. Apply the changes and close the Network Card module.

WHAT HAPPENS

The changes made did not become effective as can be easily checked using KNetworkManager or by running "ps ax | grep NetworkManager". Only after running /etc/init.d/network restart the changes become effective.

WHAT SHOULD HAPPEN

The changes should become immediately effective after closing YaST's Network Card module.
Comment 1 Martin Vidner 2006-02-06 15:52:21 UTC
please attach the logs: http://en.opensuse.org/Bug_Reporting_FAQ#YaST
Comment 2 Martin Vidner 2006-02-06 16:34:31 UTC
Got the logs myself.

Christian, this is related to the changes in
https://bugzilla.novell.com/show_bug.cgi?id=135595#c39

I basically do
if rcnetfork status; then
  rcnetwork reload
else
  rcnetwork start
fi

It fails like this. I think that it is nonsense to fail "start" and require a "reatart" or "reload" instead.

rcnetwork status:
Checking for the NetworkManager: Checking for the NetworkManagerDispatcher: Advanced Network Control System is active as well. Check your config or restart network.
    eth0      device: Digital Equipment Corporation DECchip 21142/43 (rev 41)
    eth0      configuration: eth-id-00:00:1c:b5:70:7e
    eth0      ifplugd is running
    eth0      cable is connected
    eth0      DHCP client (dhcpcd) is running
    eth0      IP address: 10.20.1.6/21
    modem0
    lo
              IP address: 127.0.0.1/8
..dead
rcnetwork start:
'NetControl' is active but configuration says 'NetworkManager'.
Call network restart instead...failed
Comment 3 Christian Zoz 2006-02-07 17:57:14 UTC
No, imho this is no nonsense. rcnetwork has to start two different services mutually exclusive. And 'start' will start one of them except network is running already. I would never expect that rcnetwork start would shut down any interfaces.

Why don't you call rcnetwork restart in the else case?
Comment 4 Martin Vidner 2006-02-07 18:11:09 UTC
I wrote
> I think that it is nonsense to fail "start" and require a
> "restart" or "reload" instead.

I think that it is still true in general(*) but I agree that it would be bad if start shut down an interface without warning.

So I will use restart instead of start.

(*) "Init scripts shall ensure that they will behave sensibly if invoked with start when the service is already running, or with stop when not running"
http://refspecs.freestandards.org/LSB_3.1.0/LSB-Core-generic/LSB-Core-generic/iniscrptact.html
Comment 5 Martin Vidner 2006-02-07 19:10:59 UTC
Fixed in yast2-2.13.27.