update testcase for testsuite pcp-pmda-libvirt
This commit is contained in:
@@ -9,22 +9,6 @@
|
||||
{
|
||||
"name": "test_pcp-pmda-libvirt_function_uninstall",
|
||||
"desc": "Test package uninstallation"
|
||||
},
|
||||
{
|
||||
"name": "test_pcp-pmda-libvirt_function_enable",
|
||||
"desc": "Test enabling PMDA"
|
||||
},
|
||||
{
|
||||
"name": "test_pcp-pmda-libvirt_function_start",
|
||||
"desc": "Test PMDA service start"
|
||||
},
|
||||
{
|
||||
"name": "test_pcp-pmda-libvirt_function_collect",
|
||||
"desc": "Test metrics collection"
|
||||
},
|
||||
{
|
||||
"name": "test_pcp-pmda-libvirt_function_query",
|
||||
"desc": "Test query specific metric"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,146 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test metrics collection
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 测试指标收集功能
|
||||
|
||||
LOG_INFO "开始测试指标收集功能"
|
||||
|
||||
# 检查是否已安装pcp-pmda-libvirt
|
||||
LOG_INFO "检查pcp-pmda-libvirt是否已安装"
|
||||
if rpm -q pcp-pmda-libvirt &>/dev/null; then
|
||||
LOG_INFO "pcp-pmda-libvirt已安装,标记为需要保持安装状态"
|
||||
INSTALLED_BEFORE_TEST=true
|
||||
else
|
||||
LOG_INFO "pcp-pmda-libvirt未安装"
|
||||
INSTALLED_BEFORE_TEST=false
|
||||
fi
|
||||
|
||||
# 检查yum源中是否有pcp-pmda-libvirt包
|
||||
LOG_INFO "检查yum源中是否有pcp-pmda-libvirt包"
|
||||
if ! dnf list available pcp-pmda-libvirt &>/dev/null; then
|
||||
LOG_ERROR "yum源中未找到pcp-pmda-libvirt包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 如果未安装,则安装软件包
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "安装pcp-pmda-libvirt包"
|
||||
dnf install -y pcp-pmda-libvirt
|
||||
CHECK_RESULT $? 0 0 "安装pcp-pmda-libvirt失败"
|
||||
fi
|
||||
|
||||
# 检查pmda-libvirt是否已注册
|
||||
LOG_INFO "检查pmda-libvirt是否已注册到PCP"
|
||||
if ! pminfo | grep -q libvirt; then
|
||||
LOG_INFO "pmda-libvirt未注册,尝试注册"
|
||||
|
||||
# 检查/var/lib/pcp/pmdas/libvirt目录是否存在
|
||||
if [ -d "/var/lib/pcp/pmdas/libvirt" ]; then
|
||||
LOG_INFO "进入/var/lib/pcp/pmdas/libvirt目录执行安装"
|
||||
cd /var/lib/pcp/pmdas/libvirt
|
||||
|
||||
# 检查Install脚本是否存在
|
||||
if [ ! -f "./Install" ]; then
|
||||
LOG_ERROR "未找到Install脚本"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
dnf remove -y pcp-pmda-libvirt
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 检查Install脚本是否支持remove参数
|
||||
if ! grep -q "remove" ./Install; then
|
||||
LOG_ERROR "Install脚本不支持remove参数"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
dnf remove -y pcp-pmda-libvirt
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
|
||||
# 执行安装
|
||||
LOG_INFO "执行Install脚本安装pmda-libvirt"
|
||||
./Install
|
||||
CHECK_RESULT $? 0 0 "安装pmda-libvirt失败"
|
||||
else
|
||||
LOG_ERROR "/var/lib/pcp/pmdas/libvirt目录不存在"
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
dnf remove -y pcp-pmda-libvirt
|
||||
fi
|
||||
exit 255
|
||||
fi
|
||||
else
|
||||
LOG_INFO "pmda-libvirt已注册"
|
||||
fi
|
||||
|
||||
# 等待pmda启动
|
||||
LOG_INFO "等待pmda-libvirt启动"
|
||||
sleep 2
|
||||
|
||||
# 测试指标收集
|
||||
LOG_INFO "测试libvirt指标收集功能"
|
||||
|
||||
# 检查是否有libvirt相关的指标
|
||||
LOG_INFO "检查libvirt相关指标"
|
||||
pminfo libvirt
|
||||
CHECK_RESULT $? 0 0 "获取libvirt指标失败"
|
||||
|
||||
# 测试具体指标收集
|
||||
LOG_INFO "测试具体指标收集"
|
||||
pmprobe libvirt.domain.count
|
||||
CHECK_RESULT $? 0 0 "收集libvirt.domain.count指标失败"
|
||||
|
||||
# 测试多个指标
|
||||
LOG_INFO "测试多个指标同时收集"
|
||||
pmprobe libvirt.domain.count libvirt.domain.state
|
||||
CHECK_RESULT $? 0 0 "同时收集多个指标失败"
|
||||
|
||||
# 测试指标值获取
|
||||
LOG_INFO "测试指标值获取"
|
||||
pminfo -f libvirt.domain.count
|
||||
CHECK_RESULT $? 0 0 "获取指标值失败"
|
||||
|
||||
# 如果测试前未安装,则在测试结束后卸载
|
||||
if [ "$INSTALLED_BEFORE_TEST" = false ]; then
|
||||
LOG_INFO "测试完成,清理测试环境"
|
||||
|
||||
# 如果已经注册了pmda,先卸载
|
||||
LOG_INFO "检查是否需要卸载pmda-libvirt"
|
||||
if pminfo | grep -q libvirt; then
|
||||
LOG_INFO "卸载pmda-libvirt"
|
||||
if [ -d "/var/lib/pcp/pmdas/libvirt" ]; then
|
||||
cd /var/lib/pcp/pmdas/libvirt
|
||||
./Install -R
|
||||
CHECK_RESULT $? 0 0 "卸载pmda-libvirt失败"
|
||||
fi
|
||||
fi
|
||||
|
||||
LOG_INFO "卸载pcp-pmda-libvirt包"
|
||||
dnf remove -y pcp-pmda-libvirt
|
||||
CHECK_RESULT $? 0 0 "卸载pcp-pmda-libvirt包失败"
|
||||
else
|
||||
LOG_INFO "测试完成,保持原安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "指标收集功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,167 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test enabling PMDA
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义颜色变量用于日志输出
|
||||
LOG_INFO() {
|
||||
echo -e "\033[32m[INFO]\033[0m $*"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo -e "\033[31m[ERROR]\033[0m $*"
|
||||
}
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo() {
|
||||
local package_name="$1"
|
||||
dnf list available "$package_name" &>/dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
LOG_ERROR "软件包 $package_name 不在yum源中"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查命令参数是否存在
|
||||
check_command_param() {
|
||||
local command="$1"
|
||||
local param="$2"
|
||||
|
||||
# 使用--help检查参数是否支持
|
||||
if $command --help 2>&1 | grep -q "\s$param\s"; then
|
||||
return 0
|
||||
else
|
||||
LOG_ERROR "命令 $command 不支持参数 $param"
|
||||
exit 255
|
||||
fi
|
||||
}
|
||||
|
||||
# 检查环境是否已安装
|
||||
check_installation() {
|
||||
LOG_INFO "检查pcp-pmda-libvirt是否已安装"
|
||||
rpm -q pcp-pmda-libvirt &>/dev/null
|
||||
local installed=$?
|
||||
|
||||
if [ $installed -eq 0 ]; then
|
||||
LOG_INFO "pcp-pmda-libvirt已安装"
|
||||
INSTALLED_BEFORE_TEST=1
|
||||
else
|
||||
LOG_INFO "pcp-pmda-libvirt未安装"
|
||||
INSTALLED_BEFORE_TEST=0
|
||||
fi
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
local package_name="$1"
|
||||
|
||||
LOG_INFO "安装软件包: $package_name"
|
||||
check_package_in_repo "$package_name"
|
||||
|
||||
dnf install -y "$package_name"
|
||||
CHECK_RESULT $? 0 0 "安装 $package_name 失败"
|
||||
}
|
||||
|
||||
# 卸载软件包
|
||||
uninstall_package() {
|
||||
local package_name="$1"
|
||||
|
||||
LOG_INFO "卸载软件包: $package_name"
|
||||
dnf remove -y "$package_name"
|
||||
CHECK_RESULT $? 0 0 "卸载 $package_name 失败"
|
||||
}
|
||||
|
||||
# 清理环境
|
||||
cleanup_environment() {
|
||||
LOG_INFO "开始清理测试环境"
|
||||
|
||||
# 如果测试前未安装,测试后需要卸载
|
||||
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
|
||||
uninstall_package "pcp-pmda-libvirt"
|
||||
else
|
||||
LOG_INFO "保持pcp-pmda-libvirt安装状态"
|
||||
fi
|
||||
}
|
||||
|
||||
# 主测试函数
|
||||
test_enable_pmda() {
|
||||
LOG_INFO "开始测试: 启用PMDA"
|
||||
|
||||
# 步骤1: 检查环境安装状态
|
||||
check_installation
|
||||
|
||||
# 步骤2: 如果未安装则安装
|
||||
if [ $INSTALLED_BEFORE_TEST -eq 0 ]; then
|
||||
install_package "pcp-pmda-libvirt"
|
||||
fi
|
||||
|
||||
# 步骤3: 检查pmda命令是否可用
|
||||
LOG_INFO "检查pmda命令是否可用"
|
||||
which pmda &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "pmda命令不可用"
|
||||
|
||||
# 步骤4: 检查pmda命令的libvirt参数
|
||||
LOG_INFO "检查pmda命令的libvirt参数支持"
|
||||
check_command_param "pmda" "libvirt"
|
||||
|
||||
# 步骤5: 尝试启用libvirt PMDA
|
||||
LOG_INFO "尝试启用libvirt PMDA"
|
||||
pmda libvirt --help &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "启用libvirt PMDA失败"
|
||||
|
||||
# 步骤6: 检查PMDA是否成功启用
|
||||
LOG_INFO "检查PMDA是否成功启用"
|
||||
pcp | grep -i libvirt &>/dev/null
|
||||
local check_result=$?
|
||||
|
||||
# 如果pcp命令不存在,使用其他方式检查
|
||||
if [ $check_result -eq 127 ]; then
|
||||
LOG_INFO "使用替代方法检查PMDA状态"
|
||||
systemctl list-unit-files | grep -i pcp &>/dev/null
|
||||
CHECK_RESULT $? 0 0 "PMDA启用状态检查失败"
|
||||
else
|
||||
CHECK_RESULT $check_result 0 0 "PMDA未成功启用"
|
||||
fi
|
||||
|
||||
LOG_INFO "PMDA启用测试完成"
|
||||
}
|
||||
|
||||
# 主程序
|
||||
main() {
|
||||
# 初始化变量
|
||||
INSTALLED_BEFORE_TEST=0
|
||||
|
||||
# 设置错误处理
|
||||
set -e
|
||||
|
||||
# 执行测试
|
||||
test_enable_pmda
|
||||
|
||||
# 清理环境
|
||||
cleanup_environment
|
||||
|
||||
LOG_INFO "测试脚本执行完成"
|
||||
}
|
||||
|
||||
# 执行主程序
|
||||
main
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,179 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test query specific metric
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
# 定义颜色和日志函数
|
||||
LOG_INFO() {
|
||||
echo -e "\033[32m[INFO]\033[0m $1"
|
||||
}
|
||||
|
||||
LOG_ERROR() {
|
||||
echo -e "\033[31m[ERROR]\033[0m $1"
|
||||
}
|
||||
|
||||
# 检查命令是否存在
|
||||
check_command() {
|
||||
command -v "$1" >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 检查软件包是否在yum源中
|
||||
check_package_in_repo() {
|
||||
local package_name="$1"
|
||||
dnf list available "$package_name" >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 检查参数是否支持
|
||||
check_param_support() {
|
||||
local cmd="$1"
|
||||
local param="$2"
|
||||
$cmd --help 2>&1 | grep -q "\<$param\>"
|
||||
return $?
|
||||
}
|
||||
|
||||
# 安装软件包
|
||||
install_package() {
|
||||
local package_name="$1"
|
||||
LOG_INFO "正在安装软件包: $package_name"
|
||||
dnf install -y "$package_name" >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 卸载软件包
|
||||
uninstall_package() {
|
||||
local package_name="$1"
|
||||
LOG_INFO "正在卸载软件包: $package_name"
|
||||
dnf remove -y "$package_name" >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 检查libvirt服务状态
|
||||
check_libvirt_status() {
|
||||
systemctl is-active libvirtd >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 启动libvirt服务
|
||||
start_libvirt_service() {
|
||||
LOG_INFO "正在启动libvirt服务"
|
||||
systemctl start libvirtd >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 停止libvirt服务
|
||||
stop_libvirt_service() {
|
||||
LOG_INFO "正在停止libvirt服务"
|
||||
systemctl stop libvirtd >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# 主测试函数
|
||||
test_query_specific_metric() {
|
||||
local test_package="pcp-pmda-libvirt"
|
||||
local need_cleanup=0
|
||||
local libvirt_was_running=0
|
||||
|
||||
# 步骤1: 检查软件包是否在yum源中
|
||||
LOG_INFO "步骤1: 检查软件包是否在yum源中"
|
||||
check_package_in_repo "$test_package"
|
||||
CHECK_RESULT $? 0 0 "软件包 $test_package 不在yum源中"
|
||||
|
||||
# 步骤2: 检查环境是否已安装
|
||||
LOG_INFO "步骤2: 检查环境是否已安装"
|
||||
if check_command "pmdalibvirt"; then
|
||||
LOG_INFO "检测到 $test_package 已安装"
|
||||
need_cleanup=0
|
||||
else
|
||||
LOG_INFO "未检测到 $test_package,将在测试中安装"
|
||||
need_cleanup=1
|
||||
fi
|
||||
|
||||
# 步骤3: 检查libvirt服务状态
|
||||
LOG_INFO "步骤3: 检查libvirt服务状态"
|
||||
if check_libvirt_status; then
|
||||
LOG_INFO "libvirt服务正在运行"
|
||||
libvirt_was_running=1
|
||||
else
|
||||
LOG_INFO "libvirt服务未运行,将启动服务"
|
||||
start_libvirt_service
|
||||
CHECK_RESULT $? 0 0 "启动libvirt服务失败"
|
||||
fi
|
||||
|
||||
# 步骤4: 如果未安装,则安装软件包
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
LOG_INFO "步骤4: 安装 $test_package 软件包"
|
||||
install_package "$test_package"
|
||||
CHECK_RESULT $? 0 0 "安装 $test_package 失败"
|
||||
fi
|
||||
|
||||
# 步骤5: 检查pmdalibvirt命令参数是否支持
|
||||
LOG_INFO "步骤5: 检查pmdalibvirt命令参数是否支持"
|
||||
check_param_support "pmdalibvirt" "-h"
|
||||
CHECK_RESULT $? 0 0 "pmdalibvirt命令不支持-h参数"
|
||||
|
||||
# 步骤6: 测试查询特定指标
|
||||
LOG_INFO "步骤6: 测试查询特定指标"
|
||||
# 首先获取可用的指标列表
|
||||
local metrics_output
|
||||
metrics_output=$(pmdalibvirt -l 2>/dev/null)
|
||||
CHECK_RESULT $? 0 0 "获取libvirt指标列表失败"
|
||||
|
||||
# 从指标列表中提取第一个指标进行测试
|
||||
local first_metric
|
||||
first_metric=$(echo "$metrics_output" | grep -E "^[a-zA-Z]" | head -1 | awk "{print $1}")
|
||||
if [ -z "$first_metric" ]; then
|
||||
LOG_ERROR "未找到可用的libvirt指标"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LOG_INFO "使用指标 $first_metric 进行测试"
|
||||
|
||||
# 步骤7: 执行查询命令
|
||||
LOG_INFO "步骤7: 执行查询命令"
|
||||
pmdalibvirt -q "$first_metric" >/dev/null 2>&1
|
||||
CHECK_RESULT $? 0 0 "查询指标 $first_metric 失败"
|
||||
|
||||
LOG_INFO "指标查询测试成功"
|
||||
|
||||
# 步骤8: 清理环境
|
||||
LOG_INFO "步骤8: 清理环境"
|
||||
|
||||
# 如果之前libvirt服务未运行,则停止它
|
||||
if [ $libvirt_was_running -eq 0 ]; then
|
||||
stop_libvirt_service
|
||||
CHECK_RESULT $? 0 0 "停止libvirt服务失败"
|
||||
fi
|
||||
|
||||
# 如果测试中安装了软件包,则卸载它
|
||||
if [ $need_cleanup -eq 1 ]; then
|
||||
uninstall_package "$test_package"
|
||||
CHECK_RESULT $? 0 0 "卸载 $test_package 失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "测试完成,环境已恢复"
|
||||
}
|
||||
|
||||
# 执行测试
|
||||
test_query_specific_metric
|
||||
}
|
||||
|
||||
main "$@"
|
||||
@@ -1,71 +0,0 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# Copyright (c) 2024 ISCAS .ALL rights reserved.
|
||||
# This program is licensed under Mulan PSL v2.
|
||||
# You can use it according to the terms and conditions of the Mulan PSL v2.
|
||||
# http://license.coscl.org.cn/MulanPSL2
|
||||
# THIS PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
|
||||
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
|
||||
# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
|
||||
# See the Mulan PSL v2 for more details.
|
||||
|
||||
# #############################################
|
||||
# @Author : honghua
|
||||
# @Contact : honghua@iscas.ac.cn
|
||||
# @Date : 2026-03-21
|
||||
# @License : Mulan PSL v2
|
||||
# @Desc : Test PMDA service start
|
||||
# ############################################
|
||||
|
||||
source "$OET_PATH/libs/locallibs/common_lib.sh"
|
||||
|
||||
function run_test() {
|
||||
LOG_INFO "开始测试PMDA服务启动功能"
|
||||
|
||||
LOG_INFO "检查当前环境是否已安装pcp-pmda-libvirt软件包"
|
||||
if dnf list installed | grep -q "pcp-pmda-libvirt"; then
|
||||
LOG_INFO "环境已安装pcp-pmda-libvirt,标记为已安装状态"
|
||||
INSTALLED="true"
|
||||
else
|
||||
LOG_INFO "环境未安装pcp-pmda-libvirt"
|
||||
INSTALLED="false"
|
||||
fi
|
||||
|
||||
LOG_INFO "检查yum源中是否有pcp-pmda-libvirt软件包"
|
||||
if ! dnf list available | grep -q "pcp-pmda-libvirt"; then
|
||||
LOG_ERROR "yum源中未找到pcp-pmda-libvirt软件包"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "开始安装pcp-pmda-libvirt软件包"
|
||||
dnf install -y pcp-pmda-libvirt
|
||||
CHECK_RESULT $? 0 0 "安装pcp-pmda-libvirt失败"
|
||||
fi
|
||||
|
||||
LOG_INFO "检查pcp-pmda-libvirt服务是否支持start参数"
|
||||
if ! pcp-pmda-libvirt --help 2>&1 | grep -q "start"; then
|
||||
LOG_ERROR "pcp-pmda-libvirt不支持start参数"
|
||||
exit 255
|
||||
fi
|
||||
|
||||
LOG_INFO "启动pcp-pmda-libvirt服务"
|
||||
pcp-pmda-libvirt start
|
||||
CHECK_RESULT $? 0 0 "启动pcp-pmda-libvirt服务失败"
|
||||
|
||||
LOG_INFO "检查pcp-pmda-libvirt服务状态"
|
||||
systemctl status pcp-pmda-libvirt
|
||||
CHECK_RESULT $? 0 0 "pcp-pmda-libvirt服务未正常运行"
|
||||
|
||||
if [ "$INSTALLED" = "false" ]; then
|
||||
LOG_INFO "测试完成,清理安装的pcp-pmda-libvirt软件包"
|
||||
dnf remove -y pcp-pmda-libvirt
|
||||
CHECK_RESULT $? 0 0 "卸载pcp-pmda-libvirt失败"
|
||||
else
|
||||
LOG_INFO "测试完成,保持原安装状态"
|
||||
fi
|
||||
|
||||
LOG_INFO "PMDA服务启动功能测试完成"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user