69 lines
5.8 KiB
Markdown
69 lines
5.8 KiB
Markdown
|
|
# 原环境执行接入验收
|
|||
|
|
|
|||
|
|
核对日期:2026-10-13 23:37(北京时间)。用户已授权开放原测试,包括显示影响并逐次确认的资源/服务操作;本轮验收没有实际启动原 GPU、模型切换或长稳测试。
|
|||
|
|
|
|||
|
|
## 已交付行为
|
|||
|
|
|
|||
|
|
- 正式入口仍为 `http://10.88.118.188:14440/#/scripts`。23 项业务测试中,22 项原位置入口使用登记的原目录、解释器、配置、依赖和参数,复制版轻量检查保持既有容器模式。
|
|||
|
|
- 详情显示只读执行方案、账号、目录、解释器和影响;只开放方案声明的参数及最长 72 小时时限。原入口和相关文件只读,上传脚本继续容器隔离。
|
|||
|
|
- 普通原环境测试预检通过后排队;资源/服务测试必须每次确认。源码、依赖配置、方案或参数变化时旧确认失效。预检只检查路径、工具、摘要和本机 TCP 端口,不发推理、不启动模型、不预留 GPU。
|
|||
|
|
- 独立 systemd 服务运行原入口,页面接收标准输出、错误、登记的文件日志和归档结果。菜单支持数字选项/列表、y/n/q、回车,关闭回显,不保存输入历史。
|
|||
|
|
- worker 重启后继续跟踪同一次原环境任务;取消和超时等待本次本机进程收尾。Docker/tmux 分离任务和模型恢复需根据日志及资源变化核对,控制台不自动删除他人资源。
|
|||
|
|
|
|||
|
|
## 验证证据
|
|||
|
|
|
|||
|
|
| 验证层级 | 本轮结果 |
|
|||
|
|
|---|---|
|
|||
|
|
| Linux 自动回归 | 55/55 通过,包含参数/来源限制、确认失效、取消竞态、状态未知保留占位、凭据跨块/ANSI 脱敏、控制终端、300 个旧日志不遮蔽新日志 |
|
|||
|
|
| 真实 systemd 短进程 | 6/6 通过:成功、失败、超时、取消、交互、worker 重关联;仅独立样例,不调用模型/GPU |
|
|||
|
|
| 配置迁移 | 生产库隔离副本迁移 22 项、再次迁移幂等、逐条恢复后内容完全一致;runs/versions 不变 |
|
|||
|
|
| 已部署 API | 22 项原环境预检可调用;23 项业务目录、10 条旧运行、0 活动任务,worker 在线 |
|
|||
|
|
| 真实浏览器 | 1440px/390px 方案显示、72 小时上限、只读目录、逐次确认/取消、缺失端口拦截、返回及历史记录通过;无 JS 错误、无横向溢出、运行提交 0 次 |
|
|||
|
|
| 原项目保护 | 307 个原脚本 SHA-256 与升级前一致,10 条 runs 完整摘要一致;原模型容器 ID/StartedAt 不变、RestartCount=0 |
|
|||
|
|
|
|||
|
|
测试依赖产生既有 Starlette/httpx 弃用提示,不影响通过结果;本轮未升级依赖。
|
|||
|
|
|
|||
|
|
最终短进程证据在服务器 `runtime/native-final-validation-20261013/acceptance.json`,隔离于生产运行记录:
|
|||
|
|
|
|||
|
|
| 场景 | 运行编号 | 结果 |
|
|||
|
|
|---|---|---|
|
|||
|
|
| 正常退出 | eae879ee835c4b99948b48fdbeaa28da | succeeded / 0 |
|
|||
|
|
| 非零退出 | 6abb4c53215f4dcfa221aee43b4c4e0d | failed / 7 |
|
|||
|
|
| 时限到期 | e6e5142ccb7c411d9d6cfb34d21fb298 | timed_out / -15 |
|
|||
|
|
| 主动取消 | f5413e5e37144eb0bbfaf2651768273c | cancelled / -15 |
|
|||
|
|
| 菜单与控制终端 | f3dd72ef551e4f6c933a0e4af2f0d4fd | succeeded / 0 |
|
|||
|
|
| 同一服务重新跟踪 | bdb9fe7cd24a457aa79c2e7732778964 | succeeded / 0,未重放 |
|
|||
|
|
|
|||
|
|
已核验超时/取消子进程消失、假凭据不出现在平台日志及归档、菜单输入不回显、实际命令无运行编号占位、原样例文件摘要不变。完整模型业务的指标、质量及长稳效果仍未验收,页面保留提示。
|
|||
|
|
|
|||
|
|
## 原模型服务条件
|
|||
|
|
|
|||
|
|
23:27 的只读预检,22 项中 16 项满足登记条件;以下 6 项的原服务未监听,自动拦截。此快照不是永久可用性保证,真正点击运行时重新预检。
|
|||
|
|
|
|||
|
|
| 方案编号 | 缺失原端口 |
|
|||
|
|
|---|---|
|
|||
|
|
| deepseek-suite | 18101 |
|
|||
|
|
| throughput | 18106 |
|
|||
|
|
| replicas | 18110–18117 |
|
|||
|
|
| engine-comparison | 18106 |
|
|||
|
|
| model-suite | 18106 |
|
|||
|
|
| soak | 18106 |
|
|||
|
|
|
|||
|
|
这些入口已完成方案接入;准备好对应原服务后才能执行。未改为调用其他端口,也未擅自补启动命令。
|
|||
|
|
|
|||
|
|
## 发布与恢复
|
|||
|
|
|
|||
|
|
最终网页镜像 `adamwen/script-console:20261013-5`,摘要 `sha256:05ad7a7a332a1e26eaeebff790e53c16318e547d3ad936e67aee6ff11acd1710`。仅更新本项目网页和空闲 worker,访问网段、无账号安排、模型服务与 GPU 分配未改变。原环境宿主代码与网页方案来自当前同一项目目录;每次运行记录源码和计划摘要,Git 不参与运行时拉取。
|
|||
|
|
|
|||
|
|
升级前备份为 `runtime/backups/before-native-20261013/`,含旧源码、SQLite、原文件摘要与服务状态。配置迁移清单 `native-config-migration.json` 记录 22 项 before/after;数据库仍 schema v1。旧网页停止保留为 `adamwen-script-console-before-native-20261013`,首次接入镜像也保留为 `adamwen-script-console-native-initial-20261013`。
|
|||
|
|
|
|||
|
|
回退须停止接单、确认无活动 native unit 和排队/运行任务,再停 worker;使用迁移工具逐条恢复旧配置,核对并恢复匹配的旧 worker 源码,恢复旧网页后启动 worker。配置已发生后续变化时工具拒绝覆盖。保留新运行记录及所有结果,不能直接用旧 SQLite 覆盖。配置恢复已在隔离副本验证,生产故障回退未触发。
|
|||
|
|
|
|||
|
|
服务器证据:`runtime/native-deployment-acceptance.json`、`runtime/native-release-precheck.json`。本地浏览器证据:`.local/evidence/native-browser.json`、`.local/screenshots/native-*.png`。早期部署记录保留各自时点,不代表当前状态。
|
|||
|
|
|
|||
|
|
## 变更范围
|
|||
|
|
|
|||
|
|
核心新增 `console/native_{plans,io,rpc,files,job,executor}.py`、`console/static/native-ui.js`、`catalog/native-profiles.json`、`deploy/native_profiles.py`、3 个原环境测试文件及 ADR 0004。配套修改 API、目录描述、存储、worker、日志归档、运行/详情页面、部署镜像和维护文档。新手写文件均小于 500 行。
|
|||
|
|
|
|||
|
|
未暂存、提交、打标签或推送 Git。当前仓库尚无提交,所有实现继续留待用户审阅;运行数据、凭据和本机辅助证据不进入 Git。
|