Bug 468870

Summary: initscripts upgrade from 8.45.17 to 8.45.19 breaks arp_ip_target
Product: Red Hat Enterprise Linux 5 Reporter: Phil Knirsch <pknirsch>
Component: kernelAssignee: Andy Gospodarek <agospoda>
Status: CLOSED ERRATA QA Contact: Martin Jenner <mjenner>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.3CC: agospoda, casmith, duck, mgahagan, notting, peterm, rvokal, syeghiay, tao
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-01-20 20:06:28 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:
Attachments:
Description Flags
bonding-doc-fix2.patch none

Description Phil Knirsch 2008-10-28 14:40:50 UTC
+++ This bug was initially created as a clone of Bug #467954 +++

Description of problem:
The syntax change from bug #288151 causes an upgrade of initscripts from 8.45.17 to 8.45.19 to break bonding when using arp_ip_target

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

How reproducible:


Steps to Reproduce:
1. Setup a functional bonding configuration using arp_ip_target with initscripts-8.45.17.EL-1
2. Upgrade initscripts to initscripts-8.45.19.EL-1
  
Actual results:
Entry in /sys/class/net/bond0/bonding/arp_ip_target is now wrong.

Expected results:
Entry in /sys/class/net/bond0/bonding/arp_ip_target should have remained the same.

Additional info:
When upgrading from RHEL 5.1 with initscripts-8.45.17 to RHEL5.2 and initscripts-8.45.19 , the configuration of a bonded network interface needs to be re-written if arp_ip_target is being set in /etc/sysconfig/network-scripts/ifcfg-bond0

Also, the documentation included in kernel-doc-2.6.18-92.el5.noarch.rpm under /usr/share/doc/kernel-doc-2.6.18/Documentation/networking/bonding.txt states that using the +<arp_ip_target> syntax is correct.

"
For later versions of initscripts, such as that found with Fedora
7 and Red Hat Enterprise Linux version 5 (or later), it is possible, and,
indeed, preferable, to specify the bonding options in the ifcfg-bond0
file, e.g. a line of the format:

BONDING_OPTS="mode=active-backup arp_interval=60 arp_ip_target=+192.168.1.254"

        will configure the bond with the specified options.  The options
specified in BONDING_OPTS are identical to the bonding module parameters
except for the arp_ip_target field.  Each target should be included as a
separate option and should be preceded by a '+' to indicate it should be
added to the list of queried targets, e.g.,

        arp_ip_target=+192.168.1.1 arp_ip_target=+192.168.1.2

        is the proper syntax to specify multiple targets.
"

--- Additional comment from darcy.sherwood on 2008-10-21 18:26:26 EDT ---

I've written a patch that will handle both the syntax with and without the +

I tested the change, and I was able to specify arp_ip_target both with and without the plus, as well as in lists of formats "arp_ip_target=192.168.1.1,192.168.1.2" and "arp_ip_target=+192.168.1.1 arp_ip_target=+192.168.1.2"

diff ifup-eth ifup-eth-fix
129c129
<         if [ "${key}" = "arp_ip_target" ]; then
---
>         if [ "${key}" = "arp_ip_target" -a "${value:0:1}" != "+" ]; then

--- Additional comment from notting on 2008-10-21 19:48:33 EDT ---

Andy - did the wires get crossed on the way to the upstream docs somewhere?

I don't have a big issue with this, but it may not get in for a while due to scheduling.

--- Additional comment from notting on 2008-10-21 19:49:13 EDT ---

Well, considering working configs broke in 5.2, marking as a regression.

--- Additional comment from pm-rhel on 2008-10-21 19:49:58 EDT ---

This bugzilla has Keywords: Regression.  

Since no regressions are allowed between releases, 
it is also being proposed as a blocker for this release.  

Please resolve ASAP.

--- Additional comment from agospoda on 2008-10-22 11:48:31 EDT ---

I think the documentation just didn't get updated.  The intent was that we could specify:

arp_ip_target=10.0.0.1,10.0.0.2,10.0.0.3

going foward instead of

arp_ip_target=+10.0.0.1 arp_ip_target=+10.0.0.2 arp_ip_target=+10.0.0.3

in the BONDING_OPTS field in ifcfg-bondX.

I'll test now to make sure that works.

--- Additional comment from agospoda on 2008-10-22 12:45:51 EDT ---

Ok, so it appears the bug we wanted to fix (getting rid of the '+') is working as expected.  It seems we need to clarify the documentation in the kernel source tree so it is correct.  That should not be too tough to manage -- I'll get cracking on it.

--- Additional comment from casmith on 2008-10-22 15:10:05 EDT ---

I think that the issue is that the previous method, using the + signs, worked in 5.0 and 5.1 and are now broken in 5.2. So a user who got bonding working in 5.0 or 5.1 and updated their server to 5.2 would break their bonding configuration. It's my understanding that configuration files should not break between point releases the OS.

It appears that the patch that Darcy supplied will allow either format to work, which will fix the config file regression as well as allowing for the new format to work, the best of both worlds.

--- Additional comment from agospoda on 2008-10-22 15:32:01 EDT ---

Created an attachment (id=321205)
bonding-doc-fix.patch

I agree, Calvin, it would be nice to support both.

Unfortunately the fact that the '+' was needed was a bug itself.  I did not originally intend that we use it when I did the original initscripts patch for RHEL5.

When we discovered we needed the '+' in the configuration file, we went out and fixed it for 5.2 so the module options matched what was needed in ifcfg-bond0.

It's hard for me to call bugs that we fix 'regressions,' but I guess when customers rely on them that's how they feel.

Attached is the patch to the kernel documentation that should reflect our original intent.

Comment 1 Phil Knirsch 2008-10-28 14:41:34 UTC
Cloned bug for kernel-doc update from last comment.

Thanks & regards, Phil

Comment 3 Andy Gospodarek 2008-10-28 16:30:00 UTC
I've got a patch for this already and should it be easy enough to post -- just waiting for upstream acceptance....

Comment 4 Andy Gospodarek 2008-10-28 16:30:59 UTC
Created attachment 321705 [details]
bonding-doc-fix2.patch

proposed patch

Comment 8 Don Zickus 2008-11-12 16:37:46 UTC
in kernel-2.6.18-123.el5
You can download this test kernel from http://people.redhat.com/dzickus/el5

Comment 10 Mike Gahagan 2008-12-08 17:39:16 UTC
verified documentation change

Comment 12 errata-xmlrpc 2009-01-20 20:06:28 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/RHSA-2009-0225.html