--- /dev/null
+import os, sys, time, string
+from optparse import OptionParser
+import xmlrpclib
+
+
+class GetConfig:
+
+ subversion_id = "$Id$"
+
+ def __init__ (self):
+ self.url="https://localhost:443/PLCAPI/"
+ self.server=xmlrpclib.Server(self.url,allow_none=True)
+ self.path="/etc/nagios/config-sample/"
+ self.path1="/etc/nagios/"
+
+ def create_hostgroup(self, file, nodes_infos):
+ f1=open(file,"a")
+ i=0
+ j=0
+ memberhost=""
+ alias=[]
+ list=[]
+ site_name=nodes_infos[0]['Site_name']##initialize the first site name
+
+ while 1:
+ if(i<len(nodes_infos) and site_name==nodes_infos[i]['Site_name']):
+ memberhost=memberhost+nodes_infos[i]['node_hostname']+","
+ i=i+1
+ elif (i<len(nodes_infos) and site_name!=nodes_infos[i]['Site_name']):
+ alias.append(site_name)
+ list.append(memberhost)
+ memberhost=""
+ memberhost=memberhost+nodes_infos[i]['node_hostname']+","
+ site_name=nodes_infos[i]['Site_name']
+ alias.append(site_name)
+ i=i+1
+
+ elif (i>=len(nodes_infos)):
+ alias.append(site_name)
+ list.append(memberhost)
+ break
+
+
+ print list
+ print alias
+ while (j < len(list)):
+ f1.write("\ndefine hostgroup { \n")
+ f1.write("hostgroup_name "+str(j)+"\n")
+ f1.write("alias %s\n"%alias[j])
+ f1.write("members %s\n } \n"%list[j])
+ j=j+1
+ f1.close()
+
+ def generate_file(self,sample_file, file,login,nodes_infos):
+
+ f1=open(self.path+sample_file,"rb")
+ f2=open(self.path1+file,"wb")
+ f2.write(f1.read())
+ f1.close()
+ f2.close()
+ if (login=="h"):
+ self.create_host(self.path1+file,nodes_infos)
+ elif (login=="s"):
+ self.create_service(self.path1+file,nodes_infos)
+ elif (login=="g"):
+ self.create_hostgroup(self.path1+file, nodes_infos)
+
+
+
+ def create_host(self,file,nodes_infos):
+ f1=open(file,"a")
+ i=0
+ while (i<len(nodes_infos)):
+ f1.write("\n define host { \n")
+ f1.write("host_name %s\n"%nodes_infos[i]['node_hostname'])
+ f1.write("use linux-server\n")
+ f1.write("alias %s\n"%nodes_infos[i]['node_hostname'])
+ f1.write("address %s\n } \n"%nodes_infos[i]['node_ip'])
+ i=i+1
+ f1.close()
+
+
+ def create_service(self,file,nodes_infos):
+ i=0
+ f1=open(file,"a")
+ f2=open("ServiceName","r")
+ while (i<len(nodes_infos)):
+ while 1:
+ txt=f2.readline()
+ service=txt.strip()
+ if txt=='':
+ f2.seek(0)
+ break
+ f1.write("\ndefine service { \n")
+ f1.write("host_name %s\n"%nodes_infos[i]['node_hostname'])
+ f1.write("use remote-service\n")
+ f1.write("service_description %s\n"%service)
+ f1.write("check_command %s!%s \n } \n"%(service,nodes_infos[i]['node_hostname']))
+ i=i+1
+ f2.close()
+ f1.close()