9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF
       [not found] <5247962e2f1f11c9b374c57d9a9a71db@cat-v.org>
@ 2007-04-12 15:14 ` Uriel
  2007-04-12 15:32   ` Devon H. O'Dell
  0 siblings, 1 reply; 29+ messages in thread
From: Uriel @ 2007-04-12 15:14 UTC (permalink / raw)
  To: 9fans

>           # uncomment the following for booting other systems
>           #ip/dhcpd
>           #ip/tftpd

Shouldn't optional stuff like this go in cpurc.local anyway?

>         + #if(! netstat -n | grep -v 17008 | grep -s il.*Listen)
>         + #     aux/listen -q il
[...]
>         + # cpu specific startup
>         + #if(test -e /cfg/$sysname/cpustart)
>         + #     . /cfg/$sysname/cpustart
>         +
>         + #echo `{date} $sysname >>/sys/log/boot

Why is all this commented out?

This changes seem to intend to allow local installations to override
the default cpurc setup without having to edit it (and therefore get
out of sync with sources and need to merge future changes by hand and
so on), so I see little reason to leave 'alternative' sections
commented out when the local and $sysname specific scripts can take
care of that.

And thanks dho for writing the summaries! Just one small complaint,
could you fix the first line of the comments (specially because it is
used by convention as subject for the emails)?

Best wishes

uriel


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF
  2007-04-12 15:14 ` [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF Uriel
@ 2007-04-12 15:32   ` Devon H. O'Dell
  2007-04-12 15:48     ` erik quanstrom
  2007-04-12 15:56     ` Uriel
  0 siblings, 2 replies; 29+ messages in thread
From: Devon H. O'Dell @ 2007-04-12 15:32 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

2007/4/12, Uriel <uriel99@gmail.com>:
> >           # uncomment the following for booting other systems
> >           #ip/dhcpd
> >           #ip/tftpd
>
> Shouldn't optional stuff like this go in cpurc.local anyway?

Sure, but having it here gives a good idea for the kinds of things
that you would want to put into your cpurc.local.

> >         + #if(! netstat -n | grep -v 17008 | grep -s il.*Listen)
> >         + #     aux/listen -q il
> [...]
> >         + # cpu specific startup
> >         + #if(test -e /cfg/$sysname/cpustart)
> >         + #     . /cfg/$sysname/cpustart
> >         +
> >         + #echo `{date} $sysname >>/sys/log/boot
>
> Why is all this commented out?

There's no /cfg in the default distribution, for one. IL isn't really
used per default and isn't very inter-operable. Not sure why the
bootlog change would be; it seems like a good thing to have in there
by default. In either case it's giving good ideas for things you may
want / need in your cpurc.local.

One thing I'm not sure of still is, if there is a cpurc.local, it may
want to implement some things dependent on e.g. what if you are
starting some client script that requires the network to already have
been initialized. This seems to be what you would end up putting in
your /cfg/$sysname/cpustart,

> This changes seem to intend to allow local installations to override
> the default cpurc setup without having to edit it (and therefore get
> out of sync with sources and need to merge future changes by hand and
> so on), so I see little reason to leave 'alternative' sections
> commented out when the local and $sysname specific scripts can take
> care of that.

We need to have something automatically create /cfg for peoples
fossils when they upgrade then. You can't just mkdir /cfg.

> And thanks dho for writing the summaries! Just one small complaint,
> could you fix the first line of the comments (specially because it is
> used by convention as subject for the emails)?

I could. How is your script splitting them up though? I was assuming
that it used those lines to split each change.

> Best wishes
>
> uriel

If we really wanted to take care of these issues, it'd be worth
considering the creation of an rc system, but I'm not sure how much
fire that would cause in the community.

-dho


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF
  2007-04-12 15:32   ` Devon H. O'Dell
@ 2007-04-12 15:48     ` erik quanstrom
  2007-04-12 16:03       ` Devon H. O'Dell
  2007-04-12 16:05       ` Russ Cox
  2007-04-12 15:56     ` Uriel
  1 sibling, 2 replies; 29+ messages in thread
From: erik quanstrom @ 2007-04-12 15:48 UTC (permalink / raw)
  To: 9fans

> 
> We need to have something automatically create /cfg for peoples
> fossils when they upgrade then. You can't just mkdir /cfg.
> 

how about (by $user in group sys)

	mount -c /srv/boot /n/fs
	mkdir /n/fs/cfg

you can issue this at the fossil (or fileserver) console, too
	create cfg sys sys 755 d

i think the man page for fossilcons is missing the [dla] final
option to create in the summary at the top.

- erik



^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF
  2007-04-12 15:32   ` Devon H. O'Dell
  2007-04-12 15:48     ` erik quanstrom
@ 2007-04-12 15:56     ` Uriel
  2007-04-12 16:08       ` Devon H. O'Dell
  2007-04-12 18:25       ` [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF ron minnich
  1 sibling, 2 replies; 29+ messages in thread
From: Uriel @ 2007-04-12 15:56 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On 4/12/07, Devon H. O'Dell <devon.odell@gmail.com> wrote:
> 2007/4/12, Uriel <uriel99@gmail.com>:
> > >           # uncomment the following for booting other systems
> > >           #ip/dhcpd
> > >           #ip/tftpd
> >
> > Shouldn't optional stuff like this go in cpurc.local anyway?
>
> Sure, but having it here gives a good idea for the kinds of things
> that you would want to put into your cpurc.local.

Then maybe we should provide a sample cpurc.local instead...

>
> > >         + #if(! netstat -n | grep -v 17008 | grep -s il.*Listen)
> > >         + #     aux/listen -q il
> > [...]
> > >         + # cpu specific startup
> > >         + #if(test -e /cfg/$sysname/cpustart)
> > >         + #     . /cfg/$sysname/cpustart
> > >         +
> > >         + #echo `{date} $sysname >>/sys/log/boot
> >
> > Why is all this commented out?
>
> There's no /cfg in the default distribution, for one. IL isn't really
> used per default and isn't very inter-operable. Not sure why the
> bootlog change would be; it seems like a good thing to have in there
> by default. In either case it's giving good ideas for things you may
> want / need in your cpurc.local.

It tests for the /cfg stuff, so if it doesn't exist it should not be a
problem (the code that checks for /cfg/$sysname/cpurc is already
uncommented.)

You might be right about IL, but it might not hurt to have it either,
in any case I agree there should be a way to enable or disable it
without touching the default cpurc.

>
> One thing I'm not sure of still is, if there is a cpurc.local, it may
> want to implement some things dependent on e.g. what if you are
> starting some client script that requires the network to already have
> been initialized. This seems to be what you would end up putting in
> your /cfg/$sysname/cpustart,

We might want a /rc/bin/cpustart.local too?

> > This changes seem to intend to allow local installations to override
> > the default cpurc setup without having to edit it (and therefore get
> > out of sync with sources and need to merge future changes by hand and
> > so on), so I see little reason to leave 'alternative' sections
> > commented out when the local and $sysname specific scripts can take
> > care of that.
>
> We need to have something automatically create /cfg for peoples
> fossils when they upgrade then. You can't just mkdir /cfg.

Having /cfg by default might be a good idea, but I don't think it is a
big deal as long as it is optional, I suspect most small networks can
get by with cpurc.local and maybe a cpustart.local, and if you want
/cfg, you can just create it and cpurc should take advantage of it
automatically.

> > And thanks dho for writing the summaries! Just one small complaint,
> > could you fix the first line of the comments (specially because it is
> > used by convention as subject for the emails)?
>
> I could. How is your script splitting them up though? I was assuming
> that it used those lines to split each change.

For some unknown reason russ refused to have the changes split on his
end, which would be the ideal. I have a script that splits the daily
changes file and puts them in sources, see for example:
/n/sources/contrib/uriel/changes/2007/0410/
and then use that as input for the email notifications.

If someone wants to get a single email per day, they can get a digest
of plan9changes.

To split I use some awk magic to detect text that is not indented,
which is the comments that go over the diffs. See the end of
/n/sources/contrib/uriel/plog for the (awful and fragile) details.


> > Best wishes
> >
> > uriel
>
> If we really wanted to take care of these issues, it'd be worth
> considering the creation of an rc system, but I'm not sure how much
> fire that would cause in the community.

Maybe, but for now I think fixing up what we got seems easy enough and
might be good enough.

uriel


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF
  2007-04-12 15:48     ` erik quanstrom
@ 2007-04-12 16:03       ` Devon H. O'Dell
  2007-04-12 16:05       ` Russ Cox
  1 sibling, 0 replies; 29+ messages in thread
From: Devon H. O'Dell @ 2007-04-12 16:03 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

2007/4/12, erik quanstrom <quanstro@coraid.com>:
> >
> > We need to have something automatically create /cfg for peoples
> > fossils when they upgrade then. You can't just mkdir /cfg.
> >
>
> how about (by $user in group sys)
>
>         mount -c /srv/boot /n/fs
>         mkdir /n/fs/cfg
>
> you can issue this at the fossil (or fileserver) console, too
>         create cfg sys sys 755 d
>
> i think the man page for fossilcons is missing the [dla] final
> option to create in the summary at the top.
>
> - erik

My point was more, if this is something that's in the default
distribution, we are going to need to have a way to get it in there,
and you can't just do that with replica/pull. Maybe putting that in
the cpurc manpage would work. ``For CPU-specific startup, create
/cfg/$sysname/blah.'' If your point is that it doesn't need to be, or
shouldn't be automatically created, that's a different issue
altogether, and one that I can see as reasonable, since most people
probably don't use this convention right now.

However, /cfg/$sysname/* is referenced in other places as well, so
perhaps it's be a good idea to have a manpage with more global
information. (namespace, perhaps)

--dho


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF
  2007-04-12 15:48     ` erik quanstrom
  2007-04-12 16:03       ` Devon H. O'Dell
@ 2007-04-12 16:05       ` Russ Cox
  1 sibling, 0 replies; 29+ messages in thread
From: Russ Cox @ 2007-04-12 16:05 UTC (permalink / raw)
  To: 9fans

> you can issue this at the fossil (or fileserver) console, too
> 	create cfg sys sys 755 d
> 
> i think the man page for fossilcons is missing the [dla] final
> option to create in the summary at the top.

no it's not.
the syntax for fossil is different.

	create /active/cfg sys sys d775

russ



^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF
  2007-04-12 15:56     ` Uriel
@ 2007-04-12 16:08       ` Devon H. O'Dell
  2007-04-12 17:42         ` [9fans] Re: [sources] 20070410: % cat geoff
  2007-04-12 18:25       ` [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF ron minnich
  1 sibling, 1 reply; 29+ messages in thread
From: Devon H. O'Dell @ 2007-04-12 16:08 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

2007/4/12, Uriel <uriel99@gmail.com>:
> On 4/12/07, Devon H. O'Dell <devon.odell@gmail.com> wrote:

[snip]

> > One thing I'm not sure of still is, if there is a cpurc.local, it may
> > want to implement some things dependent on e.g. what if you are
> > starting some client script that requires the network to already have
> > been initialized. This seems to be what you would end up putting in
> > your /cfg/$sysname/cpustart,
>
> We might want a /rc/bin/cpustart.local too?

No, it appears to serve the same purpose as cpurc.local --
cpu-specific startup, after initialization. (And it's not in the
default distribution). At what point do we stop and at what point do
we create cpustart.local.local.local?

> > We need to have something automatically create /cfg for peoples
> > fossils when they upgrade then. You can't just mkdir /cfg.
>
> Having /cfg by default might be a good idea, but I don't think it is a
> big deal as long as it is optional, I suspect most small networks can
> get by with cpurc.local and maybe a cpustart.local, and if you want
> /cfg, you can just create it and cpurc should take advantage of it
> automatically.

If we don't put /cfg in, I agree that cpustart.local is a good idea.

> > I could. How is your script splitting them up though? I was assuming
> > that it used those lines to split each change.
>
> For some unknown reason russ refused to have the changes split on his
> end, which would be the ideal. I have a script that splits the daily

Because it's a pain in the ass to go through all the changes individually.

> changes file and puts them in sources, see for example:
> /n/sources/contrib/uriel/changes/2007/0410/
> and then use that as input for the email notifications.
>
> If someone wants to get a single email per day, they can get a digest
> of plan9changes.
>
> To split I use some awk magic to detect text that is not indented,
> which is the comments that go over the diffs. See the end of
> /n/sources/contrib/uriel/plog for the (awful and fragile) details.

Ok. I'll start adding subjects then. But do please note, I'm not
intending to split them up past daily changelogs right now. Yes, the
makemail script does create separate changes, but editing them all
separately, figuring out what to name them, etc, would increase the
effort needed to do these things by a power of at least n*2.

--dho


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat
  2007-04-12 16:08       ` Devon H. O'Dell
@ 2007-04-12 17:42         ` geoff
  2007-04-12 18:00           ` Anthony Sorace
  2007-04-13  4:04           ` Lucio De Re
  0 siblings, 2 replies; 29+ messages in thread
From: geoff @ 2007-04-12 17:42 UTC (permalink / raw)
  To: 9fans

/cfg/pxe is needed for PXE booting.

We have also pushed essentially all files unique to a single machine
into /cfg/$sysname here.  I pushed out an updated cpurc(8) a couple of
weeks ago and am now bringing the start-up scripts on sources up to
date, in stages, to match it, in part to minimise the differences
between what we run and what's on sources.



^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat
  2007-04-12 17:42         ` [9fans] Re: [sources] 20070410: % cat geoff
@ 2007-04-12 18:00           ` Anthony Sorace
  2007-04-12 18:16             ` Russ Cox
  2007-04-13  4:04           ` Lucio De Re
  1 sibling, 1 reply; 29+ messages in thread
From: Anthony Sorace @ 2007-04-12 18:00 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

I'm having trouble understanding the motivation behind /cfg, as
compared to /sys/lib/sysconfig. The later seems much more general
(although i'm not clear on the pxe case specifically), as well as
having the aesthetic benefit of not needlessly cluttering root.

Am I missing something?


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat
  2007-04-12 18:00           ` Anthony Sorace
@ 2007-04-12 18:16             ` Russ Cox
  2007-04-12 18:57               ` Anthony Sorace
  0 siblings, 1 reply; 29+ messages in thread
From: Russ Cox @ 2007-04-12 18:16 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On 4/12/07, Anthony Sorace <anothy@gmail.com> wrote:
> I'm having trouble understanding the motivation behind /cfg, as
> compared to /sys/lib/sysconfig. The later seems much more general
> (although i'm not clear on the pxe case specifically), as well as
> having the aesthetic benefit of not needlessly cluttering root.
>
> Am I missing something?

To start with, Plan 9 can handle as many things in the
root as you like.  It is not constrained by the size
of an rk05 or the time to fsck the root partition.

At the time, /cfg was deemed shorter to type.
There is no real difference, except that there
are programs that actually use /cfg and nothing
ever used /sys/lib/sysconfig.  It's too late to
turn back now.  I didn't really like /cfg at the
time, but I've gotten used to it, and I do believe
that part of why it gets used is the much
shorter name.

Russ


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF
  2007-04-12 15:56     ` Uriel
  2007-04-12 16:08       ` Devon H. O'Dell
@ 2007-04-12 18:25       ` ron minnich
  2007-04-12 18:38         ` [9fans] Re: [sources] 20070410: % cat geoff
                           ` (3 more replies)
  1 sibling, 4 replies; 29+ messages in thread
From: ron minnich @ 2007-04-12 18:25 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On 4/12/07, Uriel <uriel99@gmail.com> wrote:

> Having /cfg by default might be a good idea, but I don't think it is a
> big deal as long as it is optional, I suspect most small networks can
> get by with cpurc.local and maybe a cpustart.local, and if you want
> /cfg, you can just create it and cpurc should take advantage of it
> automatically.

what's interesting about this file per node config stuff:
1. small sites don't need it
2. for big sites, it's just not practical at all. File per node on
1024 or more nodes? it just won't go. And 1024 is not a lot.
3. For medium sites, it's kind of ok, I guess.

So we've got at least three cases here. From my point of view, that
argues that we've done something wrong.

File per node for config info is reminiscent of what Sun used to do.
You had a directory, in which you put files like this:
0040506789AB
i.e. the MAC address, and that was a symlink to the correct bootstrap.
It was fine for networks of a 100-200 hundred nodes, at least in my
experience. It's totally unworkable at any reasonable scale.

For systems I work with, file per node is not going to work. A
configuration entry per node is marginally workable, to a point; but I
recently saw a system that had about 1Kbyte of XML per node
configuration, in one file; a 1 Mbyte file for a 1024 cluster, which
is not large nowadays; it's headache-inducing.

The onesis stuff (onesis.org) has introduced the concept of roles to
cluster computing, and it was used to bring up a 4096-node
IB-connected cluster. It is easy to set up (I've done it).

This note is written in the hope that we can do better. I don't
pretend I know how ... but per-node files doesn't really feel right.

thanks

ron


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat
  2007-04-12 18:25       ` [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF ron minnich
@ 2007-04-12 18:38         ` geoff
  2007-04-12 18:43           ` Devon H. O'Dell
  2007-04-12 18:40         ` [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF erik quanstrom
                           ` (2 subsequent siblings)
  3 siblings, 1 reply; 29+ messages in thread
From: geoff @ 2007-04-12 18:38 UTC (permalink / raw)
  To: 9fans

You only need files in /cfg for a machine if that machine is an
exception to your normal policies (in cpurc, namespace, consoledb,
etc.).  I would expect that a cluster would need zero or one such
exceptions, as the machines are supposed to be interchangeable, right?



^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF
  2007-04-12 18:25       ` [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF ron minnich
  2007-04-12 18:38         ` [9fans] Re: [sources] 20070410: % cat geoff
@ 2007-04-12 18:40         ` erik quanstrom
  2007-04-12 18:50           ` Francisco J Ballesteros
  2007-04-12 18:41         ` Russ Cox
  2007-04-12 18:48         ` [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF andrey mirtchovski
  3 siblings, 1 reply; 29+ messages in thread
From: erik quanstrom @ 2007-04-12 18:40 UTC (permalink / raw)
  To: 9fans

perhaps for a cluster, a fileserver that can construct the proper 
configuration from the mac address (or whatever you wish)
would be a slick way to go.  this would be very doable with ndb.

- erik

On Thu Apr 12 14:25:03 EDT 2007, rminnich@gmail.com wrote:
> 
> what's interesting about this file per node config stuff:
> 1. small sites don't need it
> 2. for big sites, it's just not practical at all. File per node on
> 1024 or more nodes? it just won't go. And 1024 is not a lot.
> 3. For medium sites, it's kind of ok, I guess.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF
  2007-04-12 18:25       ` [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF ron minnich
  2007-04-12 18:38         ` [9fans] Re: [sources] 20070410: % cat geoff
  2007-04-12 18:40         ` [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF erik quanstrom
@ 2007-04-12 18:41         ` Russ Cox
  2007-04-13  4:18           ` [9fans] Re: [sources] 20070410: % cat Lucio De Re
  2007-04-12 18:48         ` [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF andrey mirtchovski
  3 siblings, 1 reply; 29+ messages in thread
From: Russ Cox @ 2007-04-12 18:41 UTC (permalink / raw)
  To: 9fans

/cfg is intended for machines with per-node configuration.
If you have 1000 machines that are functionally identical,
you're not supposed to write /cfg directories for any of them.

But if you have one machine that is supposed to do something
a little different (like run a venti server, or be an auth server),
then you can put those differences into /cfg/$sysname/cpurc.

What /cfg replaced was a giant

	switch($sysname){
	case this
		...
	case that
		...
	}

in /rc/bin/cpurc.  It's definitely a step forward for that
situation.

The Plan 9 distribution has always been "this works
well at Bell Labs; you might need to change it to suit you",
and that applies to /cfg as much as anything else.

/cfg is just a pragmatic solution for one use model.
If you are running large clusters, you will want something
different.  But most Plan 9 installations are not large clusters.

I for one am glad that people can edit cpurc instead of
having to agree on a general startup script mechanism.
Otherwise we might end up with something like /etc/init.d.

Russ



^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat
  2007-04-12 18:38         ` [9fans] Re: [sources] 20070410: % cat geoff
@ 2007-04-12 18:43           ` Devon H. O'Dell
  0 siblings, 0 replies; 29+ messages in thread
From: Devon H. O'Dell @ 2007-04-12 18:43 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

2007/4/12, geoff@plan9.bell-labs.com <geoff@plan9.bell-labs.com>:
> You only need files in /cfg for a machine if that machine is an
> exception to your normal policies (in cpurc, namespace, consoledb,
> etc.).  I would expect that a cluster would need zero or one such
> exceptions, as the machines are supposed to be interchangeable, right?

In my mind, this is not entirely the case. The other reason to use it
is to avoid actually touching cpurc, so that you don't have to
remember to type -s '/rc/bin/cpurc' when I pull, after backing it up
and merging any changes back in. Since pull is the primary means of
keeping the system up to date, it's a real pain to try to merge all
these changes.

--dho


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF
  2007-04-12 18:25       ` [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF ron minnich
                           ` (2 preceding siblings ...)
  2007-04-12 18:41         ` Russ Cox
@ 2007-04-12 18:48         ` andrey mirtchovski
  3 siblings, 0 replies; 29+ messages in thread
From: andrey mirtchovski @ 2007-04-12 18:48 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

> 2. for big sites, it's just not practical at all. File per node on
> 1024 or more nodes? it just won't go. And 1024 is not a lot.

our 64-node cluster at lanl didn't have a /cfg. in fact, none of the
clusters you've built with p9 have had a /cfg. the giant switch russ
talks about is only two or three machines wide.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF
  2007-04-12 18:40         ` [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF erik quanstrom
@ 2007-04-12 18:50           ` Francisco J Ballesteros
  0 siblings, 0 replies; 29+ messages in thread
From: Francisco J Ballesteros @ 2007-04-12 18:50 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

We have not 1000, but about 200 terminals for students.
We use a script to generate pxe files from ndb entries. Not std, I admit,
but works well. In the end, we even forgot about /cfg/pxe.


On 4/12/07, erik quanstrom <quanstro@coraid.com> wrote:
> perhaps for a cluster, a fileserver that can construct the proper
> configuration from the mac address (or whatever you wish)
> would be a slick way to go.  this would be very doable with ndb.
>
> - erik
>
> On Thu Apr 12 14:25:03 EDT 2007, rminnich@gmail.com wrote:
> >
> > what's interesting about this file per node config stuff:
> > 1. small sites don't need it
> > 2. for big sites, it's just not practical at all. File per node on
> > 1024 or more nodes? it just won't go. And 1024 is not a lot.
> > 3. For medium sites, it's kind of ok, I guess.
>
>


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat
  2007-04-12 18:16             ` Russ Cox
@ 2007-04-12 18:57               ` Anthony Sorace
  0 siblings, 0 replies; 29+ messages in thread
From: Anthony Sorace @ 2007-04-12 18:57 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

//To start with, Plan 9 can handle as many things in the
//root as you like.  It is not constrained by the size
//of an rk05 or the time to fsck the root partition.

Of course; as I said, it's largely an aesthetic decision. But I do
believe it has an impact on *people* reading /, rather than programs
reading it. And /sys/lib feels like a very natural fit for exactly
this sort of information.

Yes, /cfg is provably shorter to type than /sys/lib/sysconfig... but
you really believe that matters here? I don't dispute the impact of
length on use generally, but this is seldom-changing config
information. Is it really true that nothing/nobody ever used sysconfig
(contrary to the cpurc man page)?

Personally, i think the argument of "so we don't have to edit
cpurc/termrc" is vacuous. They change infrequently enough, and in
small enough ways each time, that merging changes is simple. I think
the fear (as Russ pointed to elsewhere) of moving towards init.d is
much more legitimate.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat
  2007-04-12 17:42         ` [9fans] Re: [sources] 20070410: % cat geoff
  2007-04-12 18:00           ` Anthony Sorace
@ 2007-04-13  4:04           ` Lucio De Re
  2007-04-13  4:58             ` geoff
  1 sibling, 1 reply; 29+ messages in thread
From: Lucio De Re @ 2007-04-13  4:04 UTC (permalink / raw)
  To: 9fans

> We have also pushed essentially all files unique to a single machine
> into /cfg/$sysname here.  I pushed out an updated cpurc(8) a couple of
> weeks ago and am now bringing the start-up scripts on sources up to
> date, in stages, to match it, in part to minimise the differences
> between what we run and what's on sources.

I understood this was the role of /sys/lib/sysconfig, but I can easily
understand the desire to change.  Jim suggested, however, that PXE
handling wasn't cast in stone and that might have affected the
stability of /cfg/pxe.  I suppose this means we need a bull from Bell
Labs to pin this down for posterity?

++L



^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat
  2007-04-12 18:41         ` Russ Cox
@ 2007-04-13  4:18           ` Lucio De Re
  2007-04-13  4:59             ` geoff
  0 siblings, 1 reply; 29+ messages in thread
From: Lucio De Re @ 2007-04-13  4:18 UTC (permalink / raw)
  To: 9fans

> /cfg is intended for machines with per-node configuration.
> If you have 1000 machines that are functionally identical,
> you're not supposed to write /cfg directories for any of them.

Still doesn't scale: what if you have *two* sets of 1024 machines with
slightly different configurations in the two groups?

++L



^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat
  2007-04-13  4:04           ` Lucio De Re
@ 2007-04-13  4:58             ` geoff
  0 siblings, 0 replies; 29+ messages in thread
From: geoff @ 2007-04-13  4:58 UTC (permalink / raw)
  To: lucio, 9fans

PXE booting is not likely to change much.  Dave Presotto did much of
that work and he's now gone.  /cfg/pxe is here to stay, as far as I
can see.



^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat
  2007-04-13  4:18           ` [9fans] Re: [sources] 20070410: % cat Lucio De Re
@ 2007-04-13  4:59             ` geoff
  0 siblings, 0 replies; 29+ messages in thread
From: geoff @ 2007-04-13  4:59 UTC (permalink / raw)
  To: lucio, 9fans

Then you need two different sets of policy files and to have your
initialisation bind the right ones into place.  I'm doing this now for
a set of diverse machines with different keys, policies, etc. all
sharing a single file server.



^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat
  2007-04-13 21:39         ` Paweł Lasek
@ 2007-04-14 14:51           ` Russ Cox
  0 siblings, 0 replies; 29+ messages in thread
From: Russ Cox @ 2007-04-14 14:51 UTC (permalink / raw)
  To: 9fans

> That's also thanks to improved filesystems. 

This isn't true.

The savings are due to aggressive caching in the
operating system, which cuts the file system out
entirely.  The disks are slow no matter how you 
use them.

File I/O for things like Python and TeX is slower
on Plan 9 because it has to go to the file server,
which is in another process or another machine,
rather than answer out of a kernel cache like Linux
does. 

Lots of things get easier if you assume you are the
only machine in the universe.  See earlier discussion
on caching read EODs.

Russ



^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat
  2007-04-13 18:22       ` Lyndon Nerenberg
@ 2007-04-13 21:39         ` Paweł Lasek
  2007-04-14 14:51           ` Russ Cox
  0 siblings, 1 reply; 29+ messages in thread
From: Paweł Lasek @ 2007-04-13 21:39 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

On 4/13/07, Lyndon Nerenberg <lyndon@orthanc.ca> wrote:
> > for 250k messages, either solution is poor.  deleting the
> > first of 250k messages requires rewriting the whole mbox.
> > dealing with 250k directory entries can be painful, too,
> > as many fs keep directores as arrays.
> >
> > if you have that many messages, you might want an index. ;-)


> These days I don't find large directories to be a problem.  A few months
> ago I did some performance tests on large directory operations (create,
> unlink, readdir) on Linux and FreeBSD.  For both OSes, directory
> enumeration times were negligible for the tests I ran (in the vicinity of
> 200K entries).  And with everyone caching directory entries these days,
> the only real difference between directory I/O and file I/O is the
> locking overhead for directory modifications.  (This all assumes local
> disk. Throw in NFS and everything implodes.)

That's also thanks to improved filesystems. Modern ones (at least in
Linux, I don't know about *BSD as I didn't use them that extentively)
use weird/complicated/WTF trees to keep directory (and not only) data.
I am not sure if HFS+ doesn't use it also for several other things, as
at least one of the developers working on it came from Be where he
worked on BeFS, which was basically a database with hierarchical
interface...

I don't know about other fs'es, but I have never had problem with
directory entries on XFS. Or anything else, as I never managed to
break it despite being designed for UPS-backed servers (It caches very
aggressively, especially writes) while ReiserFS gave up very fast :-)

BTW, wouldn't XFS be a nice addition to Plan9? Plan9-specific things
can be easily put into  extended attributes, just make sure that
inodes will have larger-than-default size so that xattr access would
be blazing fast....

> --lyndon
>


-- 
Paul Lasek


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat
  2007-04-13 14:56     ` erik quanstrom
@ 2007-04-13 18:22       ` Lyndon Nerenberg
  2007-04-13 21:39         ` Paweł Lasek
  0 siblings, 1 reply; 29+ messages in thread
From: Lyndon Nerenberg @ 2007-04-13 18:22 UTC (permalink / raw)
  To: Fans of the OS Plan 9 from Bell Labs

> for 250k messages, either solution is poor.  deleting the
> first of 250k messages requires rewriting the whole mbox.
> dealing with 250k directory entries can be painful, too,
> as many fs keep directores as arrays.
>
> if you have that many messages, you might want an index. ;-)

I've said it before, and I'll keep saying it until I'm proved wrong:

   nothing runs faster or scales better than the Cyrus IMAP mail store.

MH filesystem layout with per-folder index + header cache.  I have 
deployed mail servers with literally millions of user accounts using this 
layout, and it just works.

These days I don't find large directories to be a problem.  A few months 
ago I did some performance tests on large directory operations (create, 
unlink, readdir) on Linux and FreeBSD.  For both OSes, directory 
enumeration times were negligible for the tests I ran (in the vicinity of 
200K entries).  And with everyone caching directory entries these days, 
the only real difference between directory I/O and file I/O is the 
locking overhead for directory modifications.  (This all assumes local 
disk. Throw in NFS and everything implodes.)

But scalability aside, the real evilness in mbox is the quoting of 
'^From '.

--lyndon


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat
  2007-04-13 14:25   ` Devon H. O'Dell
  2007-04-13 14:56     ` erik quanstrom
@ 2007-04-13 15:00     ` Lucio De Re
  1 sibling, 0 replies; 29+ messages in thread
From: Lucio De Re @ 2007-04-13 15:00 UTC (permalink / raw)
  To: 9fans

> Do you know anybody who has ever come up with a better idea? This is
> very similar to Maildir replacing mbox. It sounds good, but when you
> have 250k messages, it ends up being slower simply to traverse the
> directory. In FreeBSD anyway.
> 
A valid comment, I must grant.  I guess I'm hoping the better idea
will not be overlooked by a NIH when it does present itself.

> However, it does scale. Much, much better than a case where you have
> the same requirement for thousands of systems in a switch () statment.

Also valid.  But a database lookup would be even better, would it not?
That has got to be kept in mind, like or not.  Thinking out of the box
is called for, will it ever happen?

++L



^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat
  2007-04-13 14:25   ` Devon H. O'Dell
@ 2007-04-13 14:56     ` erik quanstrom
  2007-04-13 18:22       ` Lyndon Nerenberg
  2007-04-13 15:00     ` Lucio De Re
  1 sibling, 1 reply; 29+ messages in thread
From: erik quanstrom @ 2007-04-13 14:56 UTC (permalink / raw)
  To: 9fans

i think mdir was done to solve nfs locking problems, not
for performance.

for 250k messages, either solution is poor.  deleting the
first of 250k messages requires rewriting the whole mbox.
dealing with 250k directory entries can be painful, too,
as many fs keep directores as arrays.

if you have that many messages, you might want an index. ;-)

- erik


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat
  2007-04-13  6:00 ` [9fans] Re: [sources] 20070410: % cat Lucio De Re
@ 2007-04-13 14:25   ` Devon H. O'Dell
  2007-04-13 14:56     ` erik quanstrom
  2007-04-13 15:00     ` Lucio De Re
  0 siblings, 2 replies; 29+ messages in thread
From: Devon H. O'Dell @ 2007-04-13 14:25 UTC (permalink / raw)
  To: Lucio De Re, Fans of the OS Plan 9 from Bell Labs

2007/4/13, Lucio De Re <lucio@proxima.alt.za>:
> > Then you need two different sets of policy files and to have your
> > initialisation bind the right ones into place.  I'm doing this now for
> > a set of diverse machines with different keys, policies, etc. all
> > sharing a single file server.
>
> That does not contradict my statement that it does not scale.  Much as
> I appreciate the philosophical value of bind/mount, a trillion
> instances of a configuration file are going to be unmanageable.  Ron
> is right that there is no slick solution, but it's worth knowing that
> the current approach deserves exploring further.
>
> ++L

Do you know anybody who has ever come up with a better idea? This is
very similar to Maildir replacing mbox. It sounds good, but when you
have 250k messages, it ends up being slower simply to traverse the
directory. In FreeBSD anyway.

However, it does scale. Much, much better than a case where you have
the same requirement for thousands of systems in a switch () statment.

--dho


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [9fans] Re: [sources] 20070410: % cat
       [not found] <12a554de22f1992874430323d774bd88@plan9.bell-labs.com>
@ 2007-04-13  6:00 ` Lucio De Re
  2007-04-13 14:25   ` Devon H. O'Dell
  0 siblings, 1 reply; 29+ messages in thread
From: Lucio De Re @ 2007-04-13  6:00 UTC (permalink / raw)
  To: 9fans

> Then you need two different sets of policy files and to have your
> initialisation bind the right ones into place.  I'm doing this now for
> a set of diverse machines with different keys, policies, etc. all
> sharing a single file server.

That does not contradict my statement that it does not scale.  Much as
I appreciate the philosophical value of bind/mount, a trillion
instances of a configuration file are going to be unmanageable.  Ron
is right that there is no slick solution, but it's worth knowing that
the current approach deserves exploring further.

++L



^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2007-04-14 14:51 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <5247962e2f1f11c9b374c57d9a9a71db@cat-v.org>
2007-04-12 15:14 ` [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF Uriel
2007-04-12 15:32   ` Devon H. O'Dell
2007-04-12 15:48     ` erik quanstrom
2007-04-12 16:03       ` Devon H. O'Dell
2007-04-12 16:05       ` Russ Cox
2007-04-12 15:56     ` Uriel
2007-04-12 16:08       ` Devon H. O'Dell
2007-04-12 17:42         ` [9fans] Re: [sources] 20070410: % cat geoff
2007-04-12 18:00           ` Anthony Sorace
2007-04-12 18:16             ` Russ Cox
2007-04-12 18:57               ` Anthony Sorace
2007-04-13  4:04           ` Lucio De Re
2007-04-13  4:58             ` geoff
2007-04-12 18:25       ` [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF ron minnich
2007-04-12 18:38         ` [9fans] Re: [sources] 20070410: % cat geoff
2007-04-12 18:43           ` Devon H. O'Dell
2007-04-12 18:40         ` [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF erik quanstrom
2007-04-12 18:50           ` Francisco J Ballesteros
2007-04-12 18:41         ` Russ Cox
2007-04-13  4:18           ` [9fans] Re: [sources] 20070410: % cat Lucio De Re
2007-04-13  4:59             ` geoff
2007-04-12 18:48         ` [9fans] Re: [sources] 20070410: % cat >/sys/lib/dist/changes/1176262206.1.txt << EOF andrey mirtchovski
     [not found] <12a554de22f1992874430323d774bd88@plan9.bell-labs.com>
2007-04-13  6:00 ` [9fans] Re: [sources] 20070410: % cat Lucio De Re
2007-04-13 14:25   ` Devon H. O'Dell
2007-04-13 14:56     ` erik quanstrom
2007-04-13 18:22       ` Lyndon Nerenberg
2007-04-13 21:39         ` Paweł Lasek
2007-04-14 14:51           ` Russ Cox
2007-04-13 15:00     ` Lucio De Re

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).