Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package ifenslave

While setting up non-trivial bonding configurations with ifupdown,
it has been observed, that the /etc/network/if-pre-up.d/ifenslave
hook script, as present in ifenslave v2.11, no longer supports such
configurations. See RC bug #987842 and git commit
https://salsa.debian.org/debian/ifenslave/-/commit/0b51033c169501d13b7c85e99f7cc5d6d576e1f9
for further details.

[ Reason ]
Without this change, folks depending on non-trivial bonding
configurations with ifupdown will be left with broken networking.

[ Impact ]
Any non-trivial bonding network configuration using ifupdown
might fail, leaving network setup in broken state.

[ Tests ]
No automated (nothing present, package is in QA group without any
infrastructure for those), but this change was tested and verified
by at least two people in different environments.

[ Risks ]
The code change itself is pretty simple and basically restoring behavior
from ifenslave v2.9 (where this used to work).
ifenslave is not a key package.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

[ Other info ]
Chris Hofstaedtler (author of #987842) and
Paul Wise (recent uploader of ifenslave package)
both reviewed and ACK-ed my ifenslave/2.12 changes (thanks!).

FTR: The ifenslave git repository at
https://salsa.debian.org/debian/ifenslave.git included another
trivial change (`Remove unnecessary constraints`), which isn't
fixing a RC bug, but it makes sense to include this change as well.

unblock ifenslave/2.12

Thanks for consideration!

regards
-mika-

diff -Nru ifenslave-2.11/debian/changelog ifenslave-2.12/debian/changelog
--- ifenslave-2.11/debian/changelog     2020-07-02 10:43:11.000000000 +0200
+++ ifenslave-2.12/debian/changelog     2021-05-03 16:51:57.000000000 +0200
@@ -1,3 +1,14 @@
+ifenslave (2.12) unstable; urgency=medium
+
+  * QA upload.
+  [ Debian Janitor ]
+  * [2e63a83] Remove constraints unnecessary since stretch.
+
+  [ Michael Prokop ]
+  * [0b51033] Fix non-trivial bonding configurations (Closes: #987842)
+
+ -- Michael Prokop <m...@debian.org>  Mon, 03 May 2021 16:51:57 +0200
+
 ifenslave (2.11) unstable; urgency=medium
 
   * QA upload.
diff -Nru ifenslave-2.11/debian/control ifenslave-2.12/debian/control
--- ifenslave-2.11/debian/control       2020-07-02 10:33:46.000000000 +0200
+++ ifenslave-2.12/debian/control       2021-04-29 16:14:10.000000000 +0200
@@ -13,7 +13,7 @@
 Architecture: all
 Multi-Arch: foreign
 Depends:
- ifupdown (>= 0.7.46),
+ ifupdown,
  iproute2,
  ${misc:Depends},
 Recommends:
diff -Nru ifenslave-2.11/debian/ifenslave.if-pre-up 
ifenslave-2.12/debian/ifenslave.if-pre-up
--- ifenslave-2.11/debian/ifenslave.if-pre-up   2020-07-02 10:35:20.000000000 
+0200
+++ ifenslave-2.12/debian/ifenslave.if-pre-up   2021-05-03 16:41:02.000000000 
+0200
@@ -87,13 +87,14 @@
                        # Skipping interface that's already up or being 
configured
                        continue
                else
-                       if ifquery -l "$slave" 2>/dev/null; then
-                               ifup $v "$slave"
+                       # 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
-                               ip link set "$slave" down 2>/dev/null
-                               if ! sysfs_add slaves "$slave" 2>/dev/null ; 
then
-                                       echo "Failed to enslave $slave to 
$IFACE." >&2
-                               fi
+                               # Bring up slave if it is the target of an 
allow-bondX stanza.
+                               # This is useful to bring up slaves that need 
extra setup.
+                               ifup $v --allow "$BOND_MASTER" "$slave"
                        fi
                fi
        done

Attachment: signature.asc
Description: Digital signature

Reply via email to