[Bug 1065077] Re: Ifenslave pre-up doesn't wait for slaves when usr is a seperate partition
Chris J Arges
1065077 at bugs.launchpad.net
Wed Nov 13 20:35:37 UTC 2013
** Description changed:
+ SRU Justification:
+
+ [Impact]
+
+ * There is an error in the pre-up script in ifenslave that will cause problems if /usr is in a separate partition. This is because the script uses /usr/bin/seq, and the /usr filesystem may not be available yet.
+ * This means that configured bonds may not come up properly during boot.
+
+ [Test Case]
+
+ * Put /usr on a separate partition, configure bonded interfaces, and boot. Check for errors in /var/log/upstart/network-interface-bond*.log
+ * Alternately one could just move /usr/bin/seq and see if
+ sudo service network-interface stop INTERFACE=bond0
+ sudo service network-interface start INTERFACE=bond0
+ works properly with no errors in the upstart logs.
+
+ [Regression Potential]
+
+ * This has already been fixed in raring and beyond but not in P/Q.
+
+ --
+
Description: Ubuntu 12.04.1 LTS
Release: 12.04
Ifenslave-2.6 version: 1.1.0-19ubuntu5
First of all; I am not 100% sure this bug is in ifenslave-2.6, but
ifenslave-2.6 is definately affected by the bug in general.
I have installed a system using PXE and preseed, which automatically
partitions seperate /, /usr, /var, /tmp and swap partitions. After
installing ifenslave and configuring it using the configuration example
in /usr/share/doc/ifenslave-2.6/examples/two_hotplug_ethernet, I reboot
the server to test if it comes up after booting.
The result is a bond0 that came up, but eth0 and eth1 haven't joined in
as slaves.
In /var/log/upstart/network-interface-bond0.log, I noticed the
following:
Waiting for a slave to join bond0 (will timeout after 60s)
/etc/network/if-pre-up.d/ifenslave: 240: /etc/network/if-pre-up.d/ifenslave: seq: not found
No slave joined bond0, continuing anyway
Failed to bring up bond0.
It seems that seq is not available at the time /etc/network/if-pre-
up.d/ifenslave is ran. To verify, I added a 'df -h' at the top of the
script, and rebooted, noticing indeed only my root filesystem is mounted
when the script runs:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rootvg-root 3.8G 631M 3.0G 18% /
udev 5.9G 260K 5.9G 1% /dev
tmpfs 2.4G 240K 2.4G 1% /run
none 5.0M 0 5.0M 0% /run/lock
Waiting for a slave to join bond0 (will timeout after 60s)
/etc/network/if-pre-up.d/ifenslave: 240: /etc/network/if-pre-up.d/ifenslave: seq: not found
No slave joined bond0, continuing anyway
Failed to bring up bond0.
Naturally, after booting is done, all filesystems are available. When
running ifdown -a; ifup -a when this was the case, the bond actually
does come up.
Eventually, I made a quick-fix for myself by copying /usr/bin/seq to
/bin/seq, which solves the issue.
Now, I'm quite new to Ubuntu (we are figuring out if we can and want to
migrate our servers from Debian to Ubuntu), and especially upstart, but
from what I can see, the networking upstart script only starts on
'local-filesystems', which I assume is emited only when all filesystems
are actually mounted (but here is where my knowledge pretty much ends).
If further information is needed, just let me know!
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ifenslave-2.6 in Ubuntu.
https://bugs.launchpad.net/bugs/1065077
Title:
Ifenslave pre-up doesn't wait for slaves when usr is a seperate
partition
Status in “ifenslave-2.6” package in Ubuntu:
Fix Released
Status in “ifenslave-2.6” source package in Precise:
In Progress
Status in “ifenslave-2.6” source package in Quantal:
In Progress
Bug description:
SRU Justification:
[Impact]
* There is an error in the pre-up script in ifenslave that will cause problems if /usr is in a separate partition. This is because the script uses /usr/bin/seq, and the /usr filesystem may not be available yet.
* This means that configured bonds may not come up properly during boot.
[Test Case]
* Put /usr on a separate partition, configure bonded interfaces, and boot. Check for errors in /var/log/upstart/network-interface-bond*.log
* Alternately one could just move /usr/bin/seq and see if
sudo service network-interface stop INTERFACE=bond0
sudo service network-interface start INTERFACE=bond0
works properly with no errors in the upstart logs.
[Regression Potential]
* This has already been fixed in raring and beyond but not in P/Q.
--
Description: Ubuntu 12.04.1 LTS
Release: 12.04
Ifenslave-2.6 version: 1.1.0-19ubuntu5
First of all; I am not 100% sure this bug is in ifenslave-2.6, but
ifenslave-2.6 is definately affected by the bug in general.
I have installed a system using PXE and preseed, which automatically
partitions seperate /, /usr, /var, /tmp and swap partitions. After
installing ifenslave and configuring it using the configuration
example in /usr/share/doc/ifenslave-2.6/examples/two_hotplug_ethernet,
I reboot the server to test if it comes up after booting.
The result is a bond0 that came up, but eth0 and eth1 haven't joined
in as slaves.
In /var/log/upstart/network-interface-bond0.log, I noticed the
following:
Waiting for a slave to join bond0 (will timeout after 60s)
/etc/network/if-pre-up.d/ifenslave: 240: /etc/network/if-pre-up.d/ifenslave: seq: not found
No slave joined bond0, continuing anyway
Failed to bring up bond0.
It seems that seq is not available at the time /etc/network/if-pre-
up.d/ifenslave is ran. To verify, I added a 'df -h' at the top of the
script, and rebooted, noticing indeed only my root filesystem is
mounted when the script runs:
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/rootvg-root 3.8G 631M 3.0G 18% /
udev 5.9G 260K 5.9G 1% /dev
tmpfs 2.4G 240K 2.4G 1% /run
none 5.0M 0 5.0M 0% /run/lock
Waiting for a slave to join bond0 (will timeout after 60s)
/etc/network/if-pre-up.d/ifenslave: 240: /etc/network/if-pre-up.d/ifenslave: seq: not found
No slave joined bond0, continuing anyway
Failed to bring up bond0.
Naturally, after booting is done, all filesystems are available. When
running ifdown -a; ifup -a when this was the case, the bond actually
does come up.
Eventually, I made a quick-fix for myself by copying /usr/bin/seq to
/bin/seq, which solves the issue.
Now, I'm quite new to Ubuntu (we are figuring out if we can and want
to migrate our servers from Debian to Ubuntu), and especially upstart,
but from what I can see, the networking upstart script only starts on
'local-filesystems', which I assume is emited only when all
filesystems are actually mounted (but here is where my knowledge
pretty much ends).
If further information is needed, just let me know!
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ifenslave-2.6/+bug/1065077/+subscriptions
More information about the foundations-bugs
mailing list