Developers Blog

Blog > News of the week - 15

on Apr 14, 2013

Rivendell 2.5.0

The Rivendell Debian/Ubuntu 2.5.0 packages are available for download and test (and only for test !).

Read this wiki page for all instructions to install preview packages.

New builds for StreamBox, StageBox, LinkBox

As planned, the new darkice SVN release has been integrated in our StreamBox, StageBox and LinkBox.

The next release of the Boxes will include the new internal monitoring (powered by Steto) and the Tryphon Console connection (allowing provisioning and monitoring).

The three new builds are under tests .. on “real” and “virtual” Boxes (see below).

Continous validation

The Tryphon Boxes software images are build with a modern toolbox. For few weeks, we completed a new continuous validation platform.

Builds for LinkBoxes, PlayBox, PigeBox, RivendellBoxes, StageBox, StreamBox

Build server

Each Box content is described by a source repository (see the StreamBox project for example), mostly by a Puppet description.

If a line needs to be changed, or a new file must be added, we commit these changes (see this StreamBox commit for example).

But create the Box boot system from these sources takes between 10 and 50 minutes (according to the Box complexity). A build server will detect this change and create the Box system.

We’re using the build server Jenkins (after several years with buildbot).

Virtual boxes

To test as quickly/easily as possible each change, we deploy a complete set of Tryphon Boxes … in a big server.

StreamBox, PigeBox, RivendellAllBox, 2 LinkBoxes and StageBox

By using virtualisation (mostly based on KVM and jack) and a big server (8 cores, 16GB of memory, …) we’re running continuously : a RivendellAllBox, a PlayBox, a StreamBox, a PigeBox, 2 LinkBoxes and a StageBox.

Validation boxes in Tryphon Console

This “cloud” of Tryphon Boxes completes our “real” development/validation Boxes in our offices.

Each time a new build is available (a development build, not a public one), the associated Boxes install this new release and reboot.

After few minutes, we can test a change in an “almost real” Tryphon Box.

As every Tryphon Box is now connected to the Tryphon Console, they can report any internal problems. This cloud of Tryphon Boxes is monitored by classic tools (munin and nagios) used by our infrastructure.

These Boxes are on a private network. But you can listen them via : the StreamBox stream (MP3, AAC) or the StageBox stream. Our validation platform includes two ShoutCast servers but they are private.

Squeeze backports for apache xsendfile

The debian package libapache2-mod-xsendfile doesn’t provide on Squeeze a fresh version of xsendfile (used to send large audio files on Tryphon Boxes and applications).

We now provide libapache2-mod-xsendfile 0.12-1~bpo60+2 on Tryphon Debian repository.
This release avoids problem with very larg files experienced with xsendfile < 0.11 (see this old StageBox issue #448).

Ruby Icecast API Client

We published a new gem icecast.

For the moment, this ruby client to the Icecast administration API can retrieve server status and especially stream statuses :

irb(main):001:0> require 'icecast'
=> true
irb(main):002:0> server = Icecast::Server.new(:host => "stream.tryphon.priv", :admin_password => "secret")
=> <Icecast::Server ...
irb(main):003:0> puts server.status.stream("/MyStream.mp3").to_yaml
--- !ruby/object:Icecast::Server::StreamStatus
parsed_status:
  mount: '/MyStream.mp3'
  genre: '(null)'
  listener_peak: '74'
  listeners: '29'
  listenurl: 'http://stream.tryphon.eu/MyStream.mp3'
  max_listeners: '100'
  public: '1'
  server_description: '(null)'
  server_name: 'MyStream'
  server_type: 'audio/mpeg'
  server_url: 'http://www.mystream.com/'
  slow_listeners: '98'
  source_ip: '1.2.3.4'
  stream_start: 'Sun, 14 Apr 2013 18:16:14 +0200'
  title: 'Vous ├ęcoutez Sidestepper avec "Dame Tu Querer"'
  total_bytes_read: '1572628400'
  total_bytes_sent: '9537975040'
  user_agent: 'butt-0.1.12'