- nodename = node_record['nodename']
- category = node_record['category']
- prev_category = node_record['prev_category']
- state = node_record['state']
-
- val = cmpCategoryVal(category, prev_category)
- if val == -1:
- # current category is worse than previous, carry on
- pass
- elif val == 1:
- # current category is better than previous
- # TODO: too generous for now, but will be handled correctly
- node_record['stage'] = 'improvement'
- else:
- #values are equal, carry on.
- pass
+ nodename = node_record['nodename']
+ category = node_record['category']
+ prev_category = node_record['prev_category']
+ state = node_record['state']
+ #if 'prev_category' in node_record:
+ # prev_category = node_record['prev_category']
+ #else:
+ # prev_category = "ERROR"
+ if node_record['prev_category'] != "NORECORD":
+
+ val = cmpCategoryVal(category, prev_category)
+ print "%s went from %s -> %s" % (nodename, prev_category, category)
+ if val == 1:
+ # improved
+ if node_record['ticket_id'] == "" or node_record['ticket_id'] == None:
+ print "closing record with no ticket: ", node_record['nodename']
+ node_record['action'] = ['close_rt']
+ node_record['message'] = None
+ node_record['stage'] = 'monitor-end-record'
+ return node_record
+ else:
+ node_record['stage'] = 'improvement'
+
+ #if 'monitor-end-record' in node_record['stage']:
+ # # just ignore it if it's already ended.
+ # # otherwise, the status should be worse, and we won't get
+ # # here.
+ # print "monitor-end-record: ignoring ", node_record['nodename']
+ # return None
+#
+# #return None
+ elif val == -1:
+ # current category is worse than previous, carry on
+ pass
+ else:
+ #values are equal, carry on.
+ #print "why are we here?"
+ pass
+
+ if 'rt' in node_record and 'Status' in node_record['rt']:
+ if node_record['stage'] == 'ticket_waitforever':
+ if 'resolved' in node_record['rt']['Status']:
+ print "ending waitforever record for: ", node_record['nodename']
+ node_record['action'] = ['noop']
+ node_record['message'] = None
+ node_record['stage'] = 'monitor-end-record'
+ print "oldlog: %s" % node_record['log'],
+ print "%15s" % node_record['action']
+ return node_record
+ if 'new' in node_record['rt']['Status'] and \
+ 'Queue' in node_record['rt'] and \
+ 'Monitor' in node_record['rt']['Queue']:
+
+ print "RESETTING stage to findbad"
+ node_record['stage'] = 'findbad'