X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=conf_files.py;h=24d5509d2a3f07eeffc603d5c1d557e106df6900;hb=68abd8116ec262c638073b46ab622065abaed341;hp=4903b3f8de788a6090f064183889df97579a758c;hpb=d1caf190131fb94a6cacd90170d07ccceafa478b;p=nodemanager.git diff --git a/conf_files.py b/conf_files.py index 4903b3f..24d5509 100644 --- a/conf_files.py +++ b/conf_files.py @@ -10,7 +10,7 @@ import threading import curlwrapper import logger import tools - +import xmlrpclib class conf_files: def __init__(self, config, noscripts=False): @@ -39,12 +39,20 @@ class conf_files: if dest == '/etc/proper/propd.conf': return err_cmd = cf_rec['error_cmd'] mode = string.atoi(cf_rec['file_permissions'], base=8) - uid = pwd.getpwnam(cf_rec['file_owner'])[2] - gid = grp.getgrnam(cf_rec['file_group'])[2] + try: + uid = pwd.getpwnam(cf_rec['file_owner'])[2] + except: + logger.log('conf_files: cannot find user %s -- %s not updated'%(cf_rec['file_owner'],dest)) + return + try: + gid = grp.getgrnam(cf_rec['file_group'])[2] + except: + logger.log('conf_files: cannot find group %s -- %s not updated'%(cf_rec['file_group'],dest)) + return url = 'https://%s/%s' % (self.config.PLC_BOOT_HOST, cf_rec['source']) try: contents = curlwrapper.retrieve(url, self.config.cacert) - except curlwrapper.CurlException: + except xmlrpclib.ProtocolError,e: logger.log('conf_files: failed to retrieve %s from %s, skipping' % (dest, url)) return if not cf_rec['always_update'] and sha.new(contents).digest() == self.checksum(dest):