Monday, February 25, 2013

OSG yum repository change for disruptive upgrades

Sometimes, the OSG Software team upgrades software to new versions that could disrupt production sites. At very least, such changes could require site downtime and manual intervention before returning to service. On one hand, we want to avoid sites upgrading to disruptive versions by accident. But for adventuresome sites that want or need to upgrade, we want to offer easy access to the new packages along with the same assurance of quality as for other production releases.

Other software distributions typically reserve disruptive upgrades for completely new and distinct releases, such as Fedora 16 vs. Fedora 17. But for OSG, starting a new release series, such as 3.2 or 4.0, is itself more disruptive than is justified by the few packages that currently need this special attention. Certainly, OSG will start a new software series eventually, but for now, we plan to complement the existing OSG 3.1 series with an "Upcoming" repository: a separate, production-ready repository just for disruptive upgrades.

Technically, there will be many Upcoming repositories; most are for development and testing, but two are for use by production sites:

el5-osg-upcoming-release
el6-osg-upcoming-release

All repositories will be included in the osg-release RPM (which defines our repositories to yum), and all of them will be disabled by default. Thus, each one can be enabled independently and temporarily or permanently as desired. Because each Upcoming repository contains ONLY new, disruptive updates, it must be used together with a standard OSG 3.1 repository (e.g., el5-osg-release) to get a full software stack. The OSG Software team will ensure that Upcoming packages integrate with standard ones.

In most cases, Upcoming packages will form the nucleus of the next OSG release series (e.g., OSG 3.2 or 4.0). However, in some cases and after ample testing by some production sites, we will migrate Upcoming packages back into the standard release. For instance, this is our plan for migrating packages from Java 6 to Java 7.

We plan to have the Upcoming repositories in place and ready for production use (albeit with no released packages at first) in our next release, scheduled for Tuesday, 5 March 2013.

We welcome feedback on this plan at or .