tweak privatebridge to remove exception message when ovs is not installed - prints...
[nodemanager.git] / conf_files.py
index 8c47f95..252c795 100644 (file)
@@ -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,19 +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)
-        # pass slicefamily as well, as stored in /etc/planetlab/slicefamily on the node
-        if tools.slicefamily():
-            if url.find('?') >0: url += '&'
-            else:                url += '?'
-            url += "slicefamily=%s"%tools.slicefamily()
+            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)
@@ -83,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.")