import curlwrapper
import logger
import tools
-
+import xmlrpclib
class conf_files:
def __init__(self, config, noscripts=False):
def system(self, cmd):
if not self.noscripts and cmd:
- logger.log('conf_files: running command %s' % cmd)
+ logger.verbose('conf_files: running command %s' % cmd)
return tools.fork_as(None, os.system, cmd)
else: return 0
def update_conf_file(self, cf_rec):
if not cf_rec['enabled']: return
dest = cf_rec['dest']
- # XXX Remove once old Node Manager is out of service
- if dest == '/etc/proper/propd.conf': return
err_cmd = cf_rec['error_cmd']
mode = string.atoi(cf_rec['file_permissions'], base=8)
try:
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):
if self.system(cf_rec['preinstall_cmd']):
self.system(err_cmd)
if not cf_rec['ignore_cmd_errors']: return
- logger.log('conf_files: installing file %s from %s' % (dest, url))
+ logger.verbose('conf_files: installing file %s from %s' % (dest, url))
try: os.makedirs(os.path.dirname(dest))
except OSError: pass
tools.write_file(dest, lambda f: f.write(contents), mode=mode, uidgid=(uid,gid))