Package: discover
Version: unavailable; reported 2003-09-01
Severity: important
Discover runs at rcS.d/S36discover which can result in an ifup, but networking
is only initialized at S39ifupdown. This is broken and needs to be fixed
before sarge.
See #141399 for background.
-- System Information:
Debian Release: testing/unstable
Architecture: i386
Kernel: Linux thanatos 2.4.21 #4 Fri Aug 8 21:47:58 CEST 2003 i686
Locale: LANG=en_IE@euro, LC_CTYPE=en_IE@euro
Subject: Re: Bug#208155: discover: Discover should run after S39
Date: Tue, 2 Sep 2003 10:19:39 -0500
On Mon, Sep 01, 2003 at 08:44:32AM +0200, Thomas Hood wrote:
> Package: discover
> Version: unavailable; reported 2003-09-01
> Severity: important
>
> Discover runs at rcS.d/S36discover which can result in an ifup, but networking
> is only initialized at S39ifupdown. This is broken and needs to be fixed
> before sarge.
>
> See #141399 for background.
See #143329 for even more background.
I like how the hotplug package playing games can render other packages
buggy.
--
Branden Robinson | GPG signed/encrypted mail welcome
[email protected] | 1024D/9C0BCBFB
Progeny Linux Systems | D5F6 D4C9 E25B 3D37 068C
| 72E8 0F42 191A 9C0B CBFB
severity 208155 important
tag 208155 patch
thanks
Let's not play severity escaration game. But this is important to get
net interface up properly with hotplug. Unless Branden has special
reason, let's move this to same poinr as networking where networking
starts without hotplug through auto stanza.
Here is patch if you care.
diff -ru discover-1.5-old/debian/discover.postinst discover-1.5/debian/discover.postinst
--- discover-1.5-old/debian/discover.postinst 2003-10-19 20:21:01.000000000 +0200
+++ discover-1.5/debian/discover.postinst 2003-10-19 20:23:12.000000000 +0200
@@ -90,7 +90,7 @@
fi
fi
# register the init script
- update-rc.d discover start 36 S .
+ update-rc.d discover start 40 S .
# execute the program (it is not a daemon)
/etc/init.d/discover start
fi
--
~\^o^/~~~ ~\^.^/~~~ ~\^*^/~~~ ~\^_^/~~~ ~\^+^/~~~ ~\^:^/~~~ ~\^v^/~~~ +++++
Osamu Aoki <[email protected]> Brussels Belgium, GPG-key: A8061F32
.''`. Debian Reference: post-installation user's guide for non-developers
: :' : http://qref.sf.net and http://people.debian.org/~osamu
`. `' "Our Priorities are Our Users and Free Software" --- Social Contract
Branden,
Excuse Thomas Hood for his enthusiasm to get consistent laptop
environment. As for your response to old #143329, please do not think
this is just another repeat of severity escalation. I fixed it anyway.
Thomas has very thorough rationale to ask you the almost same thing but
with more precise request. Scott M. Dier's request for "near hotplug"
was not good enough :-)
Please look into the extensive update Thomas Hood did to networking
section of Debian Reference.
It is clear that discover shall be run after "ifupdown" so a hotplug
event which effectively executes "ifup eth0=hotplug" is handled
properly. "ifupdown" is the mainstay of the base system so we do not
want to move it from S39.
Of course, if it is moved to S40, it has added benefit to get
resolveconf (an optional package which Thomas Hood maintains as NM)
functioning and creating /etc/resolv.conf on the fly upon bringing ether
net available.
Anyway, you may want to read this section.
http://www.debian.org/doc/manuals/reference/ch-gateway.en.html#s-net-triggerhttp://www.debian.org/doc/manuals/reference/ch-gateway.en.html#s-net-trigger-hotplughttp://www.debian.org/doc/manuals/reference/ch-gateway.en.html#s-net-trigger-pcmcia
(I expect this page to be updated slightly in a day.)
Regards,
Osamu
severity 208155 normal
thanks
I asked for 'near hotplug' mostly because it was below S40 and above
S35, but mostly so it was above S35. I have all my machines mount /usr
seperately, and cut is on /usr. Also, the 'woody' form of networking
configuration depends heavily on networking to do ifup/ifdown functions.
Unless you are thinking of moving init.d networking to S41 or making
everyone use hotplug to use network devices of any type, this change
(Putting discover after S39) would harm my fairly large installation and
destroy the use of the auto flag in interfaces useless for anyone using
debconf.
I think the packages around discover are affecting the usability of
discover by changing the semantics of networking. I suggest that
hotplug be modified to defer networking requests until after ifupdown
state is cleaned or that hotplug run after S39.
http://www.debian.org/doc/manuals/reference/ch-gateway.en.html#s-net-trigger
----
You can list additional physical interface names in auto stanzas if you
want them to be brought up on boot too.
----
This would be broken by the suggestion in this bug for current discover
users.
I think the suggestion to defer networking requests until a later time
is best -- it doesn't require a substantial reshuffling of rcS.d to
accomplish both goals, preserving existing configurations and providing
the option of using hotplug. Otherwise, it would mean a lot of moving
around in rcS.d to some ends that might not even be a great solution for
all parties involved. (at least 6 or 7 rc scripts, I think)
Thanks.
--
Scott Dier <[email protected]>
CS/IT Systems Staff
Hi, (Scot is original reporter of bug #143329)
Issue summary is.
Currently : discover is started at /etc/rcS.d/S35discover
My request : discover is started at or after /etc/rcS.d/S37discover
In short, Scot is practically supporting me and Thomas's request to move
discover to later stage as above despite some of his words.
Here is my comments on his statements:
On Fri, Dec 26, 2003 at 02:55:17AM -0600, Scott M. Dier wrote:
> I asked for 'near hotplug' mostly because it was below S40 and above
> S35, but mostly so it was above S35.
I think we all agree "hotplug" must be really after S35 in /etc/rcS.d/
Current S36 is good one.
> I have all my machines mount /usr
> separately, and cut is on /usr. Also, the 'woody' form of networking
> configuration depends heavily on networking to do ifup/ifdown functions.
Yes. Also your concern for /usr on nfs is a good one.
> Unless you are thinking of moving init.d networking to S41
Why S41? I am not :-) Keep it at S40.
> or making
> everyone use hotplug to use network devices of any type, this change
> (Putting discover after S39) would harm my fairly large installation and
> destroy the use of the auto flag in interfaces useless for anyone using
> debconf.
Are you sure? I can live with S37discover but problem seems different
for you. hotplug init script in /etc/rcS.d/ is a bit funny one.
As I do "cd /etc/rcS.d/; cat README; ls -1"
README tells me
* After the S40 scripts have executed, all local file systems are
mounted and networking is available. All device drivers have been
initialized.
* After the S60 scripts have executed, the system clock has been set,
NFS filesystems have been mounted (unless the system depends on the
automounter, which is started later) and the filesystems have been
cleaned.
And my system is like:
...
S10checkroot.sh
S18hwclockfirst.sh
S20module-init-tools
S20modutils
S30checkfs.sh
S30etc-setserial
S30procps.sh
S35devpts.sh
S35mountall.sh (This gives you root FS per README)
S36hotplug (This delays actual hotplug invocation)
S38pppd-dns
S39ifupdown (This must be before actual hotplug invocation)
S39resolvconf (This must be before actual hotplug invocation)
S40discover (I manually changed this from S35discover.
I now know it could have been S37discover)
S40hostname.sh
S40networking (netbase 4.15 use S40.)
...
S45mountnfs.sh (nfs gives you sure /usr per README at S60)
...
Actual "hotplug" invocation is after /etc/rc2.d/S11hotplug if discover
in /etc/rcS.d/ is started after /etc/rcS.d/S36hotplug.
In summary, /etc/rcS.d/:
* S35discover : Branden's current choice
* S35discover - S36discover : works for Scot's set up to get nfs /usr.
if he uses auto stanza in /etc/network/interfaces file
but lacks auto selection of network per hotplug and
/etc/network/interfaces.
* S37discover - S40discover : should work for Scot's set up to get
nfs /usr if he uses auto stanza in /etc/network/interfaces file.
He may encounter duplicate ifup problem by hotplug but it is
cosmetic problem.
* S37discover - S99discover : works for people like me who likes to use
ifupdown and have local /usr FS.
All interfaces are configured by
/etc/network/interfaces and hotplug.
> I think the packages around discover are affecting the usability of
> discover by changing the semantics of networking. I suggest that
> hotplug be modified to defer networking requests until after ifupdown
> state is cleaned or that hotplug run after S39.
That what it does.
> http://www.debian.org/doc/manuals/reference/ch-gateway.en.html#s-net-trigger
> ----
> You can list additional physical interface names in auto stanzas if you
> want them to be brought up on boot too.
> ----
> This would be broken by the suggestion in this bug for current discover
> users.
Hmmm... This is a separate issue and this bug report will not affect it
in negative way. Additional physical interface may not be hotplugged
one.
> I think the suggestion to defer networking requests until a later time
> is best -- it doesn't require a substantial reshuffling of rcS.d to
> accomplish both goals, preserving existing configurations and providing
> the option of using hotplug.
Again, that what hotplug does if the first hotplug incident occurs after
/etc/rcS.d/S36hotplug .
If you think so, please support moving discover in /etc/rcS.d/ at or
after S37 :-)
> Otherwise, it would mean a lot of moving
> around in rcS.d to some ends that might not even be a great solution for
> all parties involved. (at least 6 or 7 rc scripts, I think)
So you worry will not happen.
Osamu
PS: Thomas pointed the funny hotplug init script things to me in another
bug report or in private mail long time ago.
On Wed, 2003-12-31 at 17:53, Osamu Aoki wrote:
> S10checkroot.sh
> S18hwclockfirst.sh
> S20module-init-tools
> S20modutils
> S30checkfs.sh
> S30etc-setserial
> S30procps.sh
> S35devpts.sh
> S35mountall.sh (This gives you root FS per README)
> S36hotplug (This delays actual hotplug invocation)
> S38pppd-dns
> S39ifupdown (This must be before actual hotplug invocation)
> S39resolvconf (This must be before actual hotplug invocation)
> S40discover (I manually changed this from S35discover.
> I now know it could have been S37discover)
> S40hostname.sh
> S40networking (netbase 4.15 use S40.)
> ...
> S45mountnfs.sh (nfs gives you sure /usr per README at S60)
> ...
I thought the point of this bug is that discover is causing hotplug to
invocate a ifup before S39ifupdown. So it constraints it much closer to
S40 in that case.
Minimally, it should be S40a-discover or something, it needs to be
before networking.
--
Scott Dier <[email protected]>
CS/IT Systems Staff
On Mon, 2004-01-05 at 17:24, Scott M. Dier wrote:
> I thought the point of this bug is that discover is causing hotplug to
> invocate a ifup before S39ifupdown. So it constraints it much closer to
> S40 in that case.
>
> Minimally, it should be S40a-discover or something, it needs to be
> before networking.
#141399 reported that /etc/init.d/discover running at S36 was causing
ifups prior to /etc/init.d/ifupdown which runs at S39. Consequently
I asked that discover be moved after S39ifupdown.
However, if discover causes the ifups only via the hotplug mechanism
then an alternative solution is to change hotplug so that it delays
ifups until after S39ifupdown. Scott Dier suggested this earlier in
#208155.
I think that this may actually have been done sometime in 2003,
judging from hotplug's changelogs. This might have been later
than when #141399 was reported.
Cristian Ionescu-Idbohrn: Can you see whether or not you still
hit the bug you reported in #141399 if the initscripts are returned
to their default locations?:
/etc/rcS.d/
S36discover
S36hotplug
S39dns-clean
S39ifupdown
S39resolvconf
S40hostname.sh
S40networking
/etc/rc2.d/
S11hotplug
If the bug has been fixed in hotplug then we can close #208155.
Otherwise we should reassign #208155 to hotplug.
AJT closed #141399 a couple of days ago.
--
Thomas
On Mon, 5 Jan 2004, Thomas Hood wrote:
> Cristian Ionescu-Idbohrn: Can you see whether or not you still
> hit the bug you reported in #141399 if the initscripts are returned
> to their default locations?:
>
> /etc/rcS.d/
moved S39discover to
> S36discover
moved S37hotplug to
> S36hotplug
no change on
> S39dns-clean
moved S36ifupdown to
> S39ifupdown
I see no
> S39resolvconf
no change on
> S40hostname.sh
no change on
> S40networking
> /etc/rc2.d/
no change on
> S11hotplug
Seems to be working fine after the above changes.
Cheers,
Cristian
tags 208155 - patch
thanks
On Wed, 2004-01-07 at 00:30, Cristian Ionescu-Idbohrn wrote:
> Seems to be working fine after the above changes.
That's good news. Closing #208155 with this message.
--
Thomas