[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#988006: unblock: ifenslave/2.12



Package: release.debian.org
Severity: normal
User: release.debian.org@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 <mika@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 to: