candlepin/subscription-manager — pull request #1079 by alikins (2014-11-20 13:41:12+00:00)
Title: Move repolibs release fetch to the last minute.

Instead of fetching the consumers 'release' from candlpin
when we create RepoLib, wait until we need it just before
rendering.

Adds a YumReleaseverSource to pass through the various repolib
functions. The YumReleaseverSource has a .get_expansion() that
expands the macros and caches it.

Add a cache.ReleaseStatusCache used by YumReleaseverSource

ReleaseStatusCache caches the status of the consumers
getRelease call. This lets release fall back to a
cache in disconnected cases, even with full_refresh_on_yum
enabled.

Also add a StatusCache.read_status() that loads the status,
then uses the cache, or falls back to cache if needed.
YumReleaseverSource uses this to cache the getRelease results.

Move all the auth/cert related exceptions to be caught
before network exceptions. Now also catch all
ConnectionException subclasses.