首页 > 其他 > 详细

2018年7月7日笔记

时间:2018-07-08 22:27:16      阅读:165      评论:0      收藏:0      [点我收藏+]
  • 习题1:installApp.py
 1 def nginx():
 2     resultBean = dict()
 3     __salt__[cp.get_file]("salt:_shell/app/nginx.sh /usr/local/src/installnginx.sh")
 4     jid = __salt__[cmd.async]
 5     cmd = "sh /usr/local/src/installnginx.sh"
 6     status, output = commands.getstatusoutput(cmd)
 7     if status == 0:
 8         resultBean[code] = 0
 9         resultBean[message] = success
10         resultBean[data] = output
11     else:
12         resultBean[code] = -1
13         resultBean[message] = install nginx error
14         resultBean[data] = output
15     return resultBean
16 
17 def tomcat():
18     pass
19 
20 def keepalived():
21     pass
22 
23 def lvs():
24     pass
25 
26 def jdk():
27     pass
28 
29 def mysql():
30     pass
31 
32 def zookeeper():
33     pass
34 
35 def redis():
36     pass

 

 

  • 习题2:masterApp.py
 1 import codecs
 2 import json
 3 import commands
 4 
 5 
 6 def publicKey(ipaddr):
 7     with codecs.open(/tmp/{0}.txt.format(ipaddr), w) as f:
 8         f.write("{0} ansible_ssh_pass=123456".format(ipaddr))
 9     resultBean = dict()
10     cmd = "ansible -i /tmp/{0}.txt all -m script -a ‘/srv/salt/_shell/installpub.sh‘".format(ipaddr)
11     status, output = commands.getstatusoutput(cmd)
12     if status == 0:
13         resultBean[code] = 0
14         resultBean[message] = success
15         resultBean[data] = output
16         return json.dumps(resultBean)

 

 

  • 习题3:saltapi.py
 1 import json
 2 
 3 import requests
 4 
 5 
 6 class SaltServer(object):
 7     def __init__(self):
 8         self.session = requests.session()
 9         self.token = self.getToken()
10 
11 
12     def getToken(self):
13         url =  "http://192.168.48.135:8000/login"
14         headers = {"Accept": "application/json"}
15         data = {
16             "username": "saltapi",
17             "password": "saltapi",
18             "eauth": "pam"
19         }
20         res = self.session.post(url=url, headers=headers, data=data)
21         text = res.text
22         result = json.loads(text)
23         token = result.get("return")[0].get("token")
24         return token
25 
26     def runModules(self, minionid, fun, arg=None):
27         url = "http://192.168.48.135:8000"
28         data = {
29             "client": "local",
30             "tgt": minionid,
31             "fun": fun,
32             "arg": arg
33         }
34         resultBean = dict()
35         try:
36             res = self.session.post(url=url,  data=data)
37             text = res.text
38             data = json.loads(text).get("return")
39             resultBean[code] = 0
40             resultBean[message] = "success"
41             resultBean[data] = data
42         except Exception as e:
43             resultBean[code] = 0
44             resultBean[message] = "success"
45             resultBean[data] = e
46         finally:
47             return resultBean
48 
49 
50     def runRunner(self, fun, **kwargs):
51         url = "http://192.168.48.135:8000"
52         data = {
53             "client": "runner",
54             "fun": fun,
55         }
56         data.update(kwargs)
57         resultBean = dict()
58         try:
59             res = self.session.post(url=url,  data=data)
60             text = res.text
61             data = json.loads(text).get("return")
62             resultBean[code] = 0
63             resultBean[message] = "success"
64             resultBean[data] = data
65         except Exception as e:
66             resultBean[code] = 0
67             resultBean[message] = "success"
68             resultBean[data] = e
69         finally:
70             return resultBean

 

 

  • 习题4:test.py
 1 from lesson31.util.saltapi import SaltServer
 2 
 3 saltServer = SaltServer()
 4 
 5 # result1 = saltServer.runModules(‘192.168.48.129‘, ‘cp.get_file‘, [‘salt://_shell/app/nginx.sh‘, ‘/usr/local/src/installnginx.sh‘])
 6 # print(result1)
 7 # result2 = saltServer.runModules(‘192.168.48.129‘, ‘installApp.nginx‘)
 8 # print(result2)
 9 # result2 = saltServer.runRunner(‘manage.status‘)
10 # print(result2)
11 #
12 result1 = saltServer.runRunner(masterApp.publicKey, ipaddr=192.168.48.133)
13 print(result1)

 

2018年7月7日笔记

原文:https://www.cnblogs.com/karl-python/p/9281422.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!