Files
xas-test-library/docs/acceptance-2026-10-13.md
T

82 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 第一阶段验收记录
此文为最初回环预览的历史快照;用户后续免登录要求的当前状态见 [内网验收](acceptance-lan-2026-10-13.md)。
核对日期:2026-10-13(北京时间)。结论:受限网页预览与轻量流程验证通过;正式 GPU 测试尚未接入。
## 本轮变更
- 新建本地私有脚本库工作目录及空 Git 仓库,所有文件未暂存;提交数为 0,无远程仓库。
- 新建服务器目录 `/adamwen-work-space/xas-test-library` 和容器 `adamwen-test-console`。
- 网页使用 Rundeck 6.2.1,基础镜像摘要 `sha256:63d12aefbbd129a121d2af7d97abfaa64c3cbd7756063f74dbf3ab3377d136bd`。
- 运行镜像 `adamwen/test-console:20261013-1`,镜像 ID `sha256:429dfa1322c8e72b25fb82d5a1a6452af4968f30f5dbb6ee6937825aadd38ab7`。
- 镜像增加 Python 3.10.6-1~22.04.1、python3-bcrypt 3.2.0-1build1,宿主机运行时未升级。
- 只导入一个轻量任务,UUID 为 `ef76123d-f532-42c7-b7f7-a78f9231c18d`。旧公司套件与两个试验目录只登记来源。
## 行为测试
| 验证环境 | 本轮最终结果 |
|---|---|
| 本地 Windows | 10 项中 6 通过、4 跳过;跳过原因是 Linux 进程组及当前账号无法创建目录链接 |
| 00088 Linux | 10/10 通过,耗时 4.087 秒,无跳过 |
覆盖:成功日志和模拟结果、脚本非零退出、退出 0 但报告无效、重复编号不覆盖、路径穿越/无效参数拒绝、超时清理、取消父子进程、运行根目录和子目录链接拒绝。
新增代码先观察失败测试,再完成实现;独立审查指出的运行目录父链接问题已补回归测试并修复。修复后的全套 Linux 测试通过。没有未处理的审查发现。
## Rundeck 真实任务链路
| 执行编号 | 场景 | Rundeck 状态 | 业务状态 | 清理确认 |
|---|---|---|---|---|
| 1 | 成功 | succeeded | succeeded | true |
| 2 | 主动失败 | failed | failed | true |
| 3 | 无效报告 | failed | invalid_result | true |
| 4 | 2 秒超时 | failed | timed_out | true |
| 5 | 运行后取消 | aborted | cancelled | true |
| 6 | 浏览器点击运行 | succeeded | succeeded | true |
前五项在 11:14:36 至 11:14:43 完成。第六项在 11:19:28 至 11:19:29 完成,运行器记录约 0.64 秒。以上均为 synthetic 流程验收数据,没有使用 GPU 或模型接口。
未登录 API 返回 403;普通操作角色执行任意命令返回 403;同一任务正在执行时再次提交返回 409。
## 真实浏览器
使用独立 Edge 浏览器上下文,通过 SSH 转发登录普通操作账号,核对任务列表和参数页;点击 Run Job Now 产生执行 6;核对完成页、三条进度日志和结构化结果。
页面的 Succeeded 文案由 CSS `::after` 生成,最初按 DOM 文字精确定位的自动等待超时。服务端记录与截图均成功,后续只读取已有执行 6,确认伪元素内容为 `"Succeeded"` 并打开日志页,没有因文字定位问题重复提交任务。
截图:[任务参数页](images/job.png)、[执行日志页](images/logs.png)。视口为 1440 × 1000。
## 共享服务与隔离证据
- 原有 `dengyuyun-joy-dsv41-trial` 容器 ID 为 `114ceebc787845e45e1abcb0a46ac962529c28a4b865894cd3581234cd729e1a`,仍为 running,启动时间为 2026-10-12 13:29:36(北京时间),RestartCount=0。它的启动时间早于本轮操作,未被本轮重启。
- GPU 查询仍看到 VLLM::Worker_TP0~TP7;没有创建新的 GPU 任务。本轮没有调用模型接口,不能把进程存活当作模型业务质量验证。
- 新容器 DeviceRequests=null、Devices=[]、Privileged=false,容器内 `/dev/nvidia*` 为空。
- 所有绑定挂载都在本项目目录下;没有 `/dengyuyun-joy-work-space`、共享模型或 Docker socket 挂载。
- 只发布 `127.0.0.1:14440 → 4440`,未改防火墙和旧端口。
- 配置上限为 2 CPU、2 GiB 内存、256 进程。检查时新容器 CPU 约 0.06%、内存约 1.275 GiB;这是观察值,不是持续性能承诺。
## 过程中的问题与修复
- 首次启动登录页早于 API 就绪;将准备检查改为 API 的未认证响应,避免把加载页 HTTP 200 当作可用。
- 权限验收请求最初缺少 project 参数,返回 400;补齐官方 API 参数后得到明确 403。
- YAML 的固定标识改用 uuid,并与实际已创建任务对齐,保留同一任务;原 404 请求没有创建运行记录。
- 浏览器输出使用 UTF-8;状态文字采用实际 CSS 和截图证据核验。
- 独立审查发现运行目录父链接可跨出项目;已在任何 mkdir/chown/chmod 前核验完整运行路径。
## 交付边界
用户仍需通过 README 中的交互式工具设置自己的网页登录密码,明文不进入聊天、源码或参数。临时验收账号在交付收尾时撤销。
当前为单实例 H2 预览,未配置组织 SSO、正式数据库、自动备份、系统自启或公司网访问入口。运行日志与结果尚无自动清理;没有新增定时任务。
长时 GPU 压测、模型性能/质量、正式脚本停止语义与多人资源调度均未验证。公司仓库尚未建立,因此远程 Git 集成未验证。
恢复时只操作本项目容器及目录;保留数据库和结果。版本回退不自动恢复数据库,后续升级需另行备份并核验数据兼容性。
## 核对过的官方资料
- [Rundeck Docker 配置](https://docs.rundeck.com/docs/administration/configuration/docker.html)
- [认证和可重载密码文件](https://docs.rundeck.com/docs/administration/security/authentication.html)
- [API:导入、执行与取消](https://docs.rundeck.com/docs/api/)