Sensorgnome V2 release trains

The Sensorgnome V2 software uses two release trains: “stable” and “testing”. In normal usage you can ignore this and the Sensorgnome uses the stable release train. This post explains the release trains and how to switch for users that want/need to try out experimental features that haven’t made it to “stable” yet.

How release trains work: When new software packages are generated they go into a Sensorgnome Debian package repository. This repository has two indexes: one for a stable release train and one for the latest packages, which is called the testing release train. When asked to upgrade Sensorgnomes by default look at the packages listed in the stable index and determine whether there’s anything new. Switching a Sensorgnome to the testing release train causes it to look at the packages listed in the testing index. The main take-away is that they don’t look at what’s new in the repository as a whole, only at what’s listed in the index they query.

When new packages are built, in addition to uploading them to the repository, they are added to the testing index. This means that Sensorgnomes on the testing release train upgrade to the latest in the repository. It takes a separate administrative action to update the stable index so it lists the latest packages, that’s what publishing a release or release candidate consists of.

Changing trains: The release train a Sensorgnome uses can be changed via the web UI. On the software tab there is a toggle. Flipping it doesn’t do anything on its own, the new setting comes into effect the next time the “check” button or “sg-upgrade” button is pressed.

image

Effect of changing trains: Changing from the stable to the testing release train and then upgrading will install the latest packages. Changing back to the stable release train will not uninstall or revert anything: it simply causes the upgrade process not to do anything until newer versions show up in the stable index.

Tip: if you need to switch to the testing release train to try out some new feature that is only available there do flip the toggle back to stable after performing the upgrade. This way the next time you upgrade you get something stable and not the latest, possibly broken packages.

Images: Sensorgnome images are created using either the stable or the testing release train: a release or release candidate image is built from the packages from stable and is set to upgrade from stable, while a development image is built with the packages from testing and is set to upgrade from testing.