From 96e7f247572a1afffab1134dc54986f329951652 Mon Sep 17 00:00:00 2001 From: Stephen Soltesz Date: Sat, 6 Jun 2009 00:56:12 +0000 Subject: [PATCH] actually delete site from db --- zabbix/zabbixsite.py | 45 +++++++++++++++++++++++++------------------- zabbix/zabbixsync.py | 13 ++++++++++--- 2 files changed, 36 insertions(+), 22 deletions(-) diff --git a/zabbix/zabbixsite.py b/zabbix/zabbixsite.py index 5ff964f..052b200 100755 --- a/zabbix/zabbixsite.py +++ b/zabbix/zabbixsite.py @@ -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, diff --git a/zabbix/zabbixsync.py b/zabbix/zabbixsync.py index 407d801..74a1916 100755 --- a/zabbix/zabbixsync.py +++ b/zabbix/zabbixsync.py @@ -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() -- 2.43.0