X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=monitor%2Fcommon.py;h=5cf815109aa667301e99dfff765615d80272ba63;hb=464898a6577bafdd22d212557f6341fe57349afb;hp=c3ece6fcc8de89df442d68285b41477add0f06be;hpb=125c27b9121122663bada7e36eb2a00c95362d18;p=monitor.git diff --git a/monitor/common.py b/monitor/common.py index c3ece6f..5cf8151 100644 --- a/monitor/common.py +++ b/monitor/common.py @@ -43,12 +43,17 @@ def get_current_state(fbnode): return l def color_pcu_state(fbnode): + if fbnode['plc_pcuid'] is None: + return 'NOPCU' + else: + return 'PCU' if 'plcnode' in fbnode and 'pcu_ids' in fbnode['plcnode'] and len(fbnode['plcnode']['pcu_ids']) > 0 : values = reboot.get_pcu_values(fbnode['plcnode']['pcu_ids'][0]) if values == None: return fbnode['pcu'] else: + print fbnode.keys() if 'pcu' not in fbnode: return 'NOPCU' else: @@ -202,7 +207,11 @@ def get_nodeset(config): l_nodes = api.GetNodes(ng[0]['node_ids'], ['hostname']) elif config.site: site = api.GetSites(config.site) - l_nodes = api.GetNodes(site[0]['node_ids'], ['hostname']) + if len(site) > 0: + l_nodes = api.GetNodes(site[0]['node_ids'], ['hostname']) + else: + print "No site returned for : %s" % config.site + return [] l_nodes = [node['hostname'] for node in l_nodes] @@ -240,6 +249,9 @@ def changed_lessthan(last_changed, days): return False def changed_greaterthan(last_changed, days): + if last_changed is None: + return False + if datetime.now() - last_changed > timedelta(days): #print "last changed more than %s" % timedelta(days) return True @@ -270,3 +282,14 @@ def found_within(recent_actions, action_type, within): print "%s NOT found_within %s in recent_actions" % (action_type, timedelta(within) ) return False + +class Time: + @classmethod + def dt_to_ts(cls, dt): + t = time.mktime(dt.timetuple()) + return t + + @classmethod + def ts_to_dt(cls, ts): + d = datetime.fromtimestamp(ts) + return d