Changeset 44:525b66828fb2

Show
Ignore:
Timestamp:
08/07/08 09:52:59 (4 months ago)
Author:
Jeffrey Gelens <jeffrey@…>
Branch:
default
Message:

Implemented Error notifications

Files:
3 modified

Legend:

Unmodified
Added
Removed
  • collector/models.py

    r42 r44  
    3434    uptime = models.IntegerField(editable=False, null=True) 
    3535    updated_at = models.DateTimeField(auto_now=True, editable=False, null=True) 
    36     outbound_updates = models.BooleanField(default=True) 
     36    pull_updates = models.BooleanField(default=True) 
    3737    type = models.CharField(max_length=4, choices=MONITOR_DAEMONS) 
    3838 
     
    113113            try: 
    114114                data = server._open(url) 
    115             except urllib2.HTTPError, urllib2.URLError:  
    116                 return False 
     115            except urllib2.HTTPError, errmessage: 
     116                return (False, errmessage) 
     117            except urllib2.URLError, errmessage:  
     118                return (False, errmessage) 
    117119            xml = ElementTree.parse(data).getroot() 
    118120        elif data != "": 
    119121            xml = ElementTree.fromstring(data) 
    120122        else: 
    121             return False 
     123            return (True, 'ok') 
    122124 
    123125        server.version = xml.findtext('server/version') 
     
    153155            monitor.pending = int(monitor_node.findtext('pendingaction')) 
    154156            monitor.save() 
    155         return True 
     157        return (True, 'ok') 
    156158 
    157159    def call_monitor(self, server, monitor, command): 
     
    171173        """ 
    172174        url = server.url + "%s?action=%s" % (monitor, command) 
    173         try: 
    174             server._open(url) 
    175         except IOError: 
    176             return False 
    177         return True 
     175        #try: 
     176        #server._open(url) 
     177        #except IOError: 
     178        #    return False 
     179        #return True 
     180        return server._open(url) 
    178181 
    179182 
  • collector/views.py

    r42 r44  
    2626 
    2727    # Request server data if needed 
    28     if (server.outbound_updates): 
     28    if (server.pull_updates): 
    2929        if (datetime.now() - server.updated_at).seconds > 60: 
    30             server.update() 
    31             server.save() 
    32             flash_date = True 
     30            update_ok = server.update() 
     31            if update_ok[0]: 
     32                server.save() 
     33                flash_date = True 
     34            else: 
     35                message = "Could not update server: %s" % update_ok[1] 
    3336 
    3437    if request.REQUEST.has_key('val'): 
     
    7881 
    7982    server = MonitorDaemon.objects.get(pk=int(id)) 
    80     if server.update(): 
     83    update_ok = server.update() 
     84    if update_ok[0]: 
    8185        server.save() 
    8286        return HttpResponseRedirect("/servers/%s" % (id)) 
    8387    else: 
    84         return get_server(request, id, message="Could not update server") 
     88        return get_server(request, id, message="Could not update server: %s" % update_ok[1]) 
    8589 
    8690@login_required 
     
    144148        if request.POST.has_key("server"): 
    145149            server = MonitorDaemon.objects.get(pk=int(request.POST.get("server"))) 
    146             if server.outbound_updates: 
     150            if server.pull_updates: 
    147151                server.update() 
    148152        else: 
    149153            servers = MonitorDaemon.objects.all() 
    150154            for server in servers: 
    151                 if server.outbound_updates: 
     155                if server.pull_updates: 
    152156                    server.update() 
    153157 
  • templates/collector/server.html

    r43 r44  
    5454 
    5555{% if server %} 
     56{% if message %} 
     57<div id="warning">{{ message }}</div> 
     58{% endif %} 
    5659<form action="/servers/{{ server.id }}/" method="post" id="search"> 
    5760{% endif %}