Developers Blog

Blog > News of the week - 19

on May 12, 2013

New interface to manage network

The Network section of the Boxes web interfaces has been refactored.

It displays more information (like current IP address or mac address). It makes possible to manage several network interfaces (when required).

This multi-interface support will be used especially on RivendellNasBox web interface. Indeed this Rivendell server Box uses several interfaces to manage the VLAN dedicated to RivendellAirBoxes.

This evolution improves the network configuration process, by fixing some possible problems (like this one).

April in Audio

The press review of the french association April (which promotes free software) is published every week on audio.april.org.

The April team uses Bonnes-Ondes and AudioBank (which are … free software). All audio contents are available in open format (Ogg/Vorbis) provided automatically by AudioBank.

The latest episode talks (or will) about NASA, DRM or Linux. You can subscribe to their podcast feed.

Monitor Box status

All Tryphon Boxes monitor themselves (and their environment) to know if they are in capacity to deliver the expected service.

For example, a PigeBox will be in critical status if one of its hard disks is in trouble, or if the sound input receives only silence. A StreamBox will report when the specified streaming servers are unreachables, etc …

This Box status is already reported by the Tryphon Console.

This information is now available locally, in json format (on /status.json, http://pigebox.local/status.json for a PigeBox).

An healthy Box will return :

A Box which can't set its time via the specified NTP server :

It makes easy to monitor Tryphon Boxes on a production network. For example, it’s very simple to create a Nagios plugin to check Box statuses. Contributions are welcome ;)

Notice that the Munin reports are already available on all Boxes (on /munin/ URL, http://pigebox.local/munin/ for a PigeBox).

Treetop for puppet

The Tryphon Boxes uses (heavily) the configuration tool Puppet. The web interface writes a small config.pp :

This file is used by the Puppet configuration (embedded in the Box) to update system files, restart services, etc … This Box configuration file is described (… more and more) in the dedicated wiki page.

The Puppet syntax becomes more and more rich and we had to create a new parser to read it.

A fresh Box::Config::Parser (its ruby name) uses the treetop ruby library. Treetop allows to describe and parse quite easily a complex syntax.

We created a PuppetConfiguration grammar to read more complex config.pp files and make new features more easily (like the support of several network interfaces).