for f in data['conf_files']:
try: self.update_conf_file(f)
except: logger.log_exc("failed to update conf_file")
- else: logger.log("conf_files: No conf_files found or API failure. Skipping")
+ else:
+ logger.log_missing_data("conf_files.run_once",'conf_files')
def start(options, config): pass
else:
log("EXCEPTION caught <%s> \n %s" %(msg, traceback.format_exc()))
+# for some reason the various modules are still triggered even when the
+# data from PLC cannot be reached
+# we show this message instead of the exception stack instead in this case
+def log_missing_data (msg,key):
+ log("%s: could not find the %s key in data (PLC connection down?) - IGNORED"%(msg,key))
+
def log_data_in_file (data, file, message=""):
import pprint, time
try:
else: _writeconf = True
# Parse attributes and update dict of scripts
+ if 'slivers' not in data:
+ logger.log_missing_data("codemux.GetSlivers", 'slivers')
+ return
for sliver in data['slivers']:
for attribute in sliver['attributes']:
if attribute['tagname'] == 'codemux':
def GetSlivers(data, config=None, plc=None):
if 'slivers' not in data:
- logger.log("sliverauth: getslivers data lack's sliver information. IGNORING!")
+ logger.log_missing_data("rawdisk.GetSlivers",'slivers')
return
devices = get_unused_devices()
return
if 'slivers' not in data:
- logger.log("sliverauth: getslivers data lack's sliver information. IGNORING!")
+ logger.log_missing_data("sliverauth.GetSlivers", 'slivers')
return
for sliver in data['slivers']:
def GetSlivers(data, conf = None, plc = None):
if 'accounts' not in data:
- logger.log("specialaccounts: No account information found. DISABLED!")
+ logger.log_missing_data("specialaccounts.GetSlivers",'accounts')
return
for account in data['accounts']:
slices = []
_restart = False
# Parse attributes and update dict of scripts
+ if 'slivers' not in data:
+ logger.log_missing_data("vsys.GetSlivers",'slivers')
+ return
for sliver in data['slivers']:
for attribute in sliver['attributes']:
if attribute['tagname'] == 'vsys':
privs = {}
# Parse attributes and update dict of scripts
+ if 'slivers' not in data:
+ logger.log_missing_data("vsys_privs.GetSlivers",'slivers')
+ return
for sliver in data['slivers']:
slice = sliver['name']
for attribute in sliver['attributes']:
DEFAULT_ALLOCATION['net_max_rate'] = network['bwlimit'] / 1000
# Take intscripts (global) returned by API, make dict
+ if 'initscripts' not in data:
+ logger.log_missing_data("sm.GetSlivers",'initscripts')
+ return
initscripts = {}
for is_rec in data['initscripts']:
logger.verbose("initscript: %s" % is_rec['name'])