X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=conf_files.py;h=252c795c68882fcbb011ef86debe28b9be4d9789;hb=e57432c1dfdfeaa52cc32799e2abbc34b7704ce9;hp=1e5d9604d1c50ebd7c2b49ccb424c786f379c6be;hpb=aa43aef98753b661e8530d05ebf145045411504b;p=nodemanager.git diff --git a/conf_files.py b/conf_files.py index 1e5d960..252c795 100644 --- a/conf_files.py +++ b/conf_files.py @@ -1,19 +1,22 @@ -# $Id$ -# $URL$ - """configuration files""" import grp import os import pwd -import sha +try: + from hashlib import sha1 as sha +except ImportError: + from sha import sha import string import curlwrapper import logger import tools import xmlrpclib -from config import Config +from config import Config + +# right after net +priority = 2 class conf_files: def __init__(self, noscripts=False): @@ -24,7 +27,7 @@ class conf_files: def checksum(self, path): try: f = open(path) - try: return sha.new(f.read()).digest() + try: return sha(f.read()).digest() finally: f.close() except IOError: return None @@ -56,14 +59,14 @@ class conf_files: else: url += '?' url += "node_id=%d"%tools.node_id() else: - logger.log('%s -- WARNING, cannot add node_id to request'%dest) + logger.log('conf_files: %s -- WARNING, cannot add node_id to request'%dest) try: - logger.verbose("retrieving URL=%s"%url) + logger.verbose("conf_files: retrieving URL=%s"%url) contents = curlwrapper.retrieve(url, self.config.cacert) 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): + if not cf_rec['always_update'] and sha(contents).digest() == self.checksum(dest): return if self.system(cf_rec['preinstall_cmd']): self.system(err_cmd) @@ -78,11 +81,12 @@ class conf_files: if data.has_key("conf_files"): for f in data['conf_files']: try: self.update_conf_file(f) - except: logger.log_exc() - else: logger.log("conf_files: No conf_files found or API failure. Skipping") + except: logger.log_exc("conf_files: failed to update conf_file") + else: + logger.log_missing_data("conf_files.run_once",'conf_files') -def start(options, config): pass +def start(): pass def GetSlivers(data, config = None, plc = None): logger.log("conf_files: Running.")