bug fix in summary template
[monitor.git] / monitor / scanapi.py
index f7939e6..5928c5a 100644 (file)
@@ -63,7 +63,7 @@ def get_nodes(node_ids):
                l_node = plc.getNodes(node_ids, ['hostname', 'last_contact', 'node_id', 'ports'])
        except:
                try:
-                       plc_nodes = plccache.l_plcnodes
+                       plc_nodes = plccache.l_nodes
                        for n in plc_nodes:
                                if n['node_id'] in node_ids:
                                        l_node.append(n)
@@ -157,7 +157,7 @@ class ScanInterface(object):
 
                except:
                        print "ERROR:"
-                       email_exception(nodename)
+                       email_exception(str(nodename))
                        print traceback.print_exc()
                        pass
 
@@ -197,6 +197,7 @@ class ScanNodeInternal(ScanInterface):
                        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 "{"
@@ -204,13 +205,14 @@ class ScanNodeInternal(ScanInterface):
                                                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`'",'
                                                echo '  "dns_status":"'`host boot.planet-lab.org 2>&1`'",'
                                                echo '  "princeton_comon_dir":"'`ls -d /vservers/princeton_comon`'",'
 
                                                ID=`grep princeton_comon /etc/passwd | awk -F : '{if ( $3 > 500 ) { print $3}}'` 
                                                echo '  "princeton_comon_running":"'`ls -d /proc/virtual/$ID`'",'
                                                echo '  "princeton_comon_procs":"'`vps ax | grep $ID | grep -v grep | wc -l`'",'
+                                               echo '  "rpm_version":"'`rpm -q NodeManager`'",'
+                                               echo '  "rpm_versions":"'`rpm -q -a`'",'
                                                echo "}"
 EOF                            """)
                                        
@@ -225,6 +227,8 @@ EOF                         """)
                                                                                'nm_status' : '', 
                                                                                'fs_status' : '',
                                                                                'dns_status' : '',
+                                                                               'rpm_version' : '',
+                                                                               'rpm_versions' : '',
                                                                                'princeton_comon_dir' : "", 
                                                                                'princeton_comon_running' : "", 
                                                                                'princeton_comon_procs' : "", 'ssh_portused' : None})
@@ -232,6 +236,10 @@ EOF                                """)
                                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'])
                        ### RUN SSH ######################
                        b_getbootcd_id = True
 
@@ -483,7 +491,7 @@ class ScanPCU(ScanInterface):
                                                values['dns_status'] = "DNS-OK"
                                        else:
                                                values['dns_status'] = "DNS-MISMATCH"
-                                               continue_probe = False
+                                               values['plc_pcu_stats']['hostname'] = values['plc_pcu_stats']['ip']
 
                                except Exception, err:
                                        values['dns_status'] = "DNS-NOENTRY"