Your message dated Tue, 19 Feb 2013 14:48:32 +0000
with message-id <[email protected]>
and subject line Bug#699445: fixed in ifenslave-2.6 1.1.0-21
has caused the Debian Bug report #699445,
regarding ifenslave-2.6: bond-primary does not apply
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
699445: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=699445
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: ifenslave-2.6
Version: 1.1.0-20
Severity: normal

Dear Maintainer,

The primary master is not apply on the system because "sysfs primary" must be 
call after "sysfs_add slaves".

As a workaround i have moved the call to the "setup_master" function after 
"enslave_slaves" function.

I don't know if it is a good method but it seems to work correctly


Regards.

-- System Information:
Debian Release: 7.0
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-4-amd64 (SMP w/12 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages ifenslave-2.6 depends on:
ii  iproute  20120521-3
ii  libc6    2.13-37

Versions of packages ifenslave-2.6 recommends:
ii  net-tools  1.60-24.2

ifenslave-2.6 suggests no packages.

-- Configuration Files:
/etc/network/if-pre-up.d/ifenslave changed:
[ "$VERBOSITY" = 1 ] && set -x
IFSTATE=/etc/network/run/ifstate
add_master()
{
        # Return if $BOND_MASTER is already a bonding interface.
        [ -f "/sys/class/net/$BOND_MASTER/bonding/slaves" ] && return
        # If the bonding module is not yet loaded, load it.
        if [ ! -r /sys/class/net/bonding_masters ]; then
                modprobe -q bonding
        fi
        # Create the master interface.
        if ! grep -sq "\\<$BOND_MASTER\\>" /sys/class/net/bonding_masters; then
                echo "+$BOND_MASTER" > /sys/class/net/bonding_masters
        fi
}
sysfs_change_down()
{
        # Called with :
        # $1 = basename of the file in bonding/ to write to.
        # $2 = value to write. Won't write if $2 is empty.
        if [ "$2" ] ; then
                # If the value we plan to write is different from the current 
one...
                if ! grep -sq "\\<$2\\>" 
"/sys/class/net/$BOND_MASTER/bonding/$1" ; then
                        # ...and the master is up...
                        if ip link show "$BOND_MASTER" | grep -sq '[<,]UP[,>]' 
; then
                                # ...bring the master down.
                                ip link set dev "$BOND_MASTER" down
                        fi
                fi
                sysfs "$1" "$2"
        fi
}
sysfs()
{
        # Called with :
        # $1 = basename of the file in bonding/ to write to.
        # $2 = value to write. Won't write if $2 is empty.
        if [ "$2" ] ; then
                echo "$2" > "/sys/class/net/$BOND_MASTER/bonding/$1"
                return $?
        fi
        return 0
}
sysfs_add()
{
        #??Called with :
        # $1 = target filename.
        # $2 = values to write.
        for value in $2; do
                # Do not add $2 to $1 if already present.
                if ! grep -sq "\\<$value\\>" 
/sys/class/net/$BOND_MASTER/bonding/$1
                then
                    sysfs "$1" "+$value"
                fi 
        done
}
early_setup_master()
{
        # Warning: the order in wich we write into the sysfs files is important.
        # Double check in drivers/net/bonding/bond_sysfs.c in linux kernel 
source tree 
        # before changing anything here.
        # fail_over_mac must be set before enslavement of any slaves.
        sysfs fail_over_mac "$IF_BOND_FAIL_OVER_MAC"
}
enslave_slaves()
{
        case "$BOND_SLAVES" in
                none)
                        BOND_SLAVES=""
                        ;;
                all)
                        BOND_SLAVES=`sed -ne 's/ *\(eth[^:]*\):.*/\1/p' 
/proc/net/dev`
                        AUTOIF="yes"
                        ;;
        esac
        [ "$VERBOSITY" = 1 ] && v=-v
        for slave in $BOND_SLAVES ; do
                if ( [ "$AUTOIF" ] && grep -q "^$slave=" $IFSTATE ) ; then
                        echo "Not enslaving interface $slave since it is 
already configured"
                else
                        # Ensure $slave is down.
                        ip link set "$slave" down 2>/dev/null
                        if ! sysfs_add slaves "$slave" 2>/dev/null ; then
                                echo "Failed to enslave $slave to $BOND_MASTER. 
Is $BOND_MASTER ready and a bonding interface ?" >&2
                        else
                                # Bring up slave if it is the target of an 
allow-bondX stanza.
                                # This is usefull to bring up slaves that need 
extra setup.
                                ifup $v --allow "$BOND_MASTER" "$slave"
                        fi
                fi
        done
}
setup_master()
{
        # Warning: the order in wich we write into the sysfs files is important.
        # Double check in drivers/net/bonding/bond_sysfs.c in linux kernel 
source tree 
        # before changing anything here.
        # use_carrier can be set anytime.
        sysfs use_carrier "$IF_BOND_USE_CARRIER"
        # num_grat_arp can be set anytime.
        sysfs num_grat_arp "$IF_BOND_NUM_GRAT_ARP"
        # num_unsol_na can be set anytime.
        sysfs num_unsol_na "$IF_BOND_NUM_UNSOL_NA"
        # xmit_hash_policy can be set anytime.
        # Changing xmit_hash_policy requires $BOND_MASTER to be down.
        sysfs_change_down xmit_hash_policy "$IF_BOND_XMIT_HASH_POLICY"
        # arp_ip_target must be set before arp_interval.
        sysfs_add arp_ip_target "$IF_BOND_ARP_IP_TARGET"
        sysfs arp_interval "$IF_BOND_ARP_INTERVAL"
        # miimon must be set before updelay and downdelay.
        sysfs miimon "$IF_BOND_MIIMON"
        sysfs downdelay "$IF_BOND_DOWNDELAY"
        sysfs updelay "$IF_BOND_UPDELAY"
        # Changing ad_select requires $BOND_MASTER to be down.
        sysfs_change_down ad_select "$IF_BOND_AD_SELECT"
        # Changing mode requires $BOND_MASTER to be down.
        # Mode should be set after miimon or arp_interval, to avoid a warning 
in syslog.
        sysfs_change_down mode "$IF_BOND_MODE"
        # arp_validate must be after mode (because mode must be active-backup).
        sysfs arp_validate "$IF_BOND_ARP_VALIDATE"
        # lacp_rate must be set after mode (because mode must be 802.3ad).
        # Changing lacp_rate requires $BOND_MASTER to be down.
        sysfs_change_down lacp_rate "$IF_BOND_LACP_RATE"
        # primary must be set after mode (because only supported in some modes) 
and after enslavement.
        # The first slave in bond-primary found in current slaves becomes the 
primary.
        # If no slave in bond-primary is found, then primary does not change.
        for slave in $IF_BOND_PRIMARY ; do
                if grep -sq "\\<$slave\\>" 
"/sys/class/net/$BOND_MASTER/bonding/slaves" ; then
                        sysfs primary "$slave"
                        break
                fi
        done
        # primary_reselect should be set after mode (because only supported in 
some modes), after enslavement
        # and after primary. This is currently (2.6.35-rc1) not enforced by the 
bonding driver, but it is
        # probably safer to do it in that order.
        sysfs primary_reselect "$IF_BOND_PRIMARY_RESELECT"
        # queue_id must be set after enslavement.
        for iface_queue_id in $IF_BOND_QUEUE_ID
        do
                sysfs iface_queue_id $iface_queue_id
        done
        # active_slave must be set after mode and after enslavement.
        # The slave must be up and the underlying link must be up too.
        # FIXME: We should have a way to write an empty string to active_slave, 
to set the active_slave to none.
        if [ "$IF_BOND_ACTIVE_SLAVE" ] ; then
                # Need to force interface up before. Bonding will refuse to 
activate a down interface.
                ip link set "$IF_BOND_ACTIVE_SLAVE" up
                sysfs active_slave "$IF_BOND_ACTIVE_SLAVE"
        fi
        # Force $BOND_MASTER to be up, if we are called from a slave stanza.
        [ "$IFACE" != "$BOND_MASTER" ] && ip link set dev "$BOND_MASTER" up
}
IF_BOND_SLAVES=${IF_BOND_SLAVES:-$IF_SLAVES}
if [ "$IF_BOND_MASTER" ] ; then
        BOND_MASTER="$IF_BOND_MASTER"
        BOND_SLAVES="$IFACE"
else
        if [ "$IF_BOND_SLAVES" ] ; then
                BOND_MASTER="$IFACE"
                BOND_SLAVES="$IF_BOND_SLAVES"
        fi
fi
[ -z "$BOND_MASTER$BOND_SLAVES" ] && exit
add_master
early_setup_master
enslave_slaves
setup_master
exit 0


-- no debconf information

--- End Message ---
--- Begin Message ---
Source: ifenslave-2.6
Source-Version: 1.1.0-21

We believe that the bug you reported is fixed in the latest version of
ifenslave-2.6, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Guus Sliepen <[email protected]> (supplier of updated ifenslave-2.6 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Tue, 19 Feb 2013 14:43:29 +0100
Source: ifenslave-2.6
Binary: ifenslave-2.6
Architecture: source amd64
Version: 1.1.0-21
Distribution: unstable
Urgency: low
Maintainer: Guus Sliepen <[email protected]>
Changed-By: Guus Sliepen <[email protected]>
Description: 
 ifenslave-2.6 - Attach and detach slave interfaces to a bonding device
Closes: 697454 699445
Changes: 
 ifenslave-2.6 (1.1.0-21) unstable; urgency=low
 .
   [ Jonas Genannt ]
   * d/pre-up: bond-primary does not apply (Closes: #699445)
     Moved setting primary into own function and call it after enslave_slaves
 .
   [ Guus Sliepen ]
   * Explicitly mention that 3.x kernels are also supported. Closes: #697454
   * Bump Standards-Version.
   * Enable hardening.
   * Fix unsafe use of printf() and fprintf() found by the hardening flags.
Checksums-Sha1: 
 2bc3e5028fbaf5ef043353d3fb09d3756013282d 1094 ifenslave-2.6_1.1.0-21.dsc
 dfcf568168b75023b16ce6879783b3650a4df8ca 12428 
ifenslave-2.6_1.1.0-21.debian.tar.gz
 28bd888b6bbe54fe2de75e902287f049c0c1b9a9 21800 ifenslave-2.6_1.1.0-21_amd64.deb
Checksums-Sha256: 
 c21fff81a28edcbb6aa585638c74b0cb2a1af96176534074074339ee17154d18 1094 
ifenslave-2.6_1.1.0-21.dsc
 8c36f68c5d59e343371b2665af57669833a5114d58afe57bd1cdb41cb48603c5 12428 
ifenslave-2.6_1.1.0-21.debian.tar.gz
 faab904373bb853528306fe2e335cfb684604d0fb3b79cdb5ed2cfe91030bbba 21800 
ifenslave-2.6_1.1.0-21_amd64.deb
Files: 
 c11609b34319976e4424895528c7bc10 1094 net optional ifenslave-2.6_1.1.0-21.dsc
 9da944363162b0d20cd40c99eee4401f 12428 net optional 
ifenslave-2.6_1.1.0-21.debian.tar.gz
 eb75e05ad937a27aca1d3237d7233dda 21800 net optional 
ifenslave-2.6_1.1.0-21_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEARECAAYFAlEjgakACgkQAxLow12M2nvF4gCfbVlA01ZQyJXEyEzMiwWN9ObX
ALUAn3W1WEBeXufAoOhHuS+xsZp9BNsk
=FkdS
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to