def host_grains(tgt): ''' Salt API得到grains信息,进行格式化输出 ''' sapi = SaltAPI(url=settings.SALT_API['url'],username=settings.SALT_API['user'],password=settings.SALT_API['password']) ret = sapi.remote_noarg_execution(tgt,'grains.items') return ret
def host_grains(tgt): ''' Salt API得到grains信息,进行格式化输出 ''' sapi = SaltAPI(url=settings.SALT_API['url'], username=settings.SALT_API['user'], password=settings.SALT_API['password']) ret = sapi.remote_noarg_execution(tgt, 'grains.items') return ret
def autoget_host_info(tgt): ''' Salt API得到资产信息,进行格式化输出 ''' global host_info info = {} grains_ret = False #ver_info = [] sapi = SaltAPI(url=settings.SALT_API['url'], username=settings.SALT_API['user'], password=settings.SALT_API['password']) try: ret = sapi.remote_noarg_execution(tgt, 'test.ping') except Exception as e: ret = False if ret: try: grains_ret = sapi.remote_noarg_execution(tgt, 'grains.items') except Exception as e: grains_ret = False if grains_ret: info['ip'] = grains_ret['ip'].split('/')[0] info['version'] = grains_ret['saltversioninfo'] info['cpu_model'] = grains_ret['cpu_model'] info['mem'] = grains_ret['mem_total'] info['os_ver'] = grains_ret['os'] + '_' + grains_ret[ 'osrelease'] + '_' + grains_ret['osarch'] info['manufacturer'] = grains_ret['manufacturer'] info['productname'] = grains_ret['productname'] else: info['ip'] = '' info['version'] = '' info['cpu_model'] = '' info['mem'] = '' info['os_ver'] = '' info['manufacturer'] = '' info['productname'] = '' info['hostname'] = tgt info['status'] = ret host_info[info['hostname']] = info
def autoget_host_info(tgt): ''' Salt API得到资产信息,进行格式化输出 ''' global host_info info = {} grains_ret = False #ver_info = [] sapi = SaltAPI(url=settings.SALT_API['url'],username=settings.SALT_API['user'],password=settings.SALT_API['password']) try: ret = sapi.remote_noarg_execution(tgt,'test.ping') except Exception as e: ret = False if ret: try: grains_ret = sapi.remote_noarg_execution(tgt,'grains.items') except Exception as e: grains_ret = False if grains_ret: info['ip'] = grains_ret['ip'].split('/')[0] info['version'] = grains_ret['saltversioninfo'] info['cpu_model'] = grains_ret['cpu_model'] info['mem'] = grains_ret['mem_total'] info['os_ver'] = grains_ret['os']+'_'+grains_ret['osrelease']+'_'+grains_ret['osarch'] info['manufacturer'] = grains_ret['manufacturer'] info['productname'] = grains_ret['productname'] else: info['ip'] = '' info['version'] = '' info['cpu_model'] = '' info['mem'] = '' info['os_ver'] = '' info['manufacturer'] = '' info['productname'] = '' info['hostname'] = tgt info['status'] = ret host_info[info['hostname']] = info
def get_server_asset_info(tgt): ''' Salt API得到资产信息,进行格式化输出 ''' global asset_info info = [] sapi = SaltAPI(url=settings.SALT_API['url'], username=settings.SALT_API['user'], password=settings.SALT_API['password']) ret = sapi.remote_noarg_execution(tgt, 'grains.items') manufacturer = ret['manufacturer'] info.append(manufacturer) productname = ret['productname'] info.append(productname) serialnumber = ret['serialnumber'] info.append(serialnumber) cpu_model = ret['cpu_model'] info.append(cpu_model) num_cpus = int(ret['num_cpus']) info.append(num_cpus) num_gpus = int(ret['num_gpus']) info.append(num_gpus) mem_total = str(round(int(ret['mem_total']) / 1024.0, ))[:-2] + 'G' info.append(mem_total) #disk_size = ret['disk_size'] disk_size = 10 info.append(disk_size) #raidlevel = ret['raidlevel'] raidlevel = 5 info.append(raidlevel) id = ret['id'] info.append(id) #lan_ip = ret['lan_ip'][0] lan_ip = ret['fqdn_ip4'] info.append(lan_ip) #lan_mac = ret['hwaddr_interfaces'][0] lan_mac = 'mac' info.append(lan_mac) sys_ver = ret['os'] + ret['osrelease'] + '-' + ret['osarch'] info.append(sys_ver) virtual = ret['virtual'] info.append(virtual) #idc_name = ret['idc_name'] idc_name = 'testidc' info.append(idc_name) asset_info.append(info)
def get_server_asset_info(tgt): ''' Salt API得到资产信息,进行格式化输出 ''' global asset_info info = [] sapi = SaltAPI(url=settings.SALT_API['url'],username=settings.SALT_API['user'],password=settings.SALT_API['password']) ret = sapi.remote_noarg_execution(tgt,'grains.items') manufacturer = ret['manufacturer'] info.append(manufacturer) productname = ret['productname'] info.append(productname) serialnumber = ret['serialnumber'] info.append(serialnumber) cpu_model = ret['cpu_model'] info.append(cpu_model) num_cpus = int(ret['num_cpus']) info.append(num_cpus) num_gpus = int(ret['num_gpus']) info.append(num_gpus) mem_total = str(round(int(ret['mem_total'])/1024.0,))[:-2] + 'G' info.append(mem_total) #disk_size = ret['disk_size'] disk_size = 10 info.append(disk_size) #raidlevel = ret['raidlevel'] raidlevel = 5 info.append(raidlevel) id = ret['id'] info.append(id) #lan_ip = ret['lan_ip'][0] lan_ip = ret['fqdn_ip4'] info.append(lan_ip) #lan_mac = ret['hwaddr_interfaces'][0] lan_mac = 'mac' info.append(lan_mac) sys_ver = ret['os'] + ret['osrelease'] + '-' + ret['osarch'] info.append(sys_ver) virtual = ret['virtual'] info.append(virtual) #idc_name = ret['idc_name'] idc_name = 'testidc' info.append(idc_name) asset_info.append(info)
import salt.utils.event from lion import settings # Import third party libs import MySQLdb from deploy.saltapi import SaltAPI # Create MySQL connect conn = MySQLdb.connect(host="localhost", user="******", passwd="chenpiao", db="salt") cursor = conn.cursor() sapi = SaltAPI(url=settings.SALT_API['url'],username=settings.SALT_API['user'],password=settings.SALT_API['password']) node_name = [] cpu_mode = [] items = sapi.remote_noarg_execution('Django','grains.items') CPU = items.get('cpu_model','none') HOSTNAME = items.get('host','none') MAC = items.get('hwaddr_interfaces','none').get('eth0','none') IP = items.get('ip4_interfaces','none').get('eth0','none')[0] OS = items.get('osfullname','none') + '_' + items.get('osrelease','none') + '_' + items.get('osarch','none') MEM = items.get('mem_total','none') sql = "insert ignore into info(host,ip_addr,cpu_mode,mem_total,os,mac) values(%s,%s,%s,%s,%s,%s)" param = (HOSTNAME,IP,CPU,MEM,OS,MAC) n = cursor.execute(sql,param) print 'insert',n conn.commit()