Bug 604669

Summary: Specifying bonding arp_ip_target options in modprobe.conf can prevent restarting network
Product: Red Hat Enterprise Linux 5 Reporter: Olivier Fourdan <ofourdan>
Component: initscriptsAssignee: initscripts Maintenance Team <initscripts-maint-list>
Status: CLOSED ERRATA QA Contact: qe-baseos-daemons
Severity: medium Docs Contact:
Priority: medium    
Version: 5.5CC: azelinka, harald, jscotka, kem, kfujii, notting, tumeya
Target Milestone: rcKeywords: Patch
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
When a bonding interface was configured in the /etc/modprobe.conf file without specifying the options in the BONDING_OPTS variable, the arp_ip_target parameter value was cleared after a network restart. Subsequently, the interface connection could not be restored. With this update, the ifdown-eth script has been fixed to only add the arp_ip_target parameter if it is not present, fixing this bug.
Story Points: ---
Clone Of:
: 853061 (view as bug list) Environment:
Last Closed: 2011-07-21 08:35:52 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 590060, 668576, 853061    
Attachments:
Description Flags
Patch proposed by tumeya@redhat.com
none
proposed patch none

Description Olivier Fourdan 2010-06-16 13:19:22 UTC
Created attachment 424439 [details]
Patch proposed by tumeya

Description of problem:

The fix for bug #483711 cleans up /sys/class/net/bondX/bonding/arp_ip_target in ifdown.

When using /etc/modprobe.conf to set the bonding options (and not BONDING_OPTS in /etc/sysconfig/network-scripts/ifcfg-bond<x>, ie old-style config), then the interface will not come up after a network restart because the arp_ip_target is not restored.

Version-Release number of selected component (if applicable):

initscripts-8.45.30-2.el5

How reproducible:

Always

Steps to Reproduce:
1. Configure a bonding interface without specifying the options with BONDING_OPTS

2. Instead, specify the options in /etc/modprobe.conf

   options bond0 mode=1 arp_interval=100 arp_ip_target=192.168.122.1

3. service network restart
  
Actual results:

bond0 will never come up because the  arp_ip_target is cleared in ifdown

Expected results:

the arp_ip_target should be restored even when specified in modprobe.conf

Additional info:

Although the recommended way is to set the bonding options using BONDING_OPTS in /etc/sysconfig/network-scripts/ifcfg-bond<x> as stated in the deployment guide (http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5/html/Deployment_Guide/s2-networkscripts-interfaces-chan.html), using the old-style modprobe.conf to set bonding options should not prevent the network from being restarted.

Attaching a patch proposed by tumeya which adds the arp_ip_target only if not already present.

This patch fixes the issue without breaking the previous fix for bug #483711

Comment 2 RHEL Program Management 2010-12-07 09:47:09 UTC
This request was evaluated by Red Hat Product Management for inclusion in Red Hat Enterprise Linux 5.6 and Red Hat does not plan to fix this issue the currently developed update.

Contact your manager or support representative in case you need to escalate this bug.

Comment 7 Bill Nottingham 2011-04-04 18:10:35 UTC
OK, reading this patch some more, I see why it's the way that it is.

However, this would mean that bringing down a device configured with BONDING_OPTS would *not* clear arp_ip_target, which would lead to extra targets if the user changed the configuration. So I don't think this patch is correct as-is.

Comment 8 Harald Hoyer 2011-04-12 12:38:57 UTC
Created attachment 491474 [details]
proposed patch

Comment 9 Bill Nottingham 2011-04-12 12:59:55 UTC
Seems reasonable. Tweaked to apply, added upstream at 5749d2e9d5795fdaf65b97befd64cf90103d423d.

Comment 11 Bill Nottingham 2011-04-12 13:48:15 UTC
If backporting upstream, make sure to grab b24d6b8 as well.

Comment 12 Harald Hoyer 2011-04-12 17:11:48 UTC
(In reply to comment #11)
> If backporting upstream, make sure to grab b24d6b8 as well.

already upstream as 5749d2e9d5795fdaf65b97befd64cf90103d423d in RHEL-5 branch

Comment 14 Tomas Capek 2011-07-13 12:24:30 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
When a bonding interface was configured in the /etc/modprobe.conf file without specifying the options in the BONDING_OPTS variable, the arp_ip_target parameter value was cleared after a  network restart. Subsequently, the interface connection could not be restored. With this update, the ifdown-eth script has been fixed to only add the arp_ip_target parameter if it is not   present, fixing this bug.

Comment 15 errata-xmlrpc 2011-07-21 08:35:52 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-1081.html

Comment 16 errata-xmlrpc 2011-07-21 12:39:29 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-1081.html