migration-tools/0047-check-kernel-version-in-repository.patch
2024-11-06 13:39:40 +08:00

103 lines
3.9 KiB
Diff

From 0dfa49f9703103dd8f978d419555f5a4e8d72caf Mon Sep 17 00:00:00 2001
From: xuezhixin <xuezhixin@uniontech.com>
Date: Fri, 10 Nov 2023 15:01:48 +0800
Subject: [PATCH] =?UTF-8?q?=E6=A3=80=E6=B5=8B=E8=BD=AF=E4=BB=B6=E6=BA=90?=
=?UTF-8?q?=E4=B8=AD=E7=9A=84=E5=86=85=E6=A0=B8=E7=89=88=E6=9C=AC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
sysmig_agent/short_task.py | 79 ++++++++++++++++++++++++++++++++++++++
1 file changed, 79 insertions(+)
create mode 100644 sysmig_agent/short_task.py
diff --git a/sysmig_agent/short_task.py b/sysmig_agent/short_task.py
new file mode 100644
index 0000000..1e1a1c8
--- /dev/null
+++ b/sysmig_agent/short_task.py
@@ -0,0 +1,79 @@
+# SPDX-FileCopyrightText: 2023 UnionTech Software Technology Co., Ltd.
+# SPDX-License-Identifier: MulanPubL-2.0-or-later
+
+# import os
+# import platform
+# from share import list_to_json
+# import sys
+# import re
+# import subprocess
+# import json
+from sysmig_agent.share import *
+from flask import Flask, render_template, url_for, redirect, make_response, session, Response
+import urllib.request
+from sysmig_agent.agent_request import post_server
+
+sys.path.append("..")
+from connect_sql import DBHelper
+
+
+def os_kernel():
+ platformInfo = platform.platform()
+ systemKernelVersion = platformInfo.split('-', -1)
+ agent_kernel = systemKernelVersion[1]
+ return agent_kernel
+
+
+
+def os_repo_kernel():
+ version_list = []
+ os_version_ret = platform.dist()
+ version = os_version_ret[1].split('.', -1)
+ AGENT_OS = os_version_ret[0] + version[0]
+ try:
+ ret = os.popen("yum repolist all|awk '{print $1}'")
+ except:
+ ret = os.popen("yum repolist --all|awk '{print $1}'")
+ kernel_repo = kernel_repo_name = []
+ str_kernel = ''
+ for r in ret.readlines():
+ if not r:
+ continue
+ if 'UniontechOS' in r:
+ kernel_repo.append(r.strip('\n'))
+ if '8' == version[0]:
+ for i in range(len(kernel_repo)):
+ # cmd = 'yum repoquery --nvr kernel --enablerepo ' + kernel_repo[i]
+ cmd = 'yum repoquery --repo ' + kernel_repo[i] + ' kernel'
+ ret = str(subprocess.check_output(cmd, shell=True), 'utf-8')[:-1]
+ # except Exception:
+ ret = ret.split('\n', -1)
+ for i in range(len(ret)):
+ if re.match('kernel', ret[i]):
+ kernel_version = re.sub('kernel-.*:', '', ret[i])
+ kernel_version = re.sub('-.*$', '', kernel_version)
+ version_list.append(kernel_version.strip())
+ if not str_kernel:
+ str_kernel = kernel_version.strip()
+ else:
+ str_kernel = str_kernel + ',' + kernel_version.strip()
+ # print(version_list)
+ elif '7' == version[0]:
+ for i in range(len(kernel_repo)):
+ cmd = 'yum list --enablerepo {} kernel'.format(kernel_repo[i])
+ if '3.10.0' in kernel_repo[i]:
+ cmd = 'yum list --enablerepo {} --disablerepo UniontechOS-AppStream kernel'.format(kernel_repo[i])
+ ret = str(subprocess.check_output(cmd, shell=True), 'utf-8')[:-1]
+ ret = ret.split('\n', -1)
+ for n in range(len(ret)):
+ if 'uelc' in ret[n]:
+ # kernel_version = re.sub('kernel-.* ', '', ret[n])
+ kernel_version = re.sub('-.*$', '', ret[n])
+ kernel_version = kernel_version.split(' ',-1)
+ kernel_version = kernel_version[len(kernel_version)-1]
+ version_list.append(kernel_version.strip())
+ if not str_kernel:
+ str_kernel = kernel_version.strip()
+ else:
+ str_kernel = str_kernel + ',' + kernel_version.strip()
+ return str_kernel
--
2.20.1