当前位置: 首页 > news >正文

2018年7月7日笔记

  • 习题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)

 

转载于:https://www.cnblogs.com/karl-python/p/9281422.html

相关文章:

  • ffmpeg用法(心得体会还有你见过的用法)
  • Spring Cloud Spring Boot mybatis分布式微服务云架构 返回JSON格式
  • 常用命令参考
  • HongCMS 审计学习
  • Mastering KVM Virtualization:第二章 KVM内部原理
  • .bat文件调用java类的main方法
  • docify文档服务器搭建
  • Shell中重定向lt;lt;EOF注意事项
  • C#笔记
  • 第三章 图像的几何变换
  • asp.net给文件分配自己主动编号,如【20140710-1】
  • Python入门经典 以解决计算问题为导向的Python编程 待完好
  • Linuxshell编程
  • 华硕笔记本BIOS设置详解
  • Apache Kafka源码剖析:第7篇 日志存储系列2-FileMessageSet
  • angular2 简述
  • ES6 ...操作符
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • Js基础知识(一) - 变量
  • ng6--错误信息小结(持续更新)
  • python docx文档转html页面
  • Python进阶细节
  • underscore源码剖析之整体架构
  • 分享一份非常强势的Android面试题
  • 机器学习中为什么要做归一化normalization
  • 简单易用的leetcode开发测试工具(npm)
  • 来,膜拜下android roadmap,强大的执行力
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 我的业余项目总结
  • 我建了一个叫Hello World的项目
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 阿里云服务器购买完整流程
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • ​一些不规范的GTID使用场景
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • ${ }的特别功能
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (solr系列:一)使用tomcat部署solr服务
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (二)斐波那契Fabonacci函数
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (区间dp) (经典例题) 石子合并
  • (三)docker:Dockerfile构建容器运行jar包
  • (四)JPA - JQPL 实现增删改查
  • (算法)求1到1亿间的质数或素数
  • (一)基于IDEA的JAVA基础12
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • *** 2003
  • .NET Conf 2023 回顾 – 庆祝社区、创新和 .NET 8 的发布
  • .Net MVC4 上传大文件,并保存表单
  • .NET构架之我见
  • .Net转前端开发-启航篇,如何定制博客园主题
  • @Not - Empty-Null-Blank