"Stateless Linux" project

Miles Sabin miles at milessabin.com
Mon Sep 13 21:55:56 UTC 2004


Havoc Pennington wrote,
> Right, for a sufficiently low number of machines, setting up an
> elaborate framework is going to be more annoying than just managing
> them all separately. Though we should try to make the framework easy
> enough to use that it makes sense even for a single machine, if we
> can.

Do you have any feel for how low that number is given the current stage 
of development?

> I think there are maybe a couple answers to your question.
>
> 1) Should there be some kind of OS 'layering' (words like 'profile'
> or 'inheritance' come to mind).
<snip/>

> But the idea is that any system on the network can run any workload
> (workload = service, or even have desktop users log in). You then
> keep a central mapping that assigns workloads to specific machines,
> but you can change that mapping as required.
>
> This seems like the ideal, while in one sense "profiles" feels like a
> workaround.

I'm not so sure about this. There are many scenarios where it makes 
sense to restrict particular roles to a specific set of hosts, or to 
restrict particular hosts to a specific set of roles. Security is one 
(eg., to take an extreme example, I don't want a firewall to be able to 
run any workload) but it's not the only one.

> 2) How can you avoid a separate 'profile' to make small changes.
> This is a matter of pulling state out of the OS install and config
> files. We've been approaching this by saying there's a toolbox you
> can use. Here are some of the approaches in the toolbox:
>
>  - dynamic/automatic configuration
>  - look up configuration from a central place, e.g. a directory
>    server, or even a file share
>  - write scripts that examine the machine and determine its desired
>    configuration based on hardware, network location, or by looking
>    up configuration from a central place
>  - move the configuration to be per-user rather than per-computer
>
> So some of this can be done out of the box in the OS; for example for
> desktops, NetworkManager helps address network configuration that
> varies between machines. A good kudzu helps avoid hardware config in
> general. etc. But you'd expect a local site to do some work as well.

As you say, a lot of this works already ... I work with parallel 
applications on clusters, and common configuration in a shared 
filesystem with symmetry-breaking via hostname works fabulously well 
given how trivial it is to set up (until the NFS server goes down, that 
is ;-).

But it's pretty much limited to machines which are always connected to 
the same network. Extending this to laptops which move between 
networks, or no network at all could be a lot more challenging. OTOH, a 
scheme which could handle that case as well would be a huge bonus.

> Anyway, to the extent that machines can vary by workload rather than
> by install profile, so there can be a single install profile, that
> seems desirable.
>
> I'm kind of sleepy so sorry if this answer is sort of muddled; but I
> think your questions really get to the heart of what we're trying to
> solve here.

No, I think that it was clear and to the point. And I think it's an 
excellent problem to be trying to solve.

Cheers,


Miles





More information about the fedora-devel-list mailing list