zoukankan      html  css  js  c++  java
  • 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)
  • 相关阅读:
    [RxSwift]4.4、Operator
    [RxSwift]4.3.6、ControlProperty
    [RxSwift]4.3.5、Variable (已弃用)
    [RxSwift]4.3.0、Observable & Observer 既是可监听序列也是观察者
    [RxSwift]4.2.2、Binder
    [RxSwift]4.2.1、AnyObserver
    Java重温学习笔记,Java8新特性:接口的默认方法
    Tomcat下,MySQL连接池的配置和使用(Tomcat9,MySQL5.5)
    MyEclipse2020配置JDK1.8及Tomcat9
    Java重温学习笔记,Java7新特性
  • 原文地址:https://www.cnblogs.com/karl-python/p/9281422.html
Copyright © 2011-2022 走看看