Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
J
jumpserver
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ops
jumpserver
Commits
abdf9c72
Commit
abdf9c72
authored
9 years ago
by
ibuler
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #122 from jumpserver/bug_fix_80
fix (jasset): 修复连接超时,以及freebsd无法更新硬件信息
parents
3778724b
cdd31227
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
37 additions
and
20 deletions
+37
-20
asset_api.py
jasset/asset_api.py
+37
-20
No files found.
jasset/asset_api.py
View file @
abdf9c72
...
...
@@ -9,6 +9,8 @@ from jperm.ansible_api import MyRunner
from
jperm.perm_api
import
gen_resource
from
jumpserver.templatetags.mytags
import
get_disk_info
import
traceback
def
group_add_asset
(
group
,
asset_id
=
None
,
asset_ip
=
None
):
"""
...
...
@@ -332,9 +334,11 @@ def get_ansible_asset_info(asset_ip, setup_info):
# ip = setup_info.get("ansible_default_ipv4").get("address")
mac
=
setup_info
.
get
(
"ansible_default_ipv4"
)
.
get
(
"macaddress"
)
brand
=
setup_info
.
get
(
"ansible_product_name"
)
cpu_type
=
setup_info
.
get
(
"ansible_processor"
)[
1
]
cpu_cores
=
setup_info
.
get
(
"ansible_processor_vcpus"
)
cpu
=
cpu_type
+
' * '
+
unicode
(
cpu_cores
)
try
:
cpu_type
=
setup_info
.
get
(
"ansible_processor"
)[
1
]
except
IndexError
:
cpu_type
=
' '
.
join
(
setup_info
.
get
(
"ansible_processor"
)[
0
]
.
split
(
' '
)[:
6
])
memory
=
setup_info
.
get
(
"ansible_memtotal_mb"
)
try
:
memory_format
=
int
(
round
((
int
(
memory
)
/
1000
),
0
))
...
...
@@ -342,7 +346,13 @@ def get_ansible_asset_info(asset_ip, setup_info):
memory_format
=
memory
disk
=
disk_need
system_type
=
setup_info
.
get
(
"ansible_distribution"
)
system_version
=
setup_info
.
get
(
"ansible_distribution_version"
)
if
system_type
.
lower
()
==
"freebsd"
:
system_version
=
setup_info
.
get
(
"ansible_distribution_release"
)
cpu_cores
=
setup_info
.
get
(
"ansible_processor_count"
)
else
:
system_version
=
setup_info
.
get
(
"ansible_distribution_version"
)
cpu_cores
=
setup_info
.
get
(
"ansible_processor_vcpus"
)
cpu
=
cpu_type
+
' * '
+
unicode
(
cpu_cores
)
system_arch
=
setup_info
.
get
(
"ansible_architecture"
)
# asset_type = setup_info.get("ansible_system")
sn
=
setup_info
.
get
(
"ansible_product_serial"
)
...
...
@@ -358,24 +368,31 @@ def asset_ansible_update(obj_list, name=''):
for
asset
in
obj_list
:
try
:
setup_info
=
ansible_asset_info
[
'contacted'
][
asset
.
hostname
][
'ansible_facts'
]
except
KeyError
:
logger
.
debug
(
"setup_info:
%
s"
%
setup_info
)
except
KeyError
,
e
:
logger
.
error
(
"获取setup_info失败:
%
s"
%
e
)
continue
else
:
asset_info
=
get_ansible_asset_info
(
asset
.
ip
,
setup_info
)
other_ip
,
mac
,
cpu
,
memory
,
disk
,
sn
,
system_type
,
system_version
,
brand
,
system_arch
=
asset_info
asset_dic
=
{
"other_ip"
:
other_ip
,
"mac"
:
mac
,
"cpu"
:
cpu
,
"memory"
:
memory
,
"disk"
:
disk
,
"sn"
:
sn
,
"system_type"
:
system_type
,
"system_version"
:
system_version
,
"system_arch"
:
system_arch
,
"brand"
:
brand
}
ansible_record
(
asset
,
asset_dic
,
name
)
try
:
asset_info
=
get_ansible_asset_info
(
asset
.
ip
,
setup_info
)
print
asset_info
other_ip
,
mac
,
cpu
,
memory
,
disk
,
sn
,
system_type
,
system_version
,
brand
,
system_arch
=
asset_info
asset_dic
=
{
"other_ip"
:
other_ip
,
"mac"
:
mac
,
"cpu"
:
cpu
,
"memory"
:
memory
,
"disk"
:
disk
,
"sn"
:
sn
,
"system_type"
:
system_type
,
"system_version"
:
system_version
,
"system_arch"
:
system_arch
,
"brand"
:
brand
}
ansible_record
(
asset
,
asset_dic
,
name
)
except
Exception
as
e
:
logger
.
error
(
"save setup info failed!
%
s"
%
e
)
traceback
.
print_exc
()
def
asset_ansible_update_all
():
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment