wslhs 发表于 2018-8-1 10:07:15

关于saltstack自动化平台的小总结

class CheckMid(object):  
      def __init__(self):
  
                self.db = MySQL()
  
                self.tbname = 't_ip_mid_map'
  
                self.local = salt.client.LocalClient()
  

  
      def check_mid(self):
  
                for data in self.local.cmd_iter('*','grains.get',['ipv4']):
  
                        for key in data:
  
                              if data.has_key('ret'):
  
                                        iplist = data['ret']
  
                                        if '127.0.0.1' in iplist:
  
                                                iplist.remove('127.0.0.1')
  
                                        iplist.sort()
  
                                        ips = ','.join(iplist)
  
                                        self.insert_mid(key,ips)
  

  
      def insert_mid(self,mid,ips):
  
                try:
  
                        task_num = self.db.query("select * from %s where mid = '%s'" % (self.tbname,mid))
  
                except Exception,e:
  
                        LOG.error_log(e)
  
                if not task_num:
  
                        try:
  
                              self.db.insert(self.tbname,{'mid':mid,'ip':ips})
  
                        except Exception,e:
  
                              LOG.error_log(e)
页: [1]
查看完整版本: 关于saltstack自动化平台的小总结