actually delete site from db
authorStephen Soltesz <soltesz@cs.princeton.edu>
Sat, 6 Jun 2009 00:56:12 +0000 (00:56 +0000)
committerStephen Soltesz <soltesz@cs.princeton.edu>
Sat, 6 Jun 2009 00:56:12 +0000 (00:56 +0000)
zabbix/zabbixsite.py
zabbix/zabbixsync.py

index 5ff964f..052b200 100755 (executable)
@@ -40,6 +40,8 @@ def delete_site(loginbase):
                        #user.delete()
                        pass
                ug.delete()
+       else:
+               print usergroupname, " not found"
 
        hg = HostGroup.get_by(name=hostgroupname)
        if hg: 
@@ -48,16 +50,21 @@ def delete_site(loginbase):
                for host in hg.host_list:
                        host.delete()
                hg.delete()
+       else:
+               print hostgroupname, " not found"
 
        # delete dr
        dr = DiscoveryRule.get_by(name=discovery_rule_name)
        if dr: dr.delete()
+       else: print discovery_rule_name, " not found"
 
        da = Action.get_by(name=discovery_action_name)
        if da: da.delete()
+       else: print discovery_action_name, " not found"
 
        ea = Action.get_by(name=escalation_action_name)
        if ea: ea.delete()
+       else: print escalation_action_name, " not found"
 
        return
 
@@ -118,7 +125,7 @@ def setup_global():
        print "checking scripts"
        script1 = Script.find_or_create(name="RebootNode",
                                                                        set_if_new = {
-                                                                               'command':"%s/reboot.py {HOST.CONN}" % config.MONITOR_SCRIPT_ROOT,
+                                                                               'command':"%s/monitor/reboot.py {HOST.CONN}" % config.MONITOR_SCRIPT_ROOT,
                                                                                'host_access':3 # r/w)
                                                                        })
        script2 = Script.find_or_create(name="NMap",
@@ -237,15 +244,15 @@ def setup_site(loginbase, techemail, piemail, iplist):
                                ]
                                # THEN
                a.actionoperation_list=[
-                                       # Send Email
-                                       ActionOperation(
-                                               operationtype=defines.OPERATION_TYPE_MESSAGE,
-                                               shortdata=mailtxt.node_discovered_subject,
-                                               longdata=mailtxt.node_discovered,
-                                               object=defines.OPERATION_OBJECT_GROUP, 
-                                               objectid=site_user_group.usrgrpid, 
-                                               esc_period=0, esc_step_to=1, esc_step_from=1, 
-                                       ),
+                                       ## Send Email
+                                       #ActionOperation(
+                                       #       operationtype=defines.OPERATION_TYPE_MESSAGE,
+                                       #       shortdata=mailtxt.node_discovered_subject,
+                                       #       longdata=mailtxt.node_discovered,
+                                       #       object=defines.OPERATION_OBJECT_GROUP, 
+                                       #       objectid=site_user_group.usrgrpid, 
+                                       #       esc_period=0, esc_step_to=1, esc_step_from=1, 
+                                       #),
                                        # Add Host
                                        ActionOperation(
                                                operationtype=defines.OPERATION_TYPE_HOST_ADD,
@@ -348,17 +355,17 @@ def setup_site(loginbase, techemail, piemail, iplist):
                                        esc_step_from=17, esc_step_to=17, 
                                        esc_period=0, 
                                        shortdata="",
-                                       longdata="%s:%s/checkslices.py {HOSTNAME} disableslices" % ( config.MONITOR_HOSTNAME, config.MONITOR_SCRIPT_ROOT ), 
+                                       longdata="%s:%s/monitor/reboot.py {HOSTNAME}" % ( config.MONITOR_HOSTNAME, config.MONITOR_SCRIPT_ROOT ), 
                                        # TODO: send notice to users of slices
                                        operationcondition_list=[ OperationConditionNotAck() ]),
-                               ActionOperation(operationtype=defines.OPERATION_TYPE_MESSAGE, 
-                                       shortdata=mailtxt.nodedown_three_subject,
-                                       longdata=mailtxt.nodedown_three,
-                                       esc_step_from=17, esc_step_to=17, 
-                                       esc_period=0, 
-                                       object=defines.OPERATION_OBJECT_GROUP, 
-                                       objectid=site_user_group.usrgrpid, 
-                                       operationcondition_list=[ OperationConditionNotAck() ] ), 
+                               #ActionOperation(operationtype=defines.OPERATION_TYPE_MESSAGE, 
+                               #       shortdata=mailtxt.nodedown_three_subject,
+                               #       longdata=mailtxt.nodedown_three,
+                               #       esc_step_from=17, esc_step_to=17, 
+                               #       esc_period=0, 
+                               #       object=defines.OPERATION_OBJECT_GROUP, 
+                               #       objectid=site_user_group.usrgrpid, 
+                               #       operationcondition_list=[ OperationConditionNotAck() ] ), 
                                # STAGE 4++
                                ActionOperation(operationtype=defines.OPERATION_TYPE_COMMAND, 
                                        esc_step_from=21, esc_step_to=0, 
index 407d801..74a1916 100755 (executable)
@@ -12,7 +12,7 @@ from monitor.database.zabbixapi.model import confirm_ids, HostGroup
 
 
 plcdb = plccache.l_sites # database.dbLoad("l_plcsites")
-netid2ip = plccache.plcdb_netid2ip # database.dbLoad("plcdb_netid2ip")
+#netid2ip = plccache.plcdb_netid2ip # database.dbLoad("plcdb_netid2ip")
 lb2hn = plccache.plcdb_lb2hn # database.dbLoad("plcdb_lb2hn")
 
 def get_site_iplist(loginbase):
@@ -23,7 +23,10 @@ def get_site_iplist(loginbase):
        ip_list = ""
        for node in node_list:
                if len(node['interface_ids']) > 0:
-                       ip = netid2ip[node['interface_ids'][0]]
+                       ifs = plc.api.GetInterfaces({'interface_id' : node['interface_ids'], 'is_primary' : True})
+                       print ifs
+                       #ip = netid2ip[node['interface_ids'][0]]
+                       ip = ifs[0]['ip']
                        if len(ip_list) > 0: ip_list += ","
                        ip_list += ip
 
@@ -76,6 +79,9 @@ if __name__=="__main__":
                query = {'peer_id' : None}
                if opts.site:
                        query.update({'login_base' : opts.site})
+               elif opts.sitelist:
+                       l = opts.sitelist.split(",")
+                       query.update({'login_base' : l})
 
                # ADD SITES
                sites = api.GetSites(query, ['login_base'])
@@ -91,6 +97,7 @@ if __name__=="__main__":
                        in_db_not_plc = set(site_db_list) - set(site_api_list)
                        for login_base in in_db_not_plc:
                                print "Deleting %s" % login_base
-                               zabbixsite.delete_site(site['login_base'])
+                               zabbixsite.delete_site(login_base)
+                               session.flush()