尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
tasks_service
该robot脚本中有三个用例依赖于dump功能需要检查BMC固件编译时是否开启该选项redfish-dump-logenabled测试环境准备文件头*** Settings ***Documentation验证 OpenBMC Redfish 任务服务TaskService和任务集合Tasks的功能。Resourcelib/resource.robot通用变量和关键字。lib/bmc_redfish_resource.robotRedfish 核心操作GET、POST、DELETE、等待任务完成等。lib/dump_utils.robot专门用于生成 BMC 转储Dump这是触发异步任务的主要手段。lib/openbmc_ffdc.robot故障现场数据收集。Suite Setup执行Suite Setup Execution登录 Redfish加载任务服务的配置数据。Suite Teardown执行Suite Teardown Execution登出关闭连接。Test TeardownFFDC On Test Case Fail失败时收集日志。Test TagsTasks_Service便于筛选。变量*** Variables ***${TIME_REGEXP_PATTERN}正则表达式用于从时间戳中去除时区偏移如00:00便于时间比较。逐个测试用例详解1.Verify Task Service Attributes手工测试角度测试人员需要验证/redfish/v1/TaskService这个服务根节点的属性是否正确。具体检查CompletedTaskOverWritePolicy任务完成后的覆盖策略是否在允许的列表中如Oldest、Newest。ServiceEnabled是否为True任务服务已启用。Status.State是否为Enabled服务状态正常。BMC 系统时间与任务服务返回的DateTime是否一致误差小于 5 秒。自动化实现角度Redfish.Get Properties获取整个 TaskService 资源。使用Should Be True检查CompletedTaskOverWritePolicy是否在 JSON 配置文件中预定义的允许值列表中。用Should Be Equal检查ServiceEnabled和Status.State。时间比较调用Get Current Date From BMC通过 SSH 执行date命令获取 BMC 当前时间再通过正则提取DateTime中的时间部分去除时区偏移计算两者差值断言小于 5 秒。2.Test Generated Task Instance Validity And Task State手工测试角度测试人员需要触发一个会产生异步任务的操作如收集 BMC 诊断数据然后验证这个任务实例的各项属性是否正确以及任务从“运行中”到“完成”的整个生命周期是否正常。自动化实现角度这是本套件最复杂的用例步骤拆解如下触发任务调用Generate Task Instance关键字内部通过Create BMC User Dump来自dump_utils.robot向 BMC 发起一个 POST 请求触发一个异步任务。该关键字返回task_id和原始响应对象。验证监控端点任务进行中访问/redfish/v1/TaskService/Tasks/${task_id}/Monitor预期返回HTTP_ACCEPTED表示任务还在执行可以继续轮询。验证任务创建时间再次获取 BMC 当前时间Get Current Date From BMC。获取任务详情提取StartTime与 BMC 当前时间比较差值应小于 10 秒确保任务及时启动。验证任务负载Payload检查Payload.HttpOperation是否为POST与触发请求的方法一致。检查Payload.TargetUri是否与触发请求的路径一致确保任务记录的是正确的目标。等待任务完成调用Wait For Task Completion来自bmc_redfish_resource.robot该关键字会轮询任务状态直到任务达到“完成”或“异常”等终态。验证任务完成后的行为再次访问监控端点/Monitor预期返回HTTP_NOT_FOUND任务结束后监控端点被移除。检查EndTime是否大于StartTime确保任务确实经历了时间流逝。3.Verify Task Persistency Post BMC Reboot手工测试角度测试人员需要验证 BMC 重启后已经存在的任务记录即使已完成是否仍然保留在任务集合中不会丢失。自动化实现角度先调用Verify Generate Task Instance Completion触发并等待一个任务完成确保至少有一个任务记录。获取当前任务集合的总数Redfish.Get Attribute ${REDFISH_TASKS_URI} Membersodata.count。执行 BMC 热重启Redfish BMC Reset Operation reset_typeForceRestart该关键字会等待 BMC 重启完成并重新建立连接。重启后再次获取任务集合总数断言两者相等。4.Verify Task Service Unsupported Methods5.Verify Unsupported Methods For Tasks URI On Task Service手工测试角度测试人员需要对/redfish/v1/TaskService和/redfish/v1/TaskService/Tasks这两个 URI分别尝试使用PATCH、PUT、DELETE等不应支持的方法验证服务器是否正确返回405 Method Not Allowed。自动化实现角度两个用例都调用了公共关键字Verify Supported And Unsupported Methods来自bmc_redfish_resource.robot传入不同的 URI。该关键字内部会对 URI 发送 GET、POST、PATCH、PUT、DELETE 等方法。根据 Redfish 规范检查每个方法返回的状态码是否符合预期例如 GET 返回 200PUT/DELETE 返回 405。6.Verify Retrieving Deleted Tasks Instance手工测试角度测试人员需要删除一个任务实例然后尝试再次获取它验证服务器返回404 Not Found。自动化实现角度调用Generate Task Instance创建一个任务。用Redfish.Get获取该任务确认存在返回HTTP_OK。调用Redfish.Delete删除该任务允许200或204。再次Redfish.Get指定valid_status_codes[${HTTP_NOT_FOUND}]验证已被删除。关键关键字解析Generate Task Instance作用触发一个会产生任务的操作并返回任务 ID 和响应对象。参数task_type目前仅支持bmc_dump后续可扩展其他类型如固件更新。实现内部调用Create BMC User Dump来自dump_utils.robot该关键字会向/redfish/v1/Managers/bmc/LogServices/Dump/Actions/LogService.CollectDiagnosticData发送 POST 请求触发 BMC 诊断数据收集这是一个异步任务。然后从响应头Location中提取任务 ID。Load Task Service Properties Data作用从 JSON 文件task_state.json中加载配置数据设置套件级变量。加载内容allowed_completed_task_overwrite_policyCompletedTaskOverWritePolicy的允许值如[Oldest, Newest]。allowed_task_stateTaskState的允许值如[New, Running, Completed, Exception]。allowed_task_completion_state表示任务“已完成”的状态列表如[Completed, Exception]。valid_status任务服务的标准状态结构{State: Enabled, Health: OK}。优点数据驱动无需修改代码即可适配不同 BMC 版本的行为差异。Get Current Date From BMC作用通过 SSH 在 BMC 上执行date命令获取当前系统时间并转换为统一格式。实现细节执行date返回类似Mon Aug 3 15:30:45 UTC 2026的字符串。分割字符串去掉星期和时区重组为Aug 3 15:30:45 2026。用Convert Date转换为%m/%d/%Y %H:%M:%S格式便于后续与 Redfish 时间戳比较。
RELATED

相关推荐

欧姆龙NJ/NX平台与ST语言在气缸集群控制中的应用

欧姆龙NJ/NX平台与ST语言在气缸集群控制中的应用

1. 欧姆龙NJ/NX平台与ST语言的黄金组合 在非标自动化设备开发领域摸爬滚打多年,我试过各种品牌的PLC和编程方式,最终发现欧姆龙NJ/NX系列配合ST(结构化文本)语言简直是工程开发的"黄金搭档"。这套组合为什么能赢得老司机…

📅 2026/9/26 6:32:01
LabVIEW FPGA开发实战:图形化编程实现硬件级实时控制与高速采集

LabVIEW FPGA开发实战:图形化编程实现硬件级实时控制与高速采集

1. 项目概述:为什么你需要了解LabVIEW FPGA? 如果你正在从事测试测量、工业自动化、运动控制或者高速数据采集相关的工作,并且对“实时性”、“确定性”和“硬件级性能”这几个词感到既向往又头疼,那么LabVIEW FPGA绝对是你绕不开…

📅 2026/8/25 8:26:09
Spring Boot中用户ID与IP处理:从数据清洗到安全风控的实战指南

Spring Boot中用户ID与IP处理:从数据清洗到安全风控的实战指南

在实际开发中,我们经常会遇到需要处理用户身份标识(ID)和网络地址(IP)的场景,尤其是在构建涉及用户认证、权限控制、日志审计或防刷策略的系统时。一个典型的挑战是:当系统接收到一个请求&#…

📅 2026/8/25 8:26:09
MORE NEWS

更多资讯

📰

Mac Studio M4 Max 本地跑 Qwen 3.6 并桥接 Claude Code:TaoToken 统一 Key 配置实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

beautiful-react-hooks 的 useURLSearchParams:在 React Router 中优雅读取与更新 URL 查询参数

前端开发工具 【免费下载链接】beautiful-react-hooks 🔥 A collection of beautiful and (hopefully) useful React hooks to speed-up your components and hooks development 🔥 项目地址: https://gitcode.com/gh_mirrors/be/beautiful-r…

📰

highlight.io 接入 AWS 日志:ECS FireLens、Kinesis Firehose 与 Fluent Forward 完整配置指南

可观测性后端 【免费下载链接】highlight highlight.io: The open source, full-stack monitoring platform. Error monitoring, session replay, logging, distributed tracing, and more. 项目地址: https://gitcode.com/gh_mirrors/hi/highlight 点击查看 免费下…

📰

Android 多媒体文件获取工具类:用 TaoToken 统一 Key 打通 AI 辅助开发配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

《本地 Agent 实践》系列之一:MacOS+Ollama+OpenClaw+飞书,用 TaoToken 统一 Key 打通配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📰

Claude Code /cd 命令实战:用 TaoToken 统一 Key 把 AI 会话搬进新项目

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬