From 86d5abffaf64696f28917970c6cd9b437061536a Mon Sep 17 00:00:00 2001
From: jerry-553 <1007388420@qq.com>
Date: Fri, 26 Apr 2024 11:00:39 +0800
Subject: [PATCH 1/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BE=9B=E5=AE=A2?=
=?UTF-8?q?=E6=88=B7=E9=80=89=E6=8B=A9=E7=9A=84=E6=A8=A1=E5=9D=97=E4=B8=8B?=
=?UTF-8?q?=E8=BD=BD=E4=B8=8E=E5=AE=89=E8=A3=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...64\346\230\216\346\226\207\346\241\243.md" | 93 ++++++++-----------
tools/install_dependency/config/machine.yaml | 8 +-
tools/install_dependency/src/constant.py | 12 ++-
.../src/handler/base_yaml_check.py | 3 +-
4 files changed, 56 insertions(+), 60 deletions(-)
diff --git "a/document/\346\211\271\351\207\217\351\203\250\347\275\262\345\267\245\345\205\267/\346\211\271\351\207\217\351\203\250\347\275\262\345\267\245\345\205\267\345\222\214\344\270\200\351\224\256\344\270\213\350\275\275\345\267\245\345\205\267\350\257\264\346\230\216\346\226\207\346\241\243.md" "b/document/\346\211\271\351\207\217\351\203\250\347\275\262\345\267\245\345\205\267/\346\211\271\351\207\217\351\203\250\347\275\262\345\267\245\345\205\267\345\222\214\344\270\200\351\224\256\344\270\213\350\275\275\345\267\245\345\205\267\350\257\264\346\230\216\346\226\207\346\241\243.md"
index 61afc23..3c86bee 100644
--- "a/document/\346\211\271\351\207\217\351\203\250\347\275\262\345\267\245\345\205\267/\346\211\271\351\207\217\351\203\250\347\275\262\345\267\245\345\205\267\345\222\214\344\270\200\351\224\256\344\270\213\350\275\275\345\267\245\345\205\267\350\257\264\346\230\216\346\226\207\346\241\243.md"
+++ "b/document/\346\211\271\351\207\217\351\203\250\347\275\262\345\267\245\345\205\267/\346\211\271\351\207\217\351\203\250\347\275\262\345\267\245\345\205\267\345\222\214\344\270\200\351\224\256\344\270\213\350\275\275\345\267\245\345\205\267\350\257\264\346\230\216\346\226\207\346\241\243.md"
@@ -4,21 +4,15 @@

-
-
其中 **`deploy_tool`** 为批量部署工具,**`download_tool`** 为一键下载工具。**`machine.yaml`**文件为两个工具倚赖的配置文件,具体填写内容说明见下文。在无网络环境下一键下载工具为部署工具提供所需组件包下载能力,windows版本下载工具支持在windows机器上下载组件包(注:windows版本下载工具在release文件列表内的名称为**`download_tool-for-windows.exe`**)。
-
-
> [**最新版下载链接**](https://gitee.com/openeuler/devkit-pipeline/releases/tag/v1.0)
> 注:配置流水线时,流水线使用哪个用户来执行,就需要使用该用户来执行一键部署工具。
-
-
## machine.yaml 配置文件
-源码仓提供该配置文件模板为
+源码仓提供该配置文件模板:(根据需求选择java_builder_jdk8或者java_builder_jdk17,以及如果只需要用gccforopeneuler 请用c_cpp_builder_gcc,如果只需要用毕昇编译器请用c_cpp_builder_bisheng_compiler, 如果两个都要用请用c_cpp_builder)
```yaml
user: root
@@ -27,10 +21,16 @@ scanner:
- 192.168.0.1
- 192.168.0.2
- 192.168.0.3
-java_builder:
+java_builder_jdk8:
+ - 192.168.0.1
+java_builder_jdk17:
- 192.168.0.1
c_cpp_builder:
- 192.168.0.1
+c_cpp_builder_gcc:
+ - 192.168.0.1
+c_cpp_builder_bisheng_compiler:
+ - 192.168.0.1
executor:
- 192.168.0.1
devkit:
@@ -39,22 +39,22 @@ devkit:
其中,**`user`** 需填写本结点至其他结点配置免密的用户名,**`pkey`** 为配置免密所用公钥对应的私钥路径。
-**`scanner`**,**`java_builder`**,**`c_cpp_builder`**, **`executor`**,**`devkit`** 分别对应用户的扫描机,Java构建机,C/CPP构建机,执行机,devkit部署机器 ,需以yaml列表的形式输入各角色机器对应的ip。
+**`scanner`**,**`(java_builder_jdk8, java_builder_jdk17)`**,**`(c_cpp_builder, c_cpp_builder_gcc, c_cpp_builder_bisheng_compiler)`**, **`executor`**,**`devkit`** 分别对应用户的扫描机,Java构建机,C/CPP构建机,执行机,devkit部署机器 ,需以yaml列表的形式输入各角色机器对应的ip。
- 生成公私钥对的命令为:
> ```shell
> ssh-keygen [-b bits] [-t rsa] [-f output_keyfile]
> ```
->
+>
> 推荐使用rsa协议生成公私钥对,如下即为在当前路径下生成rsa公私钥对的命令:
->
+>
> ```shell
> ssh-keygen -t rsa
> ```
->
+>
> 在命令行输入上述命令后,命令回显会提示用户输入生成公私钥对所用密码,此处建议用户不输入密码,直接确认。
->
+>
> 若输入密码,则后续批量部署工具在运行时需要用户手动输入密码,或在machine.yaml配置文件中新增一行password参数并填入公私钥对所用密码。
- 配置本结点至其他结点免密的命令为:
@@ -62,35 +62,31 @@ devkit:
> ```shell
> ssh-copy-id -i id_rsa.pub USER@REMOTE_HOST
> ```
->
+>
> USER 替换为远程服务器的用户名,REMOTE_HOST 替换为远程服务器的ip地址。ssh-copy-id命令使用 -i 选项指定用于配置免密的公钥路径。执行完该命令后,会提示输入远程服务器的密码。
->
+>
> 输入远程服务器的密码后,公钥就会被复制到远程服务器的 authorized_keys 文件中,这样就可以实现无密码登录远程服务器的功能。
->
+>
> **若上述ip中出现本机ip,或想要本机到本机的安装部署,则需要配置一遍本机到本机的免密登录。**
- 部署执行LkpTests的executor执行机上的普通用户需要配置sudo权限与sudo免密
> 执行 visudo 命令,或编辑修改 /etc/sudoers 文件:
->
+>
> 普通用户`USER`配置sudo权限,需在 /etc/sudoers 文件中对比 `root ALL=(ALL) ALL` 新增一行
->
+>
> ```txt
> root ALL=(ALL) ALL
> USER ALL=(ALL) ALL
> ```
->
+>
> 普通用户`USER`配置sudo免密,需在 /etc/sudoers 文件中对比 `# %wheel ALL=(ALL) NOPASSWD: ALL` 新增一行
->
+>
> ```txt
> # %wheel ALL=(ALL) NOPASSWD: ALL
> USER ALL=(ALL) NOPASSWD: ALL
> ```
-
-
-
-
## deploy_tool 批量部署工具
在命令行进入工具所在的文件夹路径,输入如下命令,可以查看该工具的使用提示。
@@ -98,6 +94,7 @@ devkit:
```shell
./deploy_tool -h
```
+

除 **`-h`** 使用提示参数外,**`deploy_tool`** 批量部署工具还提供 **`-f`**,**`-iso`** ,**`--debug`** 三个参数。
@@ -120,21 +117,20 @@ devkit:
> **注意:使用部署工具,需要提前在目标节点安装 tar 命令用于安装组件。**
-
-
#### 批量部署工具支持按角色批量部署组件,并支持根据iso镜像文件挂载本地镜像。
**按角色下载和部署对应组件:**
-| 角色 | 对应组件 |
-|---------------| ------------------------------------------------------------ |
-| scanner | BiShengJDK17, DevKitCLI |
-| java_builder | BiShengJDK17, BiShengJDK8 |
-| c_cpp_builder | GCCforOpenEuler, BiShengCompiler, BiShengJDK17, A-FOT, NonInvasiveSwitching |
-| executor | BiShengJDK17, LkpTests |
-| devkit | DevKitWeb |
-
-
+| 角色 | 对应组件 |
+| ------------------------------ | --------------------------------------------------------------------------- |
+| scanner | BiShengJDK17, DevKitCLI |
+| java_builder_jdk8 | BiShengJDK17, BiShengJDK8 |
+| java_builder_jdk17 | BiShengJDK17 |
+| c_cpp_builder | GCCforOpenEuler, BiShengCompiler, BiShengJDK17, A-FOT, NonInvasiveSwitching |
+| c_cpp_builder_gcc | GCCforOpenEuler, BiShengJDK17, A-FOT, |
+| c_cpp_builder_bisheng_compiler | BiShengCompiler, BiShengJDK17, NonInvasiveSwitching |
+| executor | BiShengJDK17, LkpTests |
+| devkit | DevKitWeb |
各工具下载版本多为2024年2月各工具官网提供的最新版,可查看本项目源代码`tools/download_dependency/src/download_config.py` 文件查看具体下载链接。
@@ -142,8 +138,6 @@ devkit:
部署安装过程中会使用目标结点机器的 **`/tmp`** 目录作为临时文件所在目录,部署完成后将会删除 **`/tmp`** 目录下的临时文件。若目标结点机器 **`/tmp`** 目录磁盘空间不足,则会导致安装失败。若使用挂载本地镜像方式安装,则安装完依赖后,本地镜像源将被取消挂载并恢复原来的镜像源配置。
-
-
## download_tool 一键下载工具
当批量部署工具所在结点网络不通时,可以使用 **`download_tool`** 一键下载工具在有网络环境的机器上先行将所需的组件安装包及校验文件下载下来并打包成 **`devkitdependencies.tar.gz`** 文件,供用户上传至批量部署工具所在结点,供批量部署工具在默认路径加载使用。
@@ -162,33 +156,27 @@ devkit:
直接执行该命令即可按`machine.yaml`配置文件中有效角色下载 **GCCforOpenEuler**,**BiShengCompiler**,**BiShengJDK8**,**BiShengJDK17**,**lkp-tests**,**DevKitWeb**,**DevKitCLI** 组件。
-
-
> 在有网络环境的linux服务器上,一键下载工具所在路径,执行如下命令,可以查看该工具的使用提示。
->
+>
> ```shell
> ./download_tool -h
> ```
->
+>
> 除 **`-h`** 使用提示参数外,**`download`** 批量下载工具还提供 **`-iso`** 参数。
->
+>
> - 使用 -iso 参数,指定下载iso版本,输入“auto”将自动检测操作系统版本,并自动下载对应的版本iso文件。
->
##### 使用下载工具常用的命令为:
> ```shell
> ./download_tool
> ```
->
+>
> 若要使用下载工具下载本地镜像,则可使用以下命令进行下载。(不常用)
->
+>
> ```shell
> ./download_tool -iso auto
> ```
->
-
-
#### 一键下载工具windows版本
@@ -202,22 +190,17 @@ devkit:

-
-
##### 使用下载工具常用的命令为:
> ```shell
> ./download_tool
> ```
->
+>
> 若要使用下载工具下载本地镜像,则可使用以下命令进行下载。(不常用)
->
+>
> ```shell
> ./download_tool -iso openEuler_2203_LTS
> ```
->
-
-
## 部署结果
diff --git a/tools/install_dependency/config/machine.yaml b/tools/install_dependency/config/machine.yaml
index 709cc95..15e19ad 100644
--- a/tools/install_dependency/config/machine.yaml
+++ b/tools/install_dependency/config/machine.yaml
@@ -4,10 +4,16 @@ scanner:
- 192.168.0.1
- 192.168.0.2
- 192.168.0.3
-java_builder:
+java_builder_jdk8:
+ - 192.168.0.1
+java_builder_jdk17:
- 192.168.0.1
c_cpp_builder:
- 192.168.0.2
+c_cpp_builder_gcc:
+ - 192.168.0.2
+c_cpp_builder_bisheng_compiler:
+ - 192.168.0.2
executor:
- 192.168.0.1
devkit:
diff --git a/tools/install_dependency/src/constant.py b/tools/install_dependency/src/constant.py
index 4e2dc66..3952621 100644
--- a/tools/install_dependency/src/constant.py
+++ b/tools/install_dependency/src/constant.py
@@ -2,8 +2,11 @@ USER = "user"
PKEY = "pkey"
PASSWORD = "password"
SCANNER = "scanner"
-JAVA_BUILDER = "java_builder"
+JAVA_BUILDER_JDK8 = "java_builder_jdk8"
+JAVA_BUILDER_JDK17 = "java_builder_jdk17"
C_BUIDLER = "c_cpp_builder"
+C_BUIDLER_GCC = "c_cpp_builder_gcc"
+C_BUIDLER_BISHENG_COMPILER = "c_cpp_builder_bisheng_compiler"
EXECUTOR = "executor"
DEVKIT = "devkit"
MACHINE = "machine"
@@ -15,12 +18,15 @@ INSTRUCTION = "instruction"
ROLE_COMPONENT = {
SCANNER: ["BiShengJDK17", "DevKitCLI"],
C_BUIDLER: ["GCCforOpenEuler", "BiShengCompiler", "BiShengJDK17", "A-FOT", "NonInvasiveSwitching"],
- JAVA_BUILDER: ["BiShengJDK17", "BiShengJDK8"],
+ C_BUIDLER_GCC: ["GCCforOpenEuler", "BiShengJDK17", "A-FOT"],
+ C_BUIDLER_BISHENG_COMPILER: ["BiShengCompiler", "BiShengJDK17", "NonInvasiveSwitching"],
+ JAVA_BUILDER_JDK8: ["BiShengJDK8", "BiShengJDK17"],
+ JAVA_BUILDER_JDK17: ["BiShengJDK17"],
EXECUTOR: ["BiShengJDK17", "LkpTests", "CompatibilityTesting", "DevkitDistribute"],
DEVKIT: ["DevKitWeb"]
}
-ROLE_LIST = [SCANNER, C_BUIDLER, JAVA_BUILDER, EXECUTOR, DEVKIT]
+ROLE_LIST = [SCANNER, C_BUIDLER, C_BUIDLER_GCC, C_BUIDLER_BISHENG_COMPILER, JAVA_BUILDER_JDK8, JAVA_BUILDER_JDK17, EXECUTOR, DEVKIT]
FILE = "file"
SHA256 = "sha256"
diff --git a/tools/install_dependency/src/handler/base_yaml_check.py b/tools/install_dependency/src/handler/base_yaml_check.py
index 1f9d387..ce0a96d 100644
--- a/tools/install_dependency/src/handler/base_yaml_check.py
+++ b/tools/install_dependency/src/handler/base_yaml_check.py
@@ -8,7 +8,8 @@ from constant import ROLE_LIST
LOGGER = logging.getLogger("install_dependency")
MIN_SET = (constant.USER, constant.PKEY, constant.INSTRUCTION)
MAX_SET = (constant.USER, constant.PKEY, constant.PASSWORD,
- constant.SCANNER, constant.JAVA_BUILDER, constant.C_BUIDLER, constant.EXECUTOR,
+ constant.SCANNER, constant.JAVA_BUILDER_JDK8, constant.JAVA_BUILDER_JDK17,
+ constant.C_BUIDLER, constant.C_BUIDLER_GCC, constant.C_BUIDLER_Bisheng_COMPILER, constant.EXECUTOR,
constant.DEVKIT, constant.INSTRUCTION)
--
Gitee
From 3b132adc055e14643c8aa5026dc4aa0041eb4690 Mon Sep 17 00:00:00 2001
From: jerry-553 <1007388420@qq.com>
Date: Mon, 6 May 2024 09:35:05 +0800
Subject: [PATCH 2/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0lkp=20test=E5=9C=A8?=
=?UTF-8?q?=E5=AE=89=E8=A3=85=E7=9A=84=E6=97=B6=E5=80=99=E4=BB=A5sudo?=
=?UTF-8?q?=E6=9D=83=E9=99=90=E5=AE=89=E8=A3=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
component/LkpTests/install.sh | 1 +
tools/install_dependency/src/deploy/deploy_base.py | 12 +++++++++---
.../install_dependency/src/deploy/lkptest_deploy.py | 1 +
.../src/handler/base_yaml_check.py | 2 +-
4 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/component/LkpTests/install.sh b/component/LkpTests/install.sh
index d20c6b2..15fd2ef 100644
--- a/component/LkpTests/install.sh
+++ b/component/LkpTests/install.sh
@@ -13,6 +13,7 @@ concurrent-ruby-1.1.10.gem ci_reporter-2.0.0.gem bundler-2.2.33.gem builder-3.2.
function main() {
lkp_tar=/tmp/devkitdependencies/lkp-tests.tar.gz
gem_zip=/tmp/devkitdependencies/gem_dependencies.zip
+ rm -rf "${HOME}"/.local/lkp-tests/
if [[ ! -d /usr/share/gems/gems/gem_dependencies ]]; then
unzip -d /usr/share/gems/gems ${gem_zip}
fi
diff --git a/tools/install_dependency/src/deploy/deploy_base.py b/tools/install_dependency/src/deploy/deploy_base.py
index 248d13e..bfbfeba 100644
--- a/tools/install_dependency/src/deploy/deploy_base.py
+++ b/tools/install_dependency/src/deploy/deploy_base.py
@@ -26,9 +26,9 @@ class DeployBase:
self.install_param = False
self.password = password
self.deploy_helper = DeployHelp(ip, user, pkey, password, self.LOGGER)
- # todo 把这个用的时候在创建
self.sftp_client = None
self.ssh_client = None
+ self.sudo = False
self.remote_file_list = []
# 去掉这个,每个component直接以compoent去调用
@@ -84,9 +84,15 @@ class DeployBase:
sh_file_local_path = os.path.join(base_path("component"), self.component, shell_file)
sh_file_remote_path = os.path.join("/tmp/", constant.DEPENDENCY_DIR, self.component + shell_file)
if self.install_param:
- sh_cmd = f"bash {sh_file_remote_path} {sh_file_remote_path}"
+ if self.sudo:
+ sh_cmd = f"sudo bash {sh_file_remote_path} {sh_file_remote_path}"
+ else:
+ sh_cmd = f"bash {sh_file_remote_path} {sh_file_remote_path}"
else:
- sh_cmd = f"bash {sh_file_remote_path}"
+ if self.sudo:
+ sh_cmd = f"sudo bash {sh_file_remote_path}"
+ else:
+ sh_cmd = f"bash {sh_file_remote_path}"
execute_output = (
self.transport_shell_file_and_execute(
sh_file_local_path=sh_file_local_path,
diff --git a/tools/install_dependency/src/deploy/lkptest_deploy.py b/tools/install_dependency/src/deploy/lkptest_deploy.py
index 9cc9716..955fd3b 100644
--- a/tools/install_dependency/src/deploy/lkptest_deploy.py
+++ b/tools/install_dependency/src/deploy/lkptest_deploy.py
@@ -8,6 +8,7 @@ class LkpTestDeploy(DeployBase):
ip, user, pkey, password):
super(LkpTestDeploy, self).__init__(component,
ip, user, pkey, password, hook_before_upload_fn=self.hook_before_upload_fn, hook_after_install_fn=None)
+ self.sudo = True
def hook_before_upload_fn(self):
remote_exec_command(YUM_INSTALL_LKP_DEPENDENCIES_CMD, self.ssh_client, self.LOGGER, self.ip)
diff --git a/tools/install_dependency/src/handler/base_yaml_check.py b/tools/install_dependency/src/handler/base_yaml_check.py
index ce0a96d..3d2e89f 100644
--- a/tools/install_dependency/src/handler/base_yaml_check.py
+++ b/tools/install_dependency/src/handler/base_yaml_check.py
@@ -9,7 +9,7 @@ LOGGER = logging.getLogger("install_dependency")
MIN_SET = (constant.USER, constant.PKEY, constant.INSTRUCTION)
MAX_SET = (constant.USER, constant.PKEY, constant.PASSWORD,
constant.SCANNER, constant.JAVA_BUILDER_JDK8, constant.JAVA_BUILDER_JDK17,
- constant.C_BUIDLER, constant.C_BUIDLER_GCC, constant.C_BUIDLER_Bisheng_COMPILER, constant.EXECUTOR,
+ constant.C_BUIDLER, constant.C_BUIDLER_GCC, constant.C_BUIDLER_BISHENG_COMPILER, constant.EXECUTOR,
constant.DEVKIT, constant.INSTRUCTION)
--
Gitee
From 04aae1804b569185dbe96df3042d9e29a54923ea Mon Sep 17 00:00:00 2001
From: jerry-553 <1007388420@qq.com>
Date: Mon, 6 May 2024 14:36:00 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0devkit=20=E5=91=BD?=
=?UTF-8?q?=E4=BB=A4=E8=A1=8C=E5=9C=A8=E5=AE=89=E8=A3=85=E7=9A=84=E6=97=B6?=
=?UTF-8?q?=E5=80=99=E4=BB=A5sudo=E6=9D=83=E9=99=90=E5=AE=89=E8=A3=85?=
=?UTF-8?q?=EF=BC=8C=E5=B9=B6=E5=A2=9E=E5=8A=A0=E9=94=99=E8=AF=AF=E9=80=80?=
=?UTF-8?q?=E5=87=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
component/DevKitCLI/install.sh | 4 ++--
tools/install_dependency/src/deploy/devkitcli_deploy.py | 6 +++++-
2 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/component/DevKitCLI/install.sh b/component/DevKitCLI/install.sh
index cc01a17..78706ae 100644
--- a/component/DevKitCLI/install.sh
+++ b/component/DevKitCLI/install.sh
@@ -1,10 +1,10 @@
#!/bin/bash
-
+set -e
cd /tmp/devkitdependencies/
mkdir -p ${HOME}/.local
echo "Decompress DevKit-CLI-24.0.RC1-Linux-Kunpeng.tar.gz to ${HOME}/.local"
tar --no-same-owner -zxf /tmp/devkitdependencies/DevKit-CLI-24.0.RC1-Linux-Kunpeng.tar.gz -C ${HOME}/.local
echo "Decompress DevKit-CLI-24.0.RC1-Linux-Kunpeng.tar.gz to ${HOME}/.local finished."
-ln -s ${HOME}/.local/DevKit-CLI-24.0.RC1-Linux-Kunpeng/devkit /usr/local/bin
+sudo ln -s ${HOME}/.local/DevKit-CLI-24.0.RC1-Linux-Kunpeng/devkit /usr/local/bin
echo "install DevkitCLI success."
diff --git a/tools/install_dependency/src/deploy/devkitcli_deploy.py b/tools/install_dependency/src/deploy/devkitcli_deploy.py
index 8703abe..9c6aacf 100644
--- a/tools/install_dependency/src/deploy/devkitcli_deploy.py
+++ b/tools/install_dependency/src/deploy/devkitcli_deploy.py
@@ -3,4 +3,8 @@ from deploy.deploy_base import DeployBase
class DevkitCLIDeploy(DeployBase):
- pass
\ No newline at end of file
+ def __init__(self, component,
+ ip, user, pkey, password):
+ super(DevkitCLIDeploy, self).__init__(component,
+ ip, user, pkey, password, hook_before_upload_fn=None, hook_after_install_fn=None)
+ self.sudo = True
--
Gitee
From 73d7567267e6d95d0a662bed2b83747549af7b8c Mon Sep 17 00:00:00 2001
From: jerry-553 <1007388420@qq.com>
Date: Mon, 6 May 2024 14:55:19 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E5=A2=9E=E5=8A=A0devkit=20web=E7=AB=AF?=
=?UTF-8?q?=E5=AE=89=E8=A3=85=E5=A2=9E=E5=8A=A0=E5=8F=AF=E8=83=BD=E7=9A=84?=
=?UTF-8?q?=E9=94=99=E8=AF=AF=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
component/DevKitWeb/devkit_installer/devkit_installer.py | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/component/DevKitWeb/devkit_installer/devkit_installer.py b/component/DevKitWeb/devkit_installer/devkit_installer.py
index 71d3963..a89ee3a 100644
--- a/component/DevKitWeb/devkit_installer/devkit_installer.py
+++ b/component/DevKitWeb/devkit_installer/devkit_installer.py
@@ -41,7 +41,10 @@ class DevKitInstaller:
plugin="java_perf",
rpc_port=50051)
if not install_result:
- LOGGER.error(f"Install DevKit failed.")
+ LOGGER.error(f"Install DevKit failed. Here are some reasons \n"
+ f"1. /opt directory permission is not 757, plz change it to 757\n"
+ f"2. the install user doesn't have sudo permission\n"
+ f"3. the install user doesn't have sudo password-free\n")
sys.exit(1)
LOGGER.info(f"Install DevKit success.")
--
Gitee