[Server-devel] the plan for Puppet

Daniel Drake dsd at laptop.org
Wed May 1 13:44:09 EDT 2013


On Wed, May 1, 2013 at 11:21 AM, Sameer Verma <sverma at sfsu.edu> wrote:
> I was wondering if someone on this list (Daniel, or Martin, someone
> who knows more about puppet) can speak to the design behind the
> incorporation of Puppet in 0.7.

The incorporation is minimal. The client was added to the base install.
It is just one small step further in the "official blessing" of puppet
as an XS maintenance tool that happened a few years ago.

That really is sufficient to get puppet synchronization deployed. It
is hard to get much more specific without excluding certain deployment
scenarios. And it also depends what you want to actually use puppet
for, there are many possible uses. But there is some potential
guidance here: http://wiki.laptop.org/go/XS_Puppet

Note that our blessing of puppet is for synchronization of XS, not for
synchronization of XOs.

> Additionally, I'd like to hear more about services like xs-rsync that
> are available on the server, but documentation is scattered. If/how
> can activities be pushed to XOs seamlessly?

That has to be done with xs-activity-server
http://wiki.laptop.org/go/XS-activity-server

And the XO image has to be configured to look at the school server for
activities (easily done with olpc-os-builder).

You can use puppet to feed activities into this system from a central
server. The README is missing some details here. You (or puppet) puts
the activities in /library/xs-activity-server/activities and then runs
xs-regenerate-activities.

The missing step here is automatic activity update; every XO user has
to go to the control panel and choose to upgrade activities. Hopefully
something that can be automated in future.

> RPM installations on the XO?

That would be done by creating a new image in olpc-os-builder (with
the RPMs added) and then offering it to XOs via xs-rsync.

http://dev.laptop.org/git/users/martin/xs-rsync/tree/README describes
the steps that you need to instruct puppet to take.

Then XOs can upgrade manually (by running olpc-update on the command
line with the school server URL). That can also happen automatically,
with a bit more work. The XS oats server does not advertise updates to
the XOs although some patches were posted for that a few years ago.

The oatslite oats server (designed to be run on a central server, not
on the XS) can be used to advise XOs that there is an OS update
available on their school server, resulting in this upgrade process
being fully automated.

> Pulling logs via ds-backup?

Not sure what this means.

Overall these kinds of tasks are possible with these systems, but we
lack one crucial item (automatic activity update), a bit of
documentation and some polish. Note the pattern here that puppet is
used to feed stuff to the XS, then XS/OLPC systems are used to feed
stuff to the XO.

Daniel


More information about the Server-devel mailing list