Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import json
- import paramiko as pk
- def paramiko_connect(V_Job,V_Ip,V_User,V_Passwd):
- s=pk.SSHClient()
- s.set_missing_host_key_policy(pk.AutoAddPolicy())
- s.connect(V_Ip,username=V_User,password=V_Passwd)
- stdin,stdout,stderr=s.exec_command("hostname")
- if "install" in V_Job.keys():
- sin,sout,ser=s.exec_command("yum install -y {}".format(V_Job['install']['name']))
- print sout.read()
- def process_job(V_Ip,V_User,V_Passwd,V_Dict):
- V_Jobs=V_Dict["job"].keys()
- for V_host in V_Ip:
- for V_Job in V_Jobs:
- paramiko_connect(V_Dict['job'][V_Job],V_host,V_User,V_Passwd)
- def filter_data(V_Dict):
- V_Ip=V_Dict["host"]
- if V_Ip.count(","):
- V_Multi_Ip=V_Ip.split(",")
- else:
- V_Multi_Ip=[V_Ip]
- V_User=V_Dict["remote_user"]
- V_Passwd=V_Dict["remote_password"]
- process_job(V_Multi_Ip,V_User,V_Passwd,V_Dict)
- def file_load(V_File):
- fp=open(V_File)
- V_Json=json.load(fp)
- filter_data(V_Json)
- file_load("demo.json")
Add Comment
Please, Sign In to add comment