for n in ["bminit-cfg-exception-nocfg-update-bootupdatefail-nonode-debug-done",
"bminit-cfg-exception-update-bootupdatefail-nonode-debug-done",
"bminit-cfg-exception-update-bootupdatefail-nonode-debug-validate-exception-done",
+ "bminit-cfg-exception-nocfg-update-bootupdatefail-nonode-debug-validate-exception-done",
"bminit-cfg-auth-bootcheckfail-nonode-exception-update-bootupdatefail-nonode-debug-done",
]:
sequences.update({n : "update_node_config_email"})
def get_latest_by(cls, **kwargs):
return cls.query.filter_by(**kwargs).first()
+ @classmethod
+ def get_latest_by(cls, **kwargs):
+ return cls.query.filter_by(**kwargs).first()
+
@classmethod
def get_latest_n_by(cls, n=3, **kwargs):
return cls.query.filter_by(**kwargs)
try:
for port in [22, 806]:
ssh = command.SSH('root', nodename, port)
+ #echo ' "fs_status":"'`touch /var/log/monitor 2>&1 ; if [ -d /vservers/ ] ; then touch /vservers/monitor.log 2>&1 ; fi ; grep proc /proc/mounts | grep ro,`'",'
(oval, errval) = ssh.run_noexcept2(""" <<\EOF
echo "{"
echo ' "bmlog":"'`ls /tmp/bm.log`'",'
echo ' "bootcd_version":"'`cat /mnt/cdrom/bootme/ID`'",'
echo ' "nm_status":"'`ps ax | grep nm.py | grep -v grep`'",'
- echo ' "fs_status":"'`touch /var/log/monitor 2>&1 ; if [ -d /vservers/ ] ; then touch /vservers/monitor.log 2>&1 ; fi ; grep proc /proc/mounts | grep ro,`'",'
echo ' "dns_status":"'`host boot.planet-lab.org 2>&1`'",'
echo ' "princeton_comon_dir":"'`ls -d /vservers/princeton_comon`'",'
print traceback.print_exc()
sys.exit(1)
+ values['fs_status'] = ""
print "ALLVERSIONS: %s %s" % (nodename, values['rpm_versions'])
print "RPMVERSION: %s %s" % (nodename, values['rpm_version'])
for i,site in enumerate(sitenames):
sitehist = SiteInterface.get_or_make(loginbase=site)
siteblack = BlacklistRecord.get_by(loginbase=site)
+ skip_due_to_blacklist=False
if siteblack and not siteblack.expired():
print "skipping %s due to blacklist. will expire %s" % (site, siteblack.willExpire() )
+ skip_due_to_blacklist=True
continue
# TODO: make query only return records within a certin time range,
<span py:for="key in setorder + [s for s in set(sumdata[primarykey].keys())-set(setorder)]">
<td bgcolor="lightgrey" valign="top" align="center">
<a target="_blank" href="${link(plc_myops_uri() + '/monitor/node2', filter=key)}" py:if="primarykey == 'nodes'" py:content="sumdata[primarykey][key]"></a>
- <div py:if="primarykey != 'nodes'" py:content="sumdata[primarykey][key]"></div>
+ <div py:if="primarykey != 'nodes' and key in sumdata[primarykey]" py:content="sumdata[primarykey][key]"></div>
</td>
</span>
</tr>