Beispiel #1
0
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
Beispiel #2
0
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
Beispiel #3
0
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
Beispiel #4
0
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
Beispiel #5
0
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)
Beispiel #6
0
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)
Beispiel #7
0
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()