[Server-devel] XS + CFEngine? / Web CP?

Martin Langhoff martin.langhoff at gmail.com
Wed Dec 9 07:35:01 EST 2009


Hi Mike!

thanks for your interest! Brief reply as I am dealing with some RL
things that are keeping me away from computers.

We definitely need a config mgmt scheme. We need one that is
pull-based, however, where each XS ("configuration client") requests
updates from the "configuration server".

 - pull scales much much better

 - many (most!) XSs will be behind NAT and weird network setups that
the deployment sometimes does not control (sp in the case of satellite
connections) - so proto must be something super-standard that is
always allowed through: HTTP

 - it must also work for XSs without internet -- by carrying the same
config messages on a usb stick

My preferred approach is to use the techniques outlined in
http://www.infrastructures.org/ -- something like a much-simplified
isconf (taking advantge of the fact that we are in an rpm'd world, and
we have good "storage" engines like git) with a strong focus on
atomicity.

cfengine is, afaik, a push-based framework (if you use it as the
documentation suggests) -- some of the tools in cfengine are useful
however. Some people have mentioned puppet but I haven't had a chance
to explore it.

Most of these tools are designed and used mainly in a controlled
server room. We have the opposite use case -- our servers may very
well lose power in the middle of a config update. ;-)

Do you think cfengine can be used in a pure pull model, using http or
text files (+rpms or whatever files are needed) in a mountpoint?

cheers,


m

On Sat, Dec 5, 2009 at 7:38 PM, Mike Dawson <mikeofmanchester at gmail.com> wrote:
> Hi All,
>
> Greetz from Kabul.  We have a very exciting upcoming deployment to
> Kandahar coming up and hopefully many more deployments :)
>
> There are two main things that caught my eye for trying to integrate
> into XS (and I'm willing to put in development time / expertise as
> well :) ):
>
> 1. Adopting cfengine as part of the package so that one can easily set
> a master policy and have all the school servers across the country
> follow.  I use this in our office at the moment and have been thinking
> about using this to make the deployment easier to manage.  This way we
> can actively push out updates to the clients and it gives us a toolkit
> to say what to update, when etc. (e.g. can manage the OS image
> updates, activity updates, etc)
>
> 2. Trying to a little bit deskill / make easier the installation of
> school servers.  We have made a pure wireless deployment system using
> Freifunk / mesh networking between routers to form a wireless
> backbone.  That way just bang the box on the all and all should be
> well.  I'm wondering what it would take to make a web control panel
> kind of interface to the school server.  This would make it easier to
> checkin on the school server remotely (e.g. GPRS / VPN link stuff),
> and generally increase the pool of people who would then be
> 'administrators'.
>
> I have made some cron job based tools for doing that before.  This
> would be non resident and run only when changes have been made to the
> config that require it to be run.  SME Server had a nice model for
> this.
>
> 3. If possible / our development time allows I would love to put in
> Nagios so that we can get some accurate reporting of uptime of routers
> in the classroom etc.
>
> If we had that then I could make some standard OS images for the type
> of hardware that we have plus a setup wizard that would make it a
> point click, boot matter to install a school server.  For those
> without connectivity I think we could make a key based system so that
> if the 'roaming update netbook' comes onto the school server network
> on a reserved address that it could respect this as it's cfengine
> master and then follow the orders.
>
> What are the requirements for this to become part of the main XS
> build?  That really is the sustainability that we need...
>
> Thanks/Regards,
>
> -Mike
> _______________________________________________
> Server-devel mailing list
> Server-devel at lists.laptop.org
> http://lists.laptop.org/listinfo/server-devel
>



-- 
 martin.langhoff at gmail.com
 martin at laptop.org -- School Server Architect
 - ask interesting questions
 - don't get distracted with shiny stuff  - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff


More information about the Server-devel mailing list