From bd2a3e61194f72ba2c58066835696de4de40d14d Mon Sep 17 00:00:00 2001 From: ibuler Date: Tue, 8 Dec 2015 11:32:27 +0800 Subject: [PATCH] bugfix --- connect.py | 4 ++-- jasset/asset_api.py | 3 +-- jasset/views.py | 4 ++-- static/files/excels/asset.xlsx | Bin 24181 -> 27168 bytes templates/nav.html | 2 +- 5 files changed, 6 insertions(+), 7 deletions(-) diff --git a/connect.py b/connect.py index b269eeb42..d0dc36796 100644 --- a/connect.py +++ b/connect.py @@ -22,11 +22,11 @@ os.environ['DJANGO_SETTINGS_MODULE'] = 'jumpserver.settings' if django.get_version() != '1.6': django.setup() from django.contrib.sessions.models import Session -from jumpserver.api import ServerError, User, Asset, PermRole, AssetGroup, get_object, mkdir, get_asset_info, get_role +from jumpserver.api import ServerError, User, Asset, PermRole, AssetGroup, get_object, mkdir, get_asset_info from jumpserver.api import logger, Log, TtyLog, get_role_key, CRYPTOR, bash, get_tmp_dir from jperm.perm_api import gen_resource, get_group_asset_perm, get_group_user_perm, user_have_perm, PermRole from jumpserver.settings import LOG_DIR -from jperm.ansible_api import Command, MyRunner +from jperm.ansible_api import MyRunner # from jlog.log_api import escapeString from jlog.models import ExecLog, FileLog diff --git a/jasset/asset_api.py b/jasset/asset_api.py index c3c966965..7edb391da 100644 --- a/jasset/asset_api.py +++ b/jasset/asset_api.py @@ -350,7 +350,6 @@ def get_ansible_asset_info(asset_ip, setup_info): # asset_type = setup_info.get("ansible_system") sn = setup_info.get("ansible_product_serial") asset_info = [other_ip, mac, cpu, memory_format, disk, sn, system_type, system_version, brand, system_arch] - print asset_info return asset_info @@ -358,6 +357,7 @@ def asset_ansible_update(obj_list, name=''): resource = gen_resource(obj_list) ansible_instance = MyRunner(resource) ansible_asset_info = ansible_instance.run(module_name='setup', pattern='*') + logger.debug('获取硬件信息: %s' % ansible_asset_info) for asset in obj_list: try: setup_info = ansible_asset_info['contacted'][asset.hostname]['ansible_facts'] @@ -365,7 +365,6 @@ def asset_ansible_update(obj_list, name=''): continue else: asset_info = get_ansible_asset_info(asset.ip, setup_info) - print asset other_ip, mac, cpu, memory, disk, sn, system_type, system_version, brand, system_arch = asset_info asset_dic = {"other_ip": other_ip, "mac": mac, diff --git a/jasset/views.py b/jasset/views.py index 9eaa8beef..0d9e07c82 100644 --- a/jasset/views.py +++ b/jasset/views.py @@ -167,7 +167,7 @@ def asset_add(request): @require_role('admin') def asset_add_batch(request): header_title, path1, path2 = u'添加资产', u'资产管理', u'批量添加' - return my_render('jasset/server_add_batch.html', locals(), request) + return my_render('jasset/asset_add_batch.html', locals(), request) @require_role('admin') @@ -561,4 +561,4 @@ def asset_upload(request): smg = u'批量添加成功' else: emg = u'批量添加失败,请检查格式.' - return my_render('jasset/server_add_batch.html', locals(), request) + return my_render('jasset/asset_add_batch.html', locals(), request) diff --git a/static/files/excels/asset.xlsx b/static/files/excels/asset.xlsx index 1b92db891d85cb5736e2ed99e166078360ea90d1..76ff02165cda49e1ec39975c3c90731c30e4b8d5 100644 GIT binary patch literal 27168 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 diff --git a/templates/nav.html b/templates/nav.html index cbe70db7c..90685c858 100644 --- a/templates/nav.html +++ b/templates/nav.html @@ -17,7 +17,7 @@ 资产管理