From: Stephen Soltesz Date: Mon, 27 Jul 2009 16:23:41 +0000 (+0000) Subject: add a 'delete_recent' function to ActionRecord X-Git-Tag: Monitor-3.0-19~8 X-Git-Url: http://git.onelab.eu/?p=monitor.git;a=commitdiff_plain;h=cccbcf3069da9b6fe5e5817b5370bf1339bf42eb add a 'delete_recent' function to ActionRecord collect 'uptime' --- diff --git a/monitor/database/info/action.py b/monitor/database/info/action.py index 0cdad0a..f324daa 100644 --- a/monitor/database/info/action.py +++ b/monitor/database/info/action.py @@ -83,6 +83,11 @@ class ActionRecord(Entity): # TODO: need to sort on 'round' since actions will not be globally sync'd. return cls.query.filter_by(**kwargs).order_by(ActionRecord.id.desc()).first() + @classmethod + def delete_recent_by(cls, since, **kwargs): + acts = cls.query.filter_by(**kwargs).filter(cls.date_created >= datetime.now() - timedelta(since)).order_by(cls.date_created.desc()) + for i in acts: i.delete() + # ACCOUNTING date_created = Field(DateTime,default=datetime.now) loginbase = Field(String,default=None) diff --git a/monitor/scanapi.py b/monitor/scanapi.py index 60ba41d..af7fcd4 100644 --- a/monitor/scanapi.py +++ b/monitor/scanapi.py @@ -206,6 +206,7 @@ class ScanNodeInternal(ScanInterface): echo ' "nm_status":"'`ps ax | grep nm.py | grep -v grep`'",' echo ' "dns_status":"'`host boot.planet-lab.org 2>&1`'",' echo ' "princeton_comon_dir":"'`ls -d /vservers/princeton_comon`'",' + echo ' "uptime":"'`uptime`'",' ID=`grep princeton_comon /etc/passwd | awk -F : '{if ( $3 > 500 ) { print $3}}'` echo ' "princeton_comon_running":"'`ls -d /proc/virtual/$ID`'",' @@ -226,6 +227,7 @@ EOF """) values.update({'kernel_version': "", 'bmlog' : "", 'bootcd_version' : '', 'nm_status' : '', 'fs_status' : '', + 'uptime' : '', 'dns_status' : '', 'rpm_version' : '', 'rpm_versions' : '', @@ -240,6 +242,7 @@ EOF """) print "ALLVERSIONS: %s %s" % (nodename, values['rpm_versions']) print "RPMVERSION: %s %s" % (nodename, values['rpm_version']) + print "UPTIME: %s %s" % (nodename, values['uptime']) ### RUN SSH ###################### b_getbootcd_id = True @@ -340,16 +343,7 @@ EOF """) 'memsize' : 'null'} # include output value ### GET PLC NODE ###################### - plc_lock.acquire() - d_node = None - try: - d_node = plccache.GetNodeByName(nodename) - #d_node = plc.getNodes({'hostname': nodename}, ['pcu_ids', 'site_id', - # 'date_created', 'last_updated', - # 'last_contact', 'boot_state', 'nodegroup_ids'])[0] - except: - traceback.print_exc() - plc_lock.release() + d_node = plccache.GetNodeByName(nodename) values['plc_node_stats'] = d_node ##### NMAP ###################