summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSol Jerome <sol.jerome@gmail.com>2011-06-10 10:47:46 -0500
committerSol Jerome <sol.jerome@gmail.com>2011-06-14 12:36:46 -0500
commite4f2ac90cb173a75d7e39d643b3e8147085ecca1 (patch)
treeb10e06fc80ed714f5376b169e32b8953479211f1
parentfa45b31482f86cc75ca58123096d08dde015f48b (diff)
downloadbcfg2-e4f2ac90cb173a75d7e39d643b3e8147085ecca1.tar.gz
bcfg2-e4f2ac90cb173a75d7e39d643b3e8147085ecca1.tar.bz2
bcfg2-e4f2ac90cb173a75d7e39d643b3e8147085ecca1.zip
POSIX: Detect missing cache directory failures
Signed-off-by: Sol Jerome <sol.jerome@gmail.com>
-rw-r--r--src/lib/Client/Tools/POSIX.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/lib/Client/Tools/POSIX.py b/src/lib/Client/Tools/POSIX.py
index 862e0bc04..64821f621 100644
--- a/src/lib/Client/Tools/POSIX.py
+++ b/src/lib/Client/Tools/POSIX.py
@@ -14,6 +14,7 @@ import os
import pwd
import shutil
import stat
+import sys
import time
import Bcfg2.Client.Tools
import Bcfg2.Options
@@ -559,8 +560,14 @@ class POSIX(Bcfg2.Client.Tools.Tool):
(entry.get('current_exists', 'true') == 'false'):
bkupnam = entry.get('name').replace('/', '_')
# current list of backups for this file
- bkuplist = [f for f in os.listdir(self.ppath) if
- f.startswith(bkupnam)]
+ try:
+ bkuplist = [f for f in os.listdir(self.ppath) if
+ f.startswith(bkupnam)]
+ except OSError:
+ e = sys.exc_info()[1]
+ self.logger.error("Failed to create backup list in %s: %s" %
+ (self.ppath, e.strerror))
+ return False
bkuplist.sort()
while len(bkuplist) >= int(self.max_copies):
# remove the oldest backup available