aops-ceres/0007-update-query-host-info-command.patch
2024-09-06 17:31:37 +08:00

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