Exemplo n.º 1
0
def assets_info(request, ID):
    salt_api = SaltApi(SALTAPI_URL, SALTAPI_USER, SALTAPI_PASSWORD)
    salt_api.login()
    the_asset = Assets.objects.get(id=ID)
    ip = the_asset.lan_ip
    res = eval(salt_api.fun(ip, 'grains.items'))['return'][0][ip]
    the_asset.hostname = res['host']
    the_asset.mac = res['hwaddr_interfaces']['eth0']
    the_asset.cpu_model = res['cpu_model']
    the_asset.cpu_num = res['num_cpus']
    the_asset.memory = sizeformat(res['mem_total'], unit='MB')
    the_asset.system_type = res['os']
    the_asset.system_version = '.'.join(map(str, res['osrelease_info'])) if type(res['osrelease_info']) == list else str(
            res['osrelease_info'])
    the_asset.system_arch = res['osarch']
    the_asset.kernel = res['kernel']
    the_asset.kernel_version = res['kernelrelease']
    res = eval(salt_api.fun(ip, 'disk.usage'))['return'][0][ip]
    disk_status = 'Disk Usage:</br>'
    for key1 in res.keys():
        disk_status += key1 + ':</br>'
        for key2 in res[key1]:
            if key2 in ['available', 'used', ]:
                disk_status += '%s -- %s</br>' % (key2, sizeformat(res[key1][key2], unit='KB'))
            elif key2 in ['filesystem']:
                disk_status += '%s -- %s</br>' % (key2, res[key1][key2])
    the_asset.desc = disk_status
    the_asset.save()
    salt_api.logout()
    hosts = Assets.objects.all()
    return render_to_response('assets/assets.html', locals(), RequestContext(request))