import repository from arizona
[raven.git] / tools / testnodes / test_pacmansummary_remote.py
1 #! /usr/bin/python
2 import xmlrpclib,socket,os,time
3
4 # if there is no nodemanager, then no use in checking pacman status
5 try:
6     glo_all_slice_keys = xmlrpclib.ServerProxy('http://localhost:812/').GetSSHKeys()
7 except Exception, e:
8     print "fail: " + socket.gethostname() + " no-nodemanager " + str(e)
9
10 # get the modify time of the pacman summary file
11 pacdate_elapsed = None
12 pacdate_str = "(none)"
13 if os.path.exists("/usr/local/stork/var/pacman.summary"):
14    try:
15        pacdate = os.stat("/usr/local/stork/var/pacman.summary")[7]
16        pacdate_elapsed = time.time() - pacdate
17        pacdate_str = time.ctime(pacdate)
18    except Exception, e:
19        print "fail: " + socket.gethostname() + " stat(pacman.summary) " + str(e)
20        # pass the exception up
21        raise
22
23 # check and see if pacman is currently running
24 pacman_running = ""
25 if os.path.exists("/usr/local/stork/var/pacman.summary_current"):
26    pacman_running = " [PACMAN_RUNNING]"
27
28 # if pacman hasn't run in a long time, then complain
29 if not pacdate_elapsed:
30    print "not-run-yet: " + socket.gethostname() + pacman_running
31 elif pacdate_elapsed < 3*60*60:
32    print "recent: " + socket.gethostname() + " " + str(int(pacdate_elapsed/60)) + " minutes" + pacman_running
33 else:
34    print "old: " + socket.gethostname() + " " + str(int(pacdate_elapsed/60)) + " minutes" + pacman_running
35