Blob Blame History Raw
diff --git a/rel-eng/packages/subscription-manager b/rel-eng/packages/subscription-manager
index 00b1473..e70e94b 100644
--- a/rel-eng/packages/subscription-manager
+++ b/rel-eng/packages/subscription-manager
@@ -1 +1 @@
-1.10.14-10 ./
+1.10.14-11 ./
diff --git a/src/subscription_manager/cache.py b/src/subscription_manager/cache.py
index 298f64e..d160dbc 100644
--- a/src/subscription_manager/cache.py
+++ b/src/subscription_manager/cache.py
@@ -223,25 +223,20 @@ class StatusCache(CacheManager):
             # which does not have the necessary API call.
             self.last_error = ex
             return None
-
-        # If we hit a network error, but no cache exists (extremely unlikely)
-        # then we are disconnected
-        except socket.error, ex:
+        except connection.AuthenticationException, ex:
+            log.error("Could not authenticate with server, check registration status.")
             log.exception(ex)
             self.last_error = ex
-            if not self._cache_exists():
-                log.error("Server unreachable, registered, but no cache exists.")
-                return None
-
-            log.warn("Unable to reach server, using cached status.")
-            return self._read_cache()
+            return None
+        except (connection.RemoteServerException,
+                connection.NetworkException,
+                socket.error), ex:

-        except connection.NetworkException, ex:
-            log.exception(ex)
+            log.error(ex)
             self.last_error = ex
             if not self._cache_exists():
                 log.error("Server unreachable, registered, but no cache exists.")
-                raise
+                return None

             log.warn("Unable to reach server, using cached status.")
             return self._read_cache()
@@ -250,11 +245,6 @@ class StatusCache(CacheManager):
             self.last_error = ex
             log.error("Bad identity, unable to connect to server")
             return None
-        except connection.AuthenticationException, ex:
-            log.error("Could not authenticate with server, check registration status.")
-            log.exception(ex)
-            self.last_error = ex
-            return None

     def to_dict(self):
         return self.server_status
diff --git a/subscription-manager.spec b/subscription-manager.spec
index 23b0889..6a3cad1 100644
--- a/subscription-manager.spec
+++ b/subscription-manager.spec
@@ -14,7 +14,7 @@

 Name: subscription-manager
 Version: 1.10.14
-Release: 10%{?dist}
+Release: 11%{?dist}
 Summary: Tools and libraries for subscription and repository management
 Group:   System Environment/Base
 License: GPLv2
@@ -419,6 +419,9 @@ fi
 %endif

 %changelog
+* Mon Nov 24 2014 Devan Goodwin <dgoodwin@rm-rf.ca> 1.10.14-11
+- 1113741: Fix rhsmd traceback on 502 errors. (alikins@redhat.com)
+
 * Thu Sep 11 2014 Alex Wood <awood@redhat.com> 1.10.14-10
 - 1131213: Do not ignore server info passed in to cp_provider.
   (awood@redhat.com)