Re: [leaf-devel] Config system

2003-02-04 Thread Lynn Avants
On Tuesday 04 February 2003 09:20 pm, Matt Schalit wrote:

> *  Ok Ray.  I agree with you on the need for a simple file
>of name=value pairs.
>
> *  Ok Charles, I agree that the format shouldn't matter much,
>and that XML has many advantages.

XML and nested directories are extremely nice and convient IF
you have a language that works well with it. How are you supposed
to parse it on the LEAF box??? I can gather the advantages on an
external pre-config, but I don't figure to write the back-end in C, perl,
or awk to run on the LEAF box itself. I really don't care how the
front-end (GUI/whatever) gets the information to the backend (*cfg),
I worry about how to parse the file(s) generated with the backend
regardless of whatever front-end is being used. I feel forced to 
assume that the file(s) generated by the pre-/post- config MUST be
compatible. If a 'tree' like proc is used, is there an example of 
a decent way to parse "unexpected" variables (from a new package)
with the shell or is someone volunteering to do this in C?

My opinion (at the moment) is that there is nothing simpler to parse than
a single file of variables. especially if 'cut' would use whitespace as a
delimiter.  ;-)



> But it was pointed out to me that the XML database in Chad's idea
> was something to be kept seperate from LEAF and not stored on it.
> I think that the XML is used on seperate OS to configure the system.
> I think the idea of Chad's was to combine an XML config-db with a
> remote based gui and produce template-built runtime conf files
> that would be used on the LEAF.

I hate to say it, but it sounds like putting a pretty picture on what we
have now to some degree. Now, if it would generate a flat-db or 'tiny'
set of files, I could see the advantage.


> Proposed Solution:
> ==
> Can we merge the two ideas by making the master-db maybe XML
> but also unleash sed on it to output a running config of
> name=value pairs to a single file, /var/run/flat?
>
>
> If we do that, then you'd have your choice of using the api
> to access the XML db, or using /var/run/flat:
>
>   a)  If you use the api to change the xml, the api also updates
> /var/run/flat.
>
>   b)  If you hand edit /var/run/flat, you would run leafill which would
>   "refill" the XML db and trigger all dependant files to be reloaded.
>
>
> Sound good?
>
> It's merely an extra sed and an update.sh.  It may be worth it to
> have this redundancy.  Anyone concur?  It would mean a big XML
> or similar db stored on your leaf diskette and an api to handle it.


It does. Any guesses on the size of the code bloat? Size of 'leafill'?
I'm guessing ~x3-x4" for the combined option. Out of the packages
I'm auditing, only Shorewall sticks out as being a PITA to handle,
but I think Eric has a grasp on that one. Then again I assume there
will (or can be) several front-end options available. If a GUI was all
that was desired, most of us would be using Mosquito or BBIagent.
Just for kicks, someone run off a PacketFilter floppy and run it on
a router to the login prompt and give me an opinion.. I think there
is an incrediable value to a prompt script more times than not.



> > To be used with LEAF, packages typically require some modification
> > anyway. Why not adopt a "one-stop-shopping" standard for config
> > variables that makes them easily available to any package?
>
> I think we all concur on this, Ray.

OT, but the additions I would suggest for the packages would be
a $package.opt file that contains all variables in that package with
the default first and a $package.dep that contains non-base
dependant packages. This would work regardless of the db-format.



> > Then when
> > someone adapts a package, he or she at least has the option of having it
> > get its config info from a standard place in an easy fashion. What I
> > mean here is a single text file, with a simple name=value format, that
> > contains all the basic information needed by networking packages, in a
> > form that init and config scripts can use easily (like the old
> > network.conf, which used a format that allowed all entries to be loaded
> > as shell variables). The key to keeping this manageable is that it
> > contains nothing but
> >
> > VARIABLE_NAME=value lines
>
> Yes.
>
> > #commentlines
>
> Yes.

That will be fine you can use the #descript as a package identifier or
a trigger of sorts. Just avoid using:
VAR = value #descript
you'll end up with a unusual prompt when parsed.  ;-)


> > and lines that do minor manipulation of VARIABLE_NAME lines
> > (e.g., something like
> > NETWORK_INTERNAL=$INTERFACE_INTERNAL/$NETMASK_INTERNAL
> > )

This could be done just as easy in the existing *.conf file that we are
adding the variables into. I don't think it belongs in the db either. 


> I think we all concur.  Any variable that can be common
> to severa

[leaf-devel] Where I've been...

2003-02-04 Thread David Douthitt
It's been a long and winding road Mostly, I've had other things to 
divert my attention.  There's been installs of FreeBSD, KDE, SuSE, and 
Yellow Dog along the way.  I'm also gained a couple of certifications, 
and have also had fun working with Red Hat's Kickstart.  Very recently, 
I've been working with Knoppix - beautiful!

I've also had my main mail server switch ISPs and IPs in the last six 
months.  Ouch.

I want to get Oxygen development going again.  Once I get geared up for 
cvs again, then I'll start updating the packages and shooting for Linux 
2.4.  I've been working with 2.4.19-aa1; anybody use Andrea's kernels on 
12M machines?  My experience with my SuSE kernel is that it has "swap 
storms" that come out of nowhere - and this in 192M with KDE and X.




---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com

___
leaf-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/leaf-devel


Re: [leaf-devel] The ideas presented so far...

2003-02-04 Thread Chad Carr
On Tue, 2003-02-04 at 14:19, Matt Schalit wrote:
> 
> 
> Chad Carr wrote:
> 
> 
> > May I suggest that the config-db be maintained as a "config-tree," with
> > the root at /leaf-cdb (or something shallow like that) and keys may be
> > nested as deeply as needed by creating directory levels.  I.e. you could
> > make the key
> > 
> > interfaces/eth0/ipaddr
> > 
> > like this:
> > 
> > echo -n "172.24.8.24" > /leaf-cdb/interfaces/eth0/ipaddr
> 
> 
> 
> I also like the idea of a config-tree, Chad.  It's proven
> itself useful for Linux a la /proc.
> 
> 
> I wish the config-tree api to have significant lattitude in how
> it displays the data:
> 
> 
>a) Something along the lines of a -H argument the way "who -Hu"
>   prints out column headers.
>b) The ability to dump var=value pairs to stdout.

That's cool.  I am game for anything.  It seems that the second way
would be most useful for operation, but perhaps the first would be good
for display purposes, or something.

> Would you like to remark any furthur on how a tree is significantly
> better than a single config-db file and how the tree would store a
> variable's "type" information, for instance?

The main reason we (at Toshiba) chose a tree is that it allows for the
display of complex data structures without the use of any parser.  It
also allowed us to separate centralized configuration data into separate
files that would not wreak havoc with RPM's (we used RedHat at Toshiba)
hellish dependency structure and would not require the use of carefully
hand-rolled postinstall scripts to modify global configuration files. 
Not as much of an issue here since packages are not dependent on LEAF,
but what the hell.

It also allows a package to "own" (and back up) a piece of the central
config-db without fear of it getting overwritten by another package,
horked up by another package, deleted by another package, etc.

The main part of the system is the templating and trigger system that
abstracts the config-db away from the runtime requirements of the
packages themselves.  It allows any sort of transformation to take place
between the config-db and the actual configuration of the running
application.

As far as type info, there should be none.  The storage should be
strings (everything in the file is considered part of the "value"; we
may have to consider a proper shell escaping feature in the api) and the
caller should determine how he is going to interpret the data.  What is
an example of needed a real "type" and what would they be?  The
hierarchy could handle just about anything, in my opinion, but I don't
think type information is really needed.  I could be wrong.

---
Chad Carr [EMAIL PROTECTED]
---




---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com

___
leaf-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/leaf-devel



Re: [leaf-devel] Config system (long)

2003-02-04 Thread Chad Carr
On Tue, 2003-02-04 at 19:20, Matt Schalit wrote:

> But it was pointed out to me that the XML database in Chad's idea
> was something to be kept seperate from LEAF and not stored on it.
> I think that the XML is used on seperate OS to configure the system.
> I think the idea of Chad's was to combine an XML config-db with a
> remote based gui and produce template-built runtime conf files
> that would be used on the LEAF.

I think I haven't been following this thread closely enough.  Or maybe I
have not been perfectly clear.  Or maybe you are talking about a
different Chad.  Sorry for the mixup and long post on any of the above.

I do not think that XML is suitable for LEAF (pre or post config).  My
config-db-as-filesystem-hierarchy idea consists of a key-value pair
"database" that happens to be made up of separate files for each
key-value pair.  The "api" generates sourceable name-value pairs that
can be eval'd by shell scripts.

It is meant to be used _on_ the system.  Please do not confuse this with
what I actually have in my devel source tree.  The two are not
interrelated (and I have not done any actual work on this one ;-))

This is a slightly modified version of what I sent Lynn offlist this
morning to better explain my _theory_ (emphasis on theory since I
haven't actually done any of it yet).



The basic idea is that there is an api that gives you sourceable
material from the tree relative to the path /leaf/cdb, something like
this:

leaf-cdb get interfs/eth0/ipaddr

returns:

interfs_eth0_ipaddr=172.24.8.24

if the /hydra/cdb/interfs/eth0/ipaddr file contains

172.24.8.24

so the calling script can just eval it like so

eval `leaf-cdb get interfs/eth0/ipaddr`

This also works for entire trees or arrays of material from the
"database:"

eval `leaf-cdb get tree interfs/eth0`
# now I can use relative paths; ipaddr, netmask, gateway, etc

The templating system is much harder.  I am afraid it would need to be
written in C.  Ideally, you could use it like this:

leaf-cdb get tree interfs | leaf-tmpl -o /etc/network/interfaces

would generate the /etc/network/interfaces file using the "symbol table"
from the output for the leaf-cdb command.

This may, however, be really very hard without perl.

The piece de resistance is the trigger system.  The template and
config-db systems are just support.  The trigger system makes it go. 
Something like:

leaf-trig fire ip_change eth0

would use run-parts to run all the scripts dropped into the
/leaf/trig/ip_change directory with the argument eth0.  One of these
scripts will call

leaf-cdb get tree interfs | leaf-tmpl -o /etc/network/interfaces

and then restart the network.  The scripts are prioritized like rc
scripts to resolve temporal coupling.

If I need to respond to the ip_change event, I can simply drop a script
into /leaf/trig/ip_change.  If I do not care when ppp* interfaces
change, I can bail immediately if the first argument starts with ppp.

So, for a web interface, the work flow could go something like this:

# optionally feed name-value pairs on stdin
leaf-cdb set tree interfs/eth0 ipaddr 172.24.8.24 netmask
255.255.255.0 gateway 172.24.8.1
leaf-trig fire ip_change eth0

Then the handler scripts take it away:

- file /leaf/trig/ip_change/001interfaces: modifies interfaces
and
restarts network -

#!/bin/sh   
leaf-cdb get tree interfs | leaf-tmpl -o /etc/network/interfaces
/etc/init.d/network restart

- file /leaf-trig/ip_change/10minhttpd: modifies minhttpd
startup
script that has ip address in it, then restarts minhttpd -

#!/bin/sh
leaf-cdb get tree interfs | leaf-tmpl -o /etc/init.d/minhttpd
/etc/init.d/minhttpd restart

Simple to use, if it is designed properly.  However, the technical
hurdles of the implementation may prove to be too much.  It is easily
done with perl (as are many things), but the power and simplicity of
shell and C, especially when used together, are great (as all UNIX folks
know) and I think it can be done.

The beauty of this is that the trigger responder does not know who fired
the trigger, the one responsible for firing the trigger does not know
(or care) who is listening, and the config-db is just an anonymous
backend data store (strangely, it can even be used to store the results
of temporal events, like the result of a particularly sensitive
templating operation, for anonymous retrieval later) decoupled from any
specific package.

I am not trying to convince folks.  I am not even sure that the
technical hurdles can be overcome without perl.  I am no C guru, but I
can hold my own and would be willing to work on it if shell does not
suffice to create the interfaces we are looking for.



So, to recap my carefully considered opinion (if anyone cares):

- No XML (especially not on the box)
- one file per name-value pair
- hierarchy is still hand-editable
- h

Re: [leaf-devel] Config system

2003-02-04 Thread David Douthitt
Matt Schalit wrote:


Ray Olszewski wrote:


At 10:13 AM 2/4/03 -0600, Charles Steinkuehler wrote:

But it leaves one thing out ... an important way to simplify the 
interface for configuration is to restrict the range of choices 
available.

LEAF tends to be pulled in two directions all the time --

simplicity, so that common uses of it can be configured 
easily by relatively inexperienced users.
flexibility, so that unusual uses of it are possible for 
relatively skilled, experienced users.

My interest has always been in the first direction, but the diversity 
of our interests means that both directions need to be accommodated.


My interests have always been the latter...


David D. tried to go down this road with Oxygen, and
once he started, his development here drifted off.
So I can't tell you much about it, because it didn't
work very well, but here's what he did.

He made a syslinux boot option to boot into setup
mode where you were presented with several options
on the overall use of your LEAF box: router, print-server,
DMZ, some other choices along those lines.  I probably
got them wrong, but you get the idea.   I thought it
was bad to begin with.

What I think is a good idea, however, is a gui-based, drag
and drop interface where you have a big outline of a computer,
and you drag a couple of nic icons onto it.  Then you drag a
clock icon onto it (ntpdate) and then you drag a firewall
icon into the middle of it, and maybe some other objects.
Then you are walked through configuring each one. 

When I designed my setup program, I thought about what would Adam 
Average want to do? He wants to boot the disk, and be led through all he 
needs.  Someone said he needed a router - so he picks that.  Each dialog 
was designed to lead the uninformed individual along.  If there was no 
getting around the gear talk ("what's your IP?") it specifically 
suggested asking for technical help.

The alternative suggested poses some problems.  Suppose Eva Everybody 
wants to set up something to go between her PC and her DSL.  I can hear 
the questions Eva might be asking:

"NIC?  What's a nic?  What's that card thing?  Why do I need ntpdate? 
What is it?  Where do I get it?  What's an IP?"

My goals for Oxygen evolved into creating a floppy-based, network-based 
Linux that was as UNIX-compatible as possible - no surprises for UNIX 
admins.

My goals for the setup program was much different: create a 
configuration set which was extremely flexible, extensible, and 
compatible with X.  If you specified a DISPLAY variable, you could use 
and X display and answer the same questions there

Biggest problem I had was trying to keep the quotes straight for using 
dialog and Xdialog.  Perhaps I should have used a different shell?




---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com

___
leaf-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/leaf-devel


Re: [leaf-devel] Config system

2003-02-04 Thread Matt Schalit


Ray Olszewski wrote:

At 10:13 AM 2/4/03 -0600, Charles Steinkuehler wrote:


A few quick points about some of the recent discussion:

Regarding the config-db format: It really doesn't matter.  The files 
should be human-readable (plain text), with enough structure (probably 
via filesystem directories and filenames) to be easily navigated, but 
all access to the database information by the packaging and any 
configuration system will be through a defined API, allowing the 
back-end format to change if required.  Who knows...future versions 
might move to a packed binary format with small C or assembly programs 
for access, to save space and/or gain speed.  While initially a lack 
of tools may require "power-users" to hand-edit database entries, I 
would generally consider this unsafe and discourage the practice.


I'd like to disagree with this. It really does matter. One of the big 
strengths of the anscestral LRP (Dave Cinege's version, I mean) was the 
simplicity of its basic network.conf file. As LRP first went to the 
mountains, then evolved into LEAF, and as LEAF tried harder and harder 
to incorporate many specialized packages, each with its own config files 
and syntax, much of this simplicity was lost.



Yes there was some amount of simplicity across a LRP release
that stemmed from his tight-a## control over it.  I guess that
was a pretty big benefit.  I think part of that simplicity was
inherent to the lack of complex networking it could do combined
with it's lack of firewall.  When Charles built those into his
releases, combined with PPPoE and ipchains and all the other
new challenges, it made spaghetti at first glance.


I think the central config-db idea gets us right back to simplicity.
I've probably typed more keystrokes on this subject than it would take
to gather all the variables and make a test config-db.

Let me say that I am only one voice, with no expectations that I'm
right about these discussions, but that being said, I'll voice my
thoughts, if only to flesh this out a bit


   *  Ok Ray.  I agree with you on the need for a simple file
  of name=value pairs.

   *  Ok Charles, I agree that the format shouldn't matter much,
  and that XML has many advantages.


But it was pointed out to me that the XML database in Chad's idea
was something to be kept seperate from LEAF and not stored on it.
I think that the XML is used on seperate OS to configure the system.
I think the idea of Chad's was to combine an XML config-db with a
remote based gui and produce template-built runtime conf files
that would be used on the LEAF.




But back to the discussion of a LEAF based XML or flat db

Proposed Solution:
==
   Can we merge the two ideas by making the master-db maybe XML
   but also unleash sed on it to output a running config of
   name=value pairs to a single file, /var/run/flat?


If we do that, then you'd have your choice of using the api
to access the XML db, or using /var/run/flat:

 a)  If you use the api to change the xml, the api also updates /var/run/flat.

 b)  If you hand edit /var/run/flat, you would run leafill which would
 "refill" the XML db and trigger all dependant files to be reloaded.


Sound good?

It's merely an extra sed and an update.sh.  It may be worth it to
have this redundancy.  Anyone concur?  It would mean a big XML
or similar db stored on your leaf diskette and an api to handle it.






To be used with LEAF, packages typically require some modification 
anyway. Why not adopt a "one-stop-shopping" standard for config 
variables that makes them easily available to any package?


I think we all concur on this, Ray.




Then when 
someone adapts a package, he or she at least has the option of having it 
get its config info from a standard place in an easy fashion. What I 
mean here is a single text file, with a simple name=value format, that 
contains all the basic information needed by networking packages, in a 
form that init and config scripts can use easily (like the old 
network.conf, which used a format that allowed all entries to be loaded 
as shell variables). The key to keeping this manageable is that it 
contains nothing but

VARIABLE_NAME=value lines


Yes.



#commentlines


Yes.




and lines that do minor manipulation of VARIABLE_NAME lines
(e.g., something like
NETWORK_INTERNAL=$INTERFACE_INTERNAL/$NETMASK_INTERNAL
)




I disagree.  I'd want the db to be literal.
"name" = "some value"
so spaces and special characters don't matter, and the
   # comment
lines.  I'm not sure why, but I don't think it's the
db's responsibility to do 2nd level substitutions.




The other key is to enter each value exactly once. Consider again the 
recent thread on leaf-user where someone wanted to change his 
(Dachstein) internal network to 10.10.10.0/24. After he made way too 
many separate changes in network.conf, he had to edit the DHCP config 
file

[leaf-devel] kpalived.lrp now available, [minor] update to bgpd.lrp and zebra.lrp

2003-02-04 Thread Peter Mueller
I have completed my high-availability package for .lrp systems,
"kpalived.lrp", based on Alexandre Cassen's excellent open-source software.
Due to limitations in keepalived's code AFAIK it wouldn't compile on glibc
2.0.x.  This version was compiled on gcc 2.2.x system.  My LRP system is
Bering uClibc + libc225 and it works fine for me, YMMV.

FYI, It is very possible that keepalive might compile on a gcc 2.1.x or
uClibc system.  I'm unfortunately not a programmer nor did I have a 2.1.x or
2.0.x system lying around.  I didn't think tinkering with makefiles &
destroying existing machines was such was a good idea.  If you get it to
compile on one of those platforms (especially 2.0.x) please let me know!

I created a few packages to provide libraries that Keepalived needs.  You
need to download these and add them to your syslinux.cfg file in order for
kpalived.lrp to work.  Here's the list of files: (Sorry for the size.  I did
strip what I could, it's unfortunate that all these lib files are so damned
big and required)
http://download.sidestep.com/lrp/kpalived.lrp 33244
http://download.sidestep.com/lrp/libcrpto.lrp 342800
http://download.sidestep.com/lrp/libpopt.lrp 26598
http://download.sidestep.com/lrp/libssl2.lrp 81400
http://download.sidestep.com/lrp/libz.lrp 26766

I have also modified zebra & bgpd (by Eric Kiser -
www.eric.kiser.com/glacier.htm) to include /etc/init.d files.  The binaries
are still gcc 2.0.x.  Note : I needed to install an additional library in
order to make these function with Bering-uClibc.  I've listed it below.
http://download.sidestep.com/lrp/zebra.lrp 164145
http://download.sidestep.com/lrp/bgpd.lrp 57368
http://download.sidestep.com/lrp/libm.lrp 142068

Could someone please put these on the sourceforge or mirror page somewhere?
This is not my website and I'm able to provide these files only for a little
while, especially if there's too much usage.  FYI this is my first LRP so
please be gentle in your flames ;)

Thanks much,

Peter Mueller


# cat /var/lib/lrpkg/kpalived.help 

###

Keepalived 1.0.0 *.lrp

This file was compiled and packaged for the LEAF Project. This package is
designed to simulate HSRP on Linux routers through the use of the program
Keepalived.  Please visit Keepalived.org for more information on this
software.

kpalived.lrp

For compile, package, and dependency information:

[EMAIL PROTECTED]

###
#   Keepalived 1.0.0 *.lrp information
#   Last Update:  2003-01-??  Peter Mueller
###

Keepalived 1.0.0

Mailing List Information:   http://www.keepalived.org/mailinglist.html
Documentation:  http://www.keepalived.org/documentation.html

Summary:Keepalived VRRPv2
Name:   Keepalived
Version:1.0.0
Source: keepalived.1.0.0.tar.gz
URL:http://www.keepalived.org
Copyright:  GPL
Description:

Keepalived is an excellent implementation of VRRP, the same protocol that
Cisco bases HSRP on.  This configuration of Keepalived is setup for use 
with the Zebra routing package for HA-linux routers running bgp v4.  It's
easy to modify for vanilla-HA or other routing packages.

I compiled Keepalived on a RH 7.2 x86-SMP-based system for use with
Bering-uClibc + libc225.  AFAIK Keepalived does not compile on gcc 2.0.x,
but it might compile on uClibc.  Please write me an email if you can get
it to work.

Please modify the keepalived.conf file with your own settings.  I'd rather
not get email from your routers :).

Best of luck,

Peter Mueller
[EMAIL PROTECTED]

###
#   keepalived 1.0.0 Information
#   Last Update:  2003-02-04  Peter Mueller
###

-Original Message-
From: Peter Mueller [mailto:[EMAIL PROTECTED]]
Sent: Friday, January 31, 2003 5:29 PM
To: 'Charles Holbrook'; [EMAIL PROTECTED]
Subject: RE: [leaf-user] shorewall and keepalived


Hi Charles,

> I am just curious if anyone has used the shorewall package as well as 
> keepalived on the same system.  And how did you overcome the 
> issue of both 
> shorewall and keepalived wanting to do VRRP for the ip 
> addresses?  Just got 
> this dropped in my lap and not really sure how to proceed with this.

I am getting close to getting something working with LRP & keepalived.  I
was planning on posting both a keepalived LRP (using, as it turns out,
bering-uclibc + libc225 compat) and an image of my LRP when it's done, but
you're welcome to what I have in the meantime.  Just drop me a mail
off-list.

Peter


---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com

[leaf-devel] [ leaf-Feature Requests-680525 ] Update packages

2003-02-04 Thread SourceForge.net
Feature Requests item #680525, was opened at 2003-02-04 16:55
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=363751&aid=680525&group_id=13751

Category: Release/Branch: Oxygen
Group: None
Status: Open
Priority: 5
Submitted By: David Douthitt (ddouthitt)
Assigned to: David Douthitt (ddouthitt)
Summary: Update packages

Initial Comment:
Oxygen needs a version audit of all packages. 

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=363751&aid=680525&group_id=13751


---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com

___
leaf-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/leaf-devel



[leaf-devel] [ leaf-Feature Requests-680520 ] Audit startup scripts

2003-02-04 Thread SourceForge.net
Feature Requests item #680520, was opened at 2003-02-04 16:54
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=363751&aid=680520&group_id=13751

Category: Release/Branch: Oxygen
Group: None
Status: Open
Priority: 5
Submitted By: David Douthitt (ddouthitt)
Assigned to: David Douthitt (ddouthitt)
Summary: Audit startup scripts

Initial Comment:
Oxygen probably has the most extensive startup scripts; perhaps 
shifting some to rc or lua would be better? 
 
Audit the configuration scripts and simplify. 

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=363751&aid=680520&group_id=13751


---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com

___
leaf-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/leaf-devel



[leaf-devel] [ leaf-Feature Requests-680518 ] Convert to Linux 2.4

2003-02-04 Thread SourceForge.net
Feature Requests item #680518, was opened at 2003-02-04 16:51
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=363751&aid=680518&group_id=13751

Category: Release/Branch: Oxygen
Group: None
Status: Open
Priority: 8
Submitted By: David Douthitt (ddouthitt)
Assigned to: David Douthitt (ddouthitt)
Summary: Convert to Linux 2.4

Initial Comment:
Use the Linux 2.4 kernel; try to implement with patches for 
gr-security, lvm, xfs, and jfs... 
 

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=363751&aid=680518&group_id=13751


---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com

___
leaf-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/leaf-devel



Re: [leaf-devel] The ideas presented so far...

2003-02-04 Thread Matt Schalit


Chad Carr wrote:



May I suggest that the config-db be maintained as a "config-tree," with
the root at /leaf-cdb (or something shallow like that) and keys may be
nested as deeply as needed by creating directory levels.  I.e. you could
make the key

interfaces/eth0/ipaddr

like this:

echo -n "172.24.8.24" > /leaf-cdb/interfaces/eth0/ipaddr




I also like the idea of a config-tree, Chad.  It's proven
itself useful for Linux a la /proc.


I wish the config-tree api to have significant lattitude in how
it displays the data:


  a) Something along the lines of a -H argument the way "who -Hu"
 prints out column headers.
  b) The ability to dump var=value pairs to stdout.



Would you like to remark any furthur on how a tree is significantly
better than a single config-db file and how the tree would store a
variable's "type" information, for instance?

Matt.






---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com

___
leaf-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/leaf-devel



[leaf-devel] Shorewall Futures

2003-02-04 Thread Tom Eastep
As I announced today on the Shorewall lists, I am about to release 
Shorewall 1.3.14. That will definitely be the last 1.3 release and will 
probably be the last of the Shorewall 1.x.x releases. I am going to be 
concentrating on Shorewall 2.

I will continue to support Shorewall 1.3 but will not be adding any new 
features.

If anyone is interested in taking over the development of Shorewall 1, 
please let me know. Shorewall 2 will be written in a language other than 
Bourne Shell so it is likely that Shorewall 2 will not work with LEAF 
releases/branches, at least in their smaller configurations.

Shorewall 2 will:

a) remove some of the cruft that has accumulated in the externals of 
Shorewall 1 (Old Ping Handling, MERGE_HOSTS=No, 'routestopped' option for 
hosts and interfaces).
b) be smarter than Shorewall 1 (principle reason for moving to a richer 
programming language).
c) have some sort of GUI.
d) be able to import Shorewall 1 configurations.

-Tom
--
Tom Eastep   \ Shorewall - iptables made easy
Shoreline,\ http://www.shorewall.net
Washington USA \ [EMAIL PROTECTED]


---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com

___
leaf-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/leaf-devel


Re: [leaf-devel] Config system

2003-02-04 Thread Ray Olszewski
At 10:13 AM 2/4/03 -0600, Charles Steinkuehler wrote:

A few quick points about some of the recent discussion:

Regarding the config-db format: It really doesn't matter.  The files 
should be human-readable (plain text), with enough structure (probably via 
filesystem directories and filenames) to be easily navigated, but all 
access to the database information by the packaging and any configuration 
system will be through a defined API, allowing the back-end format to 
change if required.  Who knows...future versions might move to a packed 
binary format with small C or assembly programs for access, to save space 
and/or gain speed.  While initially a lack of tools may require 
"power-users" to hand-edit database entries, I would generally consider 
this unsafe and discourage the practice.

I'd like to disagree with this. It really does matter. One of the big 
strengths of the anscestral LRP (Dave Cinege's version, I mean) was the 
simplicity of its basic network.conf file. As LRP first went to the 
mountains, then evolved into LEAF, and as LEAF tried harder and harder to 
incorporate many specialized packages, each with its own config files and 
syntax, much of this simplicity was lost.

To be used with LEAF, packages typically require some modification anyway. 
Why not adopt a "one-stop-shopping" standard for config variables that 
makes them easily available to any package? Then when someone adapts a 
package, he or she at least has the option of having it get its config info 
from a standard place in an easy fashion. What I mean here is a single text 
file, with a simple name=value format, that contains all the basic 
information needed by networking packages, in a form that init and config 
scripts can use easily (like the old network.conf, which used a format that 
allowed all entries to be loaded as shell variables). The key to keeping 
this manageable is that it contains nothing but

VARIABLE_NAME=value lines
#commentlines
and lines that do minor manipulation of VARIABLE_NAME lines
(e.g., something like
NETWORK_INTERNAL=$INTERFACE_INTERNAL/$NETMASK_INTERNAL
)

The other key is to enter each value exactly once. Consider again the 
recent thread on leaf-user where someone wanted to change his (Dachstein) 
internal network to 10.10.10.0/24. After he made way too many separate 
changes in network.conf, he had to edit the DHCP config file separately. If 
he were to use other .lrp packages, he'd have to do this again and again. 
(I've never actually set up Bering. How many individual changes would it 
require to its config files to accomplish a change in internal network 
number?)

This is the sort of complexity I would like us to find a way around, at 
least for the core packages used on a LEAF router/firewall.

Ideally, to handle the example change, a config file would need only to 
have the router's internal address changed (and perhaps the netmask, if it 
also changed) and would calculate everything else it needed from that 
information (in much the same way that typical network-init scripts can 
figure out a basic routing table from the interface info).

You could accomplish something similar with a complex configuration editor 
that made changes to a bunch of behind-the-curtain files ... but doing it 
that way forces use of the config tools, which (for a reason I suggest 
later on) is unduly restrictive. That is, I also disagree with Charles' 
final sentence above, but I leave that discussion for later in this message.

This is all about making a GUI configuration tool: Wrong.  Trying to make 
a simple web or other GUI configuration system simply points out the 
complexity and inconsistencies in the existing configuration system.  This 
is about *SIMPLIFYING* configuration, making it easier to configure and 
maintain a LEAF install.  Once simplified, front-ends to the configuration 
system can be provided for plain text (to replace the existing lrcfg 
system), web browsers, palm-pilots, pocket pagers, hexadecimal keypads, or 
whatever someone wants to implement.  The key is to simplify and organize 
the configuration process enough to make such things possible.

I think I agree with this, if we mean the same thing by "configuration 
process". But it leaves one thing out ... an important way to simplify the 
interface for configuration is to restrict the range of choices available.

LEAF tends to be pulled in two directions all the time --

simplicity, so that common uses of it can be configured easily by 
relatively inexperienced users.
flexibility, so that unusual uses of it are possible for 
relatively skilled, experienced users.

My interest has always been in the first direction, but the diversity of 
our interests means that both directions need to be accommodated. Perhaps, 
though, not in the same configuration system. A very simple but restrictive 
configuration interface that supports (say) just thr

[leaf-devel] Config system

2003-02-04 Thread Charles Steinkuehler
A few quick points about some of the recent discussion:

Regarding the config-db format: It really doesn't matter.  The files 
should be human-readable (plain text), with enough structure (probably 
via filesystem directories and filenames) to be easily navigated, but 
all access to the database information by the packaging and any 
configuration system will be through a defined API, allowing the 
back-end format to change if required.  Who knows...future versions 
might move to a packed binary format with small C or assembly programs 
for access, to save space and/or gain speed.  While initially a lack of 
tools may require "power-users" to hand-edit database entries, I would 
generally consider this unsafe and discourage the practice.

This is all about making a GUI configuration tool: Wrong.  Trying to 
make a simple web or other GUI configuration system simply points out 
the complexity and inconsistencies in the existing configuration system. 
 This is about *SIMPLIFYING* configuration, making it easier to 
configure and maintain a LEAF install.  Once simplified, front-ends to 
the configuration system can be provided for plain text (to replace the 
existing lrcfg system), web browsers, palm-pilots, pocket pagers, 
hexadecimal keypads, or whatever someone wants to implement.  The key is 
to simplify and organize the configuration process enough to make such 
things possible.

Pre-Configuration:  I like the concept, but in my mind, this also 
benifits greatly from a simplified configuration system.  The biggest 
benifit to pre-configuration is the ability to use powerful tools 
unavailable on most LEAF systems to deal with the complexity of 
configuring current distributions.  With the configuration system 
simplified, a lot of this becomes moot.  I think the real driving force 
for pre-configuration is automatic hardware detection, which would be a 
good thing.

--
Charles Steinkuehler
[EMAIL PROTECTED]




---
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com

___
leaf-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/leaf-devel