Personal tools

Rivendell on CentOS

From Rivendell Wiki

Revision as of 01:10, 18 July 2019 by ElvishArtisan (Talk | contribs) (Updates)

Jump to: navigation, search

Rivendell on RHEL/CentOS

The CentOS distribution has a particularly good integration with Rivendell, as many of the developers working on the code do so on that platform.


Installation of Rivendell on CentOS is done by first installing a basic (also known as minimal) set of files, then running a downloaded script that then completes the bulk of the installation via the Internet. Three different types of installation setups are available: a standalone setup, which results in a complete, self-contained Rivendell system; a server setup, which results in a system that runs Rivendell but can also act as the central data repository for other Rivendell workstations; and a client setup, which must connect to a Rivendell server to get its information.

Detailed instructions for installing the most current major version of Rivendell (3.x) on CentOS 7 can be found here. For new Rivendell sites, this is the installer to use!

Instructions for installing the previous major version of Rivendell (2.x) are also available. These should be used only by sites that are currently still using 2.x pending an upgrade to 3.x. Instructions for CentOS 6 are available here, and for CentOS 7 here.


As an actively developed and maintained software project, new versions of Rivendell are periodically released by the developers. CentOS includes tools to allow these updates to be easily applied to an existing Rivendell installation with minimal disturbance to operations. However, before delving into the details of the process, we need to take a short detour into the subject Rivendell's versioning scheme.

Rivendell Versioning

Each Rivendell release is assigned a package version, which consists of three numbers separated by periods --e.g. 2.19.3. The three numbers each have a name: MAJOR.MINOR.PATCH; a scheme known as semantic versioning. The package version applies to the specific set of code instructions that constitute that release of Rivendell.

Each Rivendell release also has a database schema version, which consists of a single positive integer --e.g. 275. The number refers to the specific configuration of pigeonholes used by the database to store Rivendell information. The database schema version is always given in the 'NEWS' file included with each Rivendell release. Unlike the package version, which is unique to each specific Rivendell release, the same database schema version may apply to more than one Rivendell release. The actual value of the database schema version is not so important as the fact that all Rivendell systems sharing a common server must must be at the same schema version. You can tell if two Rivendell releases share the same database schema version by looking at the first two numbers of the package version -- the MAJOR.MINOR numbers. If those two numbers match, then the packages use the same database schema version (and hence can be safely intermixed together on the same Rivendell server). For example:

   2.19.0 / 2.19.3 -- Same database schema version!
   2.19.0 / 2.15.0 -- Different database schema version!

If there is a mismatch between database schema versions, then one or more of those Rivendell systems will be unable to communicate with the database, and thus effectively offline!

Minor Version Updates

Most Rivendell updates consist of minor updates --i.e. an update that changes only the MINOR and/or PATCH fields of the package version. (In fact, the MAJOR number has been changed only three times in the entire history of the Rivendell project). Such updates can be accomplished by using CentOS's yum(8) updater tool. On a stand-alone Rivendell setup, all that is needed to update to the latest version of Rivendell is to enter the following command at a root shell:

   yum update rivendell

IMPORTANT: Applying a Rivendell update will cause audio play-out to be interrupted! Any active Rivendell modules should be closed before applying the update.

Sometimes, it is useful to be able to determine what version of Rivendell will be installed as the result of an update, before the update is actually applied. This can be determined using yum(8)'s 'info' command:

   yum info rivendell

Updating in a Server-Based Environment

Applying updates in a server-based environment (where multiple Rivendell hosts share a common server) requires special care, especially in cases where the version being updated to utilizes a different database schema version from the that being currently used. In such cases, the first system updated will automatically modify the database schema to the new version as part of the update process. It is imperative that this first system be allowed to fully finish this process before proceeding to update the remianing hosts.

Major Updates

A major update -- one in which the MAJOR number of the package version changes -- in one which includes backwards incompatible changes. Such updates are best accomplished by backing up the Rivendell data and doing a complete CentOS reinstall using the appropriate installer script.