71 lines
2.2 KiB
Diff
71 lines
2.2 KiB
Diff
From 485dcd1449e2843bdfbb5f8f0d5fb98cafe03e6c Mon Sep 17 00:00:00 2001
|
|
From: rabbitali <wenxin32@foxmail.com>
|
|
Date: Wed, 28 Aug 2024 14:14:42 +0800
|
|
Subject: [PATCH 1/1] update query host info command
|
|
|
|
---
|
|
ceres/manages/collect_manage.py | 27 +++++++++++++++++++++++++++
|
|
1 file changed, 27 insertions(+)
|
|
|
|
diff --git a/ceres/manages/collect_manage.py b/ceres/manages/collect_manage.py
|
|
index b2ba350..0901e4f 100644
|
|
--- a/ceres/manages/collect_manage.py
|
|
+++ b/ceres/manages/collect_manage.py
|
|
@@ -12,6 +12,7 @@
|
|
# ******************************************************************************/
|
|
import grp
|
|
import os
|
|
+import platform
|
|
import pwd
|
|
import re
|
|
from socket import AF_INET, SOCK_DGRAM, socket
|
|
@@ -54,6 +55,8 @@ class Collect:
|
|
'os_version': os_version,
|
|
'bios_version': bios_version,
|
|
'kernel': kernel_version
|
|
+ 'os_name': os_name,
|
|
+ "os_arch": arch_info
|
|
},
|
|
"cpu": {
|
|
"architecture": string,
|
|
@@ -126,12 +129,36 @@ class Collect:
|
|
kernel_info = re.search(r'[\d\.]+-[\d\.]+[\d]', self.get_current_kernel_version())
|
|
|
|
res = {
|
|
+ 'os_arch': platform.machine(),
|
|
+ 'os_name': self.get_os_name(),
|
|
'os_version': self.get_os_version(),
|
|
'bios_version': self.__get_bios_version(),
|
|
'kernel': kernel_info.group() if kernel_info else "",
|
|
}
|
|
return res
|
|
|
|
+ @staticmethod
|
|
+ def get_os_name() -> str:
|
|
+ """
|
|
+ get os name
|
|
+
|
|
+ Returns:
|
|
+ str
|
|
+ """
|
|
+ os_release_path = "/etc/os-release"
|
|
+ name_value = None
|
|
+
|
|
+ try:
|
|
+ with open(os_release_path, "r") as file:
|
|
+ for line in file:
|
|
+ if line.startswith("NAME="):
|
|
+ name_value = line.strip().split("=")[1].strip('"')
|
|
+ break
|
|
+ except OSError as error:
|
|
+ LOGGER.error(f"Error reading {os_release_path}: {error}")
|
|
+
|
|
+ return name_value
|
|
+
|
|
@staticmethod
|
|
def __get_bios_version() -> str:
|
|
"""
|
|
--
|
|
2.33.0
|
|
|