I have an application that’s responsible for configuring the network on the 
host; it writes configuration files to /etc/sysconfig/network, and then invokes 
ifup, ifdown, etc to up and down interfaces and bonds. Since moving to SLES 12 
SP1 and wicked and the wicked nanny daemon, we are seeing an issue I’m hoping 
someone on this list may be able to help with. This issue does not occur on 
SLES 11 systems using Network Manager.
 
The scenario is as follows. To bring up a bond, the application does the 
following. (The NIC names and file names I’m using are just for the purpose of 
the example):
 
Create a config file for p5p2 and copy/write the file to 
/etc/sysconfig/network/ifcfg-p5p2
ifup p5p2
Create a config file for p5p2 and copy/write the file to 
/etc/sysconfig/network/ifcfg-p5p4
ifup p5p4
Creates a config file for the bond and copy/write the file to 
/etc/sysconfig/network/ifcfg-bond0cpc1
ifup bond0cpc1
 
Everything works fine the first time, after a fresh Linux boot. 
 
I then manually bring down the NICs/bonds with ifdowns and remove the files 
from the /etc/sysconfig/network directory.
 
Then, the second time I attempt to perform the same steps to bring up the same 
NICs and bond, I see the following:
 
Create a config file for p5p2 and copy the file to 
/etc/sysconfig/network/ifcfg-p5p2
ifup p5p2  (works fine)
Create a config file for p5p2 and copy the file to 
/etc/sysconfig/network/ifcfg-p5p4
ifup p5p4   (works fine)
Create a config file for the bond and copy the file to 
/etc/sysconfig/network/ifcfg-bond0cpc1
ifup bond0cpc1  (*** fails)
 
On the failure of the ifup of the bond the second time, the ifup returns 
“device-not-running”, and the same failure is exhibited over and over again. So 
the main question is, why is that? 
 
The NIC I’m using is the Intel Corporation I350 Gigabit Network Connection 
(4-port, copper).
 
Here’s some more info.
 
If I execute the ifups in a shell script so that there’s very little time delay 
between copying the files into the /etc/sysconfig/network directory and 
ifup’ing the devices, it works every time. 
 
cp ifcfg-p5p2 ifcfg-p5p4 /etc/sysconfig/network
ifup p5p2
ifup p5p4
cp ifcfg-bond0cpc0 /etc/sysconfig/network
ifup bond0cpc0
 
If you now ifdown the devices and remove their ifcfg- files from 
/etc/sysconfig/network and re-run the script, it works every time.
Doing the commands from the command line, or putting delays in the shell 
script; that is, putting sleeps between copying the files to the 
/etc/sysconfig/network directory and ifup’ing the devices, fails every time.
 
I tried manual configuration of a bond on the Intel Corporation I350 Gigabit 
Fiber Network Connection (4-port, fiber) and it works every time regardless.
 
Finally, if I disable the nanny daemon by editing /etc/wicked/common.xml 
(setting <use-nanny>false</use-nanny> and restarting the wicked service) manual 
ifup’ing works regardless. Does anyone have any ideas on what the issue could 
be?
 
Thanks in advance.

--
To unsubscribe, e-mail: wicked-devel+unsubscr...@opensuse.org
To contact the owner, e-mail: wicked-devel+ow...@opensuse.org

Reply via email to